Versions Compared

Key

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

...

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:

  • 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 RemovedImage Added
  • 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 offersDetect and wait for the response

  • The new transaction will come with a different loyaltyId

  • Check the Loyalty ID of this transaction does not match Loyalty ID of user of previous transaction

  • Void this second transactionWait for Void Confirmation

  • Keep the current basket open with previous transactionCall the Update endpoint with all of the Kiosk basket contents and a status of PENDING

2. Users Order in Kiosk and Pay @ Counter

...

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:

  • 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 RemovedImage Added
  • 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 return selected offersreward(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 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

  • 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

  • Call the Void endpoint to cancel the order after X minutes

...