Kiosk - Redeem Rewards

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

Note:

  • Adding a modifier(s) to a reward could have an extra cost

  • Cost is set by the market and Kiosk/POS vendor

  • Example: extra patty on a Whopper reward costs $1 more than the base reward price of $0

Contents

1. While signed out

Redeeming rewards while signed out is not possible. Rewards are only available to guests who have an account and have enrolled in the Loyalty program.

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Guest looks at the Kiosk screen

  • A page shows up inviting the guest to start an order

  • No action

  • No action

Guest touches the screen to start a new order

  • Guest is prompted to sign in

  • No action

  • No action

Guest decides to continue without signing in

  • Kiosk order screen show up:

  • Guest can sign in at any time by using the scanner or touching a sign in button

  • No action

  • No action

Guest taps on the rewards tab

Note: this step is only possible if the market has decided to allow showing rewards on the UI.

  • Guest sees a list of locked rewards. If a market has decided to not show rewards when users are signed out, the rewards tab would not be available in the Kiosk UI

 

  • No action

  • Query Sanity to Display Rewards in the Kiosk

Guest chooses to add menu items instead, checks out and pays

  • Order number shows up on the screen

  • Receipt is printed

Note: (optional) guests would be shown the number of points they could have earned, and they are prompted to sign up for their next order

  • No action 

  • No action

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. The guest then adds a following reward from the Kiosk UI to the basket.

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Guest opens the Loyalty code page on the RBI app

  • N/A

  • Loyalty code page is displayed:

  • No action

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • No action

Guest scans the loyalty code or inputs 6 digit code in Kiosk

  • Kiosk authenticates the guest and shows the home page

  • Scanner remains active

  • 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 inputs 6 digit code into Kiosk

  • Pre-selected reward(s) are shown on the Kiosk and guest has an option to customize

  • 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 at this moment

  • 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

Guest customizes reward(s) at will and adds to basket

  • The reward(s) are incrementally added to the cart and does not replace any of the existing cart items

  • No action

  • 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 for details.

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

On the Kiosk UI, navigates to the rewards page

  • Rewards are displayed

  • No action

  • Query Sanity to Display Rewards in the Kiosk

Guest adds a reward to basket

  • Guest selects and adds reward to cart

  • These reward(s) are incrementally added to the cart and do not replace any of the existing cart items

 

  • The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance in the app

  • No modal is shown

  • 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 for details.

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

Guest removes a reward from basket

  • Guest removes a reward from Kiosk basket

  • The reward’s loyalty points is temporarily added back to the guest’s loyalty points balance in the app

  • No modal is shown

  • 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 for details.

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

Guest goes to checkout screen

  • Guest sees list of all chosen items in basket

  • No action

  • 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 for details.

Guest checks out and pays

  • Order number shows up on the screen

  • Receipt is printed

  • Guest sees updated points balance

 

  • 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 Kiosk by scanning the generated code. Then they add another reward directly in the kiosk screen, and finally they remove one of the added rewards before checking out.

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

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

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • No action

Guest either scans the reward’s QR code or inputs 6 digit code into Kiosk

  • Pre-selected reward(s) are shown on the Kiosk and guest has an option to customize

  • 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 at this moment

  • 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

  • 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 second reward’s QR code or inputs 6 digit code into Kiosk

  • Pre-selected reward(s) are shown on the Kiosk and guest has an option to customize

  • 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 at this moment

  • 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

Guest customizes reward(s) at will and adds to basket

  • The reward(s) are incrementally added to the cart and does not replace any of the existing cart items

  • No action

  • 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 for details.

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

On the Kiosk UI, navigates to the rewards page

  • Rewards are displayed

  • No action

  • Query Sanity to Display Rewards in the Kiosk

Guest adds a reward to basket

  • Guest selects and adds reward to cart

  • These reward(s) are incrementally added to the cart and do not replace any of the existing cart items

 

  • The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance in the app

  • No modal is shown

  • 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 for details.

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

Guest removes first reward from order

  • Guest removes the first reward from the Kiosk cart

  • Basket is updated accordingly

  • Guest sees the first reward’s loyalty points returned to their loyalty points balance in the app

  • No modal is shown

  • 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 for details.

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

Guest goes to checkout screen

  • Guest sees list of all chosen items in basket

  • No action

  • 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 for details.

Guest checks out and pays

  • Order number shows up on the screen

  • Receipt is printed

  • Guest sees updated points balance

 

  • Call the Transaction Update endpoint with a status of CLAIMED

4. Limit one reward per purchase

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

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

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • No action

Guest either scans the reward’s QR code or inputs 6 digit code into Kiosk

  • Reward(s) are shown on the Kiosk and guest has an option to customize

  • 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 at this moment

  • 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 customizes reward at will and adds to basket

  • This reward is incrementally added to the cart and does not replace any of the existing cart items

  • No action

  • 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 for details.

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, user can only add 1 reward per order and prompting user to replace reward in basket with newly selected reward

  • No action

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

  • No action

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 replaced reward’s loyalty points are returned to user balance

  • The new 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 Kiosk basket contents and a status of PENDING

On the Kiosk UI, navigates to the rewards page

  • Rewards are displayed

  • No action

  • Query Sanity to Display Rewards in the Kiosk

Guests selects reward in Kiosk screen

  • Guest sees message in the Kiosk letting user know, user can only add 1 reward per order and prompting user to replace reward in basket with newly selected reward

  • No action

  • No action

Guest clicks on Replace reward

  • New reward replaces the previous selected reward in the Kiosk basket

  • Other items in the Kiosk basket are not removed or replaced

  • The reward’s loyalty points cost is temporarily subtracted from the guest’s loyalty points balance in the app

  • No modal is shown

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

Guest goes to checkout screen

  • Guest sees list of all chosen items in basket

  • No action

  • 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 for details.

Guest finalizes the order and pays at Kiosk

  • Kiosk prints receipt with points earned & points balance

  • Guest sees updated points balance

 

  • Call the Transaction Update endpoint with a status of CLAIMED