This page documents the expected user experience when RBI guests redeem rewards when they place orders using the POS, part of Customer Journey Scenarios - POS. See also POS - Redeem Offers and POS - Edge Cases.
Info |
---|
Note: Adding a modifier(s) to a reward could have an extra cost Cost is set by the market and POS vendor Example: extra patty on a Whopper reward costs $1 more than the base reward price of $0
|
Contents
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. Authenticating with the 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) | Loyalty API usage (POS) |
---|
Guest opens the Loyalty code page on the RBI app | | | |
Cashier is prompted to add a loyalty code | Image Added | | |
Guest either scans the loyalty code, or tells the 6 digit code to the cashier | Image AddedImage Added | Image Added | |
Guest requests cashier to add a Reward from POS | | 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
| Call the Transaction Validate endpoint to verify that the current basket selection is valid Note that the call above may return errors. Please refer to Loyalty API v1 - Error Responses for details. Call the Update endpoint with all of the POS basket contents and a status of PENDING
|
Guest then decides to open a reward on the RBI app, chooses to redeem in restaurant | | | |
Guest either scans the reward’s QR code, or tells the 6 digit code to the cashier | Image Added | Image AddedThe 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
| Keep track of the current basket contents including rewards Call the Identify endpoint again, which will create a new transaction ID and return selected reward(s) Void the previous transaction Wait for Void Confirmation Call the Update endpoint with all of the POS basket contents and a status of PENDING
|
Cashier adds reward to basket | Info |
---|
Note: If a reward can’t be redeemed because the reward rules are not met, the POS displays a modal to the cashier explaining why the reward can’t be added to cart |
| | Call the Transaction Validate endpoint to verify that the current basket selection is valid Note that the call above may return errors. Please refer to Loyalty API v1 - Error Responses for details. Call the Update endpoint with all of the POS basket contents and a status of PENDING
|
Cashier finalizes the order and guest pays at POS | | Image Added | |
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) | Loyalty API usage (POS) |
---|
Guest opens a reward on the RBI app | | | |
Guest taps “Redeem in Restaurant” | | | |
Cashier is prompted whether the Guest has loyalty, and confirms | Image Added | | |
Guest either scans the reward code, or tells the 6 digit code to the cashier | Image Added | Image AddedThe 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
| Call the Identify endpoint, which will return the Loyalty User ID, a list of reward(s) pre-selected, loyalty points balance and a transaction ID
|
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. |
| | | |
Guest either scans the reward’s QR code, or tells the 6 digit code to the cashier | Image Added | Image AddedThe 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
| Keep track of the current basket contents including rewards Call the Identify endpoint again, which will create a new transaction ID and return the selected reward(s) Void the previous transaction Wait for Void Confirmation Call the Update endpoint with all of the Kiosk basket contents and a status of PENDING
|
Cashier adds reward to basket | Info |
---|
Note: If a reward can’t be redeemed because the reward rules are not met, the POS displays a modal to the cashier explaining why the reward can’t be added to cart |
| | |
Guest requests to remove first reward from order | | | |
Cashier goes to basket | Info |
---|
Note: If a reward can’t be redeemed because the reward rules are not met, the POS displays a modal to the cashier explaining why the reward can’t be added to cart |
| | Call the Transaction Validate endpoint to verify that the current basket selection is valid If Transaction Validate was called above when rewards were added to the basket, there is less probability of errors but they could still happen due to issues with regular menu items. Note that the call above may return errors. Please refer to Loyalty API v1 - Error Responses for details.
|
Cashier finalizes the order and guest pays at POS | | Image Added | |
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) | Loyalty API usage (POS) |
---|
Guest opens a reward on the RBI app | | | |
Guest taps “Redeem in Restaurant” | | | |
Cashier is prompted whether the Guest has loyalty, and confirms | Image Added | | |
Guest either scans the reward code, or tells the 6 digit code to the cashier | Image Added | Image AddedThe 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
| Call the Identify endpoint, which will return the Loyalty User ID, the pre-selected reward, the loyalty points balance and a transaction ID
|
Guest opens a second Reward on the RBI app, chooses to redeem in restaurant | | Image Added | |
Guest taps Replace | | | |
Guest either scans the reward’s QR code, or tells the 6 digit code to the cashier | | Image AddedThe 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
| Keep track of the current basket contents including the past scanned reward Call the Identify endpoint again, which will create a new transaction ID with the new reward Void the previous transaction Wait for Void Confirmation Replace the previous reward in the basket with the new reward Call the Update endpoint with all of the POS basket contents and a status of PENDING
|
Cashier adds reward to basket | Info |
---|
Note: If a reward can’t be redeemed because the reward rules are not met, the POS displays a modal to the cashier explaining why the reward can’t be added to cart |
| | |
Cashier finalizes the order and guest pays at POS | | Image Added | |