Last updated

Respond to a Booking Request

As a Carrier, respond to a booking request, or update an existing response.

Accept a Booking Request

ACCEPT a booking by providing any identifiers applicable to the Shipment across applicable route-segments in the form of a BookingResponse. All route-segments must be present in the response, even to specify there are no identifiers known at the time of acceptance.

You may not PUT a Rejection to a booking after you have already accepted it.

Requirements

At a minimum, have the following information

  • Booking ID (Plus any additional Shipment Idenitifer information you have.)
  • Accepted Route Segment Dates and IDs of those route segments
  • (OPTIONAL) Port Details, including Port Type, Location, and Estimate Date/Time of departure or arrival.

Workflow

Complete these steps:

  1. Prepare a PUT request to /services/booking/v1/bookings/{bookingId}/responses. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Add the required informtion to the request schema. For example,
JSON
{
  "shipmentIdentifiers": [
    {
      "type": "BOOKING_NUMBER",
      "value": "123456789"
    },
    {
      "type": "BILL_OF_LADING",
      "value": "987654321"
    },
    {
      "type": "CARRIER_NAME",
      "value": "Ocean Carrier Name"
    },
    {
      "type": "CARRIER_SCAC",
      "value": "CLTD"
    },
    {
      "type": "VESSEL_NAME",
      "value": "Vessel Name"
    },
    {
      "type": "VOYAGE_NUMBER",
      "value": "1234"
    }
  ],
  "routeSegments": [
    {
      "routeSegmentId": "bffd54a8-a30f-44da-80ba-5c2bd632cfe0",
      "fromDate": "2092-12-10",
      "toDate": "2092-12-12"
    }
  ],
  "details": {
    "portsDetails": [
      {
        "portType": "PORT_OF_DISCHARGE",
        "estimatedDatetime": "2092-12-10T00:00:00+00:00"
      },
      {
        "portType": "PORT_OF_LOADING",
        "estimatedDatetime": "2092-12-10T00:00:00+00:00"
      }
    ],
    "estimatedFinalDestinationDatetime": "2092-12-10T00:00:00+00:00",
    "cutOffDetails": {
      "cutOffDatetime": "2092-12-01T08:30:00+00:00",
      "vesselCutOffDatetime": "2092-12-01T08:30:00+00:00",
      "documentationCutOffDatetime": "2092-12-01T08:30:00+00:00"
    }
  }
}

This only shows the minimum required request schema. For the full request schema and descriptions for all fields and objects, please, connect with your project44 Technical Contact to receive the Booking API Reference Documentation.

  1. Send the request.

Expected System Responses

The request is successfully submitted and confirmed when a 200 response is received.

JSON
{
  "shipmentId": "47efd5a2-af91-4417-950a-7f546cd1b5cf",
  "attributes": [
    {
      "name": "string",
      "values": [
        "string"
      ]
    }
  ],
  "capacityProviderIdentifier": {
    "type": "SCAC",
    "value": "string"
  },
  "carrierContacts": [
    {
      "companyName": "string",
      "givenName": "string",
      "familyName": "string",
      "phoneNumber": "string",
      "mobilePhoneNumber": "string",
      "email": "user@example.com"
    }
  ],
  "totalRate": {
    "currency": "USD",
    "amount": 0
  },
  "rateIdentifiers": [
    {
      "source": "SYSTEM",
      "type": "SPOT_QUOTE",
      "value": "string"
    }
  ],
  "expirationDateTime": "2019-08-24T14:15:22Z",
  "routeSegmentIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "notes": "string",
  "shipmentDetails": [
    {
      "pickupStopId": "eff50f2a-8964-41f9-b45d-0a4f6f94e159",
      "deliveryStopId": "2ca57692-0523-4424-a638-167e5e26f7d3",
      "handlingUnits": {
        "details": [
          {
            "monetaryValue": {
              "currency": "USD",
              "amount": 0
            },
            "quantity": 0,
            "handlingUnitType": "BAG",
            "stackable": false,
            "dimensions": {
              "length": 0,
              "width": 0,
              "height": 0,
              "unit": "FT"
            },
            "weight": {
              "value": 0,
              "unit": "LB"
            }
          }
        ]
      },
      "items": [
        {
          "description": "string",
          "identifiers": [
            {
              "type": "CONTAINER_NUMBER",
              "value": "string"
            }
          ],
          "unitQuantity": 0,
          "unitType": "BAG"
        }
      ],
      "description": "string",
      "identifiers": [
        {
          "type": "AIR_WAYBILL",
          "value": "string"
        }
      ],
      "accessorials": [
        {
          "code": "REFRIGERATED",
          "details": {
            "min": 0,
            "max": 0,
            "unit": "CELSIUS"
          }
        }
      ],
      "loadId": "9fa4c9ea-0db7-4bb2-8f50-086d18a90403"
    }
  ],
  "apiConfiguration": {
    "bookingWebhookName": "string"
  },
  "shipperContactInfo": {
    "companyName": "string",
    "givenName": "string",
    "familyName": "string",
    "phoneNumber": "string",
    "mobilePhoneNumber": "string",
    "email": "user@example.com"
  },
  "shippingDetails": {
    "loadPreference": "FULL",
    "trailerType": "FLATBED",
    "trailerLength": {
      "value": 0,
      "unit": "FT"
    },
    "trailerVolume": {
      "value": 0,
      "unit": "CUBIC_FT"
    },
    "flatbedType": "CONESTOGA",
    "accessorials": [
      {
        "code": "REFRIGERATED",
        "details": {
          "min": 0,
          "max": 0,
          "unit": "CELSIUS"
        }
      }
    ]
  },
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "status": "BOOKED",
  "shipmentIdentifiers": [
    {
      "type": "AIR_WAYBILL",
      "value": "string"
    }
  ],
  "routeSegments": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "fromStop": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "type": "PICKUP",
        "arrivalDate": "2019-08-24",
        "arrivalAppointmentWindow": {
          "startTime": "14:15:22Z",
          "endTime": "14:15:22Z"
        },
        "contacts": [
          {
            "companyName": "string",
            "givenName": "string",
            "familyName": "string",
            "phoneNumber": "string",
            "mobilePhoneNumber": "string",
            "email": "user@example.com"
          }
        ],
        "accessorials": [
          {
            "code": "REFRIGERATED",
            "details": {
              "min": 0,
              "max": 0,
              "unit": "CELSIUS"
            }
          }
        ],
        "location": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "identifiers": [
            {
              "type": "AIRPORT_IATA",
              "value": "string"
            }
          ],
          "address": {
            "addressLines": [
              "string"
            ],
            "postalCode": "string",
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "geoCoordinates": {
            "latitude": -90,
            "longitude": -180
          }
        }
      },
      "toStop": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "type": "PICKUP",
        "arrivalDate": "2019-08-24",
        "arrivalAppointmentWindow": {
          "startTime": "14:15:22Z",
          "endTime": "14:15:22Z"
        },
        "contacts": [
          {
            "companyName": "string",
            "givenName": "string",
            "familyName": "string",
            "phoneNumber": "string",
            "mobilePhoneNumber": "string",
            "email": "user@example.com"
          }
        ],
        "accessorials": [
          {
            "code": "REFRIGERATED",
            "details": {
              "min": 0,
              "max": 0,
              "unit": "CELSIUS"
            }
          }
        ],
        "location": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "identifiers": [
            {
              "type": "AIRPORT_IATA",
              "value": "string"
            }
          ],
          "address": {
            "addressLines": [
              "string"
            ],
            "postalCode": "string",
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "geoCoordinates": {
            "latitude": -90,
            "longitude": -180
          }
        }
      }
    }
  ],
  "carrierResponseMethod": "EMAIL",
  "bookingSourceMethod": "API",
  "carrierRejectionNotes": "string",
  "transportationMode": "OCEAN",
  "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
  "carrierProvidedIdentifiers": [
    {
      "type": "AIR_WAYBILL",
      "value": "string"
    }
  ]
}

This is an example of what could be returned in the response. Please, refer to the Booking API Reference Documentation from your project44 Technical Contact for more information on the fields and data that can be returned in this response.

Errors

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

  • 400 Bad Request
  • 401 Unauthorized
  • 404 Not Found

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

Fields and Objects

The table below describes only the minimum relevant fields of the API Request to accept a booking and the 200 Successful Response. For more information on all fields, please, connect with your project44 Technical Contact for the Booking API Reference Documentation.

FieldDescription
bookingIdThe project44-generated booking idenetifier.
shipment.identifiersThe identifier used to distinguish the shipment. Include the type and value. At least one body with the name BOOKING_NUMBER is required.
statusReturned in the 200 Successful Response. The value will be BOOKED for accepted bookings.
routeSegments.routeSegmenIdThe ID of the route-segment.
routeSegments.fromDateThe date you, the Carrier, commit to depart from the route-segment origin.
routeSegments.toDateThe date you, the Carrier, commit to arrive at the route-segment destination.
details.portDetails.portTypeThe type of port. Valid values are PORT_OF_LOADING, PORT_OF_DISCHARGE,and TRANSSHIPMENT_PORT.
details.portDetails.locationInclude the location identifiers and either the geocoordinates or address lines of the port location.
details.portDetails.estimatedDateTimeThe date and time connected to the port. For example, when the port type is PORT_OF_LOADING, this refers to the estimated departure date and time from origin port. When the port type is PORT_OF_DISCHARGE, this refers to the estimated arrival date and time at destination port.

Reject a Booking Request

REJECT a booking by selecting a reason for rejection in the form of a BookingRejection.

You may not PUT a Rejection to a booking after you have already accepted it.

Requirements

At a minimum, have the following information

  • Booking ID
  • Reason for rejection

Workflow

Complete these steps:

  1. Prepare a PUT request to /services/booking/v1/bookings/{bookingId}/responses. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Add the reason for the rejection. For example,
JSON
{
  "reason": "SHORT_ON_STAFF",
  "notes": "We are not able to find a driver!"
}
  1. Send the request.

Expected System Responses

The request is successfully submitted and confirmed when a 200 response is received.

JSON
{
  "shipmentId": "47efd5a2-af91-4417-950a-7f546cd1b5cf",
  "attributes": [
    {
      "name": "string",
      "values": [
        "string"
      ]
    }
  ],
  "capacityProviderIdentifier": {
    "type": "SCAC",
    "value": "string"
  },
  "carrierContacts": [
    {
      "companyName": "string",
      "givenName": "string",
      "familyName": "string",
      "phoneNumber": "string",
      "mobilePhoneNumber": "string",
      "email": "user@example.com"
    }
  ],
  "totalRate": {
    "currency": "USD",
    "amount": 0
  },
  "rateIdentifiers": [
    {
      "source": "SYSTEM",
      "type": "SPOT_QUOTE",
      "value": "string"
    }
  ],
  "expirationDateTime": "2019-08-24T14:15:22Z",
  "routeSegmentIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "notes": "string",
  "shipmentDetails": [
    {
      "pickupStopId": "eff50f2a-8964-41f9-b45d-0a4f6f94e159",
      "deliveryStopId": "2ca57692-0523-4424-a638-167e5e26f7d3",
      "handlingUnits": {
        "details": [
          {
            "monetaryValue": {
              "currency": "USD",
              "amount": 0
            },
            "quantity": 0,
            "handlingUnitType": "BAG",
            "stackable": false,
            "dimensions": {
              "length": 0,
              "width": 0,
              "height": 0,
              "unit": "FT"
            },
            "weight": {
              "value": 0,
              "unit": "LB"
            }
          }
        ]
      },
      "items": [
        {
          "description": "string",
          "identifiers": [
            {
              "type": "CONTAINER_NUMBER",
              "value": "string"
            }
          ],
          "unitQuantity": 0,
          "unitType": "BAG"
        }
      ],
      "description": "string",
      "identifiers": [
        {
          "type": "AIR_WAYBILL",
          "value": "string"
        }
      ],
      "accessorials": [
        {
          "code": "REFRIGERATED",
          "details": {
            "min": 0,
            "max": 0,
            "unit": "CELSIUS"
          }
        }
      ],
      "loadId": "9fa4c9ea-0db7-4bb2-8f50-086d18a90403"
    }
  ],
  "apiConfiguration": {
    "bookingWebhookName": "string"
  },
  "shipperContactInfo": {
    "companyName": "string",
    "givenName": "string",
    "familyName": "string",
    "phoneNumber": "string",
    "mobilePhoneNumber": "string",
    "email": "user@example.com"
  },
  "shippingDetails": {
    "loadPreference": "FULL",
    "trailerType": "FLATBED",
    "trailerLength": {
      "value": 0,
      "unit": "FT"
    },
    "trailerVolume": {
      "value": 0,
      "unit": "CUBIC_FT"
    },
    "flatbedType": "CONESTOGA",
    "accessorials": [
      {
        "code": "REFRIGERATED",
        "details": {
          "min": 0,
          "max": 0,
          "unit": "CELSIUS"
        }
      }
    ]
  },
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "status": "REJECTED",
  "shipmentIdentifiers": [
    {
      "type": "AIR_WAYBILL",
      "value": "string"
    }
  ],
  "routeSegments": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "fromStop": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "type": "PICKUP",
        "arrivalDate": "2019-08-24",
        "arrivalAppointmentWindow": {
          "startTime": "14:15:22Z",
          "endTime": "14:15:22Z"
        },
        "contacts": [
          {
            "companyName": "string",
            "givenName": "string",
            "familyName": "string",
            "phoneNumber": "string",
            "mobilePhoneNumber": "string",
            "email": "user@example.com"
          }
        ],
        "accessorials": [
          {
            "code": "REFRIGERATED",
            "details": {
              "min": 0,
              "max": 0,
              "unit": "CELSIUS"
            }
          }
        ],
        "location": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "identifiers": [
            {
              "type": "AIRPORT_IATA",
              "value": "string"
            }
          ],
          "address": {
            "addressLines": [
              "string"
            ],
            "postalCode": "string",
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "geoCoordinates": {
            "latitude": -90,
            "longitude": -180
          }
        }
      },
      "toStop": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "type": "PICKUP",
        "arrivalDate": "2019-08-24",
        "arrivalAppointmentWindow": {
          "startTime": "14:15:22Z",
          "endTime": "14:15:22Z"
        },
        "contacts": [
          {
            "companyName": "string",
            "givenName": "string",
            "familyName": "string",
            "phoneNumber": "string",
            "mobilePhoneNumber": "string",
            "email": "user@example.com"
          }
        ],
        "accessorials": [
          {
            "code": "REFRIGERATED",
            "details": {
              "min": 0,
              "max": 0,
              "unit": "CELSIUS"
            }
          }
        ],
        "location": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "identifiers": [
            {
              "type": "AIRPORT_IATA",
              "value": "string"
            }
          ],
          "address": {
            "addressLines": [
              "string"
            ],
            "postalCode": "string",
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "geoCoordinates": {
            "latitude": -90,
            "longitude": -180
          }
        }
      }
    }
  ],
  "rejectionReason": "COST_NOT_AGREED",
  "carrierResponseMethod": "EMAIL",
  "automatedFailureReason": "ERROR_CREDENTIALS",
  "bookingSourceMethod": "API",
  "carrierRejectionNotes": "string",
  "transportationMode": "OCEAN",
  "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
  "carrierProvidedIdentifiers": [
    {
      "type": "AIR_WAYBILL",
      "value": "string"
    }
  ]
}

This is an example of what could be returned in the response. Please, refer to the Booking API Reference Documentation from your project44 Technical Contact for more information on the fields and data that can be returned in this response.

Errors

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

  • 400 Bad Request
  • 401 Unauthorized
  • 404 Not Found

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

Fields and Objects

The table below describes only the minimum relevant fields of the API Request to reject a booking and the 200 Successful Response. For more information on all fields, please, connect with your project44 Technical Contact for the Booking API Reference Documentation.

FieldDescription
bookingIdThe project44-generated booking idenetifier.
reasonThe codified reason why a carrier would reject a booking from a carrier. Valid values include COST_NOT_AGREED, SHORT_ON_STAFF, NOT_WITHIN_SCOPE, TRANSIT_TIME_TOO_SHORT, and REQUESTED_EQUIPMENT_NOT_AVAILABLE.
statusReturned in the 200 Successful Response. The value will be REJECTED for rejected bookings.

Update Shipment Identifiers

Update shipment identifiers after you have accepted a booking.

Requirements

At a minimum, have the following information

  • Booking ID
  • The updated shipment identifier
  • Accepted Route Segment Dates and IDs of those route segments
  • Port Details, including Port Type, Location, and Estimate Date/Time of departure or arrival.

Workflow

Complete these steps:

  1. Prepare a PUT request to /services/booking/v1/bookings/{bookingId}/responses. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Update the shipment identifier information in the request schema. For example, add the CUSTOMER_REFERENCE identifier information for the shipment:
JSON
{
  "identifiers": [
    {
      "type": "BOOKING_NUMBER",
      "value": "string"
    },
    {
      "type": "CUSTOMER_REFERENCE",
      "value": "SHIPMENT-12345"
    }
  ],
  "routeInfo": {
    "stops": [
      {
        "id": "5ce9d243-8f99-44c4-850f-b26e74e12d05",
        "type": "PICKUP",
        "arrivalDate": "2092-12-10",
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "222 W. Merchandise Mart Plaza",
              "Suite 1744"
            ],
            "postalCode": "60654",
            "city": "Chicago",
            "state": "IL",
            "country": "US"
          }
        }
      },
      {
        "id": "4afd54a3-fe4d-42bf-8331-adefc9a412a7",
        "type": "DELIVERY",
        "arrivalDate": "2092-12-12",
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "3800 N Lamar Blvd",
              "Suite 210"
            ],
            "postalCode": "78756",
            "city": "Austin",
            "state": "TX",
            "country": "US"
          }
        }
      }
    ],
    "routeSegments": [
      {
        "fromStopId": "5ce9d243-8f99-44c4-850f-b26e74e12d05",
        "toStopId": "4afd54a3-fe4d-42bf-8331-adefc9a412a7"
      }
    ]
  },
  "attributes": [
    {
      "name": "attribute name",
      "values": [
        "string value 1",
        "string value 2"
      ]
    }
  ]
}

This only shows the minimum required request schema. For the full request schema and descriptions for all fields and objects, please, connect with your project44 Technical Contact to receive the Booking API Reference Documentation.

  1. Send the request.

Expected System Responses

The request is successfully submitted and confirmed when a 200 response is received.

JSON
{
  "shipmentId": "47efd5a2-af91-4417-950a-7f546cd1b5cf",
  "attributes": [
    {
      "name": "string",
      "values": [
        "string"
      ]
    }
  ],
  "capacityProviderIdentifier": {
    "type": "SCAC",
    "value": "string"
  },
  "carrierContacts": [
    {
      "companyName": "string",
      "givenName": "string",
      "familyName": "string",
      "phoneNumber": "string",
      "mobilePhoneNumber": "string",
      "email": "user@example.com"
    }
  ],
  "totalRate": {
    "currency": "USD",
    "amount": 0
  },
  "rateIdentifiers": [
    {
      "source": "SYSTEM",
      "type": "SPOT_QUOTE",
      "value": "string"
    }
  ],
  "expirationDateTime": "2019-08-24T14:15:22Z",
  "routeSegmentIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "notes": "string",
  "shipmentDetails": [
    {
      "pickupStopId": "eff50f2a-8964-41f9-b45d-0a4f6f94e159",
      "deliveryStopId": "2ca57692-0523-4424-a638-167e5e26f7d3",
      "handlingUnits": {
        "details": [
          {
            "monetaryValue": {
              "currency": "USD",
              "amount": 0
            },
            "quantity": 0,
            "handlingUnitType": "BAG",
            "stackable": false,
            "dimensions": {
              "length": 0,
              "width": 0,
              "height": 0,
              "unit": "FT"
            },
            "weight": {
              "value": 0,
              "unit": "LB"
            }
          }
        ]
      },
      "items": [
        {
          "description": "string",
          "identifiers": [
            {
              "type": "CONTAINER_NUMBER",
              "value": "string"
            }
          ],
          "unitQuantity": 0,
          "unitType": "BAG"
        }
      ],
      "description": "string",
      "identifiers": [
        {
          "type": "AIR_WAYBILL",
          "value": "string"
        }
      ],
      "accessorials": [
        {
          "code": "REFRIGERATED",
          "details": {
            "min": 0,
            "max": 0,
            "unit": "CELSIUS"
          }
        }
      ],
      "loadId": "9fa4c9ea-0db7-4bb2-8f50-086d18a90403"
    }
  ],
  "apiConfiguration": {
    "bookingWebhookName": "string"
  },
  "shipperContactInfo": {
    "companyName": "string",
    "givenName": "string",
    "familyName": "string",
    "phoneNumber": "string",
    "mobilePhoneNumber": "string",
    "email": "user@example.com"
  },
  "shippingDetails": {
    "loadPreference": "FULL",
    "trailerType": "FLATBED",
    "trailerLength": {
      "value": 0,
      "unit": "FT"
    },
    "trailerVolume": {
      "value": 0,
      "unit": "CUBIC_FT"
    },
    "flatbedType": "CONESTOGA",
    "accessorials": [
      {
        "code": "REFRIGERATED",
        "details": {
          "min": 0,
          "max": 0,
          "unit": "CELSIUS"
        }
      }
    ]
  },
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "status": "BOOKED",
  "shipmentIdentifiers": [
    {
      "type": "AIR_WAYBILL",
      "value": "string"
    }
  ],
  "routeSegments": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "fromStop": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "type": "PICKUP",
        "arrivalDate": "2019-08-24",
        "arrivalAppointmentWindow": {
          "startTime": "14:15:22Z",
          "endTime": "14:15:22Z"
        },
        "contacts": [
          {
            "companyName": "string",
            "givenName": "string",
            "familyName": "string",
            "phoneNumber": "string",
            "mobilePhoneNumber": "string",
            "email": "user@example.com"
          }
        ],
        "accessorials": [
          {
            "code": "REFRIGERATED",
            "details": {
              "min": 0,
              "max": 0,
              "unit": "CELSIUS"
            }
          }
        ],
        "location": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "identifiers": [
            {
              "type": "AIRPORT_IATA",
              "value": "string"
            }
          ],
          "address": {
            "addressLines": [
              "string"
            ],
            "postalCode": "string",
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "geoCoordinates": {
            "latitude": -90,
            "longitude": -180
          }
        }
      },
      "toStop": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "type": "PICKUP",
        "arrivalDate": "2019-08-24",
        "arrivalAppointmentWindow": {
          "startTime": "14:15:22Z",
          "endTime": "14:15:22Z"
        },
        "contacts": [
          {
            "companyName": "string",
            "givenName": "string",
            "familyName": "string",
            "phoneNumber": "string",
            "mobilePhoneNumber": "string",
            "email": "user@example.com"
          }
        ],
        "accessorials": [
          {
            "code": "REFRIGERATED",
            "details": {
              "min": 0,
              "max": 0,
              "unit": "CELSIUS"
            }
          }
        ],
        "location": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "identifiers": [
            {
              "type": "AIRPORT_IATA",
              "value": "string"
            }
          ],
          "address": {
            "addressLines": [
              "string"
            ],
            "postalCode": "string",
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "geoCoordinates": {
            "latitude": -90,
            "longitude": -180
          }
        }
      }
    }
  ],
  "rejectionReason": "COST_NOT_AGREED",
  "carrierResponseMethod": "EMAIL",
  "automatedFailureReason": "ERROR_CREDENTIALS",
  "bookingSourceMethod": "API",
  "carrierRejectionNotes": "string",
  "transportationMode": "OCEAN",
  "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
  "carrierProvidedIdentifiers": [
    {
      "type": "AIR_WAYBILL",
      "value": "string"
    }
  ]
}

This is an example of what could be returned in the response. Please, refer to the Booking API Reference Documentation from your project44 Technical Contact for more information on the fields and data that can be returned in this response.

Errors

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

  • 400 Bad Request
  • 401 Unauthorized
  • 404 Not Found

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

Fields and Objects

The table below describes only the minimum relevant fields of the API Request to update identifiers for a shipment after accepting the booking request and the 200 Successful Response. For more information on all fields, please, connect with your project44 Technical Contact for the Booking API Reference Documentation.

FieldDescription
bookingIdThe project44-generated booking idenetifier.
shipment.identifiersThe identifier used to distinguish the shipment. Include the type and value. At least one body with the name BOOKING_NUMBER is required.
statusReturned in the 200 Successful Response. The value will be BOOKED because you can only update shipment identifiers after you have accepted the booking request.
routeSegments.routeSegmenIdThe ID of the route-segment.
routeSegments.fromDateThe date you, the Carrier, commit to depart from the route-segment origin.
routeSegments.toDateThe date you, the Carrier, commit to arrive at the route-segment destination.
details.portDetails.portTypeThe type of port. Valid values are PORT_OF_LOADING, PORT_OF_DISCHARGE,and TRANSSHIPMENT_PORT.
details.portDetails.locationInclude the location identifiers and either the geocoordinates or address lines of the port location.
details.portDetails.estimatedDateTimeThe date and time connected to the port. For example, when the port type is PORT_OF_LOADING, this refers to the estimated departure date and time from origin port. When the port type is PORT_OF_DISCHARGE, this refers to the estimated arrival date and time at destination port.