Standard Workflow elements 

  • List of Sub-flows based on order types –
  1. Curbside_flow
  2. Dinein_flow
  3. Delivery_flow
  4. 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.