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):

  1. The Equipment Journey: governs the naming and understanding of events driven by physical occurrences related to the equipment (container) in question.

  2. 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.

  3. 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 descriptionjourney_typeevent_classifierevent_typeempty_indicatortransport_modeshipment_location (type_code)
Gate out empty at origin portEQUIPMENTACTGTOTEMPTYTRUCKPOL
Gate out emptyEQUIPMENTACTGTOTEMPTYTRUCKPRE or null
Gate in full at origin portEQUIPMENTACTGTINLADENTRUCKPOL
Loaded on vessel at origin portEQUIPMENTACTLOADLADENVESSELPOL
Vessel departed from origin portTRANSPORTACTDEPAVESSELPOL
Vessel arrived at destination portTRANSPORTACTARRIVESSELPOD
Gate out from destination portEQUIPMENTACTGTOTLADENTRUCKPOD
Gate in empty returnEQUIPMENTACTGTINEMPTYTRUCKPOD, 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 descriptionjourney_typeevent_classifierevent_typeempty_indicatortransport_modeshipment_location (type_code)
Vessel arrival at transshipment portTRANSPORTACTARRIVESSELRTP
Vessel berthed at transshipment portTRANSPORTACTARRIVESSELRTP
Discharged from vessel at transshipment portEQUIPMENTACTDISCLADENVESSELRTP
Loaded on vessel at transshipment portEQUIPMENTACTLOADLADENVESSELRTP
Vessel departure from transshipment portTRANSPORTACTDEPAVESSELRTP
Feeder arrived at transshipment portTRANSPORTACTARRIVESSELRTP
Discharged from feeder at transshipment portEQUIPMENTACTDISCLADENVESSELRTP
Loaded on feeder at transshipment portEQUIPMENTACTLOADLADENVESSELRTP
Feeder departure from transshipment portTRANSPORTACTDEPAVESSELRTP
Truck arrived at transshipment portTRANSPORTACTARRITRUCKRTP
Gate out from transshipment portEQUIPMENTACTGTOTLADENTRUCKRTP
Truck departure at transshipment portTRANSPORTACTDEPATRUCKRTP

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 descriptionjourney_typeevent_classifierevent_typeempty_indicatortransport_modeshipment_location (type_code)
Vessel arrivedTRANSPORTACTARRIVESSELRTP
Vessel departedTRANSPORTACTDEPAVESSELRTP
Loaded on vesselEQUIPMENTACTLOADLADENVESSELRTP
Discharged from vesselEQUIPMENTACTDISCLADENVESSELRTP

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.

📘

A type_code of null means 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.


Did this page help you?