Skip to main content
A parcel and express network runs a mixed fleet — vans, bikes, walkers — out of one or a few urban depots, serving high-volume same-day and next-day deliveries alongside PUDO (pickup/drop-off point) rounds. Drivers tend to specialize in a sector they know, and travel time in a dense city center is dominated by traffic that’s largely predictable hour to hour.

What makes this vertical distinctive

  • PUDO gated by capacity — a PUDO pickup only gets scheduled once the vehicle still has room for it, not on a fixed slot regardless of load.
  • Preferred zones — drivers are softly tied to their usual sector, and only pulled elsewhere once it’s been served or would otherwise overflow.
  • Mixed last-mile fleet — vans, bikes, and walkers each cover the part of the city they’re actually suited to.
  • Predictive traffic — forecast travel time is baked into the route calculation itself, not patched onto the result afterward.

Combined example

Gating a pickup by remaining capacity

order-late-pickup’s stop carries no time window of its own — instead, an atLeastOneValidCapacity constraint requires every vehicle to stay under 300 kg of load at every stop. Since the pickup adds to that load, the engine can only place it once the van already has enough room, which in practice pushes it toward the end of a round rather than the start. See Sequencing pickups after deliveries for the general mechanism.

Preferred zones

van-1.preferredStopTags: ["zone:usual-sector-7"] is matched against the same tag on stop-customer-1. This is a soft pull, scored through the maximizePreferredStops objective, not a hard restriction — a van without spare capacity in its sector still gets sent to overflow stops tagged zone:overflow elsewhere. It’s the same preferredStopTags mechanism Driver skills and qualifications documents for a skill preference, applied here to a zone instead.

Mixed last-mile fleet

vehicleProfile.type differs per resource (car, bicycle, pedestrian), each sized with its own capacities — a walker carries a handful of parcels, a van dozens. The engine assigns each stop to whichever profile can legally and practically reach it. See Vehicle profiles.

Predictive traffic

van-1.vehicleProfile.withTraffic: true makes the engine use forecast travel times for that vehicle’s legs instead of free-flow distances, so the plan already accounts for congestion rather than needing a correction pass after the fact.

See also