Event Types & Data Model
Understand the available Driver Events, their typical sequence during a transfer, and the structure of the event payload.
Event types
| Event type | Meaning |
|---|---|
DRIVER_DEPARTED_TO_PICKUP | The driver is on the way to the pickup point. |
DRIVER_ARRIVED_AT_PICKUP | The driver has arrived at the pickup point. |
DRIVER_SUBMITTED_CUSTOMER_NO_SHOW | The driver reported that the customer did not show up at the pickup point. |
DRIVER_DEPARTED_TO_DROPOFF | The driver has left the pickup point with the passengers and is on the way to the drop-off point. |
DRIVER_ARRIVED_AT_DROPOFF | The driver has arrived at the drop-off point. |
DRIVER_LIVE_LOCATION | The driver's current position. |
Typical sequence of a transfer
DRIVER_DEPARTED_TO_PICKUPDRIVER_ARRIVED_AT_PICKUPDRIVER_DEPARTED_TO_DROPOFFDRIVER_ARRIVED_AT_DROPOFF
DRIVER_LIVE_LOCATION events may be received throughout the journey.
If the customer does not show up, a DRIVER_SUBMITTED_CUSTOMER_NO_SHOW event may be received instead of the departure and arrival events for the drop-off journey.
Payload
The body is a JSON array of event objects. Every field is always present; when a value is missing, it is null.
| Field | Type | Nullable | Description |
|---|---|---|---|
bookingReference | string | No | The Suntransfers booking reference. |
externalReference | string | Yes | Your own booking reference, if you sent one with the booking. |
transferPosition | integer | No | The leg of the booking: 1 (outward) or 2 (return). |
eventType | string | No | One of the event types above. |
occurredAt | string | No | When the event happened, in ISO 8601 with its UTC offset, e.g. 2026-07-08T18:10:00+02:00. It may include fractions of a second. |
longitude | number | Yes | Longitude in decimal degrees. Always present in DRIVER_LIVE_LOCATION events. |
latitude | number | Yes | Latitude in decimal degrees. Always present in DRIVER_LIVE_LOCATION events. |
Examples
FormattingThe examples are formatted for readability. The body you receive is compact JSON, without spaces or line breaks.
The driver has arrived at the pickup point:
[
{
"bookingReference": "SUNTR_AB1234",
"externalReference": "AGENCY_REF_1",
"transferPosition": 2,
"eventType": "DRIVER_ARRIVED_AT_PICKUP",
"occurredAt": "2026-07-08T18:10:00+02:00",
"latitude": 41.38,
"longitude": 2.17
}
]An event without your booking reference or coordinates:
[
{
"bookingReference": "SUNTR_CD5678",
"externalReference": null,
"transferPosition": 1,
"eventType": "DRIVER_DEPARTED_TO_PICKUP",
"occurredAt": "2026-07-08T17:40:00+02:00",
"latitude": null,
"longitude": null
}
]The driver's current position:
[
{
"bookingReference": "SUNTR_AB1234",
"externalReference": "AGENCY_REF_1",
"transferPosition": 2,
"eventType": "DRIVER_LIVE_LOCATION",
"occurredAt": "2026-07-08T17:55:30.5+02:00",
"latitude": 41.3874,
"longitude": 2.1686
}
]The driver reported that the customer did not show up:
[
{
"bookingReference": "SUNTR_AB1234",
"externalReference": "AGENCY_REF_1",
"transferPosition": 2,
"eventType": "DRIVER_SUBMITTED_CUSTOMER_NO_SHOW",
"occurredAt": "2026-07-08T18:55:00+02:00",
"latitude": null,
"longitude": null
}
]Updated about 2 hours ago