đźš§ This documentation website is under construction!
Delivery
Delivery Partner Events

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"
}
PropertyTypeDescription
typestringEvent type – e.g. "delivery.delivered".
timestampinteger (int64)Epoch time in milliseconds when the event occurred.
location_idstring (UUID)ID of the OOM location where the event originated.
data.idstring (UUID)Unique identifier for the delivery.
data.deliveryServicestringDelivery service provider.
data.statusstringCurrent status of the delivery.
data.trackingUrlstring (URI)Tracking URL for the delivery.
data.pickup.etastring (date-time)Estimated pickup time.
data.pickup.statusstringPickup status.
data.dropOff.etastring (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.