Overview
This page documents the expected user experience when RBI guests are placing orders using the POS. Part of , as part of Loyalty API - In-Store Loyalty & Offers Customer Journey
Contents
Table of Contents |
---|
...
.
...
1.1. While signed out
In this scenario, guests do not sign in to the RBI app and they want to use open offers. They scan two different offers in the same order.
Info |
---|
Note: this scenario is only available if the market has made open offers available to their guests. |
Info |
---|
Note: this scenario does not require an integration with the Loyalty API. |
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Guest opens the RBI app without signing in, and selects an offer that is not available when users are signed out (known as a “closed offer”)
...
N/A
...
Offer page is displayed:
...
Guest taps “Use at restaurant”
...
N/A
...
Offer is closed so guest is prompted to Sign In
...
...
Guest is worried about his privacy and decides not to use this offer.
Guest opens an offer that is available when users are signed out (known as an “open offer”)
Info |
---|
Note: markets that don’t use scanners do not show a QR code in the RBI app, only the alphanumerical code |
...
No action
...
Guest sees QR code and Offer Static code
...
Cashier is prompted to add a loyalty code
...
Cashier asked if guest is a loyalty member:
...
Cashier select “Cancel”, since the guest is not signed in
...
No action
...
Guest either scans the (static) offer code, or tells the alphanumerical code to the cashier
...
If guest does not scan the QR code, cashier can enter the static alphanumerical code
Offer is added to the POS basket
This offer is incrementally added to the cart and does not replace any of the existing cart items
...
...
No action
...
Guest opens a second offer that is available when users are signed out (known as an “open offer”)
...
No action
...
Guest sees QR code and Offer Static code
...
Guest either scans the (static) offer code, or tells the alphanumerical code to the cashier
...
If guest does not scan the QR code, cashier can enter the static alphanumerical code
Offer is added to the POS basket
This offer is incrementally added to the cart and does not replace any of the existing cart items
...
No action
...
Cashier finalizes the order and guest pays at POS
...
POS prints receipt with order information
...
N/A
1.2. Authenticating with Loyalty Code
In this scenario, guests do not pre-select any offers and instead start their journey by scanning their Loyalty code at the POS. The guest in this scenario does a second scan to add an offer after the initial identification.
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Loyalty API usage
...
Guest opens the Loyalty code page on the RBI app
...
N/A
...
Loyalty code page is displayed:
...
Not applicable
...
Cashier is prompted to add a loyalty code
...
Cashier asked if guest is a loyalty member:
...
No action
...
Not applicable
...
Guest either scans the loyalty code, or tells the 6 digit code to the cashier
...
If guest does not scan the QR code, cashier can enter the 6 digit Loyalty code:
...
Either by scanning or entering the code, POS confirms successful identification:
...
...
Guest receives a successful confirmation modal
...
...
Not applicable
...
Guest opens an offer on the RBI app, chooses to redeem in restaurant
...
No action
...
Offer is added to the guest’s pre-selection
...
A unique offer code is generated
...
Not applicable
...
Guest either scans the offer’s QR code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification:
...
These offer(s) are incrementally added to the cart and do not replace any of the existing cart items
...
Modal is shown to guest confirming that the offer has been added to cart
...
Loyalty points balance is not updated, since the guest is scanning an offer
Offer pre-selection is cleared
...
Call the Identify endpoint, which will return the Loyalty User ID, loyalty points balance and details about the selected offer
...
Cashier finalizes the order and guest pays at POS
...
POS prints receipt with points earned & points balance
...
Guest sees updated points balance
...
...
Not applicable
...
Call the Identify endpoint again. It will return the same information as before
Add the offer details returned by this endpoint to the guest’s basket
...
Call the Transaction Update endpoint with a
status
ofCLAIMED
1.3. Using offer pre-selection
In this scenario, guests pre-select offers on the RBI app and continue their journey in the POS by scanning the generated code. Then they add more offers to their basket by choosing those offers in the app and scanning them.
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Guest opens an offer on the RBI app
...
N/A
...
Offer page is displayed:
...
Guest taps “Use at restaurant”
...
N/A
...
Offer is added to the guest’s pre-selection
...
A unique offer code is generated
...
Cashier is prompted whether the Guest has loyalty, and confirms
...
Cashier asked if guest is a loyalty member and clicks on “Ok”
...
No action
...
Guest either scans the offer code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification (since the offer code also identifies the Loyalty user):
...
Offer is added to POS cart
...
Guest receives a successful confirmation modal
...
Offer pre-selection is cleared
...
Guest opens a second offer on the RBI app, chooses to redeem in restaurant
Info |
---|
Note: the flow is exactly the same if the guest pre-selects multiple offers. |
...
No action
...
Only the second offer is added to the guest’s pre-selection
...
A unique offer code is generated
...
Guest either scans the offer’s QR code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification:
...
These offer(s) are incrementally added to the cart and do not replace any of the existing cart items
...
Modal is shown to guest confirming that the offer has been added to cart
...
Loyalty points balance is not updated, since the guest is scanning an offer
Offer pre-selection is cleared
...
Cashier finalizes the order and guest pays at POS
...
POS prints receipt with points earned & points balance
...
Guest sees updated points balance
...
1.4. Limit one offer per purchase
Info |
---|
This scenario only happens if the market has decided to limit redemption of one offer per purchase. This is currently the case in BK UK for example. |
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Guest opens an offer on the RBI app
...
N/A
...
Offer page is displayed:
...
Guest taps “Use at restaurant”
...
N/A
...
Offer is added to the guest’s pre-selection
...
A unique offer code is generated
...
Cashier is prompted whether the Guest has loyalty, and confirms
...
Cashier asked if guest is a loyalty member and clicks on “Ok”
...
No action
...
Guest either scans the offer code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification (since the offer code also identifies the Loyalty user):
...
Offer is added to POS cart
...
Guest receives a successful confirmation modal
...
Offer pre-selection is cleared
...
Guest opens a second offer on the RBI app, chooses to redeem in restaurant
...
No action
...
User will see modal in the app letting user know, use can only add 1 offer per order and prompting user to replace
...
Guest taps Replace
...
No action
...
New offer is added to the guest’s pre-selection and old offer is removed from pre-selection cart
...
Guest either scans the offer’s QR code, or tells the 6 digit code to the cashier
...
New offer replaces the previous selected offer in the POS basket
Other items in the POS basket are not removed or replaced
...
Modal is shown to guest confirming that the offer has been added to the POS basket
...
Loyalty points balance is not updated, since the guest is scanning an offer
Offer pre-selection is cleared
...
Cashier finalizes the order and guest pays at POS
...
POS prints receipt with points earned & points balance
...
Guest sees updated points balance
...
2. Redeem rewards
2.1. While signed out
This is not possible. Rewards are only available to guests who have an account and have enrolled in the Loyalty program.
2.2. Authenticating with Loyalty Code
In this scenario, guests do not pre-select any rewards and instead start their journey by scanning their Loyalty code at the POS. The guest in this scenario does a second scan to add a reward after the initial identification.
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Guest opens the Loyalty code page on the RBI app
...
N/A
...
Loyalty code page is displayed:
...
Cashier is prompted to add a loyalty code
...
Cashier asked if guest is a loyalty member:
...
No action
...
Guest either scans the loyalty code, or tells the 6 digit code to the cashier
...
If guest does not scan the QR code, cashier can enter the 6 digit Loyalty code:
...
Either by scanning or entering the code, POS confirms successful identification:
...
...
Guest receives a successful confirmation modal
...
...
Guest opens an reward on the RBI app, chooses to redeem in restaurant
...
No action
...
Reward is added to the guest’s pre-selection
A unique reward code is generated
...
Guest either scans the reward’s QR code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification:
...
These reward(s) are incrementally added to the cart and do not replace any of the existing cart items
...
Modal is shown to guest confirming that the offer has been added to cart
...
The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance
Loyalty points that will be accrued after the order will not be added to the guest’s loyalty points balance at this stage
Reward pre-selection is cleared
...
Cashier finalizes the order and guest pays at POS
...
POS prints receipt with points earned & points balance
...
Guest sees updated points balance
...
2.3. Using reward pre-selection
In this scenario, guests pre-select rewards on the RBI app and continue their journey in the POS by scanning the generated code. Then they add more rewards to their basket by choosing those rewards in the app and scanning them, and finally they ask the cashier to remove one of the rewards.
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Guest opens a reward on the RBI app
...
No action
...
Reward page is displayed:
...
Guest taps “Redeem in Restaurant”
...
No action
...
Reward is added to the guest’s pre-selection
A unique reward code is generated
...
Cashier is prompted whether the Guest has loyalty, and confirms
...
Cashier asked if guest is a loyalty member and clicks on “Ok”
...
No action
...
Guest either scans the reward code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification (since the reward code also identifies the Loyalty user):
...
Reward is added to POS cart
...
Guest receives a successful confirmation modal
...
The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance
Loyalty points that will be accrued after the order will not be added to the guest’s loyalty points balance at this stage
Reward pre-selection is cleared
...
Guest opens a second reward on the RBI app, chooses to redeem in restaurant
Info |
---|
Note: the flow is exactly the same if the guest pre-selects multiple rewards. |
...
No action
...
Only the second reward is added to the guest’s pre-selection
A unique reward code is generated
...
Guest either scans the reward’s QR code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification:
...
These reward(s) are incrementally added to the cart and do not replace any of the existing cart items
...
Modal is shown to guest confirming that the offer has been added to cart
...
The second reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance
At this point, the guest’s loyalty points balance has been deducted for two rewards
Loyalty points that will be accrued after the order will not be added to the guest’s loyalty points balance at this stage
Reward pre-selection is cleared
...
Guest requests to remove first reward from order
...
Cashier removes the first reward from the open order
Basket is updated accordingly
...
Guest sees the first reward’s loyalty points returned to their loyalty points balance
...
Cashier finalizes the order and guest pays at POS
...
POS prints receipt with points earned & points balance
...
Guest sees updated points balance
...
2.4. Limit one reward per purchase
Info |
---|
This scenario only happens if the market has decided to limit redemption of one reward per purchase. This is currently the case in PLK ES and BK ES for example. |
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Guest opens a reward on the RBI app
...
No action
...
Reward page is displayed:
...
Guest taps “Redeem in Restaurant”
...
No action
...
Reward is added to the guest’s pre-selection
A unique reward code is generated
...
Cashier is prompted whether the Guest has loyalty, and confirms
...
Cashier asked if guest is a loyalty member and clicks on “Ok”
...
No action
...
Guest either scans the reward code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification (since the reward code also identifies the Loyalty user):
...
Reward is added to POS cart
...
Guest receives a successful confirmation modal
...
The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance
Loyalty points that will be accrued after the order will not be added to the guest’s loyalty points balance at this stage
Reward pre-selection is cleared
...
Guest opens a second Reward on the RBI app, chooses to redeem in restaurant
...
No action
...
User will see modal in the app letting user know, use can only add 1 offer per order and prompting user to replace
...
Guest taps Replace
...
No action
...
New Reward is added to the guest’s pre-selection and the old reward is removed from pre-selection cart
...
Guest either scans the reward’s QR code, or tells the 6 digit code to the cashier
...
New reward replaces the previous selected reward in the POS basket
Other items in the POS basket are not removed or replaced
...
Modal is shown to guest confirming that the reward has been added to the POS basket
...
The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance
Loyalty points that will be accrued after the order will not be added to the guest’s loyalty points balance at this stage
Reward pre-selection is cleared
...
Cashier finalizes the order and guest pays at POS
...
POS prints receipt with points earned & points balance
...
Guest sees updated points balance
...
3. Edge cases
3.1. Switch users
This is a potential fraud use, where a guest authenticates themselves using one loyalty code, and then attempts to redeem rewards using a different loyalty code.
Info |
---|
This scenario is the same whether guests are redeeming offers or rewards. |
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Guest opens the Loyalty code page on the RBI app
...
N/A
...
Loyalty code page is displayed:
...
Cashier is prompted to add a loyalty code
...
Cashier asked if guest is a loyalty member:
...
No action
...
Guest either scans the loyalty code, or tells the 6 digit code to the cashier
...
If guest does not scan the QR code, cashier can enter the 6 digit Loyalty code:
...
Either by scanning or entering the code, POS confirms successful identification:
...
...
Guest receives a successful confirmation modal
...
...
Guest opens an reward on the RBI app in a different device, using a different user, and chooses to redeem in restaurant
...
No action
...
Reward of is added to the guest’s pre-selection (on the second device)
A unique reward code is generated
...
Guest (on their second device) either scans the reward’s QR code, or tells the 6 digit code to the cashier
...
Error modal shows in the POS, letting the cashier know that the last scan was made using a different user account
Contents of the second scan are not added to the guest’s basket (so the current basket remains unchanged)
The second scan is cancelled/voided
Initial order can continue normally
...
Modal is shown to the second user confirming that the offer has been added to cart
...
The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance
Loyalty points that will be accrued after the order will not be added to the guest’s loyalty points balance at this stage
Reward pre-selection is cleared
A few seconds later, the loyalty points are returned to the second user
3.2. Payment Failure
This can be caused if users do not have enough funds to be able to complete the transaction.
Info |
---|
This scenario is the same whether guests are redeeming offers or rewards. |
...
Steps
...
Expected results (POS)
...
Expected results (RBI app)
...
Guest opens a reward on the RBI app
...
No action
...
Reward page is displayed:
...
Guest taps “Redeem in Restaurant”
...
No action
...
Reward is added to the guest’s pre-selection
A unique reward code is generated
...
Cashier is prompted whether the Guest has loyalty, and confirms
...
Cashier asked if guest is a loyalty member and clicks on “Ok”
...
No action
...
Guest either scans the reward code, or tells the 6 digit code to the cashier
...
Either by scanning or entering the code, POS confirms successful identification (since the reward code also identifies the Loyalty user):
...
Reward is added to POS cart
...
Guest receives a successful confirmation modal
...
The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance
Loyalty points that will be accrued after the order will not be added to the guest’s loyalty points balance at this stage
Reward pre-selection is cleared
...
Cashier attempts to finalize the order but there is a payment failure and order is not completed
...
Order at the POS is cancelled
A few seconds later, the loyalty points of the pre-selected reward are returned to the guest
...
The purpose of these documents is to provide clear explanations of the functional loyalty processes. Screenshots and UI elements are for illustrative purposes only and should not be considered recommendations.
Tip |
---|
Best Practices for POS systems:
|