Register a subscription with each DCSA-compliant carrier's Track and Trace v2.2 API via POST /v2/event-subscriptions; specify the equipmentReference (container number) as the filter, and the callbackUrl pointing to your event receiver endpoint
Configure the subscription eventType filter to include TRANSPORT_EVENT to receive arrival, departure, and milestone events; optionally add EQUIPMENT_EVENT to capture gate-in, gate-out, and load/discharge events at terminal level
Receive inbound webhook payloads; each TransportEvent contains an eventType, eventClassifierCode (ACT for actual, PLN for planned, EST for estimated), transportEventTypeCode (ARRI or DEPA), and eventDateTime with timezone
Store events segregated by eventClassifierCode: use ACT events to update the confirmed milestone history, PLN events to build the planned schedule, and EST events to display ETAs; never overwrite an ACT event with an EST or PLN event for the same milestone
Build a composite container journey by correlating events across multiple leg operator subscriptions using the container number as the correlation key; sequence events by eventDateTime to reconstruct the full intermodal journey
Detect milestone gaps by comparing the expected transport plan (derived from the ocean booking schedule) against received ACT events; alert if a departure event is not received within 4 hours of the scheduled departure window for a leg
Known gotchas
DCSA Track and Trace v2.2 requires HTTPS with TLS 1.2+ on the callback URL and mandates that the server return HTTP 204 No Content (not 200) for successful event receipt; carriers may cease retrying if your endpoint returns HTTP 200
Not all carriers that claim DCSA T&T compliance implement the full equipment event loop; gate-in and gate-out events are often omitted even by carriers that correctly implement vessel departure and arrival events
The DCSA transport event timestamp uses the local timezone of the event location; two events from different leg operators for the same physical container at a transshipment port may have timestamps in different timezones requiring timezone-aware comparison
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp