Standard Workflow elements
- List of Sub-flows based on order types –
- Curbside_flow
- Dinein_flow
- Delivery_flow
- Pickup_flow
- List of nodes –
Nodes | Description |
Order created | The customer has pressed the pay button after entering the card details. |
Order placed | Payment is processing |
Order sent | Order is sent to the restaurant |
Fail payment | Credit card couldn’t be processed |
Order confirmed | Order is confirmed, starting preparation |
Waiting confirmation… | Working on confirming their order |
Working on your curbside order | Curbside order process is initiated |
Order ready | Order is ready for pickup |
Order delayed | Order is running late |
Customer arrived | Customer is waiting outside, take the food to the curbside |
Order canceled by restaurant | Order has been canceled by the restaurant |
Working on your delivery order | Delivery order process initiated |
Out for delivery | Order is out for delivery |
Working on your pickup order | Pickup order process initiated |
Working on your dinein order | Dinein order process initiated |
Order completed | Order has been completed |
Feedback | Customers are notified to provide feedback to the food and service |
Abandon cart | User abandoned cart (user added the items but didn’t place the order) |
Order canceled by user | Order has been canceled by the user |
- List of actions –
Below are the descriptions of the actions that are used in the standard workflow.
Actions | Description |
SubscribePayment | It is used for card payments and also for saving cards on profile and so on. |
Mark as accepted/executing /missed/prepared/confirmed/canceled/ | To set the state of the order in the CS app. |
Pay | Pay is an action defined in the system that is actually going to charge the customer’s card for a credit card order. |
If curbside order execute curbside_flow If delivery order execute delivery_order If pickup order execute pickup_order If dinein order execute dinein_order | Depending upon the type of order placed, the order will follow the order flow respectively. |
RestaurantServiceEmail | An action used to send an email to the restaurant about the order placed, including the order details and asking them to click the accept order or reject order button. |
CustomerServiceMsg | Notifying in the CS app to accept or reject the order. |
UserSMS | SMS service for the users |
UserEmail | Email service for the users |
CancelPay | Cancel the payment and refund the amount. |
NotifyLoyalty | Notify the loyalty programs about the canceled order. |
AppMsg | Push notification to the OrderZupp app to update the restaurant about the time of the order. |
Other actions –
Restricted - a system-generated event meaning no user, CS agent, or restaurant staff can interfere in that event.
Manual – a manual action taken either by the restaurant or the customer by clicking a button.
- Notification templates used in the workflow –
Note: templates are fully customized to match the look and feel of your brand.
Text highlighted are the templates used with the actions in the nodes (as shown in the following screenshot).
List of notification templates used in the workflow -
- Abandoned order
- Payment Failure
- Restaurant Order
- Confirmation Delayed
- Cancel Order for User
- User Order Confirmation
- Order Running Late
- Ready for Pickup
- Curbside Arrived
- Order Cancel for Restaurant
- Ready for Delivery
- Feedback Request
- List of events –
Events | Description |
t=25m | Order created but not placed in 25 mins |
place_order | Place order is an outcome that gets published when the action called subscribe payment returns a success |
order_paid | Transaction successful |
fail_payment | Transaction failed |
confirm_order | Restaurant accepted the order |
cancel_order | Restaurant has rejected the order |
t=5m | The order will move to the Waiting Confirmation node if the restaurant doesn’t respond to the order email in 5 minutes |
curbside_flow | The order follows the curbside flow as it’s a curbside order |
pickup_flow | The order follows the pickup flow as it’s a pickup order |
delivery_flow | The order follows the delivery flow as it’s a delivery order |
dinein_flow | The order follows the dinein flow as it’s a dinein order |
s: after pickup_time | The restaurant has re-adjusted the time for pickup order (the order is delayed) |
cancel | Order cancel option made available for the customers |
order_ready | Order is ready to be picked up |
s: 1h after order_time | The order will move to the Order Completed node after 1 hour of the actual order time |
arrived | The user has clicked on the Arrived button and is waiting outside |
picked_up | The order moved to the Order Completed node as the order has been picked up by the customer |
s: 2h after order_time | The order will automatically move to the Order Completed node after 2 hours of the order time. |
out_for_delivery | The order is set out for delivery |
order_delivered | The order moves to the Order Completed node as the order has been delivered |
s: after order_time (in pickup order) | The order automatically moves to the Order Delayed node for running late |
s: after order_time (in dinein order) | The order moves to the Order Completed node post order time |
t=24h | The user will receive an email to review the order after 24 hours of the order placed. |
- Other events – event-based triggers
- On time updated –
On time adjustment, this event triggers the AppMsg action (a push notification to the OrderZupp) and UserSMS (sending SMS to the users) updating them about the new time.
- Order adjustment –
The order can be adjusted in the CS app.
When the adjustment takes place on the order post the order confirmation, then a push notification is sent via OrderZupp app to the restaurants, and an SMS is sent to the customer. The notification is also sent to Loyalty notifying them to make the changes to award points to the users accordingly.
On fail adjustment also follows the same process.
- On refund do –
It is the refund process that takes place by notifying the users using the push notifications and SMS, while notifying the Loyalty.
On fail refund also follows the same process.