Skip to content

Delivery Creation Flow

Integration flow for the process of creating a new delivery and state transitions until fulfilled.

Creation Flow

  1. Public API requests quotes for a delivery job before sending an intent to create a delivery job.

  2. Partner application responds with the quote results to the Public API. The quote is an estimation of fare, and time to pickup the item from pickup location. The quote is an estimation, so it can be changed until the delivery job is confirmed in the later steps.

  3. Once the Public API decides to accept the quote, it will send another request to accept the quote.

  4. Partner application confirms to accept the delivery request from the Public API. Partner application will then send the finalized estimations, and this time, it will be a committed receipt of the delivery job. The initial state of the delivery, at this stage, is ALLOCATED.

  5. Until the deliver is completed (fulfilled), partners are expected to send various delivery update events, including delivery status updates, destination address changes, courier/vehicle location updates, and customer note updates.

    1. Delivery lifecycle is as follows: ALLOCATED → PICKED_UP → COMPLETED

      1. COMPLETED is the terminal state for a successful order.

      2. Deliveries can be also be CANCELED by the partner before it is COMPLETED, and it is the terminal state for a failed order.