Steps | Expected results (POS) | Expected results (RBI app) | Loyalty API usage (POS) |
---|
Guest opens an offer on the RBI app | | | |
Guest taps “Use at restaurant” | | | |
Cashier is prompted whether the Guest has loyalty, and confirms | | | |
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):
| | 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 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. |
| | | |
Guest either scans the offer’s QR code, or tells the 6 digit code to the cashier | | 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 | 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 |
| | 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 | | | 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
|