DCSA Event and Location Codes
Feature that creates a codified milestone in accordance to DCSA guidance and best practices, minimizing the dependence on maintaining a list of standardized event descriptions.
The Vizion API can present milestones in a DCSA-compliant format
DCSA Event and Location Codes can reduce developer time by providing a programmable field to key on, enhancing the ability to filter specific event types, and reducing the need to maintain a list of Vizion's standardized descriptions.
The Value of DCSA Event and Location Codes
Through the years Track & Trace solutions have become a common service in the container shipping industry. However, due to misalignment of terminology and ways of working each carrier have designed their own events, which are published on their webpage.
One such example is carrier-reported "Vessel arrival" events. To carriers such as ONE Line, Yang-Ming and Hyundai Merchant Marine, this event means the vessel is at anchor, or in the vicinity of a port terminal. For other carriers, this published event means the vessel has berthed.
To align this type of reporting across the industry the DCSA has developed a Naming Convention to ensure equal interpretation of events published and that business needs are adequately reflected in the development of data and interface standards for Track & Trace.
Additionally, leveraging DCSA Event and Location codes, as shown in the Milestone below, would replace the need to identify all of following standardized descriptions to understand when a container is loaded at the Port of Loading:
- Loaded on vessel at origin port
- Loaded on feeder at origin port
- Loaded on barge at origin port
{
...
"journey_event": {
"journey_type": "EQUIPMENT",
"event_classifier": "ACT",
"event_type": "LOAD",
"empty_indicator": "LADEN",
"transport_mode": "VESSEL",
"facility_type": "POTE"
},
"shipment_location": {
"type_code": "POL"
},
...
}Event Code Structure
Event codes, found in the Milestone object, utilize a discriminator JSON structure to compose a journey_event object, separated into three specific types (journey_type):
-
The Equipment Journey: governs the naming and understanding of events driven by physical occurrences related to the equipment (container) in question.
-
The Transport Journey: governs occurrences in the general transport of a shipment. This includes all customer relevant events carried out by one or more modes of transport.
-
The Shipment Journey: governs the occurrences in the customer facing information flow tied to a shipment.
Please see here for the full list of event codes.
For detailed documentation relating to the DCSA Event Naming Convention and Structure, see the update payload model's journey event API reference documentation.
Location Code Structure
Location codes, found in the Milestone object, are used to identify how an Event's location relates to the overall shipment via a shipment_location object.
Mapping core milestones
To map Vizion's core milestones to your system, you can expect to see the below values for the journey_event and shipment_location objects. If you would like to include planned events, you can filter by the event_classifier values of PLN and EST, in addition to actual events (ACT).
| Milestone description | journey_type | event_classifier | event_type | empty_indicator | transport_mode | shipment_location (type_code) |
|---|---|---|---|---|---|---|
| Gate out empty at origin port | EQUIPMENT | ACT | GTOT | EMPTY | TRUCK | POL |
| Gate out empty | EQUIPMENT | ACT | GTOT | EMPTY | TRUCK | PRE or null |
| Gate in full at origin port | EQUIPMENT | ACT | GTIN | LADEN | TRUCK | POL |
| Loaded on vessel at origin port | EQUIPMENT | ACT | LOAD | LADEN | VESSEL | POL |
| Vessel departed from origin port | TRANSPORT | ACT | DEPA | VESSEL | POL | |
| Vessel arrived at destination port | TRANSPORT | ACT | ARRI | VESSEL | POD | |
| Gate out from destination port | EQUIPMENT | ACT | GTOT | LADEN | TRUCK | POD |
| Gate in empty return | EQUIPMENT | ACT | GTIN | EMPTY | TRUCK | POD, PDE, or null |
Mapping transshipment milestones
A shipment's origin_port and destination_port describe the ends of the
journey and do not change as the container moves. Every port in between is a
transshipment stop, identified by a shipment_location.type_code of RTP:
RTP: "Requested transshipment port" is the place where goods are to be or
have been transferred from one means of transport to another during the course
of one transport operation.
A container may pass through several transshipment stops on one journey, so
RTP is not unique within a shipment the way POL and POD are. Use the
event's location to tell one stop from another.
| Milestone description | journey_type | event_classifier | event_type | empty_indicator | transport_mode | shipment_location (type_code) |
|---|---|---|---|---|---|---|
| Vessel arrival at transshipment port | TRANSPORT | ACT | ARRI | VESSEL | RTP | |
| Vessel berthed at transshipment port | TRANSPORT | ACT | ARRI | VESSEL | RTP | |
| Discharged from vessel at transshipment port | EQUIPMENT | ACT | DISC | LADEN | VESSEL | RTP |
| Loaded on vessel at transshipment port | EQUIPMENT | ACT | LOAD | LADEN | VESSEL | RTP |
| Vessel departure from transshipment port | TRANSPORT | ACT | DEPA | VESSEL | RTP | |
| Feeder arrived at transshipment port | TRANSPORT | ACT | ARRI | VESSEL | RTP | |
| Discharged from feeder at transshipment port | EQUIPMENT | ACT | DISC | LADEN | VESSEL | RTP |
| Loaded on feeder at transshipment port | EQUIPMENT | ACT | LOAD | LADEN | VESSEL | RTP |
| Feeder departure from transshipment port | TRANSPORT | ACT | DEPA | VESSEL | RTP | |
| Truck arrived at transshipment port | TRANSPORT | ACT | ARRI | TRUCK | RTP | |
| Gate out from transshipment port | EQUIPMENT | ACT | GTOT | LADEN | TRUCK | RTP |
| Truck departure at transshipment port | TRANSPORT | ACT | DEPA | TRUCK | RTP |
Note that feeder movements carry a transport_mode of VESSEL. Barge
movements carry BARGE.
An example of a container loaded onto its onward vessel at a transshipment port:
{
...
"journey_event": {
"journey_type": "EQUIPMENT",
"event_classifier": "ACT",
"event_type": "LOAD",
"empty_indicator": "LADEN",
"transport_mode": "VESSEL"
},
"shipment_location": {
"type_code": "RTP"
},
...
}Transshipment events without a location-qualified description
The table above lists the standardized descriptions that name the transshipment
port explicitly. The same stops also produce events with generic descriptions,
most often vessel movements derived from AIS rather than reported by the
carrier. These resolve to RTP from the event's location, not from the wording
of the description:
| Milestone description | journey_type | event_classifier | event_type | empty_indicator | transport_mode | shipment_location (type_code) |
|---|---|---|---|---|---|---|
| Vessel arrived | TRANSPORT | ACT | ARRI | VESSEL | RTP | |
| Vessel departed | TRANSPORT | ACT | DEPA | VESSEL | RTP | |
| Loaded on vessel | EQUIPMENT | ACT | LOAD | LADEN | VESSEL | RTP |
| Discharged from vessel | EQUIPMENT | ACT | DISC | LADEN | VESSEL | RTP |
The same descriptions resolve to POL or POD when they occur at the
shipment's origin or destination port. This is the reason to key your mapping
logic on journey_event and shipment_location rather than on the description
text: the codes stay stable whether or not the carrier names the port in the
event it publishes.
Atype_codeofnullmeans the event's location could not be tied to a leg of the shipment, most commonly at an inland point that is neither the origin nor the destination port. It does not indicate a transshipment stop.
The full list of location type codes, with DCSA's definition of each, is in the update payload model's shipment location API reference documentation.
Enabling DCSA Event and Location Codes
DCSA Event and Location Codes can be enabled for your account (on both demo and production environments of the API) as a part of a new or existing plan at no additional cost. Please request this feature by contacting support.
Updated 11 days ago