Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page documents the expected user experience when RBI guests are placing orders using the Kiosk, part of In-Store Loyalty & Offers Customer Journey.

Scenarios are broken down by offer and reward pre-selection and scanning, to make the different flows clear, but it is expected that customers can redeem both offers and rewards in the same order.

The are some variations possible depending on configurations chosen by different markets:

  • Whether the market uses open offers (i.e. offers that can be redeemed by guests who are not signed in). In markets that don’t allow open offers, its not possible to redeem offers while signed out. Closed offers are offer that are only available to guests that are signed in.

  • Whether the market allows offer selection using the Kiosk UI. This decision has been shown to have a PNL impact, so some markets don’t want this to be an option.

  • Whether the market allows redemption of multiple offers or multiple rewards in the same order. In markets that do not allow multiple offer/reward redemption, the UI (both on the RBI app and Kiosk) must make it clear to guests when they are replacing an existing selection with a new selection.

  • Whether the market uses QR code scanners. If not, the kiosk UI must allow guests to enter the loyalty or offer codes manually.

Contents

Table of Contents

1. Redeem offers

1.1. While signed out

In this scenario, guests do not sign in to the RBI app or the Kiosk, and they use an open offer. This scenario includes markets that have decided to allow showing offers on the Kiosk UI and markets that have decided not to show offer on the Kiosk UI.

...

Steps

...

Expected results (Kiosk)

...

Expected results (RBI app)

...

Guest looks at the Kiosk screen

...

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

...

  • N/A

...

  • 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. This screen does not show either offers or rewards tabs

...

  • 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 Offers tab

Info

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

...

  • Guest sees a list of offers. If offers are closed, they show up as locked and there is a clear way for guests to sign up to use them. If offers are open and the market has decided to show open offers, then it should be possible for guests to add them to their basket.

...

...

  • No action

...

...

Guest opens the RBI app without signing in, and selects an offer that is available when users are signed out (known as a “open offer”)

Info

Note: this is only available in markets that allow open offers.

Info

Note: markets that don’t use scanners do not show a QR code in the RBI app, only the alphanumerical code. In this case, the Kiosk must provide a way for guests to enter the code manually.

...

  • No action

...

  • Offer page is displayed:

    Image Removed

...

  • No action

...

Guest scans offer (static) alphanumerical code

...

  • Offer is added to the basket

...

  • If the offer was configured for single redemption use, it will disappear from teh app after 15 minutes

  • For static codes, we don’t show a confirmation in the RBI app

...

  • No action

...

Guest checks out and pays

...

  • Order number shows up on the screen

...

  • Receipt is printed

  • Ideally, guests would be shown the number of points they could have earned, and they are prompted to sign up

...

  • No action 

...

  • No action

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 Kiosk. The guest in this scenario does a second scan to add an offer after the initial identification.

...

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:

    Image Removed

...

  • Not applicable

...

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

...

  • Not applicable

...

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

...

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

Info

Note: if a user pre-selects more offers in the app, all pre-selected offers will show in the Kiosk screen after scanning with an option for the user to customize each offer

...

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

...

  • Modal is shown to guest confirming that the offer has been added to the basket

...

  • Loyalty points balance is not updated, since the guest is scanning an offer

  • Offer pre-selection is cleared

...

  • Keep track of the current basket contents including offers

  • Void the previous transaction

  • Call the Identify endpoint again, which will create a new transaction ID and selected offers

  • Update the basket with the offers returned

...

Guest customizes offers at will and touches confirm

...

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

...

  • No action

...

  • No action

...

On the Kiosk UI, navigates to the offers page

Info

Note: this step is only available in markets that have decided to show offers on the Kiosk UI.

...

Offers are displayed:

...

  • No action

...

...

Guest selects an offer

...

  • Details displayed

...

  • No action

...

  • No action

...

Guest adds offer to basket

...

  • Added incrementally

...

  • No action

...

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

...

Guest checks out and pays

...

  • Order number shows up on the screen

...

  • Receipt is printed (ideally the receipt would include the points earned and/or burned + the updated loyalty points balance)

...

  • Guest sees updated points balance

...

 

...

  • Call the Transaction Update endpoint with a status of CLAIMED to complete the order

  • After this call it is not possible to modify the loyalty transaction anymore

1.3. Using offer pre-selection

In this scenario, guests pre-select offers on the RBI app and continue their journey in the Kiosk 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 (Kiosk)

...

Expected results (RBI app)

...

Loyalty API usage (Kiosk)

...

Guest opens an offer on the RBI app

...

  • N/A

...

  • Offer page is displayed:

...

  • No action

...

Guest taps “Use at restaurant”

...

  • N/A

...

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

...

  • A unique offer 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 offer’s QR code or inputs 6 digit code into Kiosk

Info

Note: if a user pre-selects more offers in the app, all pre-selected offers will show in the Kiosk screen after scanning with an option for the user to customize each offer

...

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

...

  • 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, a list of offer(s) pre-selected, loyalty points balance and a transaction ID

...

Guest customizes offers at will and touches confirm

...

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

...

  • No action

...

  • No action

...

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

    Image Removed
  • A unique offer code is generated

...

  • No action

...

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

Info

Note: if a user pre-selects more offers in the app, all pre-selected offers will show in the Kiosk screen after scanning with an option for the user to customize each offer

...

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

...

  • 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

...

  • Keep track of the current basket contents including offers

  • Void the previous transaction

  • Call the Identify endpoint again, which will create a new transaction ID and selected offers

  • Update the basket with the offers returned

...

Guest customizes offers at will and touches confirm

...

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

...

  • No action

...

  • No action

...

On the Kiosk UI, navigates to the offers page

Info

Note: this step is only available in markets that have decided to show offers on the Kiosk UI.

...

Offers are displayed:

...

  • No action

...

...

Guest selects an offer

...

  • Details displayed

...

  • No action

...

  • No action

...

Guest adds offer to basket

...

  • Added incrementally

...

  • No action

...

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

...

Guest checks out and pays

...

  • Order number shows up on the screen

...

  • Receipt is printed (ideally the receipt would include the points earned and/or burned + the updated loyalty points balance)

...

  • Guest sees updated points balance

...

 

...

  • Call the Transaction Update endpoint with a status of CLAIMED to complete the order

  • After this call it is not possible to modify the loyalty transaction anymore

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 (Kiosk)

...

Expected results (RBI app)

...

Loyalty API usage (Kiosk)

...

Guest opens an offer on the RBI app

...

  • No action

...

  • Offer page is displayed:

...

  • No action

...

Guest taps “Use at restaurant”

...

  • No action

...

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

...

  • A unique offer 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

...

  • No action

...

  • No action

...

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

Info

Note: the pre-selected offer will show in the Kiosk screen after scanning with an option for the user to customize it

...

  • Offer is shown on the Kiosk and guest has an option to customize

...

  • 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, a list of offer pre-selected, loyalty points balance and a transaction ID

...

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 that only 1 offer can be added per order and prompting user to replace current offer

    Image Removed

...

  • No action

...

Guest taps Replace

...

  • No action

...

  • New offer is added to the guest’s pre-selection and old offer is removed from pre-selection cart

    Image Removed

...

  • No action

...

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

Info

Note: the pre-selected offer will show in the Kiosk screen after scanning with an option for the user to customize it

...

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

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

  • New offer is added to basket and guest has the option to personalize the offer

...

  • 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

...

  • Keep track of the current basket contents including offers

  • Void the previous transaction

  • Call the Identify endpoint again, which will create a new transaction ID and selected offers

  • Replace the previous offer in the basket with the offer returned

...

On the Kiosk UI, navigates to the offers page

Info

Note: this step is only available in markets that have decided to show offers on the Kiosk UI.

...

Offers are displayed:

...

  • No action

...

...

Guest selects an offer

...

  • Details displayed

...

  • No action

...

  • No action

...

Guest adds offer to basket

...

  • Guest sees modal in the Kiosk letting user know that only 1 offer can be added per order and prompting user to replace current offer

  • Example screen to be added here when available

...

  • No action

...

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

...

Guest checks out and pays

...

  • Order number shows up on the screen

...

  • Receipt is printed (ideally the receipt would include the points earned and/or burned + the updated loyalty points balance)

...

  • Guest sees updated points balance

...

 

...

  • Call the Transaction Update endpoint with a status of CLAIMED to complete the order

  • After this call it is not possible to modify the loyalty transaction anymore

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.

...

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

Info

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

...

...

Guest chooses to menu items instead, checks out and pays

...

  • Order number shows up on the screen

...

  • Receipt is printed

  • Ideally, 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.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 (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:

    Image Removed

...

  • 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

    Image Removed
  • 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 selected offers

  • 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 customizes rewards at will and touches confirm

...

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

...

  • No action

...

  • No action

...

On the Kiosk UI, navigates to the rewards page

Info

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

...

  • Rewards are displayed

...

  • No action

...

Guest adds a reward to basket

...

  • Guest selects and adds reward to cart

...

...

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

  • No modal is shown

    Image Removed

...

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

...

Guest remove a reward from basket and goes to checkout

...

  • 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 Update endpoint with all of the Kiosk basket contents and a status of PENDING

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

...

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

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 (Kiosk)

...

Expected results (RBI app)

...

Loyalty API usage (Kiosk)

...

Guest opens a reward on the RBI app

...

  • No action

...

  • Reward page is displayed:

    Image Removed

...

  • No action

...

Guest taps “Redeem in Restaurant”

...

  • No action

...

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

    Image Removed
  • 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 customizes rewards at will and touches confirm

...

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

...

  • No action

...

  • No action

...

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

    Image Removed
  • 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 selected offers

  • 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 customizes rewards at will and touches confirm

...

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

...

  • No action

...

  • No action

...

On the Kiosk UI, navigates to the rewards page

Info

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

...

  • Rewards are displayed

...

  • No action

...

...

Guest adds a reward to basket

...

  • Guest selects and adds reward to cart

...

...

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

  • No modal is shown

    Image Removed

...

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

...

Guest removes first reward from order and goes to checkout

...

  • 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 Update endpoint with all of the Kiosk basket contents and a status of PENDING

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

...

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

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 (Kiosk)

...

Expected results (RBI app)

...

Loyalty API usage (Kiosk)

...

Guest opens a reward on the RBI app

...

  • No action

...

  • Reward page is displayed:

    Image Removed

...

  • No action

...

Guest taps “Redeem in Restaurant”

...

  • No action

...

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

    Image Removed
  • 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

Info

Note: the pre-selected reward(s) will show in the Kiosk screen after scanning with an option for the user to customize it

...

  • 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 customizes rewards at will and touches confirm

...

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

...

  • No action

...

  • No action

...

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

    Image Removed

...

  • 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

    Image Removed

...

  • 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 rewards

  • Call the Identify endpoint again, which will create a new transaction ID and selected offers

  • Void the previous transaction

  • Wait for Void Confirmation

  • Replace the previous reward in the basket with the reward returned

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

...

Guest finalizes the order and pays at Kiosk

...

  • Kiosk 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

5. Edge cases

5.1. Switch users

  • Guest signs in, then scans a code from a different user

...

Steps

...

Expected results (POS)

...

Expected results (RBI app)

...

Loyalty API usage (Kiosk)

...

Guest opens the Loyalty code page on the RBI app

...

  • No action

...

  • Loyalty code page is displayed:

    Image Removed

...

  • 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

...

  • No action

...

  • 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 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)

    Image Removed
  • A unique reward code is generated

...

  • No action

...

Guest (on their second device) either scans the reward’s QR code, or inputs the 6 digit code in the Kiosk

...

  • Modal shows in the Kiosk, letting the user 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 (displaying this modal cannot be avoided)

...

  • 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

...

  • Keep track of the current basket contents including rewards

  • Call the Identify endpoint again, which will create a new transaction ID and selected offers

  • Detect Loyalty ID of this transaction does not match Loyalty ID of user of previous transaction

  • Void this transaction

  • Wait for Void Confirmation

  • Keep the current basket open with previous transaction

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

5.2. Users Order in Kiosk and Pay @ Counter

  • Guest begins an order in the kiosk and chooses option to pay at cash at counter. The POS will need to close this order.

...

Steps

...

Expected results (Kiosk)

...

Expected results (RBI app)

...

Loyalty API usage (Kiosk)

...

Guest opens the Loyalty code page on the RBI app

...

  • No action

...

  • Loyalty code page is displayed:

    Image Removed

...

  • 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

...

  • No action

...

  • 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

    Image Removed
  • A unique reward code is generated

...

  • No action

...

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

Info

Note: the pre-selected reward(s) will show in the Kiosk screen after scanning with an option for the user to customize it

...

  • 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 selected offers

  • 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 customizes rewards at will and touches confirm

...

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

...

  • No action

...

  • No action

...

On the Kiosk UI, navigates to the rewards page

Info

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

...

  • Rewards are displayed

...

  • No action

...

...

Guest adds a reward to basket

...

  • Guest selects and adds reward to cart

...

...

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

    Image Removed

...

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

...

Guest remove a reward from basket

...

  • Guest removes a reward from Kiosk basked

...

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

...

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

...

Guest chooses to pay at the counter using cash

...

  • Kiosk and POS exchange an order ID (this depends on the specific POS/Kiosk integration)

  • Receipt is printed with the pending order ID

...

  • No change

 

...

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

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

  • Kiosk sends this transaction request with the order details to POS vendor

...

Guest arrives at the counter to pay and decides to add 1 more menu item to order

...

  • Cashier finds the order of guest

  • Cashier adds 1 more menu item to open order

  • Cashier finalizes the order at POS after receiving cash payment

Info

Note: assumption that the open order is associated with the guest’s Loyalty identifier.

...

  • Guest sees updated points balance

...

  • After update to order are done in the POS, call the Transaction Update endpoint with a status of CLAIMED

...

Info

Note: In the case guest never goes to cashier to complete payment

...

  • POS cancels the order after X minutes (configurable by the POS) that the guest has not paid the order started at the Kiosk

...

  • Temporary reward points that were deducted from User’s account are returned back to user balance after X minutes

...

  • The purpose of these documents is to provide clear explanations of the functional loyalty processes.

  • The screenshots and UI elements are for illustrative purposes only and should not be considered as recommendations.

Contents

Kiosk - Redeem Offers

Kiosk - Redeem Rewards

Kiosk - Edge Cases