Trips and legs
The data model behind road movements: shipments, trips, legs, stops.
2 min readLast updated 13 Apr 2026
Road movements decompose into four record types. Understanding them makes dispatch, billing, and tracking easy.
Shipment
What the customer sees: origin, destination, cargo, ETA, commercial terms. Always linked to a customer and (usually) one or more invoices.
A single shipment is one commercial contract. Whether it takes one truck or five, the customer only sees the shipment.
Leg
A leg is a stretch of the shipment's physical journey. FTL shipments typically have one leg (direct). LTL shipments have multiple:
- Pickup leg (shipper → origin terminal).
- Linehaul leg (origin terminal → destination terminal).
- Delivery leg (destination terminal → consignee).
Each leg has its own from / to, planned date, and assigned trip.
Trip
A trip is one vehicle's day's work. It has a driver, a vehicle, and an ordered list of stops. Multiple legs — possibly from different shipments — can ride on one trip.
Trip numbers (e.g. TRP-2026-04-13-001) are platform-generated and used in dispatch, driver app, and accounting.
Stop
A stop is a single pickup or delivery within a trip. Each stop references:
- The leg it's serving.
- The address (shipper, consignee, terminal, or warehouse).
- Planned arrival / departure.
- Actual arrival / departure (captured by driver).
- POD / documents if the stop is a delivery.
How they compose
Shipment (SHP-123)
├─ Leg 1: Pickup → on Trip TRP-001 as Stop 2
├─ Leg 2: Linehaul → on Trip TRP-002 as Stops 1→3
└─ Leg 3: Delivery → on Trip TRP-003 as Stop 1
Trip (TRP-001)
├─ Stop 1: Leg X pickup (Shipment SHP-456)
├─ Stop 2: Leg 1 pickup (Shipment SHP-123)
└─ Stop 3: Leg Y pickup (Shipment SHP-789)
One trip, three shipments. One shipment, three trips. The platform tracks both directions.
Why you should care
- Billing — charges attach to shipments, not trips. Trip costs (driver wages, fuel, tolls) roll up to shipment cost via an allocation rule (per-kg, per-stop, per-kilometre).
- Tracking — customer tracking shows shipment-level status, derived from the currently-active leg's trip.
- Dispatch — the dispatcher works at trip level — picking which legs to bundle into which trip.
Was this article helpful?