Partner Delivery Service Events
Delivery partners send a webhook event to the Oolio Orders Backend after a successful delivery creation request from the POS or Online Store.
Receiving the events from the Partner Delivery Service
Below is a sample delivery event payload passed through the Events Engine after a successful webhook call from a partner delivery service. The POS and Online Store can use this data to update the delivery status on their end.
Sample Webhook - SVIX Payload:
{
"data": {
"courier": {
"location": { "lat": 0, "lng": 0 },
"name": "GAURAV G.",
"phoneNumber": "+61482094373",
"vehicle": {
"color": "",
"licensePlate": "",
"make": "Uber",
"model": "Bicycle",
"type": "bicycle"
}
},
"deliveryService": "uber",
"dropOff": { "eta": "2025-04-23T12:01:11.03Z" },
"id": "7713afb3-f5c6-47a3-b25a-0f2dce156864",
"pickup": { "eta": "2025-04-23T11:50:13.03Z", "status": "completed" },
"status": "delivered",
"trackingUrl": "https://delivery.uber.com/au/orders/85142794-b4cf-48d4-b028-3c089f104dca"
},
"location_id": "588504ea-e539-427d-9819-65bd1f5fbec3",
"timestamp": 1747631408813,
"type": "delivery.delivered"
}| Property | Type | Description |
|---|---|---|
type | string | Event type – e.g. "delivery.delivered". |
timestamp | integer (int64) | Epoch time in milliseconds when the event occurred. |
location_id | string (UUID) | ID of the OOM location where the event originated. |
data.id | string (UUID) | Unique identifier for the delivery. |
data.deliveryService | string | Delivery service provider. |
data.status | string | Current status of the delivery. |
data.trackingUrl | string (URI) | Tracking URL for the delivery. |
data.pickup.eta | string (date-time) | Estimated pickup time. |
data.pickup.status | string | Pickup status. |
data.dropOff.eta | string (date-time) | Estimated drop-off time. |
Events
delivery.pending
- Trigger: When a partner delivery service has been selected (via Oolio POS or Online Store) and (Partner Delivery Service) is searching for a courier.
- POS: After a delivery provider is selected for an order
- Online Store: After an order with an assigned delivery provider has been paid
- Description: Delivery has been accepted, but no courier has been assigned yet.
delivery.pickup
- Trigger: After the courier accepts the delivery offer.
- Description: A courier is assigned and is en route to the pickup location.
delivery.pickup_imminent
- Trigger: Automatically triggered when GPS detects the courier is 1 minute away from the pickup location.
- Description: Courier is 1 minute from the pickup location.
delivery.pickup_complete
- Trigger: When the courier manually marks the pickup as complete.
- Description: Courier has picked up the order.
delivery.dropoff
- Trigger: After the pickup is marked complete, and the courier is heading to the drop-off location.
- Description: Courier is en route to the drop-off location.
delivery.dropoff_imminent
- Trigger: Automatically triggered when GPS detects the courier is 1 minute away from the drop-off location.
- Description: Courier is 1 minute from the drop-off location.
delivery.delivered
- Trigger: When the courier manually marks the delivery as complete.
- Description: Delivery has been completed successfully.
delivery.canceled
- Trigger: This can occur due to a driver change in the POS (Oolio), cancellation from the Direct Dashboard, or internal cancellation by the delivery service.
- Description: Delivery has been canceled.