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-XXXXXX per 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 (or cancelled).
  • 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?