In order to provide delivery event history we need to store the delivery event to our database since we are not able to rely on Tracking API of deliver vendor. Currently only ninjavan has ability to get history of delivery event.
Model:
Field | Type | Required |
---|---|---|
id | UUID | no |
vendorName | String | yes |
cardId | UUID | yes |
trackingId | String | yes |
deliveryStatus | String | yes |
vendorDeliveryStatus | String | yes |
message | String | no |
createdAt | Timestamp | no |
Notes:
deliveryStatus:
object CardDeliveryStatus { const val SENDING = "SENDING" const val ORDER_CREATED = "ORDER_CREATED" const val CANCELLING = "CANCELLING" const val CANCELLED = "CANCELLED" const val PENDING_PICKUP = "PENDING_PICKUP" const val COMPLETED = "COMPLETED" const val RETURN_TO_SENDER = "RETURN_TO_SENDER" const val ON_COURIER = "ON_COURIER" const val PICKEDUP = "PICKEDUP" }
vendorDeliveryStatus: depends on delivery vendor status
Ninjavan Status: https://api-docs.ninjavan.co/en#tag/Webhooks
GGX Status: N/A