EDI 300 and 301 Ocean Booking Request and Confirmation Explained
For edi and integration analysts, it leads at shippers, 3pls and carriers · Understand the problem

EDI 300 and 301 Ocean Booking Request and Confirmation Explained: Illustrative TMS–ERP order and invoice handoff review beside a warehouse floor; not a client facility.
Quick answer: edi 300 301 ocean booking
EDI 300 is the X12 Reservation (Booking Request) (Ocean) a shipper or forwarder sends to reserve vessel space and containers; EDI 301 is the carrier's Confirmation (Ocean). The 301 returns the Y3-01 booking number, departure and pier dates, Y4 empty release details and an action code, so each new 301 must be compared with the last.
TL;DR — what you’ll learn
- Element 558 has seven action codes; carriers answer a 300 with A, B, C or D, and may send a carrier-side change as U, a resent A, or D plus a new booking.
- Y3-03 departure, Y3-07 pier date, Y4-03 empty availability and the R4-loop DTM 311 cutoff drive warehouse and drayage plans, so version and diff all four.
- X12 004010 has no date qualifier named for verified gross mass; track VGM per container, as SOLAS VI/2 and MSC.1/Circ.1475 paragraph 4.2 make it a loading condition.
- At APM Terminals Mumbai, Form-13 pre-advice stops 5 hours before gate cut-off and carries the vessel call, so an Indian rollover can require a new terminal record.
Topics: edi 300 301 ocean booking · x12 301 confirmation ocean · booking rollover detection edi · vgm cutoff fields · booking round trip edi
All quantities, amounts, product codes and events are illustrative teaching examples.
The carrier confirmed the booking on Monday. On Thursday a second confirmation arrived for the same booking number with a different vessel name and a sailing seven days later. The translator accepted it, the integration team saw a clean 997, and nobody downstream noticed. The warehouse loaded the container to the original pier date, the truck gated it in, and the box sat at the terminal for a week while storage charges ran.
The X12 300 and 301 pair is simple once you know which fields carry the dates that matter. A forwarder or shipper system that stores every 301 as a version, compares it with the last accepted one and reacts to vessel, voyage and cutoff changes will catch most rollovers within minutes instead of at the terminal gate.
- Segment by segment: what a 300 booking request asks for and what a 301 confirmation answers, using the published 004010 structure.
- Dates and cutoffs: where departure, arrival, pier and receiving cutoff dates sit, and why verified gross mass usually travels outside this pair.
- Consequences: a sample message pair, a rollover diff rule, an India gate-in view, a cost ledger in dollars and rupees, and an onboarding checklist.
Where the 300 and 301 sit in an ocean export booking cycle
The 300 reserves space and equipment; the 301 confirms, declines or changes that reservation. Every other ocean message in the cycle, from shipping instructions to the freight invoice, depends on the booking number the 301 returns.
X12 describes Transaction Set 300, Reservation (Booking Request) (Ocean), as the set a shipper or forwarder uses to reserve space, containers and equipment on an ocean vessel. Transaction Set 301, Confirmation (Ocean), lets the carrier confirm availability in response and notify other parties such as terminal operators. The two travel inside the usual ISA, GS and ST envelopes and are acknowledged with a 997 like any other set.
- 300 Reservation: sent by the shipper or forwarder with route, equipment count and type, parties and cargo lines.
- 301 Confirmation: returned by the carrier with an action code, booking number, sailing dates and empty-container release details.
- 304 Shipping Instructions: sent later against the booking number to build the bill of lading.
- 315 Status Details (Ocean): container events such as gate-in, loaded and discharged, keyed to the booking or bill.
- 310 Freight Receipt and Invoice (Ocean): the carrier's freight bill, which freight audit matches back to the booking.
The relationship to our ocean booking rollover workflow is direct but narrow. That article covers how operations teams propagate a revised sailing plan to pickup, documents and customers. This one covers the message layer underneath: which 301 fields signal the change and how a system should detect it without waiting for an email.
Scroll horizontally to see all columns.
| Field or record | Created by | Held in | Acts on a change |
|---|---|---|---|
| B1-02 shipment identification number | Shipper or forwarder | Forwarder TMS or shipper ERP | Booking desk |
| Y3-01 booking number | Ocean carrier | Carrier booking system, copied to TMS | Booking desk, documentation team |
| Y3-03 departure and Y3-04 arrival dates | Ocean carrier | 301 history in the TMS | Customer service, sales order owner |
| Y4-03 empty availability date and pick-up location | Ocean carrier or its depot | 301 history and dispatch plan | Drayage dispatcher, warehouse loading |
| Receiving cutoff in the R4 loop DTM | Ocean carrier, from the terminal schedule | 301 history | Warehouse loading supervisor |
| Verified gross mass declaration | Shipper, signed by an authorised person | Carrier or approved VGM portal | Export compliance |
| Shipping bill and Let Export Order (India) | Exporter or customs broker | ICEGATE | Customs broker |
Reading a 300 booking request segment by segment
A 300 needs only a handful of mandatory segments: B1, Y1, at least one N1 party, at least one R4 port and one LX cargo line. Most rejection loops come from optional segments that a carrier's implementation guide quietly makes mandatory.
In release 004010 the header carries B1 (beginning segment), Y1 (space reservation request), an optional Y2 loop for container counts with W09 temperature settings, N9 references, the N1 party loop and the R4 port loop with up to 15 DTM dates per port. The detail area repeats LX lines with N7 equipment, L0 quantity and weight, L5 description, L4 measurements and H1 hazardous material lines, followed by V1 vessel identification.
Scroll horizontally to see all columns.
| Segment | Published usage (004010) | What it carries | What carriers commonly add |
|---|---|---|---|
| B1 | Mandatory | B1-02 shipment ID (1 to 30 characters, no blanks), B1-04 action code N, U or R | B1-01 SCAC of the intended carrier |
| Y1 | Mandatory | Y1-01 estimated sailing date, Y1-03 carrier SCAC, Y1-08 tariff service code | Y1-02 cargo-ready date with its Y1-09 qualifier |
| Y2 loop with W09 | Optional, up to 10 | Y2-01 container count and Y2-04 equipment type; W09 reefer settings | Treated as required: no count, no space |
| N9 | Optional, up to 100 | References such as purchase order or contract number | Service contract or named-account number |
| N1 loop | Mandatory, up to 10 | Shipper, consignee, forwarder, notify party | Booking party with contact in G61 |
| R4 loop with DTM | Mandatory, up to 20 | Place of receipt, port of loading, port of discharge, place of delivery | UN/LOCODE in R4-03 rather than free text |
| LX loop with L0, L5, H1 | Mandatory, up to 999 | Cargo lines, weight, description, dangerous goods | H1 for every hazardous line before acceptance |
B1-04 uses element 558, Reservation Action Code. Its seven values are A (reservation accepted), B (conditional acceptance), C (counter proposal made), D (reservation cancelled), N (new), R (delete) and U (change). A shipper's system normally sends N, U or R; the carrier's 301 answers with A, B, C or D, or with U when the carrier itself changes the booking.
What the carrier's 301 confirms and which fields carry dates
The 301 replaces the 300's Y1 request with Y3 space confirmation and adds a Y4 container release loop. Y3 and the R4 date loop hold every date a warehouse or drayage plan depends on, so these are the fields to version and compare.
Y3-01 is the booking number the carrier assigned, up to 17 characters. Y3-03 is the vessel departure date, Y3-04 the estimated arrival at the port of discharge, and Y3-07 the required pier date, with Y3-08 holding a time on a 24-hour clock and Y3-11 the time zone. The published note states that if space is unavailable, Y3-01 carries the value "decline".
Scroll horizontally to see all columns.
| Field | Meaning in 004010 | Format | Downstream plan it drives |
|---|---|---|---|
| Y3-03 | Vessel departure date | CCYYMMDD | Customer promise date, letter of credit shipment date check |
| Y3-04 | Estimated arrival at port of discharge | CCYYMMDD | Import-side planning and delivery appointment |
| Y3-07 with Y3-08 | Required pier date and time | CCYYMMDD, HHMM | Warehouse loading slot and drayage dispatch |
| Y4-03 | Container availability date for pick-up | CCYYMMDD | Empty pick-up and stuffing day at the warehouse |
| R4 loop DTM 311 | Latest receiving date or cutoff date | DTM-02 date, DTM-03 time | Last gate-in time for the laden box |
| R4 loop DTM 497 | Latest delivery date at pier | DTM-02 date | Alternative cutoff some carriers send instead of 311 |
| R4 loop DTM 369 and 371 | Estimated departure and estimated arrival | DTM-02 date | Port-level schedule when it differs from Y3 |
EDI 300 and 301 ocean booking exchanges pair the shipper's B1-02 shipment identification number with the carrier's Y3-01 booking number; a forwarder TMS should reject any 301 that matches no open 300 and store all seven element 558 action codes, A, B, C, D, N, R and U, as booking history.
Y4 tells the shipper where and when to collect empties: Y4-03 is the availability date, Y4-04 a Standard Point Location Code for the pick-up point, Y4-05 the number of containers, Y4-06 the equipment type and Y4-07 the carrier to whom containers are released. When Y4-05 in a later 301 drops below the Y2-01 count requested, the booking has been partly confirmed even if B1-04 still says A.
A sample 300 and 301 pair for one 40-foot booking
Seeing the messages side by side makes the comparison rules concrete. The pair below books one 40-foot dry container from Savannah to Rotterdam, then shows the carrier's first confirmation and a later change.
The example uses placeholder identifiers: CCCC stands for the carrier's SCAC, and the vessel names are invented. The equipment code 42G1 is an ISO 6346 size-type code shown for illustration; use the code source your carrier's implementation guide names. Separators are the asterisk and tilde, and envelopes are omitted.
300 sent by the forwarder, 2 Nov 2026
ST*300*0001~
B1**FWD24117*20261102*N~
Y1*20261116**CCCC~
Y2*1***42G1~
N9*PO*88213~
N1*SH*EXAMPLE EXPORTS INC~
N1*CN*EXAMPLE IMPORTS BV~
R4*L*UN*USSAV*SAVANNAH*US~
R4*D*UN*NLRTM*ROTTERDAM*NL~
LX*1~
L5*1*MACHINE PARTS ON PALLETS~
SE*12*0001~
301 first confirmation, received 2 Nov 2026 16:42
ST*301*0001~
B1*CCCC*FWD24117*20261102*A~
Y3*CCCC2477812*CCCC*20261116*20261204***20261113*1700~
Y4*CCCC2477812**20261109**1*42G1*CCCC~
R4*L*UN*USSAV*SAVANNAH*US~
DTM*311*20261113*1700~
R4*D*UN*NLRTM*ROTTERDAM*NL~
DTM*371*20261204~
LX*1~
V1**SAMPLE STAR**614E*CCCC~
SE*11*0001~
301 change, received 12 Nov 2026 09:15 (same B1-02 and Y3-01)
B1*CCCC*FWD24117*20261102*U~
Y3*CCCC2477812*CCCC*20261123*20261211***20261120*1700~
DTM*311*20261120*1700~
V1**SAMPLE CREST**615E*CCCC~
(other segments unchanged)
Diff against the last accepted 301:
V1-02 SAMPLE STAR -> SAMPLE CREST V1-04 614E -> 615E
Y3-03 20261116 -> 20261123 (+7 days) Y3-07 20261113 -> 20261120
DTM 311 20261113 -> 20261120 result: ROLLOVER, reopen load plan
Notice what the change message does not contain: a version number. The 004010 structure has no dedicated revision-number field in the 301, so the receiver orders messages by interchange and group control data and receipt time. Our guide to ISA, GS and ST control numbers explains how to keep that ordering trustworthy when a carrier resends.
Detecting a rollover from consecutive 301 messages
Treat every 301 as a new version of the booking and compare it with the last accepted version, field by field. A rollover is any change to vessel, voyage or departure date on an open booking, whatever B1-04 says.
Some carriers send a rollover as B1-04 = U; others resend A with new dates; a few cancel with D and issue a fresh booking number. A detection rule keyed only on the action code misses two of those three patterns. Keying on the Y3-01 booking number plus B1-02 shipment ID, then diffing V1, Y3 and the R4 DTM dates, catches all of them, and the cancel-and-rebook case is caught by linking the new booking back through B1-02.
Rollover detection on X12 004010 301 confirmations compares V1-02 vessel name, V1-04 voyage number, Y3-03 departure date and the R4-loop DTM 311 receiving cutoff with the last accepted 301 in the forwarder TMS; any change on an open booking should reopen the warehouse loading slot within 30 minutes of receipt.
Scroll horizontally to see all columns.
| Task | Fixed rule in the translator or TMS | Where software or AI assists | Person who decides |
|---|---|---|---|
| Matching an inbound 301 to its 300 | B1-02 must match an open shipment; unmatched 301s go to an error queue | None needed | Not a judgement |
| Spotting a vessel or voyage change | Diff of V1-02, V1-04 and Y3-03 against the last accepted version | None needed | Booking desk confirms the alert was read |
| Reading a rollover advisory sent as an email or PDF | Booking number must be found before any update is proposed | Extracts vessel, voyage and new cutoff from the notice text | Booking desk accepts or rejects the extracted values |
| Partial confirmation | Y4-05 below Y2-01 raises a shortfall alert | Suggests alternative sailings from the carrier schedule | Booking desk and the customer |
| Accepting the new sailing or rebooking elsewhere | Change cannot be marked accepted without a named user | Compares transit time and rate on alternatives | Account owner with the shipper |
| Rescheduling warehouse loading | New Y3-07 or DTM 311 reopens the dock appointment | Proposes a new slot from dock capacity | Warehouse loading supervisor |
VGM and cutoff fields: what X12 4010 carries and what it does not
The 004010 date qualifier list includes a receiving cutoff (311) and a latest pier delivery date (497), but no qualifier named for verified gross mass. VGM status therefore needs its own record per container, not a flag on the 301.
SOLAS regulation VI/2 has applied the verified gross mass requirement since 1 July 2016. The IMO guidelines in MSC.1/Circ.1475 put responsibility on the shipper (paragraph 4.1) and say a packed container should not be loaded unless the master and the terminal have its verified gross mass in advance (paragraph 4.2). Paragraph 6.2 requires the declaration to be signed by a person duly authorised by the shipper.
Verified gross mass under SOLAS regulation VI/2 and MSC.1/Circ.1475 paragraph 4.2 is a loading condition tracked per container, while the X12 004010 301 confirms space per booking; the forwarder TMS should hold VGM status separately and block gate-in dispatch for any container whose signed VGM is missing.
Paragraph 6.3 prefers electronic transmission such as EDI, and paragraph 6.3.1 lets the shipper meet the obligation by sending the VGM to the shipping company, which then passes it to the terminal. Paragraph 9.2 adds that where the terminal weighs the container itself, the terminal's figure prevails. The workflow side, including replacement containers, is covered in our VGM readiness workflow.
Indian export gate-in: Form-13, shipping bill and a rolled booking
At Indian container terminals the laden box is admitted against a terminal pre-advice commonly called Form-13, which ties the container to a specific vessel call. A rollover therefore changes more than dates: the gate pass itself may need to be regenerated.
APM Terminals Mumbai's e-Form 13 mass-upload specification shows what the terminal holds for each export unit. Mandatory fields include the vessel call number, container number, booking number issued by the shipping line, the party the Form-13 is issued to, the customs broker licence and name, ISO size-type, line seal, customs seal, gross weight in tonnes, port of discharge, shipping bill number, shipper name and an origin code that distinguishes CFS-stuffed, factory-stuffed and ICD-by-road units.
- Timing window: at that terminal, e-Form 13 can be generated 6 hours before actual gate opening, and pre-advice generation stops 5 hours before the line's actual gate cut-off.
- Vessel link: because the vessel call number is a mandatory field, a 301 that moves the booking to another vessel needs a matching change to the terminal record.
- Customs link: the shipping bill number on Form-13 ties the box to the export declaration filed on ICEGATE and to its Let Export Order.
- Weight link: the gross weight declared on Form-13 should agree with the signed VGM for that container number.
India's VGM framework sits in Directorate General of Shipping MS Notice 04 of 2016 dated 11 May 2016, as amended, under the same SOLAS regulation. The Directorate lists approved Dedicated Secure Website providers for electronic VGM submission and approved Method 2 weighing arrangements. A US exporter faces the same SOLAS rule through its carrier and terminal, but there is no single US equivalent of Form-13; gate admission rules are set by each terminal.
Rollover cost ledger for a US export and an Indian export
A missed rollover costs more in storage, re-handling and paperwork than the freight difference between two sailings. The ledger below prices one 40-foot container that gated in for the original sailing and waited seven days for the next.
All figures are illustrative and assume the container arrived inside the original free time but outside it for the new sailing. Actual storage and handling tariffs vary by terminal and by carrier, and whether the carrier or the shipper bears a carrier-initiated roll is a contract question. The point of the ledger is to show which line items appear and who should own each one.
Scroll horizontally to see all columns.
| Cost line | US export via Savannah ($) | India export via JNPA (₹) | Evidence | Normally charged to |
|---|---|---|---|---|
| Terminal or CFS storage, 4 days beyond free time | 4 x 95 = 380 | 4 x 2,400 = 9,600 | Terminal invoice with gate-in time | Per contract; carrier if carrier-initiated roll is agreed |
| Reefer plug-in, if applicable | 0 (dry box) | 0 (dry box) | Monitoring log | Not applicable here |
| Warehouse re-slotting of a loading appointment | 2 hours x 65 = 130 | 2 hours x 900 = 1,800 | Dock schedule change record | Shipper |
| Document amendment (bill of lading draft, customs data) | 75 | 3,500 | Amendment request and fee note | Party that caused the change |
| Letter of credit amendment for latest shipment date | 150 | 6,000 | Bank charge advice | Exporter |
| Inventory in transit for 7 extra days, cargo value $60,000 or ₹50,00,000 at 9% a year | 60,000 x 9% x 7 / 365 = 104 | 50,00,000 x 9% x 7 / 365 = 8,630 | ERP valuation and finance rate | Exporter (cost of capital) |
| Total for one container | 839 | 29,530 | Rollover case file |
Freight audit has its own exposure. When the 310 invoice arrives, check which date your service contract uses to select the rate, cargo receipt or vessel sailing, because a seven-day roll can push a box across a rate change. The invoice should reference the same Y3-01 booking number, and the audit should compare its sailing against the last accepted 301, not the first.
A missed rollover traced from 301 receipt to the terminal gate
Most missed rollovers are not lost messages; they are received, acknowledged and stored without anyone acting. The trace below, using the sample booking, shows the failure and the point where a diff rule would have stopped it.
- Thu 12 Nov, 09:15: 301 for booking CCCC2477812 arrives with B1-04 = U, vessel SAMPLE CREST voyage 615E and Y3-03 = 20261123; the translator returns a 997 with AK9 accepted and posts the message to the TMS inbox.
- Thu 12 Nov, 09:16: the TMS overwrites the booking header with the new vessel but has no rule linking header changes to the warehouse appointment; dock appointment WH-DA-55190 for 13 Nov 07:00 stays live.
- Fri 13 Nov, 07:00 to 10:30: the warehouse stuffs the container to the old plan; the drayage dispatch, built from the first 301, sends the truck at 11:00.
- Fri 13 Nov, 14:20: the container gates in at Savannah for the original receiving cutoff of 13 Nov 17:00; the terminal's free time now has to stretch to the 20 Nov cutoff for the new sailing.
- Mon 23 Nov: the box sails on SAMPLE CREST; the terminal invoices four storage days and the booking desk first sees the change when the invoice is disputed. With a diff rule, an alert at 09:16 on 12 Nov would have moved the stuffing date and avoided the storage.
Onboarding checklist for a carrier 300 and 301 connection
Agree the field rules before the first live booking, not after the first rollover. Each line below needs a written answer from the carrier's implementation guide and a test message that proves it.
Scroll horizontally to see all columns.
| Item to agree | Question for the carrier | Test evidence before go-live |
|---|---|---|
| Release and version | Which X12 release and implementation guide apply? | Guide version stored with the partner profile |
| Mandatory optional segments | Are Y2, N9 contract number and G61 contact required? | One accepted 300 per equipment type |
| Location codes | UN/LOCODE or another code in R4-03? | 300 with each port pair you ship |
| Action codes used | How is a carrier-initiated roll sent: U, a resent A, or D plus a new booking? | A test roll in each pattern the carrier uses |
| Cutoff qualifiers | Which DTM qualifiers carry receiving, documentation and VGM cutoffs? | 301 showing each cutoff with its time zone |
| Partial confirmation | How is a confirmation for fewer containers than requested shown? | 301 with Y4-05 below Y2-01 |
| VGM channel | Is VGM sent by EDI, a carrier portal or an approved third-party portal? | Accepted VGM for a test container number |
| Resend behaviour | Are corrected 301s resent with new control numbers? | Duplicate test handled without a second version |
For more message guides and booking workflows, browse the logistics and supply chain library. If you need 301 versioning, rollover alerts and dock rescheduling built into your TMS and warehouse system, send us a short brief with your carriers, volumes and current booking flow.
Discuss this workflow
Describe your current systems, the recurring exception and the outcome you need. Keep shipment, customer and financial records out of the initial message.
Common operational questions
Practical answers for operations, engineering, and finance teams working on edi 300 301 ocean booking in logistics & supply chain.
What is the difference between EDI 300 and EDI 301?
How do I detect a vessel rollover from EDI 301 messages?
Does the EDI 301 carry the VGM cutoff?
Why does a rollover matter more for Indian exports?
References
Sources checked 13 November 2026. US and India statutory authorities and vendor documentation support platform facts; the worked examples and diagrams are original.
- X12 - Transaction set list: 300 Reservation (Booking Request) (Ocean), 301 Confirmation (Ocean), 304, 310, 315, 323Official set names and purpose statements. Accessed 13 November 2026.
- Stedi - X12 004010 reference: 300 and 301 structures; segments B1, Y1, Y2, Y3, Y4, R4, V1, L5; elements 115, 309, 374, 558Secondary reproduction of the X12 004010 standard used for segment positions, element definitions and code values, because the X12 standard itself is licensed. Accessed 13 November 2026.
- IMO - MSC.1/Circ.1475, Guidelines regarding the verified gross mass of a container carrying cargo (9 June 2014)Paragraphs 4.1, 4.2, 6.2, 6.3, 6.3.1 and 9.2. Accessed 13 November 2026.
- IMO - Verification of the gross mass of a packed container (SOLAS regulation VI/2)Background page for the SOLAS VI/2 amendment in force from 1 July 2016. Accessed 13 November 2026.
- Directorate General of Shipping (India) - Nautical Wing, cargo safety: VGM of containersMS Notice 04 of 2016 dated 11 May 2016 as amended, approved DSW providers and Method 2 approvals. Accessed 13 November 2026.
- APM Terminals Mumbai - N4 roll-out webinar for shipping lines and NVOCC operators (e-Form 13 specification)Terminal-specific e-Form 13 fields and timing (6 hours before gate opening; pre-advice stops 5 hours before gate cut-off). Other terminals set their own rules. Accessed 13 November 2026.
- CBIC - ICEGATE, Indian Customs electronic gatewayElectronic filing channel for shipping bills referenced on the terminal gate record. Accessed 13 November 2026.
- U.S. Customs and Border Protection (CBP) — Automated Commercial Environment (ACE)US federal system of record for import entries, ISF 10+2, and Form 7501.
- Federal Maritime Commission (FMC) — OSRA 2022 Demurrage & Detention Billing RulesUS statutory requirements for ocean carrier and MTO demurrage invoicing.