This page documents the expected user experience when RBI guests redeem offers when they place orders using the POS, part of Customer Journey Scenarios - POS. See also POS - Redeem Rewards and POS - Edge Cases.
When hitting the Transaction Validate endpoint, please refer to Loyalty API - Error List to query and show error messages for each rule (e.g. Offer is only redeemable with a check above $10).
Contents
...
Steps | Expected results (POS) | Expected results (RBI app) | Loyalty API usage |
---|
Guest opens the Loyalty code page on the RBI app | | | |
Cashier is prompted to add a loyalty code | | | |
Guest either scans the loyalty code, or tells the 6 digit code to the cashier | | | |
Guest opens an offer on the RBI app, chooses to redeem in restaurant | | | |
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 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 - Error List for details.
|
Cashier finalizes the order and guest pays at POS | | | 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 - Error List for details. After collecting the payment, 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
|
...
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 | | | 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 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 - Error List for details.
|
Cashier finalizes the order and guest pays at POS | | | 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 - Error List for details. After collecting the payment, 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
|
...
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 | | | 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 | | | |
Guest taps Replace | | | |
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 past scanned offer Void the previous transaction Call the Identify endpoint again, which will create a new transaction ID with the new offer Replace the past scanned offer in the POS basket with the new offer
|
Cashier finalizes the order and guest pays at POS | | | 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 - Error List for details. After collecting the payment, 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
|
...