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 typeMeaning
DRIVER_DEPARTED_TO_PICKUPThe driver is on the way to the pickup point.
DRIVER_ARRIVED_AT_PICKUPThe driver has arrived at the pickup point.
DRIVER_SUBMITTED_CUSTOMER_NO_SHOWThe driver reported that the customer did not show up at the pickup point.
DRIVER_DEPARTED_TO_DROPOFFThe driver has left the pickup point with the passengers and is on the way to the drop-off point.
DRIVER_ARRIVED_AT_DROPOFFThe driver has arrived at the drop-off point.
DRIVER_LIVE_LOCATIONThe driver's current position.

Typical sequence of a transfer

  1. DRIVER_DEPARTED_TO_PICKUP
  2. DRIVER_ARRIVED_AT_PICKUP
  3. DRIVER_DEPARTED_TO_DROPOFF
  4. DRIVER_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.

FieldTypeNullableDescription
bookingReferencestringNoThe Suntransfers booking reference.
externalReferencestringYesYour own booking reference, if you sent one with the booking.
transferPositionintegerNoThe leg of the booking: 1 (outward) or 2 (return).
eventTypestringNoOne of the event types above.
occurredAtstringNoWhen 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.
longitudenumberYesLongitude in decimal degrees. Always present in DRIVER_LIVE_LOCATION events.
latitudenumberYesLatitude in decimal degrees. Always present in DRIVER_LIVE_LOCATION events.

Examples

📘

Formatting

The 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
  }
]