Event payload reference
A single JSON envelope is used for every webhook event. The status field tells you which lifecycle event you're handling; other fields are populated based on that status.
This is the v2 payload — the current shape for new integrations. Still on the old shape? See the legacy v1 payload reference.
What's always present
Every webhook payload includes the core envelope: identifiers, status, the sender / recipient blocks, origin + destination, packages, quote, and createdAt. Status-specific fields (courier, media, trackingURL, pickupAt, completedAt, failedAt, cancelledAt, reason, reasonCode) appear once they're meaningful.
Payload by status
Select a service category, then click any status to expand the full webhook body.
- EXPRESS
- LOGISTIC
QUEUEING — scheduled order waiting for its pickup window
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "QUEUEING",
"failedCount": 0,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:17.128Z"
}
ALLOCATING — Dash is finding a nearby driver
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "ALLOCATING",
"failedCount": 0,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "A5",
"description": "Barang Luar Negeri A",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:17.128Z"
}
PENDING_PICKUP — driver assigned, not yet moving
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "PENDING_PICKUP",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "A5",
"description": "Barang Luar Negeri A",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:58.750Z"
}
PICKING_UP — driver is on the way to the pickup location
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "PICKING_UP",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:58.750Z"
}
ARRIVED_AT_PICKUP_POINT — driver has arrived at the sender's location, hasn't collected the package yet
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "ARRIVED_AT_PICKUP_POINT",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:22:10.000Z"
}
PENDING_DELIVERY — package picked up (pickupAt + PICKUP_PROOF now set), intermediate state before IN_DELIVERY
{
"providerOrderID": "DAILY_EXPRESS-OOOO1",
"deliveryID": "DE-1747913656208",
"status": "PENDING_DELIVERY",
"failedCount": 0,
"courier": {
"name": "Dash Driver",
"phone": "0811111111",
"vehiclePlateNumber": "B 5678 ABC",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 24.8,
"sender": {
"firstName": "provider",
"lastName": "dash",
"companyName": "provider",
"phone": "0123"
},
"recipient": {
"firstName": "dash",
"lastName": "electric",
"companyName": "dash",
"email": "test@test.id",
"phone": "123424",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Pesanggrahan",
"coordinates": { "latitude": -6.4287925, "longitude": 106.823185 }
},
"destination": {
"address": "Masjid Al-Huda",
"coordinates": { "latitude": -6.42878, "longitude": 106.8232 }
},
"packages": [
{
"name": "package-1",
"description": "lorem ipsum",
"quantity": 1,
"price": 20000,
"weight": 12.5,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2025-05-22T11:34:16.224Z",
"updatedAt": "2025-05-22T11:34:22.000Z",
"pickupAt": "2025-05-22T11:34:22.000Z"
}
IN_DELIVERY — driver is en route to the recipient with the package in hand
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "IN_DELIVERY",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"pickupAt": "2024-12-27T14:18:58.750Z"
}
ARRIVED_AT_DESTINATION — driver has arrived at the recipient's location, hasn't captured DELIVERY_PROOF yet
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "ARRIVED_AT_DESTINATION",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"pickupAt": "2024-12-27T14:18:58.750Z",
"updatedAt": "2024-12-27T15:40:00.000Z"
}
COMPLETED — driver captured DELIVERY_PROOF at the destination (terminal)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "COMPLETED",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": "John Doe",
"actualRecipientRelation": "spouse"
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../DELIVERY_PROOF",
"type": "DELIVERY_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T12:18:17.128Z",
"pickupAt": "2024-12-27T13:18:17.128Z",
"completedAt": "2024-12-27T14:18:58.750Z"
}
Changed in v2 — the failure status is split by leg. EXPRESS no longer emits a generic FAILED. A failure before the package is collected arrives as FAILED_PICKUP; a failure after collection arrives as FAILED_DELIVERY. If you branch on status === "FAILED", update that check — see the v1 reference for the old shape. (LOGISTIC still emits FAILED.)
FAILED_PICKUP — the pickup leg failed (terminal — nothing was picked up, so there's no return leg)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "FAILED_PICKUP",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_PICKUP_PROOF",
"type": "FAILED_PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"pickupAt": null,
"failedAt": "2024-12-27T14:18:58.750Z",
"reason": "Pengirim tidak ada di alamat",
"reasonCode": "EB3003"
}
FAILED_DELIVERY — the delivery leg failed (terminal, unless it enters the return flow — see PENDING_RETURN below)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "FAILED_DELIVERY",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"pickupAt": "2024-12-27T13:18:17.128Z",
"failedAt": "2024-12-27T14:18:58.750Z",
"reason": "Penerima tidak ada di alamat",
"reasonCode": "EC5003"
}
Return flow — reachable only from FAILED_DELIVERY (the package was already picked up). A FAILED_PICKUP has nothing to return, so it stays terminal. reason, reasonCode, pickupAt, and failedAt are not echoed on PENDING_RETURN, IN_RETURN, or RETURNED — they only appear on the FAILED_DELIVERY event that preceded the return. The exception is FAILED_IN_RETURN: it carries its own reason, an ED reasonCode, and FAILED_RETURN_PROOF media for the failed hand-back, and courier stays populated because the driver is still holding the package. It is a branch off the clean return path — the RETURNED example shows the same delivery finishing without a failed hand-back. From a failed hand-back the package moves to ON_HOLD at a Dash pitstop, which resolves as a fresh PENDING_RETURN, RETURNED, or DISPOSED.
PENDING_RETURN — failed delivery queued to go back to the sender
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "PENDING_RETURN",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T14:22:15.000Z"
}
IN_RETURN — driver is en route back to the sender with the package
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "IN_RETURN",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T15:05:40.000Z"
}
ARRIVED_AT_RETURN_POINT — driver has arrived back at the sender's location, hasn't handed the package over yet
No new media or reason is captured here — the hand-back hasn't happened yet. The next event is either RETURNED, once the sender accepts the package, or FAILED_IN_RETURN if they don't.
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "ARRIVED_AT_RETURN_POINT",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T15:38:00.000Z"
}
FAILED_IN_RETURN — the return leg failed; the driver still has the package (not terminal)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "FAILED_IN_RETURN",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_RETURN_PROOF",
"type": "FAILED_RETURN_PROOF",
"createdAt": "2024-12-27T15:40:12.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T15:42:10.000Z",
"reason": "Lokasi di tujuan tutup",
"reasonCode": "ED3005"
}
ON_HOLD — package parked with Dash Ops at a pitstop after a failed return (not terminal)
No new media or reason is captured here — media still holds the proofs from the earlier legs, and the ED code stays on the FAILED_IN_RETURN event that preceded it. The driver is released from the job at this point, so courier is null: the package sits with Dash Ops, not with a rider. It is populated again on the next event if the package leaves the pitstop with a driver.
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "ON_HOLD",
"failedCount": 1,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_RETURN_PROOF",
"type": "FAILED_RETURN_PROOF",
"createdAt": "2024-12-27T15:40:12.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T15:52:30.000Z"
}
RETURNED — package handed back to the sender (terminal)
recipient.actualRecipientName / actualRecipientRelation here describe whoever signed for the returned package at the sender's side — not the original recipient.
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "RETURNED",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": "Dedi Prasetyo",
"actualRecipientRelation": "warehouse staff"
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
},
{
"url": "https://storage.googleapis.com/.../RETURN_PROOF",
"type": "RETURN_PROOF",
"createdAt": "2024-12-27T16:02:30.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T16:03:00.000Z"
}
DISPOSED — package written off instead of returned (terminal)
The tail end of a hold that ops could not resolve: nothing was handed back, so there's no RETURN_PROOF and no disposal-specific proof type either. completedAt is absent, as on every non-COMPLETED event.
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "DISPOSED",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_RETURN_PROOF",
"type": "FAILED_RETURN_PROOF",
"createdAt": "2024-12-27T15:40:12.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-29T09:14:02.000Z"
}
CANCELLED — provider cancelled before pickup (ALLOCATING / PENDING_PICKUP / PICKING_UP) (terminal)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "CANCELLED",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"pickupAt": null,
"cancelledAt": "2024-12-27T14:18:58.750Z",
"reason": "Pesanan sudah tidak diperlukan/terpenuhi",
"reasonCode": "EB2102"
}
LOGISTIC payloads omit trackingURL entirely, and media never contains a PICKUP_PROOF entry (the driver doesn't capture one for warehouse-staged packages).
PREPARING — delivery accepted by the system, awaiting ops verification
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "PREPARING",
"failedCount": 0,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:17.128Z"
}
VERIFIED — package verified by Dash Ops at the warehouse
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "VERIFIED",
"failedCount": 0,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "088888888888"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:58.750Z"
}
NOT_VERIFIED — manifest received, package not physically received
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "NOT_VERIFIED",
"failedCount": 0,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:58.750Z"
}
PENDING_DELIVERY — verified package staged, awaiting driver pickup
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "PENDING_DELIVERY",
"failedCount": 0,
"courier": {
"name": "Dash Driver",
"phone": "0811111111",
"vehiclePlateNumber": "B 5678 ABC",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 24.8,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2025-05-22T11:34:16.224Z",
"updatedAt": "2025-05-22T11:34:22.000Z"
}
IN_DELIVERY — driver is en route to the recipient (no trackingURL on LOGISTIC)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "IN_DELIVERY",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"pickupAt": "2024-12-27T14:18:58.750Z"
}
COMPLETED — delivered; media contains only DELIVERY_PROOF (terminal)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "COMPLETED",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": "John Doe",
"actualRecipientRelation": "spouse"
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../DELIVERY_PROOF",
"type": "DELIVERY_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T12:18:17.128Z",
"pickupAt": "2024-12-27T13:18:17.128Z",
"completedAt": "2024-12-27T14:18:58.750Z"
}
FAILED — during pickup; ops may recover back to PENDING_DELIVERY (terminal otherwise)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "FAILED",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_PICKUP_PROOF",
"type": "FAILED_PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"pickupAt": null,
"failedAt": "2024-12-27T14:18:58.750Z",
"reason": "Pengirim tidak ada di alamat",
"reasonCode": "EB3003"
}
FAILED — during delivery; ops may recover back to PENDING_DELIVERY, or the package enters the return flow (terminal otherwise)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "FAILED",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"pickupAt": "2024-12-27T13:18:17.128Z",
"failedAt": "2024-12-27T14:18:58.750Z",
"reason": "Penerima tidak ada di alamat",
"reasonCode": "EC5003"
}
Return flow — reachable only from a delivery-phase FAILED (the package had already left the warehouse). reason, reasonCode, pickupAt, and failedAt are not echoed on PENDING_RETURN, IN_RETURN, or RETURNED. The exception is FAILED_IN_RETURN: it carries its own reason, an ED reasonCode, and FAILED_RETURN_PROOF media for the failed hand-back. It is a branch off the clean return path — the RETURNED example shows the same delivery finishing without a failed hand-back. From a failed hand-back the package moves to ON_HOLD at a Dash pitstop, which resolves as a fresh PENDING_RETURN, RETURNED, or DISPOSED.
PENDING_RETURN — failed delivery queued to go back to the sender
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "PENDING_RETURN",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T14:22:15.000Z"
}
IN_RETURN — driver is en route back to the sender with the package
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "IN_RETURN",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T15:05:40.000Z"
}
FAILED_IN_RETURN — the return leg failed; the driver still has the package (not terminal)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "FAILED_IN_RETURN",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_RETURN_PROOF",
"type": "FAILED_RETURN_PROOF",
"createdAt": "2024-12-27T15:40:12.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T15:42:10.000Z",
"reason": "Lokasi di tujuan tutup",
"reasonCode": "ED3005"
}
ON_HOLD — package parked with Dash Ops at a pitstop after a failed return (not terminal)
No new media or reason is captured here — media still holds the proofs from the earlier legs, and the ED code stays on the FAILED_IN_RETURN event that preceded it. The driver is released from the job at this point, so courier is null: the package sits with Dash Ops, not with a rider. It is populated again on the next event if the package leaves the pitstop with a driver.
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "ON_HOLD",
"failedCount": 1,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_RETURN_PROOF",
"type": "FAILED_RETURN_PROOF",
"createdAt": "2024-12-27T15:40:12.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T15:52:30.000Z"
}
RETURNED — package handed back to the sender (terminal)
recipient.actualRecipientName / actualRecipientRelation here describe whoever signed for the returned package at the sender's side — not the original recipient.
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "RETURNED",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": "Dedi Prasetyo",
"actualRecipientRelation": "warehouse staff"
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
},
{
"url": "https://storage.googleapis.com/.../RETURN_PROOF",
"type": "RETURN_PROOF",
"createdAt": "2024-12-27T16:02:30.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-27T16:03:00.000Z"
}
DISPOSED — package written off instead of returned (terminal)
The tail end of a hold that ops could not resolve: nothing was handed back, so there's no RETURN_PROOF and no disposal-specific proof type either. completedAt is absent, as on every non-COMPLETED event.
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "DISPOSED",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777",
"vehiclePlateNumber": "B 1234 XYZ",
"profileImageUrl": "https://storage.googleapis.com/.../driver-profile.jpg"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null,
"actualRecipientRelation": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../FAILED_DELIVERY_PROOF",
"type": "FAILED_DELIVERY_PROOF",
"createdAt": "2024-12-27T14:20:00.000Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_RETURN_PROOF",
"type": "FAILED_RETURN_PROOF",
"createdAt": "2024-12-27T15:40:12.000Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"updatedAt": "2024-12-29T09:14:02.000Z"
}
Field reference
FAILED into FAILED_PICKUP and FAILED_DELIVERY; LOGISTIC still emits FAILED.null on ON_HOLD, where the package sits with Dash Ops and no rider is assigned.courier is.courier is, but null for a driver with no photo on file — always render a fallback. Changes on reassignment, along with the rest of the courier block."spouse"). Populated alongside actualRecipientName on COMPLETED.PICKUP_PROOF (EXPRESS only), DELIVERY_PROOF, FAILED_PICKUP_PROOF, FAILED_DELIVERY_PROOF, FAILED_RETURN_PROOF, RETURN_PROOF. Changed in v2 — v1's single FAILED_PROOF splits into FAILED_PICKUP_PROOF / FAILED_DELIVERY_PROOF, by the leg the delivery failed on, matching the FAILED_PICKUP / FAILED_DELIVERY statuses. FAILED_RETURN_PROOF is captured on FAILED_IN_RETURN and RETURN_PROOF on RETURNED.FAILED_DELIVERY); null on FAILED_PICKUP. LOGISTIC: present from IN_DELIVERY onward; null on a pickup-phase FAILED.FAILED_PICKUP / FAILED_DELIVERY (EXPRESS) or FAILED (LOGISTIC).failedReason / cancelledReason with one field, human-readable text. Present on the failure statuses and CANCELLED, e.g. "Penerima tidak ada di alamat".reason — a leg prefix (EA preparation, EB pre-pickup, EC post-pickup, ED in-return) followed by actor, type, and sequence digits, e.g. "EB3003", "EC5003", "EB2102". Present on the failure statuses and CANCELLED. The prefix lines up with the leg: FAILED_PICKUP carries an EB code, FAILED_DELIVERY an EC code, FAILED_IN_RETURN an ED code. See Error code reference for the full breakdown.