Standard workflow elements
- List of Sub-flows based on service types –
- Curbside_flow
- Dinein_flow
- Delivery_flow
- Pickup_flow
List of nodes
See the following table of nodes with their descriptions that are used in the Standard workflow:
Nodes | Description |
Order created | Customer has pressed the pay button after entering the card details |
Order placed | Payment is processing |
Order sent | Order is sent to the restaurant/food business |
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/food business |
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 (customer added the items but didn’t place the order) |
Order canceled by user | Order has been canceled by the user |
List of actions
See the following table of actions with their descriptions that are used in the Standard workflow:
Actions | Description |
SubscribePayment | For card payments, saving cards on profiles, 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 service type, the order will follow the order flow respectively. |
RestaurantServiceEmail | Send an email to the restaurant/food business about the order being placed. It includes the order details with the accept order and reject order buttons. |
CustomerServiceMsg | Notification 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.
The texts attached to "w/t" (shorthand of "with") in the following screenshot are the notification templates used with the actions in the nodes:
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
See the following table of events and their descriptions used in the Standard workflow:
Events | Description |
t=25m | Order created but not placed in 25 mins |
place_order | 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/food business accepted the order |
cancel_order | Restaurant/food business has rejected the order |
t=5m | Order will move to the Waiting Confirmation node if the restaurant doesn’t respond to the order email in 5 minutes |
curbside_flow | Order follows the curbside flow |
pickup_flow | Order follows the pickup flow |
delivery_flow | Order follows the delivery flow |
dinein_flow | Order follows the dinein flow |
s: after pickup_time | Restaurant/food business 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 | Order will move to the Order Completed node after 1 hour of the actual order time |
arrived | Customer has clicked on the Arrived button and is waiting outside |
picked_up | Order moved to the Order Completed node as the order has been picked up by the customer |
s: 2h after order_time | Order will automatically move to the Order Completed node after 2 hours of the order time |
out_for_delivery | Order is set out for delivery |
order_delivered | Order moves to the Order Completed node as the order has been delivered |
s: after order_time (in pickup order) | Order moves to the Order Delayed node for running late |
s: after order_time (in dinein order) | Order moves to the Order Completed node post order time |
t=24h | Customer will receive a feedback email tafter 24 hours of placing the order. |
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 customer service 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 programs.
On fail refund also follows the same process.