X12 300 — Reservation (Booking Request) (Ocean)
The 300 is the ocean booking instrument: a shipper or forwarder reserves space, container and equipment with an ocean carrier for an upcoming shipment.
Purpose
The 300 asks the carrier (Maersk, MSC, CMA CGM, Hapag-Lloyd…) to reserve the space needed for a container or a group of containers: type (20', 40', 40HQ, reefer, OOG), expected cargo (hazmat / non-hazmat), port of loading, port of discharge, desired dates, parties involved. It is the upstream of the ocean documentary chain, which ends with a Bill of Lading.
The 300 is used by major forwarders (DHL Global Forwarding, Kuehne+Nagel) and direct shippers. Today many bookings flow via INTTRA / GT Nexus (web or API), but the 300 remains the standard EDI channel when a batch audit trail is required.
Envelope structure
The 300 travels in a functional group RO (Ocean Reservation). Didactic
example in release 004010 for a 40HQ reefer booking:
ISA*00* *00* *ZZ*ACMESHIPPER *ZZ*ACMEOCEAN *260514*0700*U*00401*000000300*0*P*>~
GS*RO*ACMESHIPPER*ACMEOCEAN*20260514*0700*1*X*004010~
ST*300*0001~
B1*ACMEOCEAN*BK-REQ-2026-001*20260514*Q~
Y6*EVERSHIP**01~
Y2*1*40HQ**B*FROZEN GOODS~
P4*USLAX*20260601~
P5*1*CNSHA*20260620~
N1*SH*ACME EXPORTS LTD*92*EXP-001~
N1*CN*ACME IMPORTS LTD*92*IMP-088~
SE*9*0001~
GE*1*1~
IEA*1*000000300~
The B1 opens the reservation with SCAC, provisional booking number, date,
status Q = Query. The Y6 identifies the vessel and voyage,
Y2 the requested container (size, type, cargo). P4 and
P5 are the load and discharge ports with ETA. The N1 segments
name SH (Shipper) and CN (Consignee).
Common segments
- Header —
ST,B1(Beginning Segment for Booking),Y6(Authentication / Voyage),DTM. - Containers / cargo —
Y2loop (Container Details),Y3/Y4for pre-carriage,L5(Description),LH1/LFHfor hazmat. - Ports / voyage —
P4(Port Departure),P5(Port Arrival),R4(Port Information). - Parties —
N1loop (SH, CN, NF = Notify Party, FW = Forwarder). - Summary —
SE.
Common pitfalls
- Hazmat: for dangerous container cargo,
LH1andLFHmust carry UN Number, class and flash point; an incomplete hazmat 300 is rejected. - Reefer: for a reefer, add temperature segments (often
Y4), or the carrier will not provision the cold chain. - Voyage and port codes: use UN/LOCODE in
P4andP5(e.g., USLAX, CNSHA); an internal carrier code is ambiguous.
Related transactions
- 301 — Confirmation (Ocean)
- 304 — Shipping Instructions (Ocean)
- 309 — Customs Manifest
- 856 — Ship Notice/Manifest (ASN)
- X12 — Hub
Documentation
The code 300 and the name Reservation (Booking Request) (Ocean) are public and listed on x12.org/products/transaction-sets. Ocean TR3s and the INTTRA / GT Nexus schemes frame the booking conventions.