POS - Redeem Rewards

This page documents the expected user experience when RBI guests redeem rewards when they place orders using the POS, part of . See also and .

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)

Steps

Expected results (POS)

Expected results (RBI app)

Loyalty API usage (POS)

Guest opens the Loyalty code page on the RBI app

  • N/A

  • Loyalty code page is displayed:

  • No action

Cashier is prompted to add a loyalty code

  • Cashier asked if guest is a loyalty member:

  • No action

  • 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

 

  • Call the Identify endpoint, which will return the Loyalty User ID, loyalty points balance and a transaction ID

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

  • No action

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 reward 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

  • 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 finalizes the order and guest pays at POS

  • POS prints receipt with points earned & points balance

  • Guest sees updated points balance

 

  • Call the Transaction Validate endpoint to verify that the current basket selection is valid

  • Call the Transaction Update endpoint with a status of CLAIMED

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)

Steps

Expected results (POS)

Expected results (RBI app)

Loyalty API usage (POS)

Guest opens a reward on the RBI app

  • No action

  • Reward page is displayed:

  • No action

Guest taps “Redeem in Restaurant”

  • No action

  • Reward is added to the guest’s pre-selection

  • A unique reward code is generated

  • No action

Cashier is prompted whether the Guest has loyalty, and confirms

  • Cashier asked if guest is a loyalty member and clicks on “Ok”

  • No action

  • 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

  • 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

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

  • No action

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 reward 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

  • 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

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

  • Call the Update endpoint with all of the Kiosk basket contents and a status of PENDING

Cashier finalizes the order and guest pays at POS

  • POS prints receipt with points earned & points balance

  • Guest sees updated points balance

 

  • Call the Transaction Validate endpoint to verify that the current basket selection is valid

  • Call the Transaction Update endpoint with a status of CLAIMED

Next: