X12 451 — Railroad Event Report
The 451 reports an operational event on a rail car — arrival, departure, set out, pick up, interchange — between a road and a customer or interline partner.
Purpose
The 451 documents a granular event on a car: arrival at the shipper siding, set out, pick up, classification yard event, interchange to another road. It is the elementary brick of rail visibility — a car can generate 30-50 451 events over a trip.
It feeds TMS, automated equipment identification (AEI) systems, and ETA forecasting tools. Acknowledged by 997.
Envelope structure
The 451 travels within the three X12 envelope levels (ISA/IEA,
GS/GE with functional group EI, and ST/SE).
Didactic example in release 004010:
ISA*00* *00* *ZZ*BNSF *ZZ*SHIPPER *260515*1530*U*00401*000000451*0*P*>~
GS*EI*BNSF*SHIPPER*20260515*1530*1*X*004010~
ST*451*0001~
ZS1*EI*EVT-2026-9981~
N7*BNSF*789012*BOXCAR~
ZD*BNSF*TRAIN-MKCBN-25~
F9*USKCMO*UNICKC*MO~
ZM*PI~
DTM*036*20260515*1500~
SE*8*0001~
GE*1*1~
IEA*1*000000451~ Common segments
- Header —
ST,ZS1(Event reference). - Car —
N7. - Train —
ZD(if train-related event). - Location —
F9(Station). - Event type —
ZM(PI = pick up industry, SO = set out, IN = interchange). - Timestamp —
DTM*036. - Summary —
SE.
Common pitfalls
- AEI vs manual: AEI events (automated) are timestamp-precise; manual ones may lag — distinguish in
ZS1. - Event sequence: a set out must precede a pick up on the same car; an out-of-order 451 breaks ETA forecasting.
- Junction events: an interchange event is CRITICAL for interline billing; a missing IN 451 causes revenue loss.
Related transactions
Documentation
The code 451 and the name Railroad Event Report are public and listed on x12.org/products/transaction-sets. The complete structure of loops, qualifiers and code lists is distributed by DISA via the proprietary Implementation Guides (TR3). ediverse.io covers only public concepts, the envelope and didactic examples.