The entry point of order is placed state and the terminating state can be "completed" or "canceled".

Now, once an order is in the "placed" state it can go to the following order states:

  • Placed - initial state of the order when it is new
  • Acknowledged - when the restaurant accepts the order
  • Food ready - when the food is ready for pickup
  • Dispatched - when the order has been picked up
  • Completed - when the order is delivered
  • Canceled - when the order is canceled


Here's how the workflow looks like:



Key points:

  • Prime enforces operators to move order states in chronological order, as shown in the diagram above. However, certain states can be skipped if there is a status update from aggregators. 
  • Once an order reaches a terminating state: "completed" or "canceled" — no status update can happen after that.
  • "acknowledge" & "food ready" states are marked by store operators and are then send upstream by UP system to aggregators
  • In the case of Hub: "dispatched", "completed" states are usually marked by aggregators delivery agent and are received downstream by the UP system from aggregators. While in the case of OMS they are managed by store operators.


Here's how orders are bucketed into Prime (based on the order lifecycle):

New Orders

  • These are orders that are in the "placed" state.
  • Applicable action: "Acknowledge" or "Cancel" 
  • It is the responsibility of the Store Operator to take the call on if the restaurant can fulfill this order or now.  


In-Process 

  • These are orders that are in the "acknowledged" state. 
  • Applicable action: "Mark Food Read" or "Cancel" 
  • It is the responsibility of the Kitchen staff/ Store operator to update when the food is ready by changing the order status.


Awaiting Pickup 

  • These are orders that are in the "Food Ready" state. 
  • Applicable action: "Dispatch" or "Cancel" 
  • In the case of online aggregators, it is the delivery agent application (aggregator side) that's going to initiate this update. But in case of self-branded channels (or even in case of aggregators where the business itself is managing deliveries) - this will be updated by the "Store Operator" 



Dispatched 

  • These are orders in the "dispatched" state.
  • Applicable action: "Complete" or "Cancel"
  • Again, in case of orders where aggregators manage delivery, it will be managed on their end. But in case of orders on your own channel, it will be done by the store operator.


Completed

  • These are orders in the "completed" state.
  • No action can be performed on these orders as they are in one of the terminated states.


Canceled

  • These are orders in the "canceled" state.
  • No action can be performed on these orders as they are in one of the terminated states.