Skip to content

Additional Information

Driver events

# Event Description Next valid events
1 DRIVER_DEPARTED_TO_PICKUP Driver has started the job and is on their way to the pickup location. DRIVER_ARRIVED_AT_PICKUP
2 DRIVER_ARRIVED_AT_PICKUP Driver has arrived at the pickup location and is ready to meet the customer. DRIVER_DEPARTED_TO_DROPOFF, DRIVER_SUBMITTED_CUSTOMER_NO_SHOW
3 DRIVER_SUBMITTED_CUSTOMER_NO_SHOW Driver has waited the allotted time, made a reasonable attempt to contact the customer, and is unable to start the ride. (terminal — no further events)
4 DRIVER_DEPARTED_TO_DROPOFF Driver has collected the customer and is on their way to the dropoff location. DRIVER_ARRIVED_AT_DROPOFF
5 DRIVER_ARRIVED_AT_DROPOFF Driver has completed the ride and has dropped off the customer. (terminal — no further events)
DRIVER_LIVE_LOCATION The real-time GPS location of the driver. Can be sent repeatedly (every 5 seconds) at any point after DRIVER_DEPARTED_TO_PICKUP. Any (does not affect event sequence)

Event ordering rules

  • The first event must always be DRIVER_DEPARTED_TO_PICKUP.
  • Events must be sent in the order shown in the table above.
  • Each event (except DRIVER_LIVE_LOCATION) can only be sent once per booking.
  • The occurred_at timestamp must be later than the previous event's timestamp.
  • The occurred_at timestamp must not be in the future.
  • The occurred_at timestamp must be after the driver assignment time.

Live tracking requirements

Requirement Value
Frequency Every 5 seconds (gold standard)
Maximum gap 20 seconds (data beyond this is unusable)
Start after DRIVER_DEPARTED_TO_PICKUP sent
Stop after DRIVER_ARRIVED_AT_DROPOFF sent
Required fields latitude and longitude
Coverage target 100% of bookings

Further reading