Skip to main content

Drayage Book

Endpoint: POST /v1/drayage/book

Create a drayage booking for a container movement using a rate selected from a previous drayage quote. You must supply the quoteNumber and rateNumber returned by the quote endpoint, along with full load, terminal, shipper/consignee, and container details.

Authentication required All requests to this endpoint require a valid bearer token. See Authentication.


Prerequisites

Before booking, gather:


Request Body

FieldTypeRequiredDescription
operationTypestringYes"Import" or "Export"
bookingUserEmailstringYesEmail of the user submitting the booking
quoteNumberintegerYesFrom the drayage quote response
rateNumberintegerYesSelected rate ID from the quote response
customerNumberintegerYesBusiness identifier for your customer. Retrieve from GET /v1/customers
customerBsnintegerYesMust match the value used during the quote
loadobjectYesContainer and cargo details
terminalobjectYesPort or rail terminal details
shipperConsigneeobjectYesPickup or delivery location (depends on operationType)
containerobjectYesSteamship Line and booking number

Field Reference

operationType

ValueDescription
"Import"Container moving inbound from port to warehouse
"Export"Container moving outbound from warehouse to port

load

All values must match exactly what was used during the quote.

FieldDescription
containerTypeMust match the container type from the quote
containerLengthMust match the container length from the quote
hsCodeHS code from GET /v1/tools/drayage/hs — use the hsCode field
commodityCommodity description from GET /v1/tools/drayage/hs — use the description field
weightTotal container weight — must match the quote
piecesNumber of pieces the container holds
"load": {
"containerType": "Container",
"containerLength": 20,
"hsCode": "101",
"commodity": "Horses, asses, mules and hinnies; live",
"weight": 1032,
"pieces": 1
}

terminal

Retrieve terminal data from GET /v1/tools/drayage/terminals?marketZipCode={zipcode}.

Booking FieldTerminal Endpoint Field
namename
addressLine1address1
citycity
statestate
zipCodezipCode
countryHardcode "US"
contactPhonecontactPhone
contactNamecontactName
etaetdEstimated arrival/departure datetime (provided by customer)
"terminal": {
"name": "Seagirt Marine Terminal",
"addressLine1": "2600 BROENING HWY",
"city": "BALTIMORE",
"state": "MD",
"zipCode": "21224",
"country": "US",
"contactPhone": "(410) 288-8602",
"contactName": "Customer Service",
"etaetd": "2026-05-12T05:00:00.000Z"
}

shipperConsignee

The shipperConsignee object represents different locations depending on operationType:

  • Import → delivery (consignee) location
  • Export → pickup (shipper) location
FieldDescription
nameName of the shipper or consignee
addressLine1Full street address
cityCity
stateState code (e.g., "PA")
zipCodePostal code
countryCountry code
contactNameContact person name
contactPhoneContact phone number
contactEmailContact email address
schedule"Pickup Window" or "Appointment Required"

container

FieldDescription
sslSteamship Line code — use the code value from GET /v1/tools/drayage/ssl
bookingNumberBooking/reference number provided by the carrier or SSL
"container": {
"ssl": "Alaska Marine Lines",
"bookingNumber": "1234"
}

Request Example

{
"operationType": "Import",
"bookingUserEmail": "example@email.com",
"quoteNumber": 8917403,
"rateNumber": 1,
"customerNumber": "YOUR_CUSTOMER_NUMBER",
"customerBsn": "YOUR_CUSTOMER_BSN",
"load": {
"containerType": "Container",
"containerLength": 20,
"hsCode": "101",
"commodity": "Horses, asses, mules and hinnies; live",
"weight": 1032,
"pieces": 1
},
"terminal": {
"name": "Seagirt Marine Terminal",
"addressLine1": "2600 BROENING HWY",
"city": "BALTIMORE",
"state": "MD",
"zipCode": "21224",
"country": "US",
"contactPhone": "(410) 288-8602",
"contactName": "Customer Service",
"etaetd": "2026-05-12T05:00:00.000Z"
},
"shipperConsignee": {
"name": "Customer A",
"addressLine1": "Warehouse 22, PA",
"city": "HOUSTON",
"state": "PA",
"zipCode": "15342",
"country": "US",
"contactName": "Customer B",
"contactPhone": "(410) 398-8602",
"contactEmail": "customer@example.com",
"schedule": "Pickup Window"
},
"container": {
"ssl": "Alaska Marine Lines",
"bookingNumber": "1234"
}
}

Response

{
"data": {
"orderNumber": 20021859,
"bolNumber": "46118",
"documents": [
{
"docType": "BillOfLading",
"url": "https://shipprimus.com/Documents/BOL_46118.pdf",
"fileName": "BOL_46118.pdf",
"extension": ".pdf",
"contentType": "application/x-download"
},
{
"docType": "ShippingLabel",
"url": "https://shipprimus.com/Documents/LABEL_46118.pdf",
"fileName": "LABEL_46118.pdf",
"extension": ".pdf",
"contentType": "application/x-download"
}
]
},
"errors": null
}

Key Response Fields

FieldDescription
orderNumberUnique identifier for the created booking order
bolNumberBill of Lading number
documentsGenerated shipping documents
documents[].docType"BillOfLading" or "ShippingLabel"
documents[].urlURL to access or download the document

Next Steps