Using the selected carrier and rate reference from the rating step, POST a BOL creation request to the LTL platform or carrier API with shipper name and address, consignee name and address, and third-party billing details if applicable.
Include commodity lines: for each commodity, provide the NMFC item, freight class, number of handling units, packaging type (pallet, carton, drum), total weight, and a commodity description.
Specify special instructions such as hazmat flag, temperature requirements, or appointment required at delivery; include the PO number or reference fields the consignee or shipper requires on the BOL.
Receive the BOL document (commonly PDF) and the carrier-assigned PRO number in the response; store both against the shipment record.
Trigger label generation for each handling unit (pallet or carton) using the carrier-assigned PRO number so labels can be affixed before pickup.
Known gotchas
Some LTL carrier APIs issue the PRO number at BOL creation while others assign it at pickup; if the PRO is not in the BOL response, poll the shipment status endpoint after confirmed pickup to retrieve it.
The BOL is a legal document of title for LTL freight; errors in the commodity description, weight, or class can result in carrier re-classification (a 'freight bill correction') and an invoice higher than the quoted amount — validate all fields before submission.
Voiding or cancelling a BOL after dispatch requires a separate API call and may not be possible once the carrier has scanned the freight into their terminal; check carrier cutoff windows before allowing cancellation in your UI.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp