Last updated

Update a Shipment or FTL Tender/Booking

Update a shipment created for FTL tendering/booking or an FTL shipment booking.

In this user documentation, specifically for FTL, project44 uses tender and booking interchangeably and refer to the same capability: to request transport of goods from a carrier. Any references to the Booking API Reference Documentation refers to the API reference documentation for FTL tendering.

Update a Mult-modal Shipment without a Tender/Booking Request

Update information for a Multi-modal shipment without a tender/booking request.

Requirements

At a minimum, have the following information

  • Shipment ID (the project44-generated id returned in the Create a Shipment response)
  • Shipment Identifier
  • Shipment Information/Data
    • Pickup and delivery stop information for this shipment including
      • Stop ID
      • Stop Type (PICKUP and DELIVERY)
      • Company Name of the Stop Contact
      • Stop Location Address or Geocoordinates
      • Route Segment fromStopId and toStopId

Workflow

Complete these steps:

  1. Prepare a PUT request to /services/booking/v1/shipments/{shipmentId}. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Add the shipment identifiers to the request schema. For example,
JSON
{
  "identifiers": [
    {
      "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 an example of a potential request. 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.
3. Send the response.

Expected System Responses

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

JSON
{
  "identifiers": [
    {
      "type": "CUSTOMER_REFERENCE",
      "value": "SHIPMENT-12345"
    }
  ],
  "routeInfo": {
    "stops": [
      {
        "id": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
        "type": "PICKUP",
        "arrivalDate": "2092-12-10",
        "arrivalAppointmentWindow": {
          "startTime": "10:15:00",
          "endTime": "12:45:00"
        },
        "contacts": [],
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "222 W. Merchandise Mart Plaza",
              "Suite 1744"
            ],
            "postalCode": "60654",
            "city": "Chicago",
            "state": "IL",
            "country": "US"
          }
        }
      },
      {
        "id": "83dc3f72-8efb-4d82-811d-fdf48176181f",
        "type": "DELIVERY",
        "arrivalDate": "2092-12-12",
        "arrivalAppointmentWindow": {
          "startTime": "15:15:00",
          "endTime": "17:00:00"
        },
        "contacts": [],
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "3800 N Lamar Blvd",
              "Suite 210"
            ],
            "postalCode": "78756",
            "city": "Austin",
            "state": "TX",
            "country": "US"
          }
        }
      }
    ],
    "routeSegments": [
      {
        "id": "0ba71f63-6c51-456e-9dcd-cd35bf95c11e",
        "fromStopId": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
        "toStopId": "83dc3f72-8efb-4d82-811d-fdf48176181f"
      }
    ]
  },
  "attributes": [
    {
      "name": "attribute name",
      "values": [
        "string value 1",
        "string value 2"
      ]
    }
  ],
  "name": "shipmentName",
  "notes": "shipmentNotes",
  "id": "5c7ebfc2-6fb0-4333-ba9c-52d0a28074c1"
}

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
  • 409 Conflict

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 a shipment with an FTL tender/booking request. For more information on all fields, please, connect with your project44 Technical Contact for the Booking API Reference Documentation.

FieldDescription
identifiersThe identifier used to distinguish the shipment. Include the type and value.
routeInfo.stops.idThe ID of the stop associated with the shipment. This will always be populated on response.
routeInfo.stops.typeThe type of stop. Valid values include PICKUP, PICKUP_DELIVERY, and DELIVERY
routeInfo.stops.contacts.companyNameThe name of the Company with whom the Contact is associated.
routeInfo.stops.location.address.addressLinesThe street name, number, direction, PO box, etc. Only three address lines are currently permitted. Use this if geocoordinates are not provided.
routeInfo.stops.location.geocoordinatesThe latitude and longitude of the stop. Use only if the stop address is not provided.
routeInfo.routeSegments.fromStopIdThe starting stop of this route segment.
routeInfo.routeSegments.toStopIdThe ending stop of this route segment.

Update a Multi-modal Shipment with an FTL Tender/Booking Request

Update information for a Multi-modal shipment with an FTL booking request.

Requirements

At a minimum, have the following information

  • Shipment ID (the project44-generated id returned in the Create a Shipment response.)
  • Shipment Identifier (e.g., BILL_OF_LADING or ORDER)
  • Shipment Information/Data
    • Pickup and delivery stop information for this shipment including
      • Stop ID
      • Stop Type (PICKUP and DELIVERY)
      • Company Name of the Stop Contact
      • Stop Location Address or Geocoordinates
      • Route Segment fromStopId and toStopId
  • Booking Information/Data
    • Capacity Provider ID (SCAC, DOT_NUMBER, MC_NUMBER, P44_EU, SYSTEM, or P44_GLOBAL)
    • Carrier Contact Name
    • At Lease One Rate Identifier (SPOT_QUOTE or CONTRACT) and Source (SYSTEM, EXTERNAL, or UNKNOWN)
    • Expiration Date and Time for the Request
    • Route Segment IDs
    • Shipment Details
      • Pickup & Delivery Stop IDs
      • Handling Unit Monetary Value, Quantity, Type, & Weight
      • Item identifiers
      • Load Identifiers
    • Shipper Contact Information
      • Company Name of the Shipper Contact
    • Shipping Details
      • Trailer Equipment Type (FLATBED, REFRIGERATED, or DRY_VAN)
      • Trailer Length
      • Trailer Volume

Workflow

Complete these steps:

  1. Prepare a PUT request to /services/booking/v1/shipments/{shipmentId}. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Add the shipment identifiers to the request schema. For example,
JSON
{
  "identifiers": [
    {
      "type": "CUSTOMER_REFERENCE",
      "value": "SHIPMENT-12345"
    }
  ],
  "routeInfo": {
    "stops": [
      {
        "id": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
        "type": "PICKUP",
        "arrivalDate": "2092-12-10",
        "contacts": [],
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "222 W. Merchandise Mart Plaza",
              "Suite 1744"
            ],
            "postalCode": "60654",
            "city": "Chicago",
            "state": "IL",
            "country": "US"
          }
        }
      },
      {
        "id": "707d030c-b015-49c2-b859-4eef170ab7d1",
        "type": "DELIVERY",
        "arrivalDate": "2092-12-12",
        "contacts": [],
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "3800 N Lamar Blvd",
              "Suite 210"
            ],
            "postalCode": "78756",
            "city": "Austin",
            "state": "TX",
            "country": "US"
          }
        }
      }
    ],
    "routeSegments": [
      {
        "id": "848da5be-59bb-4ae7-8b9b-01f01e877521",
        "fromStopId": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
        "toStopId": "707d030c-b015-49c2-b859-4eef170ab7d1"
      }
    ]
  },
  "attributes": [
    {
      "name": "attribute name",
      "values": [
        "string value 1",
        "string value 2"
      ]
    }
  ],
  "bookings": [
    {
      "attributes": [
        {
          "name": "attribute name",
          "values": [
            "string value 1",
            "string value 2"
          ]
        }
      ],
      "capacityProviderIdentifier": {
        "type": "DOT_NUMBER",
        "value": "01234567"
      },
      "carrierContacts": [
        {
          "companyName": "Carrier Company Name",
          "givenName": "John",
          "familyName": "Hudson",
          "email": "j.hudson@carrier-company.project44.com"
        }
      ],
      "totalRate": {
        "currency": "USD",
        "amount": 3500
      },
      "rateIdentifiers": [
        {
          "source": "EXTERNAL",
          "type": "CONTRACT",
          "value": "contract-1234"
        }
      ],
      "expirationDateTime": "2092-12-01T08:30:00+00:00",
      "routeSegmentIds": [
        "848da5be-59bb-4ae7-8b9b-01f01e877521"
      ],
      "shipmentDetails": [
        {
          "pickupStopId": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
          "deliveryStopId": "707d030c-b015-49c2-b859-4eef170ab7d1",
          "handlingUnits": {
            "details": [
              {
                "monetaryValue": {
                  "currency": "USD",
                  "amount": 1200
                },
                "quantity": 10,
                "handlingUnitType": "PALLET",
                "stackable": true,
                "dimensions": {
                  "length": 48,
                  "width": 40,
                  "height": 40,
                  "unit": "IN"
                },
                "weight": {
                  "value": 2750,
                  "unit": "LB"
                }
              }
            ]
          },
          "items": [],
          "description": "Temperature-Sensitive Goods",
          "identifiers": [
            {
              "type": "PURCHASE_ORDER",
              "value": "1234"
            }
          ],
          "accessorials": [
            {
              "code": "REFRIGERATED",
              "details": {
                "min": 32,
                "max": 40,
                "unit": "FAHRENHEIT"
              }
            }
          ]
        }
      ],
      "apiConfiguration": {
        "bookingWebhookName": "Shipper WebhookName"
      },
      "shipperContactInfo": {
        "companyName": "Shipper Company Name",
        "givenName": "Jennifer",
        "familyName": "Smith",
        "email": "j.smith@shipper-company.project44.com"
      },
      "shippingDetails": {
        "loadPreference": "FULL",
        "trailerType": "FLATBED",
        "flatbedType": "DOUBLE_DROP",
        "accessorials": []
      },
      "id": "d27766a6-5543-49ed-8e36-14f8fec85db6"
    }
  ]
}

This an example of a potential request. 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.
3. Send the request.

Expected System Responses

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

JSON
{
  "identifiers": [
    {
      "type": "CUSTOMER_REFERENCE",
      "value": "SHIPMENT-12345"
    }
  ],
  "routeInfo": {
    "stops": [
      {
        "id": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
        "type": "PICKUP",
        "arrivalDate": "2092-12-10",
        "arrivalAppointmentWindow": {
          "startTime": "10:15:00",
          "endTime": "12:45:00"
        },
        "contacts": [],
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "222 W. Merchandise Mart Plaza",
              "Suite 1744"
            ],
            "postalCode": "60654",
            "city": "Chicago",
            "state": "IL",
            "country": "US"
          }
        }
      },
      {
        "id": "83dc3f72-8efb-4d82-811d-fdf48176181f",
        "type": "DELIVERY",
        "arrivalDate": "2092-12-12",
        "arrivalAppointmentWindow": {
          "startTime": "15:15:00",
          "endTime": "17:00:00"
        },
        "contacts": [],
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "3800 N Lamar Blvd",
              "Suite 210"
            ],
            "postalCode": "78756",
            "city": "Austin",
            "state": "TX",
            "country": "US"
          }
        }
      }
    ],
    "routeSegments": [
      {
        "id": "0ba71f63-6c51-456e-9dcd-cd35bf95c11e",
        "fromStopId": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
        "toStopId": "83dc3f72-8efb-4d82-811d-fdf48176181f"
      }
    ]
  },
  "attributes": [
    {
      "name": "attribute name",
      "values": [
        "string value 1",
        "string value 2"
      ]
    }
  ],
  "name": "shipmentName",
  "notes": "shipmentNotes",
  "bookings": [
    {
      "shipmentId": "5c7ebfc2-6fb0-4333-ba9c-52d0a28074c1",
      "attributes": [
        {
          "name": "attribute name",
          "values": [
            "string value 1",
            "string value 2"
          ]
        }
      ],
      "capacityProviderIdentifier": {
        "type": "DOT_NUMBER",
        "value": "01234567"
      },
      "carrierContacts": [
        {
          "companyName": "Carrier Company Name",
          "givenName": "John",
          "familyName": "Hudson",
          "phoneNumber": "1223334445",
          "mobilePhoneNumber": "1223334444",
          "email": "j.hudson@carrier-company.project44.com"
        }
      ],
      "totalRate": {
        "currency": "USD",
        "amount": 3500
      },
      "rateIdentifiers": [
        {
          "source": "EXTERNAL",
          "type": "CONTRACT",
          "value": "contract-1234"
        }
      ],
      "expirationDateTime": "2092-12-01T08:30:00+00:00",
      "routeSegmentIds": [
        "0ba71f63-6c51-456e-9dcd-cd35bf95c11e"
      ],
      "notes": "Hello carrier! This is a note from the shipper, visible to you.",
      "shipmentDetails": [
        {
          "pickupStopId": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
          "deliveryStopId": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
          "handlingUnits": {
            "details": [
              {
                "monetaryValue": {
                  "currency": "USD",
                  "amount": 1200
                },
                "quantity": 10,
                "handlingUnitType": "PALLET",
                "stackable": true,
                "dimensions": {
                  "length": 48,
                  "width": 40,
                  "height": 40,
                  "unit": "IN"
                },
                "weight": {
                  "value": 2750,
                  "unit": "LB"
                }
              }
            ]
          },
          "items": [
            {
              "description": "Chicken meat",
              "identifiers": [
                {
                  "type": "SALES_ORDER",
                  "value": "SO-1a2b3c"
                }
              ],
              "unitQuantity": 12,
              "unitType": "BOX"
            }
          ],
          "description": "Temperature-Sensitive Goods",
          "identifiers": [
            {
              "type": "PURCHASE_ORDER",
              "value": "1234"
            }
          ],
          "accessorials": [
            {
              "code": "REFRIGERATED",
              "details": {
                "min": 32,
                "max": 40,
                "unit": "FAHRENHEIT"
              }
            }
          ],
          "loadId": "3f851fca-8016-4e25-be92-f9f4ccf0b4d3"
        }
      ],
      "apiConfiguration": {
        "bookingWebhookName": "Shipper WebhookName"
      },
      "shipperContactInfo": {
        "companyName": "Shipper Company Name",
        "givenName": "Jennifer",
        "familyName": "Smith",
        "phoneNumber": "1223334445",
        "mobilePhoneNumber": "1223334444",
        "email": "j.smith@shipper-company.project44.com"
      },
      "shippingDetails": {
        "loadPreference": "FULL",
        "trailerType": "REFRIGERATED",
        "trailerLength": {
          "value": 52,
          "unit": "FT"
        },
        "trailerVolume": {
          "value": 2548,
          "unit": "CUBIC_FT"
        },
        "accessorials": [
          {
            "code": "REFRIGERATED",
            "details": {
              "min": 4,
              "max": 10,
              "unit": "CELSIUS"
            }
          }
        ]
      },
      "id": "effef6e5-14ea-47f8-80d5-032ae4a0a8b6",
      "status": "BOOKED",
      "shipmentIdentifiers": [
        {
          "type": "CUSTOMER_REFERENCE",
          "value": "SHIPMENT-12345"
        }
      ],
      "routeSegments": [
        {
          "id": "0ba71f63-6c51-456e-9dcd-cd35bf95c11e",
          "fromStop": {
            "id": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
            "type": "PICKUP",
            "arrivalDate": "2092-12-10",
            "arrivalAppointmentWindow": {
              "startTime": "10:15:00",
              "endTime": "12:45:00"
            },
            "contacts": [],
            "accessorials": [],
            "location": {
              "identifiers": [],
              "address": {
                "addressLines": [
                  "222 W. Merchandise Mart Plaza",
                  "Suite 1744"
                ],
                "postalCode": "60654",
                "city": "Chicago",
                "state": "IL",
                "country": "US"
              }
            }
          },
          "toStop": {
            "id": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
            "type": "PICKUP",
            "arrivalDate": "2092-12-10",
            "arrivalAppointmentWindow": {
              "startTime": "10:15:00",
              "endTime": "12:45:00"
            },
            "contacts": [],
            "accessorials": [],
            "location": {
              "identifiers": [],
              "address": {
                "addressLines": [
                  "222 W. Merchandise Mart Plaza",
                  "Suite 1744"
                ],
                "postalCode": "60654",
                "city": "Chicago",
                "state": "IL",
                "country": "US"
              }
            }
          }
        }
      ],
      "carrierResponseMethod": "EMAIL",
      "bookingSourceMethod": "API",
      "transportationMode": "TRUCKLOAD",
      "masterShipmentId": "3adc2b7e-1d0f-497b-93ae-3683b71bbeb4",
      "carrierProvidedIdentifiers": [
        {
          "type": "BOOKING_NUMBER",
          "value": "BN-1223334444"
        },
        {
          "type": "DRIVER_MOBILE_PHONE_NUMBER",
          "value": "5556667777"
        }
      ]
    }
  ],
  "id": "5c7ebfc2-6fb0-4333-ba9c-52d0a28074c1"
}

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
  • 409 Conflict

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 a shipment with an FTL tender/booking request. For more information on all fields, please, connect with your project44 Technical Contact for the Booking API Reference Documentation.

FieldDescription
identifiersThe identifier used to distinguish the shipment. Include the type and value.
routeInfo.stops.idThe ID of the stop associated with the shipment. This will always be populated on response.
routeInfo.stops.typeThe type of stop. Valid values include PICKUP, PICKUP_DELIVERY, and DELIVERY
routeInfo.stops.contacts.companyNameThe name of the Company with whom the Contact is associated.
routeInfo.stops.location.address.addressLinesThe street name, number, direction, PO box, etc. Only three address lines are currently permitted. Use this if geocoordinates are not provided.
routeInfo.stops.location.geocoordinatesThe latitude and longitude of the stop. Use only if the stop address is not provided.
routeInfo.routeSegments.fromStopIdThe starting stop of this route segment.
routeInfo.routeSegments.toStopIdThe ending stop of this route segment.
bookings.capacityProviderIdentifierReference to the desired carrier to transport the shipment across the booking's specified route segments. Include the type (valid values are SCAC, DOT_NUMBER, P44_EU, SYSTEM, or P44_GLOBAL) and value.
bookings.carrierContacts.companyNameThe name of the Company with whom the Contact is associated.
bookings.rateIdentifiersA list of at least one identifier as reference to the original source of the rate applicable to the booking. Include the source (valid values are SYSTEM, EXTERNAL, or UNKNOWN), identifier type (valid values are SPOT_QUOTE or CONTRACT), and identifier value.
bookings.expirationDateTimeThe datetime of expiration for this request from the shipper to the carrier. A timezone offset is required.
bookings.routeSegmentIdsA list of route-segment ids which apply to the booking.
bookings.shipmentDetails.pickUpStopIdThe unique ID for the location where the handling unit should be picked up.
bookings.shipmentDetails.deliveryStopIdThe unique ID for the location where the handling unit should be delivered.
bookings.shipmentDetails.handlingUnits.details.monetaryValueThe monetary value of the handling unit. Include currency (valid values are USD, CAD, MXN, EUR, and GBP) and amount.
bookings.shipmentDetails.handlingUnits.details.quantityQuantity of the handling unit type that is specified in bookings.shipmentDetails.handlingUnits.details.handlingUnitType.
bookings.shipmentDetails.handlingUnits.details.handlingUnitTypeThe packaging used to handle the unit during transport. Valid values include BAG, BALE, BOX, BUCKET, BUNDLE, CAN, CARTON, CASE, COIL, CRATE, CYLINDER, DRUM, PAIL, PALLET, PIECES, REEL, ROLL, SKID, TOTE, and TUBE.
bookings.shipmentDetails.handlingUnits.details.weightThe weight of the handling unit. Take care that this should reference the per quantity weight of the chosen handling unit type. Include the value and unit (valid values are LB and KG).
bookings.shipmentDetails.items.identifiersUseful identifiers that can be attached to this item.

Include the type (valid values are CONTAINER_NUMBER, PALLET_NUMBER, DELIVERY_NUMBER, PICKUP_NUMBER, VEHICLE_IDENTIFICATION_NUMBER, SERIAL_NUMBER, PURCHASE_ORDER, SALES_ORDER, WAREHOUSE_MOVEMENT_ORDER, ADVANCED_SHIPMENT_NOTICE, STOCK_KEEPING_UNIT, UNIVERSAL_PRODUCT_CODE, UNKNOWN) and value.

Identifiers with the following type codes will be used to create Items within the project44 platform: STOCK_KEEPING_UNIT, UNIVERSAL_PRODUCT_CODE, UNKNOWN.

Identifiers with the following type codes will be used to create Orders within the project44 platform: PURCHASE_ORDER, SALES_ORDER, WAREHOUSE_MOVEMENT_ORDER, ADVANCED_SHIPMENT_NOTICE.

bookings.shipmentDetails.identifiersThe identifiers that can identify this load. This could be, but not limited to, a shipment identifier such as a BILL_OF_LADING or an order-based identifier such as PURCHASE_ORDER. Include the type (valid values are BILL_OF_LADING, BOOKING_NUMBER, CARRIER_SCAC, CONTAINER_ID, CUSTOMER_REFERENCE, DELIVERY_NUMBER, ORDER, PURCHASE_ORDER, TRACKING_NUMBER, TRAILER_ID, CARRIER_US_DOT_NUMBER, CARRIER_MC_NUMBER, SALES_ORDER, DRIVER_MOBILE_PHONE_NUMBER, VEHICLE_ID, LICENSE_PLATE, SENSITECH_DEVICE_ID, EMERSON_DEVICE_ID, TIVE_DEVICE_ID, CARRIER_MASTER_ID, CARRIER_NMC_ID) and value.
bookings.shipperContactinfo.companyNameThe name of the Company with whom the Contact is associated.
bookings.shippingDetails.trailerTypeThe equipment type of the trailer. Valid values are FLATBED, REFRIGERATED, and DRY_VAN.
bookings.shippingDetails.trailerLengthThe total requested trailer length in feet or meters; must not exceed 53 Feet or 17 meters. Include the value and unit (valid values are FT, M, IN, CM, MI, and KM).
bookings.shippingDetails.trailerVolumeThe total requested trailer volume. Include the value and unit (valid values are CUBIC_FT and CUBIC_M).

Update an FTL Tender/Booking Request

Update an FTL tender/booking request for a Multi-modal shipment.

Requirements

At a minimum, have the following information:

  • Attributes of the Tender/Booking
  • Capacity Provider ID (SCAC, DOT_NUMBER, MC_NUMBER, P44_EU, SYSTEM, or P44_GLOBAL)
  • Carrier Contact Name
  • At Lease One Rate Identifier (SPOT_QUOTE or CONTRACT) and Source (SYSTEM, EXTERNAL, or UNKNOWN)
  • Expiration Date and Time for the Request
  • Route Segment IDs
  • Shipment Details
    • Pickup & Delivery Stop IDs
    • Handling Unit Monetary Value, Quantity, Type, & Weight
    • Load Identifiers
  • Shipper Contact Information
    • Shipper Contact Name
  • Shipping Details
    • Trailer Equipment Type (FLATBED, REFRIGERATED, or DRY_VAN)
    • Trailer Length
    • Trailer Volume

Workflow

Complete these steps:

  1. Prepare a POST request to /services/booking/v1/shipments. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Add the shipment identifiers to the request schema. For example,
JSON
{
  "attributes": [
    {
      "name": "attribute name",
      "values": [
        "string value 1",
        "string value 2"
      ]
    }
  ],
  "capacityProviderIdentifier": {
    "type": "DOT_NUMBER",
    "value": "01234567"
  },
  "carrierContacts": [
    {
      "companyName": "Carrier Company Name",
      "givenName": "John",
      "familyName": "Hudson",
      "email": "j.hudson@carrier-company.project44.com"
    }
  ],
  "totalRate": {
    "currency": "USD",
    "amount": 3500
  },
  "rateIdentifiers": [
    {
      "source": "EXTERNAL",
      "type": "CONTRACT",
      "value": "contract-1234"
    }
  ],
  "expirationDateTime": "2092-12-01T08:30:00+00:00",
  "routeSegmentIds": [
    "bffd54a8-a30f-44da-80ba-5c2bd632cfe0"
  ],
  "shipmentDetails": [
    {
      "pickupStopId": "96a6c77f-9f2b-44d3-b7b7-83810c8d5b92",
      "deliveryStopId": "63f54676-ff40-4c32-aa06-333fe7745cf7",
      "handlingUnits": {
        "details": [
          {
            "monetaryValue": {
              "currency": "USD",
              "amount": 1200
            },
            "quantity": 10,
            "handlingUnitType": "PALLET",
            "stackable": true,
            "dimensions": {
              "length": 48,
              "width": 40,
              "height": 40,
              "unit": "IN"
            },
            "weight": {
              "value": 2750,
              "unit": "LB"
            }
          }
        ]
      },
      "description": "Temperature-Sensitive Goods",
      "identifiers": [
        {
          "type": "PURCHASE_ORDER",
          "value": "1234"
        }
      ],
      "accessorials": [
        {
          "code": "REFRIGERATED",
          "details": {
            "min": 32,
            "max": 40,
            "unit": "FAHRENHEIT"
          }
        }
      ]
    }
  ],
  "apiConfiguration": {
    "bookingWebhookName": "Shipper WebhookName"
  },
  "shipperContactInfo": {
    "companyName": "Shipper Company Name",
    "givenName": "Jennifer",
    "familyName": "Smith",
    "email": "j.smith@shipper-company.project44.com"
  },
  "shippingDetails": {
    "loadPreference": "FULL",
    "trailerType": "FLATBED",
    "flatbedType": "DOUBLE_DROP"
  }
}

This an example of a potential request. 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
{
  "identifiers": [
    {
      "type": "CUSTOMER_REFERENCE",
      "value": "SHIPMENT-12345"
    }
  ],
  "routeInfo": {
    "stops": [
      {
        "id": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
        "type": "PICKUP",
        "arrivalDate": "2092-12-10",
        "arrivalAppointmentWindow": {
          "startTime": "10:15:00",
          "endTime": "12:45:00"
        },
        "contacts": [],
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "222 W. Merchandise Mart Plaza",
              "Suite 1744"
            ],
            "postalCode": "60654",
            "city": "Chicago",
            "state": "IL",
            "country": "US"
          }
        }
      },
      {
        "id": "83dc3f72-8efb-4d82-811d-fdf48176181f",
        "type": "DELIVERY",
        "arrivalDate": "2092-12-12",
        "arrivalAppointmentWindow": {
          "startTime": "15:15:00",
          "endTime": "17:00:00"
        },
        "contacts": [],
        "accessorials": [],
        "location": {
          "identifiers": [],
          "address": {
            "addressLines": [
              "3800 N Lamar Blvd",
              "Suite 210"
            ],
            "postalCode": "78756",
            "city": "Austin",
            "state": "TX",
            "country": "US"
          }
        }
      }
    ],
    "routeSegments": [
      {
        "id": "0ba71f63-6c51-456e-9dcd-cd35bf95c11e",
        "fromStopId": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
        "toStopId": "d89f8b59-d19d-40dc-850a-3c65d2f808ab"
      }
    ]
  },
  "attributes": [
    {
      "name": "attribute name",
      "values": [
        "string value 1",
        "string value 2"
      ]
    }
  ],
  "name": "shipmentName",
  "notes": "shipmentNotes",
  "bookings": [
    {
      "shipmentId": "5c7ebfc2-6fb0-4333-ba9c-52d0a28074c1",
      "attributes": [
        {
          "name": "attribute name",
          "values": [
            "string value 1",
            "string value 2"
          ]
        }
      ],
      "capacityProviderIdentifier": {
        "type": "DOT_NUMBER",
        "value": "01234567"
      },
      "carrierContacts": [
        {
          "companyName": "Carrier Company Name",
          "givenName": "John",
          "familyName": "Hudson",
          "phoneNumber": "1223334445",
          "mobilePhoneNumber": "1223334444",
          "email": "j.hudson@carrier-company.project44.com"
        }
      ],
      "totalRate": {
        "currency": "USD",
        "amount": 3500
      },
      "rateIdentifiers": [
        {
          "source": "EXTERNAL",
          "type": "CONTRACT",
          "value": "contract-1234"
        }
      ],
      "expirationDateTime": "2092-12-01T08:30:00+00:00",
      "routeSegmentIds": [
        "0ba71f63-6c51-456e-9dcd-cd35bf95c11e"
      ],
      "notes": "Hello carrier! This is a note from the shipper, visible to you.",
      "shipmentDetails": [
        {
          "pickupStopId": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
          "deliveryStopId": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
          "handlingUnits": {
            "details": [
              {
                "monetaryValue": {
                  "currency": "USD",
                  "amount": 1200
                },
                "quantity": 10,
                "handlingUnitType": "PALLET",
                "stackable": true,
                "dimensions": {
                  "length": 48,
                  "width": 40,
                  "height": 40,
                  "unit": "IN"
                },
                "weight": {
                  "value": 2750,
                  "unit": "LB"
                }
              }
            ]
          },
          "items": [
            {
              "description": "Chicken meat",
              "identifiers": [
                {
                  "type": "SALES_ORDER",
                  "value": "SO-1a2b3c"
                }
              ],
              "unitQuantity": 12,
              "unitType": "BOX"
            }
          ],
          "description": "Temperature-Sensitive Goods",
          "identifiers": [
            {
              "type": "PURCHASE_ORDER",
              "value": "1234"
            }
          ],
          "accessorials": [
            {
              "code": "REFRIGERATED",
              "details": {
                "min": 32,
                "max": 40,
                "unit": "FAHRENHEIT"
              }
            }
          ],
          "loadId": "3f851fca-8016-4e25-be92-f9f4ccf0b4d3"
        }
      ],
      "apiConfiguration": {
        "bookingWebhookName": "Shipper WebhookName"
      },
      "shipperContactInfo": {
        "companyName": "Shipper Company Name",
        "givenName": "Jennifer",
        "familyName": "Smith",
        "phoneNumber": "1223334445",
        "mobilePhoneNumber": "1223334444",
        "email": "j.smith@shipper-company.project44.com"
      },
      "shippingDetails": {
        "loadPreference": "FULL",
        "trailerType": "REFRIGERATED",
        "trailerLength": {
          "value": 52,
          "unit": "FT"
        },
        "trailerVolume": {
          "value": 2548,
          "unit": "CUBIC_FT"
        },
        "accessorials": [
          {
            "code": "REFRIGERATED",
            "details": {
              "min": 4,
              "max": 10,
              "unit": "CELSIUS"
            }
          }
        ]
      },
      "id": "effef6e5-14ea-47f8-80d5-032ae4a0a8b6",
      "status": "BOOKED",
      "shipmentIdentifiers": [
        {
          "type": "CUSTOMER_REFERENCE",
          "value": "SHIPMENT-12345"
        }
      ],
      "routeSegments": [
        {
          "id": "0ba71f63-6c51-456e-9dcd-cd35bf95c11e",
          "fromStop": {
            "id": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
            "type": "PICKUP",
            "arrivalDate": "2092-12-10",
            "arrivalAppointmentWindow": {
              "startTime": "10:15:00",
              "endTime": "12:45:00"
            },
            "contacts": [],
            "accessorials": [],
            "location": {
              "identifiers": [],
              "address": {
                "addressLines": [
                  "222 W. Merchandise Mart Plaza",
                  "Suite 1744"
                ],
                "postalCode": "60654",
                "city": "Chicago",
                "state": "IL",
                "country": "US"
              }
            }
          },
          "toStop": {
            "id": "d89f8b59-d19d-40dc-850a-3c65d2f808ab",
            "type": "PICKUP",
            "arrivalDate": "2092-12-10",
            "arrivalAppointmentWindow": {
              "startTime": "10:15:00",
              "endTime": "12:45:00"
            },
            "contacts": [],
            "accessorials": [],
            "location": {
              "identifiers": [],
              "address": {
                "addressLines": [
                  "222 W. Merchandise Mart Plaza",
                  "Suite 1744"
                ],
                "postalCode": "60654",
                "city": "Chicago",
                "state": "IL",
                "country": "US"
              }
            }
          }
        }
      ],
      "carrierResponseMethod": "EMAIL",
      "bookingSourceMethod": "API",
      "transportationMode": "TRUCKLOAD",
      "masterShipmentId": "3adc2b7e-1d0f-497b-93ae-3683b71bbeb4",
      "carrierProvidedIdentifiers": [
        {
          "type": "BOOKING_NUMBER",
          "value": "BN-1223334444"
        },
        {
          "type": "DRIVER_MOBILE_PHONE_NUMBER",
          "value": "5556667777"
        }
      ]
    }
  ],
  "id": "5c7ebfc2-6fb0-4333-ba9c-52d0a28074c1"
}

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
  • 409 Conflict

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 updates an FTL tender/booking request. For more information on all fields, please, connect with your project44 Technical Contact for the Booking API Reference Documentation.

FieldDescription
attributesinclude the name and value.
capacityProviderIdentifierReference to the desired carrier to transport the shipment across the tender's/booking's specified route segments. Include the type (valid values are SCAC, DOT_NUMBER, P44_EU, SYSTEM, or P44_GLOBAL) and value.
carrierContacts.companyNameThe name of the Company with whom the Contact is associated.
rateIdentifiersA list of at least one identifier as reference to the original source of the rate applicable to the tender/booking. Include the source (valid values are SYSTEM, EXTERNAL, or UNKNOWN), identifier type (valid values are SPOT_QUOTE or CONTRACT), and identifier value.
expirationDateTimeThe datetime of expiration for this request from the shipper to the carrier. A timezone offset is required.
routeSegmentIdsA list of route-segment ids which apply to the tender/booking.
shipmentDetails.pickUpStopIdThe unique ID for the location where the handling unit should be picked up.
shipmentDetails.deliveryStopIdThe unique ID for the location where the handling unit should be delivered.
shipmentDetalis.handlingUnits.details.monetaryValueThe monetary value of the handling unit. Include currency (valid values are USD, CAD, MXN, EUR, and GBP) and amount.
shipmentDetalis.handlingUnits.details.quantityQuantity of the handling unit type that is specified in shipmentDetails.handlingUnits.details.handlingUnitType.
shipmentDetalis.handlingUnits.details.handlingUnitTypeThe packaging used to handle the unit during transport. Valid values include BAG, BALE, BOX, BUCKET, BUNDLE, CAN, CARTON, CASE, COIL, CRATE, CYLINDER, DRUM, PAIL, PALLET, PIECES, REEL, ROLL, SKID, TOTE, and TUBE.
shipmentDetalis.handlingUnits.details.weightThe weight of the handling unit. Take care that this should reference the per quantity weight of the chosen handling unit type. Include the value and unit (valid values are LB and KG).
shipmentDetails.identifiersThe identifiers that can identify this load. This could be, but not limited to, a shipment identifier such as a BILL_OF_LADING or an order-based identifier such as PURCHASE_ORDER. Include the type (valid values are BILL_OF_LADING, BOOKING_NUMBER, CARRIER_SCAC, CONTAINER_ID, CUSTOMER_REFERENCE, DELIVERY_NUMBER, ORDER, PURCHASE_ORDER, TRACKING_NUMBER, TRAILER_ID, CARRIER_US_DOT_NUMBER, CARRIER_MC_NUMBER, SALES_ORDER, DRIVER_MOBILE_PHONE_NUMBER, VEHICLE_ID, LICENSE_PLATE, SENSITECH_DEVICE_ID, EMERSON_DEVICE_ID, TIVE_DEVICE_ID, CARRIER_MASTER_ID, CARRIER_NMC_ID) and value.
shipperContactInfo.companyNameThe name of the Company with whom the Contact is associated.
shippingDetails.trailerTypeThe equipment type of the trailer. Valid values are FLATBED, REFRIGERATED, and DRY_VAN.
shippingDetails.trailerLengthThe total requested trailer length in feet or meters; must not exceed 53 Feet or 17 meters. Include the value and unit (valid values are FT, M, IN, CM, MI, and KM).
shippingDetails.trailerVolumeThe total requested trailer volume. Include the value and unit (valid values are CUBIC_FT and CUBIC_M).