Bookings
The operational home of every shipment from confirmation to delivery.
3 min readLast updated 13 Apr 2026
A Booking is where a shipment lives after the customer has accepted the quotation. It carries the cargo, the route, the carrier, the charges, and every document and milestone from pickup to delivery.
Overview
- Numbered:
BK-XXXXXXper tenant. - Created from: a Quotation (normal path), a customer portal request, or directly if you bypass the quote stage.
- States:
draft → requested → confirmed → locked → planned → in_transit → delivered(orcancelled). - Links: one booking ↔ one shipment (sea/air/road), optionally a road trip, customs declaration(s), invoice(s), documents, and milestones.
When to use
- Every confirmed shipment, regardless of mode. Even courier / express — having them in one place means your cross-mode reporting actually works.
- Even for third-party carrier jobs where your role is purely commercial — the booking is still your record of what was sold.
Key UI surfaces
- List (
/app/forwarding/bookings) — filter by mode, status, lane, customer. - Create form — one page with tabs (Transport · Route · Options · Cargo · Charges).
- Detail view — hub for everything: KPIs, charges, milestones, documents, invoices, communications, activity.
- Shipment Pipeline (
/app/forwarding/pipeline) — Kanban-style board showing bookings by state.
Header action groups
The detail page's header keeps things tight:
- Primary: Create Invoice (the most common next step).
- Documents dropdown: Booking Confirmation PDF, Shipping Instruction, Delivery Order, Arrival Notice.
- Send SI: composes the shipping-instruction email dialog.
- Overflow ⋮: Duplicate Booking, New Revision (if locked), Create Road Trip.
- Workflow: Complete Booking / Cancel — the state-machine controls.
Charges, margin & profitability
Same charge model as quotations — Code / Description / Basis / Qty / Sell / Buy / Tax — except now you can also record actual vendor bills against each charge. The system tracks planned vs actual:
- Planned margin — the margin at confirmation, based on quoted buy rates.
- Booked margin — updated when the carrier shares their booking confirmation with updated rates.
- Realized margin — final, after invoicing and vendor bills are settled.
Drift between these three surfaces cost leaks, carrier over-billing, or uncollected customer revenue. Your finance team should review it monthly.
Milestones
Bookings carry a list of milestones — timestamped events (pickup, cargo_received, customs_cleared, departed, arrived, delivered). Sources:
- Manual — ops enters them from the detail page.
- Carrier tracking — auto-ingested via Terminal49 (ocean) or CargoAi (air), when configured.
- Driver mobile app — for road bookings, the driver updates milestones as they go.
- Customs webhooks — release events auto-flip the customs milestone.
Shipping Instructions (SI)
Generate an SI email to send to the carrier / origin agent once the booking is confirmed. The SI pulls from the booking: shipper / consignee / notify party / container spec / special instructions. See the Documents section for the detailed layout.
Common pitfalls
Consolidations
Multiple bookings can be consolidated into a single Master Booking that holds the MBL/MAWB. See Consolidations.
Invoicing
From Create Invoice on the header. Picks the customer's default invoice template, pre-fills charges, and lands in an invoice draft for review. See Invoices & payments.
Was this article helpful?