The EDI 301 is the carrier's answer to your booking, and it carries the number every later document uses. You send a 300 booking request. The carrier sends back a 301 saying yes, yes with conditions, here is a counter offer, or no. When the answer is yes, the 301 gives you the booking number, the vessel and voyage you are on, the cutoff at the pier, and the depot where your empties are waiting.
This guide covers what the 301 carries, where it sits in the ocean flow, every segment you will map, a live sample that confirms two 40-foot high cubes from Shanghai, how to read a decline or a change, and the errors that leave cargo without space.
What Is an EDI 301?
An EDI 301 is the Confirmation (Ocean) transaction set defined by ASC X12, used by an ocean carrier to confirm a booking request and give the details of the space and equipment it has reserved. It travels in functional group RO (the GS01 value), the same group as the 300 request and the 303 booking cancellation.
Authoritative references for 301 work:
- The X12 transaction set catalog defines the 301 structure, segment order and loops
- Stedi's X12 004010 reference for the 301 lists the segments, elements and code values for release 004010, including the notes on the
Y3space confirmation - The BIC container prefix register governs the four-letter owner codes in ISO 6346 container numbers, which appear when a carrier assigns specific equipment in
N7 - Each ocean carrier publishes its own 301 implementation guide, which sets which action codes it sends, how it reports changes and where it puts cutoffs
Who sends it? The ocean carrier, or an NVOCC confirming its own bookings to its customers.
Who receives it? The party that sent the 300: an exporter, an importer on a buyer-controlled move, or a forwarder or NVOCC.
When is it sent? After the carrier processes the booking request. Carriers commonly send further 301s when the booking changes: a new vessel, a new sailing date, a changed equipment release, or a cancellation on their side.
Why does it matter? No 301, no booking. The booking number is what the depot asks for when your trucker collects the empties, what the terminal checks when the loaded container arrives, and what the 304, 310 and 315 reference afterwards.
Where the 301 Fits in Ocean EDI
| Set | X12 name | Usually sent by | What it does |
|---|---|---|---|
| 300 | Reservation (Booking Request) (Ocean) | Shipper, importer, forwarder or NVOCC | Asks for space |
| 301 | Confirmation (Ocean) | Ocean carrier | Answers the request and returns the booking number |
| 304 | Shipping Instructions | Shipper, importer, forwarder or NVOCC | Gives the details for the bill of lading |
| 310 | Freight Receipt and Invoice (Ocean) | Ocean carrier | Bill of lading data and charges |
| 315 | Status Details (Ocean) | Ocean carrier | Container events |
| 322 | Terminal Operations and Intermodal Ramp Activity | Terminal or rail ramp | Terminal and ramp events reported to the carrier or railroad |
Between the 301 and the 304 comes the physical work: the trucker collects the empties released on the 301, the shipper loads and seals them, and the loaded containers go back to the terminal before the cutoff. Those gate moves show up as 315 events to you and, at many terminals, as 322 events to the carrier.
Reading the Answer: Accepted, Conditional, Counter or Declined
The carrier's answer sits in two places. B104, the reservation action code (X12 element 558), uses these values:
| Code | X12 meaning | What to do |
|---|---|---|
A | Reservation Accepted | Store the booking number and plan the empty pickup |
B | Conditional Acceptance | Read the remarks and dates; something differs from what you asked for |
C | Counter Proposal Made | The carrier is offering different terms, often a different sailing; accept or rebook |
D | Reservation Cancelled | The booking is off; rebook if the cargo still needs to move |
U | Change | An update to an existing booking |
The second place is Y301, the booking number. The X12 note for Y3 says that when the requested space is not available, the booking number is sent as the word decline. Check for it before you store Y301 as a booking number. Which action codes a carrier really uses, and whether it sends changes as U or as a fresh A, is in its guide.
Interactive Example: 301 Accepting Two 40-Foot High Cubes
The ocean carrier (SCAC BLUQ) answers the importer's 300 the day after it was sent. B1 echoes the importer's shipment reference, dates the booking and accepts it with action A. Y3 returns booking number BK7730412, a vessel departure on 4 November (a day later than requested), an estimated arrival at the port of discharge on 19 November, and a required pier date of 1 November with a 17:00 load time at the East Pier. Y4 releases two 45G1 empties at Shanghai from 24 October. The R4 loops repeat the route with the confirmed dates, and V1 names the vessel and voyage. All names, numbers and codes are fictional, and the booking number is the one used in the 310 and 315 samples.
Use the Plain English tab for a readable summary, or click any segment to break it down element by element.
Ocean Carrier 301 Booking Confirmation (Accepted, Booking BK7730412)
The carrier accepts the booking: B1 echoes the shipment reference with action A, Y3 returns the booking number, confirmed sailing, arrival estimate and cargo cutoff, Y4 releases two empty 40-foot high cubes for pickup at Shanghai, and V1 names the vessel and voyage
- Document
- 301 Confirmation (Ocean)
- From / to
- BLUQ → CASCADEHOMEIMP
- Segments
- 24
- Interchange date
- Oct 17, 2026
Raw EDI (X12)
Human-Readable
Interchange
Functional Group
Transaction 301
Confirmation (Ocean)Segment Detail
301 Structure at a Glance
The table follows X12 release 004010 and lists the segments most carriers use.
| Area | Segment | Name | Usage in the standard | Notes |
|---|---|---|---|---|
| Heading | ST | Transaction Set Header | Mandatory | ST01 = 301 |
| Heading | B1 | Beginning Segment for Booking or Pick-up/Delivery | Mandatory | Carrier, shipment reference, booking date, action |
| Heading | G61 | Contact | Optional, up to 3 | Carrier booking desk |
| Heading | Y3 | Space Confirmation | Mandatory | Booking number, sailing, arrival, pier and cutoff |
| Heading loop | Y4 / W09 | Container Release, Equipment and Temperature | Mandatory, up to 10 | Empty release: where, when, how many, what type |
| Heading | N9 | Reference Identification | Optional, up to 100 | Echoed references |
| Heading loop | N1 / N2 / N3 / N4 / G61 | Name and address | Mandatory, up to 4 | Shipper, consignee and others |
| Heading loop | R4 / DTM | Port or Terminal, Date/Time | Mandatory, up to 20 | Route with confirmed dates |
| Heading | H3 / EA | Special Handling, Equipment Attributes | Optional | Handling and equipment notes |
| Detail loop | LX / N7 / K1 / L0 / L5 | Assigned Number and line detail | Repeats up to 999 | Equipment, remarks and cargo per line |
| Detail | V1 | Vessel Identification | Optional, up to 2 | Vessel and voyage |
| Detail | V9 | Event Detail | Optional, up to 10 | Further event detail |
| Summary | SE | Transaction Set Trailer | Mandatory | Segment count and control number |
Key Segments Explained
B1: Beginning Segment for Booking or Pick-up/Delivery
B1*BLUQ*CHI2610160412*20261017*A~
| Element | Name | Example | What it means |
|---|---|---|---|
| B101 | Standard Carrier Alpha Code | BLUQ | The carrier sending the 301 |
| B102 | Shipment Identification Number | CHI2610160412 | The shipment reference from your 300 |
| B103 | Date | 20261017 | The date the carrier accepted the booking |
| B104 | Reservation Action Code | A | The answer (see the table above) |
Match the 301 to your 300 on B102 first. It is the only number both sides had before the booking number existed.
Y3: Space Confirmation
Y3*BK7730412*BLUQ*20261104*20261119**EAST PIER*20261101*1700~
| Element | Name | Example | What it means |
|---|---|---|---|
| Y301 | Booking Number | BK7730412 | The carrier's booking number, or decline when no space is available |
| Y302 | Standard Carrier Alpha Code | BLUQ | The carrier |
| Y303 | Date | 20261104 | Vessel departure date |
| Y304 | Date | 20261119 | Estimated arrival date at the port of discharge |
| Y305 | Standard Point Location Code | An SPLC for the point, when used | |
| Y306 | Pier Name | EAST PIER | The pier, up to 14 characters |
| Y307 | Date | 20261101 | Required pier date: when the loaded cargo must be at the pier |
| Y308 | Time | 1700 | Load time on the required pier date |
| Y311 | Time Code | Time zone for Y308, when sent |
The required pier date and load time are what your trucker and shipper plan around. A loaded container that reaches the terminal after the cutoff risks missing the vessel. Compare Y303 with the sailing you asked for in Y101 of the 300, and flag the difference to whoever promised a ship date to the customer.
Y4: Container Release
Y4*BK7730412**20261024**2*45G1**UN*CNSHA~
| Element | Name | Example | What it means |
|---|---|---|---|
| Y401 | Booking Number | BK7730412 | The booking the empties are released against |
| Y402 | Booking Number | The last booking number when a range is released | |
| Y403 | Date | 20261024 | Date the containers are available for pickup |
| Y404 | Standard Point Location Code | Pick-up location as an SPLC, when used | |
| Y405 | Number of Containers | 2 | How many empties |
| Y406 | Equipment Type | 45G1 | Equipment type; 45G1 is the ISO 6346 code for a 40-foot high cube |
| Y407 | Standard Carrier Alpha Code | The carrier the containers will be released to, if known | |
| Y408 / Y409 | Location Qualifier, Location Identifier | UN / CNSHA | The pick-up location, here a UN/LOCODE |
| Y410 | Type of Service Code | Service code, when sent |
Send the Y4 details to whoever is collecting the empties. The depot will want the booking number, and the trucker needs to know which depot and from which date. Some carriers name a specific depot in Y408/Y409 or in the R4 loop; check the guide.
R4 Loop with DTM: Confirmed Route
R4*L*UN*CNSHA*SHANGHAI*CN*EAST PIER TERMINAL~
DTM*369*20261104~
R4*D*UN*USLAX*LOS ANGELES*US~
DTM*371*20261119~
R401 gives the role of each point (R place of receipt, L port of loading, D port of discharge, E place of delivery, T transshipment port). The DTM dates are the carrier's plan: 369 estimated departure and 371 estimated arrival in this sample. A 301 that adds a T transshipment port you did not expect tells you the cargo is routed through a hub, which affects transit time.
V1: Vessel Identification
V1*9700017*MERIDIAN HARBOR*LR*118E*BLUQ***L~
| Element | Name | Example | What it means |
|---|---|---|---|
| V101 | Vessel Code | 9700017 | Vessel identifier, here a Lloyd's (IMO) number |
| V102 | Vessel Name | MERIDIAN HARBOR | Vessel name |
| V103 | Country Code | LR | Flag |
| V104 | Flight/Voyage Number | 118E | Voyage |
| V105 | Standard Carrier Alpha Code | BLUQ | Carrier |
| V108 | Vessel Code Qualifier | L | L Lloyd's Register of Shipping, C radio call sign |
The vessel on the 301 is the planned one. If the carrier later rolls the cargo to another sailing, a new 301 or the 315 feed will show it.
EDI 301 vs 300, 303, 310 and 990
| Document | Mode | Sent by | Purpose |
|---|---|---|---|
| 301 Confirmation (Ocean) | Ocean | Ocean carrier | Answers a booking, gives the booking number and empty release |
| 300 Reservation (Booking Request) (Ocean) | Ocean | Booking party | Asks for space |
| 303 Booking Cancellation (Ocean) | Ocean | Booking party | Cancels a booking |
| 310 Freight Receipt and Invoice (Ocean) | Ocean | Ocean carrier | Bill of lading data and charges, after the 304 |
| 990 Response to a Load Tender | Truck | Motor carrier | Accepts or declines a 204 load tender |
The 990 is the truck-world cousin of the 301: both accept or decline a request for capacity. The 301 carries far more: the booking number, the vessel schedule, pier cutoffs and the equipment release.
Common 301 Errors and How to Prevent Them
| Error | What happens | Prevention |
|---|---|---|
decline stored as a booking number | A booking that does not exist shows as confirmed | Check Y301 for decline and B104 for C or D before marking a booking confirmed |
| Conditional acceptance treated as full acceptance | Cargo planned on terms the carrier did not agree to | Route B104 = B or C to a person to review |
| Revised 301 ignored | Trucker goes to the wrong depot, or cargo misses a changed cutoff | Version 301s by booking number and alert on changes to Y303, Y307, Y308 or Y4 |
| Sailing change not passed on | Customer told the wrong ship date | Compare the confirmed departure with the requested one and notify on any difference |
| Empty release details lost | Trucker cannot collect the containers | Send the booking number, pick-up location and date straight to the dispatcher |
| 301 not matched to a 300 | Orphan bookings, duplicate requests | Match on B102 and alert on any 301 that has no 300 behind it |
301 Implementation Checklist
Before your first live 301 from an ocean carrier:
- Get the carrier's 301 implementation guide and confirm the X12 version in
GS08(004010 is common) and theROfunctional group - List the
B104action codes it sends, and how it signals a change, a counter offer and a decline - Confirm where it puts cutoffs:
Y307andY308,DTMsegments, remarks, or all of them - Confirm how the empty release is given and whether it names a depot
- Store the booking number against the purchase orders on the booking, so the 304, 310 and 315 can be joined to them
- Confirm the 997 you will send back for each 301
- Test an acceptance, a conditional acceptance, a counter offer, a decline, a change of vessel and a carrier cancellation
Our EDI document types reference shows the ocean sets beside the 850 purchase order and the 856 ASN. For the paper document the booking leads to, see our bill of lading glossary entry.
Where OrderSync Fits
The booking number on a 301 links a container to the purchase orders it carries. That link is only useful if those orders were captured correctly, and for many shippers and importers they arrive as a mix of EDI 850s, PDFs, emails and spreadsheets.
OrderSync reads inbound orders in any format, matches customers, items and units to your catalog, and outputs clean ERP data or valid X12. Paste any 301 into the free EDI inspector to see it parsed segment by segment with a plain-English summary and any structural errors explained, or book a 15-minute walkthrough to see your own orders processed.
Frequently Asked Questions
What is an EDI 301?
The EDI 301 Confirmation (Ocean) is the X12 transaction an ocean carrier sends to answer a booking request. It says whether the booking is accepted, conditionally accepted, countered or declined, and returns the booking number, vessel and sailing, estimated arrival, pier cutoff and empty container release.
Where is the booking number in a 301?
In Y301, the first element of the Y3 Space Confirmation segment. The Y4 Container Release segment repeats it in Y401. If the carrier has no space, the X12 note for Y3 says Y301 carries the word decline instead of a number.
What do the B104 codes mean in a 301?
B104 is the reservation action code. A means reservation accepted, B conditional acceptance, C counter proposal made, D reservation cancelled and U change. Each carrier's guide lists the codes it actually sends.
What is the difference between EDI 300 and EDI 301?
The 300 is the booking request the shipper, importer or forwarder sends to the carrier. The 301 is the carrier's reply, with the booking number, the confirmed sailing and the empty container release.
What is the Y4 segment in an EDI 301?
Y4 is the Container Release. It tells you how many empty containers of which type are released against the booking, from which date and at which location, so a trucker can collect them for loading.
Can a carrier send more than one 301 for a booking?
Yes. Carriers commonly send updated 301s when the vessel, sailing date, cutoff or equipment release changes, or when they cancel the booking. Keep each version and compare it with the last one.
What functional group and version does the 301 use?
The 301 travels in functional group RO, the value in GS01, together with the 300 and 303. Many carrier guides use X12 release 004010, and the version is named in GS08.