Getting started
What is checkout?
Checkout is the final step in the shopping process, where the customer reviews their cart, enters payment information, and confirms the order. In our platform checkout consists of two steps: cart and payment page.
What does checkout look like?
At cart, guests may modify their cart contents or change service modes, whereas at the payment step they can select a preferred payment method, enter payment details if applicable and save it for future purchases.
A guest may edit the cart by
Using the Minicart (Cart Preview)
using the - and + signs to increase and decrease quantity of an item
clicking on the Edit CTA in the minicart visible in the right upper corner.
This way a guest is taken to the selected product page where they can:
Modify the Menu Size
Customize Order
Add other products to their order
They may also perform the following actions by visiting the /cart page:
Remove item
Edit quantity by using the + and - signs
Using the Upsell carousel to add additional items
What is the scheduled pick up time? What is the I’m here button?
A guest may choose to schedule the pick up time which means they may select a timeslot in the future to pick up their order. This allows us to assure the meal is ready and warm.
If a guest selects this pick up option, they will be asked to confirm their arrival at the confirmation page by clicking on the “I’m Here” button. This action processes the payment and injects the order to the POS.
Order Summary Anatomy
How are prices calculated at cart?
Prices are retrieved from the POS. This ensures we display the correct price before the order is placed.
There is one exception to this. As the delivery partners such as DMP need the basket value to return a delivery quote, we do calculate the pricing within partner service and save the value on order object.
How do discounts work?
You may read more about campaigns, promotions and discounts here.
What is total?
The total represents an order total reported by the POS,
totalCents
includes any additional fees (e.g., delivery fees, bag fees) applicable to the order.
What is subtotal?
The subtotal represent a total cost of the order cart entries expressed by
subtotalCents
in the platform. (May include tax depending on the market)
How is tax calculated?
For most of the markets, the tax amount is included in the price of the item. If you wish to include a separate line indicating a cumulative item tax amount please contact your CSM to disable the
enable-hide-tax-line flag
.If you wish to add additional information about tax related to Total amount you may adjust so in Lokalize searching for the following string:
Please note: The Subtotal + Tax will not always equal the Total.
In markets with a value-added tax (VAT), the item prices (and therefore the Subtotal) include VAT
What is sugar and plastic tax and how can it be added?
Some markets may be legally required to add a plastic or sugar tax on certain items. Plastic Tax and Sugar Tax are captured as respective modifiers in Sanity and have their own PLUs.
Please note that the tax line enabled by the enable-hide-tax-line
flag does not display the Sugar nor Plastic tax.
What is paper bag fee and how can it be added?
Some markets are legally required to apply a fee an order total in every service mode that needs a bag or place a takeaway order. This tax aims to reduce bags consumption to comply with environment sustainable goals and must be applied to the cart order total in every service mode that needs a bag or place a takeaway order.
Bag fee can be applied to the following service modes:
Delivery
Click and collect (pick up),
Drive-thru
Curbside
To configure paper bag fee you can do so by visiting Sanity portal
Within the “Bag Tax” section, you may choose the service mode you would like to apply the fee to by using a toggle and adjust an appropriate amount in cents.
Additionally, if you wish to add a brief explanation for your guests, you may do so by including the description in the “Bag Tax Explainer” section. Moreover this is a localized configuration, allowing you to add the desired translation in the section below.
Guest Checkout
The Guest Checkout feature accommodates the users who wish to order online without registering for an account. This will allow for capturing incremental sales resulting from a conversion lift at the /cart to /payment step. Current version of this feature does not include:
Marketing communication opt-in
Option to register after order placement
This feature is newly developed and not yet enabled across all markets. It may undergo A/B testing in selected markets to ensure optimal performance. If you’re interested in enabling this feature in your market and participating in A/B testing, please contact the CSM team for early access.
Sanity Configuration
Guest Checkout - Time To Live
Guest Checkout Time to Live configuration - allows you to specify period in which transactional data will be stored in Sanity.
Support Tool
Guest Checkout - Refunds
As a support tool user you are able to perform refunds via Support Tool for guest orders as normal. Please keep in mind that you will not be able to search for a guest order using customer email address and you will not be able to access a user profile.
How to enable:
The feature is controlled by two flags - one for the backend and one for the frontend
FE:
enable-guest-checkout
BE:
enable-guest-checkout
At the frontend is one dependent flag - enable-move-signup-after-cart
that needs to be turned on.
Translations
(Lokalise strings specific to Guest Checkout):
payWithCreditCard
payWitPaymentChequeGourmet
choosePaymentMethodOption
payWithPaymentSodexo
payWithPrepaidCard
payWithBlik
payWithIdeal
signUpOrGuestToContinueDisclaimer
continueAsAGuest
Analytics:
You may monitor performance by filtering eCommerce Purchase events by an attribute guestID
or by event property Is Guest Order
:
Email communication
To communicate with our guests, we utilize Notification Service.Please keep in mind those transactional emails are not sent through Braze.
You may control it by the following Launch Darkly flag – enable-notification-service-email
You should set the following targeting end enable flag:
Cross-selling
You may read more about cross-selling and add-on options here.
Maximum Checkout Amount
If you wish to apply a limit to the order value with which a guest is allowed to checkout please contact your CSM to configure the following flag:
CheckoutLimitOverrideCents.
You may also wish to set up a maximum and minimum for your catering order which can be achieved by configuring the following flags:
CheckoutCateringLimitOverrideCents
CheckoutCateringLimitOverrideCents
please contact your CSM to consult your request.
If you wish to set a delivery minimum for your orders please contact your CSM to configure the following flag:
checkoutDeliveryMinimumOverrideCents
check whether max exists?…
Maximum Cash Limit
If you wish to limit the maximum allowance for cash orders you can do so by contacting your CSM to configure the following flag
checkout-cash-price-limit
How to adjust the format of the customer facing order number?
This order number is sent to the POS and also will be visible on the confirmation page.
If you wish to adjust a format of the order number in the order-confirmation page, for example it has to start with 'APP' or '<some digit>'), so that the numbers won't clash with other orderservice modes (POS / 3rd party delivery), you may contact your CSM to configure a number of attributes in the
format-order-number-variations
flag. Here's some explanation of each attribute available:
"maxValue": 999, // this means the orderNumber goes up to 999 before reseting to 0
"padString": "0", // this means the number 23 will be shown as 023
"prefix": "APP", // this is string before the number
"targetLength": 3 // this means we want 3 digits
So under the above configuration, the orderNumber'1' => 'APP001'
'23' => 'APP023'
'997' => 'APP997'
Please note: This order number is not the rbiOrderId