Last updated

Detention and Demurrage Optimization

In logistics, and especially in ocean transportation, interchange points are a major source of delays and additional costs. This is especially significant at the terminals when the loading and unloading of containers happen, as well as additional processes like customs clearance. Project44's Detention and Demurrage Optimization provides real-time visibility into the status of containers at the terminal. This visibility allows for better planning and execution of the terminal processes, reducing delays and costs.

Overview of Workflow

The workflows to create, get updates, update, and delete Ocean shipments with Detention and Demurrage Optimization are the same as the workflows for Ocean visibility. This documentation provides an overview of Detention and Demurrage Optimization data provided by project44 along with Ocean visibility data.

Detention and Demurrage Optimization Event Types

Below are the descriptions for event types specific to Detention and Demurrage Optimization shipments. These event types will be returned by the Get Event History and the Get Full Tracking History endpoints when retrieving a list of events for an Ocean shipment. The list of all Ocean visibility events are available here.

Event TypeDescription
LAST_FREE_DAYThe last day that the container can be picked up from the terminal without incurring demurrage or detention charges.
CUSTOMS_HOLDThe container is being held at the terminal by customs.
CARRIER_HOLDThe container is being held at the terminal by the carrier.
HELDThe container is being held at the terminal by any party other than carrier, customs for some reason.
CUSTOMS_CLEARANCEThe container has been released by customs and is available for pickup at the terminal.
RECEIVE_FROM_CARRIERThe container has been released by the carrier and is available for pickup at the terminal.
AVAILABLEThe container is available for pickup at the terminal after it has been held by any party other than carrier, customs.
COST_UPDATEThe cost information for the shipment has been updated.

Detention and Demurrage Optimization Costs

Project44 also provides visibility into the detention and demurrage costs incurred when the container is not picked up from or return back to the terminal within the last free day. The costs are available in the cost section of the Get Full Tracking History endpoint.

Fields and Objects

The table below describes cost fields returned in the response 200 OK from the GET: Fetch the tracking history endpoint.

FieldDescription
costsAn array of all costs incurred for the shipment and the assets contained within.
costs.typeThe specific type of costs the shipment incurred. Valid values include [IMPORT_DEMURRAGE, IMPORT_DETENTION].
costs.totalCostA monetary value expressing amount and currency type.
costs.totalCost.currencyThe currency of the shipment value. Valid values include [ USD, CAD, MXN, EUR]
costs.totalCost.amountThe monetary amount indicating the total cost on shipment.
costs.identifiersA list of identifiers that specify the asset to which this cost or fee pertains.
costs.tierThe tier of the cost. Valid values include [FREE_PERIOD, FIRST_PERIOD, SECOND_PERIOD, THIRD_PERIOD].

Example

{
   "costs": [
        {
            "type": "IMPORT_DETENTION",
            "identifiers": [
                {
                    "type": "CONTAINER_TYPE",
                    "value": "45GP"
                },
                {
                    "type": "CONTAINER_ID",
                    "value": "string"
                }
            ],
            "totalCost": {
                "currency": "USD",
                "amount": 1000
            },
            "tier": "SECOND_PERIOD"
        },
        {
            "type": "IMPORT_DEMURRAGE",
            "identifiers": [
                {
                    "type": "CONTAINER_TYPE",
                    "value": "45GP"
                },
                {
                    "type": "CONTAINER_ID",
                    "value": "string"
                }
            ],
            "totalCost": {
                "currency": "USD",
                "amount": 2000
            },
            "tier": "THIRD_PERIOD"
        }
    ]
}

Terminal Information

Project44 also provides information about the terminal - for example, terminal name, address, facility ID, etc. This information can be found in the shipment.routeInfo.stops.location object of Get Full Tracking History response.

FieldDescription
nameName of the terminal
address.postalCodePostal code of terminal
address.addressLinesDetailed address of terminal
address.cityCity of terminal
address.stateState of terminal
address.countryCountry of terminal
identifiers.typeType of location identifier for terminal. For example, FACILITY_ID, PORT_UN_LOCODE
identifiers.valueValue of location identifier

See our API Reference documentation for more information on all data that can be returned in a Get Event History response or a Get Full Tracking History response. The response payload returned by a Get Full Tracking History request is the same payload PUSHed by a webhook.