Last updated

Create a Shipment or Request a Booking

Use the endpoints below to

  • Create a shipment with or without a Full Truckload (FTL) tendering/booking request, or
  • Create just an FTL tendering/booking request to send to carriers.

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.

Create a Multi-modal Shipment Without a Tender/Booking Request

Create a Multi-modal shipment without an FTL tender/booking request.

Requirements

At a minimum, have the following information

  • 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. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Prepare a POST request to /services/booking/v1/shipments. For example,
JSON
{
  "identifiers": [
    {
      "type": "CUSTOMER_REFERENCE",
      "value": "SHIPMENT-12345"
    }
  ],
  "routeInfo": {
    "stops": [
      {
        "id": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
        "type": "PICKUP",
        "arrivalDate": "2092-12-10",
        "location": {
          "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",
        "location": {
          "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"
      ]
    }
  ]
}

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": "d89f8b59-d19d-40dc-850a-3c65d2f808ab"
      }
    ]
  },
  "attributes": [
    {
      "name": "attribute name",
      "values": [
        "string value 1",
        "string value 2"
      ]
    }
  ],
  "name": "shipmentName",
  "notes": "shipmentNotes",
  "id": "5c7ebfc2-6fb0-4333-ba9c-52d0a28074c1"
}

In this response, you receive the project44-generated ID for the shipment (id). Store the project44-generated ID and use it to

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

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 create a shipment. 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.

Create a Multi-modal Shipment Containing an FTL Tender/Booking Request

Create a Multi-modal shipment with an FTL tender/booking request.

Requirements

At a minimum, have the following information

  • 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
  • Tender/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. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Prepare a POST request to /services/booking/v1/shipments. For example,
JSON
{
  "identifiers": [
    {
      "type": "CUSTOMER_REFERENCE",
      "value": "SHIPMENT-12345"
    }
  ],
  "routeInfo": {
    "stops": [
      {
        "id": "cdaa4aa3-55fd-49d6-9b38-a0dc10027ba9",
        "type": "PICKUP",
        "arrivalDate": "2092-12-10",
        "location": {
          "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",
        "location": {
          "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",
          "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": [
        "848da5be-59bb-4ae7-8b9b-01f01e877521"
      ],
      "notes": "Hello carrier! This is a note from the shipper, visible to you.",
      "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": "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"
              }
            }
          ]
        }
      ],
      "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"
            }
          }
        ]
      }
    }
  ]
}

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": "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": "PROCESSING",
      "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"
}

In this response, you receive the project44-generated ID for the shipment (id) and the booking (booking.id). Store the project44-generated ID, and use the shipment ID to get shipment information and use the booking ID to get tender/booking updates and to cancel tender/booking requests.

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

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 create a shipment with a tendering/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.

Create an FTL Tender/Booking Request for a Multi-modal Shipment

Create an FTL tender/booking request for an existing Multi-modal shipment to send to a Carrier.

Requirements

At a minimum, have the following information:

  • Shipment ID. NOTE: This is different from the Shipment Identifier. The Shipment ID is returned in the response for shipment creation.
  • 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. Please, connect with your project44 Technical Contact for the Booking API Reference Documentation.
  2. Prepare a POST request to /services/booking/v1/shipments. For example,
JSON
{
  "shipmentId": "47efd5a2-af91-4417-950a-7f546cd1b5cf",
  "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.
3. 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",
  "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:22",
  "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": "PROCESSING",
  "shipmentIdentifiers": [
    {
      "type": "AIR_WAYBILL",
      "value": "string"
    }
  ],
  "routeSegments": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "fromStop": {
        "id": "96a6c77f-9f2b-44d3-b7b7-83810c8d5b92",
        "type": "PICKUP",
        "arrivalDate": "2019-08-24",
        "arrivalAppointmentWindow": {
          "startTime": "14:15:22",
          "endTime": "14:15:22"
        },
        "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": "96a6c77f-9f2b-44d3-b7b7-83810c8d5b92",
          "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": "63f54676-ff40-4c32-aa06-333fe7745cf7",
        "type": "PICKUP",
        "arrivalDate": "2019-08-24",
        "arrivalAppointmentWindow": {
          "startTime": "14:15:22",
          "endTime": "14:15:22"
        },
        "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": "63f54676-ff40-4c32-aa06-333fe7745cf7",
          "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": "TRUCKLOAD",
  "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
  "carrierProvidedIdentifiers": [
    {
      "type": "string",
      "value": "string"
    }
  ]
}

In this response, you receive the project44-generated ID (id). Store the project44-generated ID, and use it to get tender/booking updates and to cancel tender/booking requests.

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

FieldDescription
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 request/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 request/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).