Steps | Expected results (Kiosk) | Expected results (RBI app) | Loyalty API usage (Kiosk) |
---|
Guest opens the Loyalty code page on the RBI app | | | |
Guest taps on the Kiosk screen to start a new order | | | |
Guest scans the loyalty code or inputs 6 digit code in Kiosk | | | |
Guest opens an reward on the RBI app, chooses to redeem in restaurant | | | |
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 |
| | | Keep track of the current basket contents including rewards Call the Identify endpoint again, which will create a new transaction ID and return selected reward(s) Void the previous transaction Wait for Void Confirmation
|
Guest customizes reward(s) at will and adds to basket | Info |
---|
Note: If a reward can’t be redeemed because the reward rules are not met, the Kiosk displays a modal to the guest 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 - Error List for details. Call the Update endpoint with all of the Kiosk basket contents and a status of PENDING
|
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. |
| | | |
Guest adds a reward to basket | | | 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. Call the Update endpoint with all of the Kiosk basket contents and a status of PENDING
|
Guest remove a reward from basket | | | 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. Call the Update endpoint with all of the Kiosk basket contents and a status of PENDING
|
Guest goes to checkout screen | | | |
Guest chooses to pay at the counter using cash Note |
---|
After guest chooses to pay at counter, transaction might be closed after 15mins |
| | | |
Guest arrives at the counter to pay, guests add 1 more menu item to order and pays for the 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 POS prints receipt with points earned & points balance
Info |
---|
Note: assumption that the open order is associated with the guest’s Loyalty identifier. |
| | The Kiosk should communicate with the POS to transfer the order over (this step is implementation-dependent and out of scope for this document) No action performed on the Loyalty API 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, the POS should call the Transaction Update endpoint with a status of CLAIMED After this call it is not possible to modify the loyalty transaction anymore
|
Info |
---|
Note: In the case guest never goes to cashier to complete payment |
| | | |