Public beta

Driver assignment

How Zippex picks the right driver for your delivery, and what that means for your integration.

Assignment is asynchronous

When you POST a delivery, the response returns immediately with status: created. The driver is not yet assigned at that moment. The system enters an offer cycle, broadcasting the trip to nearby qualified drivers.

Status sequence

  • created — accepted by the API, queued for offers.
  • pending — offered to one or more drivers, awaiting acceptance.
  • driver_assigned — driver accepted; their ETA and location become available.

Matching signals

We weight several signals when offering a delivery:

  • Driver proximity to pickup
  • Vehicle type vs. package size and weight
  • Direction of the driver’s current trip (for pool deliveries)
  • Driver acceptance rate and recent reliability score

Don't poll for assignment

Polling the delivery endpoint to detect assignment is wasteful. Use the delivery.driver_assigned webhook event — it is delivered within seconds of acceptance.

Reassignment

If a driver becomes unreachable or cancels, Zippex re-broadcasts the delivery automatically. Your integration receives a fresh delivery.driver_assigned webhook with the new driver’s details. No action is required from you.