Last updated

Roll-On/Roll-Off (RoRo) Visibility

The processes to create, get tracking information for, update, and delete a RoRo shipment are the same as for any other Ocean shipment. Nuances specific to RoRo visibility are called out in the sections below.

Create a RoRo Shipment

Follow the steps to Create an Ocean Shipment for tracking. project44 will discover the related Serial Number or Vehicle Identification Number (VIN). The value of the Serial Number and VIN will populate in the identifiers fields.

Requirements

  • Carrier SCAC
  • Either a Booking Number or Bill of Lading

Sample POST Request

{
  "identifiers": [
    {
      "type": "CARRIER_SCAC",
      "value": "string"
    },
    {
      "type": "BOOKING_NUMBER",
      "value": "string"
    }
  ]
}

Fields and Objects

The table below describes only the relevant POST request fields. For more information, please see our API Reference documentation.

ElementDescriptionTypeNotes
identifiers.typeThe type of identifier for the shipment.stringYou must use the Carrier SCAC along with either the Booking Number or the Master Bill of Lading. Valid values are BOOKING_NUMBER, CARRIER_SCAC, and BILL_OF_LADING.
identifiers.valueThe identifier value.string

Error

If there was a problem with your request, you will receive one of the following error codes

  • 400 Invalid request
  • 401 Invalid or missing credentials
  • 403 User not authorized to perform this operation

See Error Response Codes in the Appendix for more information on the meaning of these error codes.

Get RoRo Tracking Updates

Follow the steps to Get Ocean Shipment Update.

  • The value of the Serial Number and VIN populate in the identifiers field once discovered after the RoRo shipment is created.
  • The CONTAINER_TYPE identifier type will always have the identifier value of RORO.
  • RoRo shipments are automatically completed forty eight (48) hours after vessel arrival event (ARRIVAL, DISCHARGE, or GATE_OUT) at the Port of Discharge (POD).
  • RoRo shipments receive less event types than Container shipments. See below for more information on the event types you can expect to see for RoRo shipments.

Requirements

  • Create a shipment. A shipment must have been created to retrieve RoRo visibility data.
  • project44-generated Shipment ID (this is the id returned in the 200 OK response during shipment creation)

Sample GET Response

The following is a sample response that is returned when using the /api/v4/shipments/{shipmentId}/tracking/history endpoint.

{
  "shipment": {
    "id": "973281a1-97c8-4922-a02a-c77fa19053ee",
    "identifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      },
      {
        "type": "VEHICLE_IDENTIFICATION_NUMBER",
        "value": "string"
      },
      {
        "type": "CONTAINER_TYPE",
        "value": "RoRo"
      },
      {
        "type": "CARRIER_SCAC",
        "value": "string"
      },
      {
        "type": "CONTAINER_ID",
        "value": "string"
      }
    ],
    "shipmentShareLink": "https://movement.project44.com/share/1234-5678-9012",
    "createdDateTime": "2023-04-06T17:02:25+0000",
    "lastModifiedDateTime": "2023-04-08T00:17:20+0000",
    "routeInfo": {
      "stops": [
        {
          "id": "string",
          "type": "PORT_OF_LOADING",
          "location": {
            "name": "string",
            "identifiers": [
              {
                "type": "string",
                "value": "string"
              }
            ],
            "address": {
              "city": "string",
              "state": "string",
              "country": "string"
            },
            "coordinates": {
              "latitude": 0,
              "longitude": 0
            },
            "timeZone": "Europe/Brussels"
          }
        },
        {
          "id": "string",
          "type": "PORT_OF_DISCHARGE",
          "location": {
            "name": "string",
            "identifiers": [
              {
                "type": "string",
                "value": "string"
              }
            ],
            "address": {
              "city": "string",
              "state": "string-Natal",
              "country": "string"
            },
            "coordinates": {
              "latitude": 0,
              "longitude": 0
            },
            "timeZone": "Africa/Johannesburg"
          }
        }
      ],
      "routeSegments": [
        {
          "id": "string",
          "fromStopId": "string",
          "toStopId": "string",
          "transportationMode": "OCEAN",
          "identifiers": [
            {
              "type": "VOYAGE_NUMBER",
              "value": "string"
            },
            {
              "type": "VESSEL_NAME",
              "value": "string"
            },
            {
              "type": "VESSEL_IMO",
              "value": "string"
            },
            {
              "type": "CARRIER_NAME",
              "value": "string"
            }
          ]
        }
      ]
    },
    "relatedShipments": [
      {
        "id": "06b18cc5-f10c-434a-b5ef-997785496d6e",
        "identifiers": [
          {
            "type": "BOOKING_NUMBER",
            "value": "string"
          },
          {
            "type": "CARRIER_SCAC",
            "value": "string"
          }
        ],
        "shipmentShareLink": "string",
        "createdDateTime": "2023-03-21T13:57:34+0000",
        "lastModifiedDateTime": "2023-04-08T00:17:20+0000"
      }
    ]
  },
  "states": [
    {
      "type": "IN_TRANSIT",
      "startDateTime": "2023-03-09T16:50:00+0000",
      "endDateTime": "2023-04-06T01:52:00+0000",
      "stopId": "string",
      "routeSegmentId": "string"
    },
    {
      "type": "AT_STOP",
      "startDateTime": "2023-04-06T01:52:00+0000",
      "endDateTime": "2023-04-07T22:14:00+0000",
      "stopId": "string",
      "routeSegmentId": "stringa"
    },
    {
      "type": "COMPLETED",
      "startDateTime": "string"
    }
  ],
  "events": [
    {
      "dateTime": "2023-03-09T16:50:00+0000",
      "receivedDateTime": "2023-04-07T22:14:00+0000",
      "type": "DEPARTURE_FROM_STOP",
      "stopId": "string",
      "routeSegmentId": "string"
    },
    {
      "dateTime": "2023-04-06T01:52:00+0000",
      "receivedDateTime": "2023-04-07T22:14:00+0000",
      "type": "ARRIVAL_AT_STOP",
      "stopId": "string",
      "routeSegmentId": "string",
      "estimateDateTime": "2023-04-06T01:52:00+0000",
      "estimateLastCalculatedDateTime": "2023-04-08T00:17:21+0000",
      "plannedDateTime": "2023-04-07T00:30:00+0000"
    },
    {
      "dateTime": "2023-04-07T00:30:00+0000",
      "receivedDateTime": "2023-04-07T22:14:00+0000",
      "type": "DELIVERY",
      "stopId": "string"
    },
    {
      "dateTime": "2023-04-07T22:14:00+0000",
      "receivedDateTime": "2023-04-07T22:14:00+0000",
      "type": "TRACKING_STOP"
    }
  ],
  "positions": [
    {
      "dateTime": "2023-03-09T17:10:00+0000",
      "routeSegmentId": "string",
      "latitude": 0,
      "longitude": 0
    }
  ]
}

Fields and Objects

The table below describes only certain fields relevant to RoRo tracking returned in the 200 OK response for a GET Full Tracking History request. For more information, please see our API Reference documentation.

ElementDescriptionTypeNotes
shipments.identifiers.typeThe type identifiers used to create and track the RoRo shipment.stringAfter a shipment is created using the CARRIER_SCAC and either the BILL_OF_LADING or the BOOKING_NUMBER identifiers, project44 will discover the VEHICLE_IDENTIFICATION_NUMBER and/or SERIAL_NUMBER relevant to the RoRo shipment.
shipment.identifiers.valueThe value of the RoRo shipment identifiers.stringThe identifier value for the CONTAINER_TYPE identifier type will always be RoRo.
shipment.events.typeThe RoRo shipment tracking event type.stringValid values are ARRIVAL_AT_STOP, DEPARTURE_FROM_STOP, DISCHARGE, and LOAD.

RoRo Shipment Event Types

EventDescription
ARRIVAL_AT_STOPThe vessel has arrived at a port or inland facility.
DEPARTURE_FROM_STOPThe vessel has departed from a port or inland facility.
DISCHARGEThe shipment has been discharged from the vessel.
LOADThe shipment has been loaded onto the vessel. The container has been loaded onto the ship and is now officially in transit to the next port.

Error

If there was a problem with your request, you will receive one of the following error codes

  • 400 Invalid request
  • 401 Invalid or missing credentials
  • 403 User not authorized to perform this operation

See Error Response Codes in the Appendix for more information on the meaning of these error codes.