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 (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 create a new transaction ID and return selected reward(s)

Cashier adds reward to basket

  • Added incrementally

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

  • 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 Loyalty API v1 - Error Responses for details.

Cashier attempts to finalize the order but there is a payment failure and order is not completed

  • Order at the POS is cancelled

  • A few seconds later, the loyalty points of the pre-selected reward are returned to the guest

 

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

  • Call the Void endpoint to cancel the order

...

Steps

Expected results (POS)

Expected results (RBI app)

Loyalty API usage (POS)

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

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 offer code, or tells the 6 digit code to the cashier

  • Cashier sees pop up in POS letting user know they will not gain/burn any loyalty points with this order

  • Either by scanning or entering the code, POS confirms successful identification (since the offer code also identifies the Loyalty user):

  • Offer is added to POS cart

  • Guest receives a successful confirmation modal

  •  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

  • The Loyalty API will know this store does not have Loyalty enabled

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

  • A unique offer code is generated

  • No action

Guest either scans the offer’s QR code, or tells the 6 digit code to the cashier

  • Either by scanning or entering the code, POS confirms successful identification:

  • These offer(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 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

Cashier adds offer to basket

  • Added incrementally

Info

Note: If a reward can’t be redeemed because the offer rules are not met, the POS displays a modal to the cashier explaining why the reward can’t be added to cart

  • 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 Loyalty API v1 - Error ListResponses for details.

Cashier checks out and pays

  • POS prints receipt

  • Guest does NOT sees updated points balance

  • Points do not change from before and after the order was placed

 

  • 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

  • Once this transaction is CLAIMED no Loyalty points are updated in the user’s balance

...