Key Concepts. Driver Tracking Event Model

The Vehicle Tracking API is built around a standardized set of driver tracking events that represent the key steps in a passenger’s transfer journey.

These events provide a clear, timestamped record of what’s happening, where, and when, enabling both real-time tracking and post-service verification of what did or did not occur.

Each event type reflects a key operational moment, such as the driver departed to pickup, arrived at pickup, or arrived at dropoff. This event-based reporting structure ensures that all the parties, specially our shared customers, stay aligned on the journey’s status.

Event types 📘

Below is the list of supported event types. Use the event names as shown when reporting through the API.

Event TypeDescription
DRIVER_DEPARTED_TO_PICKUPThe driver has reported that they are en route to the pickup location.
DRIVER_ARRIVED_AT_PICKUPThe driver has arrived at the pickup location and is waiting for the passengers.
DRIVER_SUBMITTED_CUSTOMER_NO_SHOWThe driver has reported that the customer didn't show
DRIVER_DEPARTED_TO_DROPOFFThe passengers have boarded, the journey has started, and the driver is en route to the drop-off location.
DRIVER_ARRIVED_AT_DROPOFFThe driver has arrived at the drop-off location, and the transfer is considered complete.
DRIVER_LIVE_LOCATIONA real-time GPS location update during the transfer (can be sent periodically while the service is active).
👍

Driver Geo Location Requirement

Whenever you send a status update through the Vehicle Tracking API, we recommend including the driver’s location via latitude and longitude.

While not mandatory, sharing this information helps us enhance real-time visibility, improves tracking accuracy, and strengthens support when resolving issues such as delays or missed pickups.

Below is an example of the JSON payload to report a driver event. Each event represents a specific step in the journey (e.g., driver departed to pickup or driver arrived at pickup)..

{
  "eventType": "DRIVER_DEPARTED_TO_PICKUP",
  "occurredAt": "2025-11-18T15:00:00+01:00"
}
{
  "eventType": "DRIVER_DEPARTED_TO_PICKUP",
  "occurredAt": "2025-11-18T14:00:00Z"
}
📌

Note: The occurredAt field must be provided in ISO 8601 format.

You can send the timestamp as:

  • Local time with a UTC offset (e.g., "2025-11-18T15:00:00+01:00")
  • Or as UTC time with Z (e.g., "2025-11-18T14:00:00Z")

We recommend using local time with the correct UTC offset, as this allows accurate normalization of the event time across different time zones.

You can optionally include two parameters in the event payload:

  • latitude and longitude : The GPS coordinates of the driver at the time of the event.
    These parameters are optional for most event types, but required for the DRIVER_LIVE_LOCATION event. Including them is strongly recommended for improved accuracy and traceability.

    For example:

{
  "eventType": "DRIVER_DEPARTED_TO_PICKUP",
  "occurredAt": "2025-11-18T15:00:00+01:00",
  "latitude": 3.232312211,
  "longitude": -3.31231
}'

With the above information we can now call the Create Driver Event endpoint as shown below.

curl --location '{{tracking_host_api_url}}/api/v1/suppliers/{supplierCode}/bookings/{{bookingRef}}/events' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic base64(username:password)}' \
--data '{
  "eventType": "DRIVER_DEPARTED_TO_PICKUP",
  "occurredAt": "2025-11-18T15:00:00+01:00",
  "latitude": 3.232312211,
  "longitude": -3.31231
}'
curl --location '{{tracking_host_api_url}}/api/v1/suppliers/{supplierCode}/bookings/{{bookingRef}}/events' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic base64(username:password)}' \
--data '{
  "eventType": "DRIVER_ARRIVED_AT_PICKUP",
  "occurredAt": "2025-11-18T15:00:00+01:00",
  "latitude": 3.432312211,
  "longitude": -3.51231
}'

Once the event is successfully recorded, the API will respond with a 201 Created status and no content in the response body.

📘

💡 Tip!

You can send the DRIVER_LIVE_LOCATION event multiple times throughout the journey to update the driver’s position in real time.
Each DRIVER_LIVE_LOCATION event must include the latitude and longitude to reflect the driver’s current location accurately

Recommended Event Workflow 📌

While the Vehicle Tracking API does not enforce mandatory events, a complete and reliable journey report is one that includes the following key tracking events:

  • DRIVER_DEPARTED_TO_PICKUP – Driver is on the way to the pickup location
  • DRIVER_ARRIVED_AT_PICKUP – Driver has reached the pickup point and its waiting for the passenger
  • DRIVER_DEPARTED_TO_DROPOFF – Passengers have boarded; journey to drop-off has begun
  • DRIVER_ARRIVED_AT_DROPOFF – The transfer/Journey is complete

This sequence represents a well-reported transfer experience. If one or more of these events is missing, the journey may be flagged as an incomplete driver tracking report. Limiting visibility for us and specially the passenger.

The Critical Role of DRIVER_ARRIVED_AT_PICKUP 📍

This event is especially crucial from the passenger’s perspective. It signals that the driver has arrived and its waiting for the passenger, helping to reduce uncertainty and missed connections. When this event is not sent:

  • The passenger will not be notified that the driver is waiting
  • It increases the risk of customer dissatisfaction and contacting out to support/Customer Service.

Submitting this event on time strengthens coordination while also gives peace of mind to the passenger at the most crucial stage of the journey.

Additional Events That Enhance the Journey 🧭

  • DRIVER_LIVE_LOCATION : Periodic GPS updates improve real-time visibility. They can also be helpful to confirm whether key events such as "arrival at pickup or drop-off " actually occurred based on location history.
  • DRIVER_SUBMITTED_CUSTOMER_NO_SHOW : If the passenger doesn't shows up to the meeting point this event can be submitted, it supports accountability and reduces issues when handling no-show situations.

By following this event structure and reporting driver activity consistently, we build a reliable & transparent service. for your team, for us, and most importantly, for the passengers who benefit from real-time visibility and peace of mind throughout their journey.