...
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
1. Overview
This page lists test cases that we recommend FZ’s operators and POS/Kiosk vendors to follow when developing an In-Restaurant integration to RBI Loyalty. All Data Loyalty data events, attributes and explanations descriptions are outlined here: Event Tracking.
2.
...
Test Cases for In-Store Loyalty
Instructions for Integration Partners (Kiosk and POS)
2.1. Staging environment
For the purposes of testing, you will need access to a Staging environment. Please contact RBI to get:
A URL for the Loyalty (Staging) environment. This will be used to make calls to the Loyalty Middleware endpoints. and credentials to the correct environment. URL’s should have the following format, for example for the identify endpoint: https://euc1-staging-{brand}-loyalty-middleware.rbictg.com/loyalty/identify
Credentials to use the environment above
A URL for the RBI app (Staging). This will be used to simulate guest actions such as generating OTP codes or redeeming rewards and offers.
A password to access the environment above
More information about the Loyalty Middleware can be found here: Loyalty API
2.2. Generating OTP codes
To generate 6-digit codes for testing and identifying user, you will need to go to the RBI app on the Staging environment and:
Create a new account with your choice of email address
Toggle the mobile view on your browser by using responsive mode
Click “My Code”. The My Code page with the OTP will look something like this (BK shown in the example below):
...
3. Test Cases
3.1. POS and Kiosk
Info |
---|
Please follow all test cases for all different POS and Kiosk vendors in the market |
...
:
|
...
|
...
|
...
|
...
|
...
|
...
Kiosk
Identifying user
...
Identify user with 6 digit Loyalty OTP or scanning Loyalty QR code, select menu item, Offer and/or Reward in the kiosk and check if correct amount of points is added to user balance
...
|
2.1. Scanning loyalty code
Steps | Expected Results | Data Events |
---|---|---|
User inputs 6 digit Loyalty code or scans Loyalty QR code |
| The event |
User pre-selects a reward and inputs 6 digit Loyalty code or scans Loyalty QR code |
| The event |
User pre-selects an offer and inputs 6 digit Loyalty code or scans Loyalty QR code |
| The event |
2.2. Validation
...
Steps | Expected Results |
---|
Transaction Validate endpoint
Data Events | ||
---|---|---|
User inputs 6 digit Loyalty code or scans Loyalty QR code | User sees success modal in the app | The event |
User that has no other items in the basket attempts to add an Offer that has a minimum spend of $5 required |
...
Adding more than 1 offer per order, completing transaction and checking if correct amount of loyalty points is added to user balance
...
. Loyalty API will return error and error message will show in the Kiosk showing that at least $5 needs to be added to check for offer to be redeemed in Kiosk. |
|
*Please test all potential rule validation errors and responses described in this document
Earning loyalty points
...
Pre-select Offer in the app, login to POS and complete transaction and check if correct amount of points is added to user balance
...
Identify user with 6 digit Loyalty OTP or scanning Loyalty QR code, select offer and/or Menu Item in the POS and check if correct amount of points is added to user balance
| N / A |
2.3. Earning loyalty points
Steps | Expected Results | Data Events | ||
---|---|---|---|---|
Pre-select offer in the app, scan loyalty code at Kiosk/POS and complete the order with this offer. |
| these events are fired:
| ||
Input 6 digit Loyalty code or scan QR code, then select offer and/or menu item in the Kiosk/POS |
|
...
these events are fired:
|
...
|
...
If Rewards are included in the purchase, the event Reward Redeemed In Store
is also fired
...
|
...
Burning loyalty points
|
Pre-select |
...
offer in the app |
...
Identify user with 6 digit Loyalty OTP or scanning Loyalty QR code, select Reward in the POS and check if correct amount of points is removed from user balance
Adding more than 1 reward per order, completing transaction and checking if correct amount of loyalty points is removed from user balance
...
and input 6 digit Loyalty code at Kiosk/POS. Then select a second offer in the Kiosk/POS. |
|
...
these events are fired:
|
...
|
...
...
|
...
Earning and Burning
|
2.4. Burning loyalty points
Steps | Expected Results | Data Events |
---|---|---|
Pre-select |
...
reward in the app, |
...
Pre-select Reward in the app, login to POS, add a menu item in the POS, complete transaction, and check if correct amount of points is added and removed from final user balance
...
Identify user with 6 digit Loyalty OTP or scanning Loyalty QR code, add offer and/or reward and/or menu item in the POS and check if correct amount of points is added and removed from final user balance
...
Adding more than 1 reward and more than 1 offer per order, completing transaction and checking if correct amount of loyalty points is added and removed from user balance
*This test case assumes the market you are testing for allows for more than 1 Reward and more than 1 Offer to be added per order
...
Loyalty Receipt match content added in Sanity and structure specification of vendor
...
scan loyalty code at Kiosk/POS and complete transaction with Offer |
| these events are fired:
|
Input 6 digit Loyalty code or scan QR code, then select a reward in the Kiosk/POS |
| these events are fired:
|
...
|
...
...
|
...
|
...
Void Transaction / Cancelling Loyalty Transaction
User pre-selects Offer and/or Reward in the app, logins to the Kiosk, BUT decides not to finish order in the Kiosk → WHEN Kiosk times out (session closes), Kiosk vendor sends VOID transaction to Loyalty API and user loyalty points returns to previous balance before transaction was started
User pre-selects Offer and/or Reward in the app, logins to the Kiosk, BUT Payment fails at checkout and/or Order fails to inject into POS, THEN Kiosk vendor sends VOID transaction to Loyalty API and user loyalty points returns to previous balance before transaction was started
User pre-selects Offer and/or Reward in the app, logins to the Kiosk, BUT the Reward and/or Offer fails to be added to Kiosk → IF user decides to re-scan Loyalty OTP code, THEN Kiosk vendor sends VOID transaction to Loyalty API and user loyalty points returns to previous balance before user begins a new transaction
Data events: the event
Loyalty Transaction Voided
is triggered at this time
POS
Identifying user
...
Identify user with 6 digit Loyalty OTP or scanning Loyalty QR code, select menu item, Offer and/or Reward in the POS and check if correct amount of points is added to user balance
...
| ||
Pre-select reward in the app and input 6 digit Loyalty code at Kiosk/POS. Then select a second reward in the Kiosk/POS. |
| these events are fired:
|
...
|
...
...
|
...
|
...
Transaction Validate endpoint
User logins with Loyalty into POS, and adds an Offer that has a minimum spend of $5 required with no other menu item selected in the POS. Loyalty API will return error and error message will show in the POS showing that at least $5 needs to be added to check for offer to be redeemed in POS.
*Please test all potential rule validation errors and responses described in this document
Earning loyalty points
...
Pre-select Offer in the app, login to POS and complete transaction and check if correct amount of points is added to user balance
...
Identify user with 6 digit Loyalty OTP or scanning Loyalty QR code, select offer and/or Menu Item in the POS and check if correct amount of points is added to user balance
Adding more than 1 offer per order, completing transaction and checking if correct amount of loyalty points is added to user balance
...
|
2.5. Earning and burning loyalty points
Steps | Expected Results | Data Events | |
---|---|---|---|
Pre-select reward and an offer in the app, and scan loyalty code at Kiosk/POS. Complete order with offer and reward. |
|
...
these events are fired:
|
...
|
...
...
|
...
|
...
Burning loyalty points
Pre-select |
...
reward in the app |
...
and input 6 digit Loyalty |
...
code or |
...
scan QR code |
...
. Then, add a menu item in the Kiosk/POS |
...
, and complete the transaction. |
|
...
|
...
|
...
*This test case assumes the market you are testing for allows for more than 1 Reward per order
|
...
these events are fired:
|
...
|
...
...
|
...
|
...
Earning and Burning
...
Pre-select Reward and Offer in the app, login to POS, complete transaction and check if correct amount of points is added and removed from final user balance
...
Pre-select Reward in the app, login to POS, add a menu item in the POS, complete transaction, and check if correct amount of points is added and removed from final user balance
...
Identify user with 6 digit Loyalty OTP or scanning Loyalty QR code, add offer and/or reward and/or menu item in the POS and check if correct amount of points is added and removed from final user balance
Adding more than 1 reward and more than 1 offer per order, completing transaction and checking if correct amount of loyalty points is added and removed from user balance
...
Input 6 digit loyalty code or scan QR code. Then, add a menu item, an offer, and a reward in the Kiosk/POS, and complete the transaction. |
| these events are fired:
| ||
Input 6 digit loyalty code or scan QR code. Then, add a menu item, 2 (or more) offers, and 2 (or more) rewards in the Kiosk/POS, and complete the transaction. |
|
...
these events are fired:
|
...
|
...
...
|
...
|
...
Void Transaction / Cancelling Loyalty Transaction
...
|
2.6. Cancelling Transaction
Steps | Expected Results | Data Events |
---|---|---|
Pre-select offer and/or reward in the app, and scan loyalty code at Kiosk/POS. User decides not to finish order in the |
...
Kiosk. |
| this event is fired:
|
Pre-select offer and/or reward in the app, and scan loyalty code at Kiosk/POS. Payment fails at checkout and/or |
...
order fails to inject |
...
Data events: the event Loyalty Transaction Voided
is triggered at this time
Kiosk & POS
Pay@Counter Test Cases
User logins in the Kiosk with or without pre-selected items, selects Pay@Counter, and completes purchase in the counter/POS successfully
...
User loyalty points with new order are updated before user pays for order in the counter/POS
...
Once user pays for order in the counter/POS successfully, then user continues with updated loyalty point balance
...
in the POS. |
| this event is fired:
|
Pre-select offer and/or reward in the app, and scan loyalty code at Kiosk/POS but the reward or offer fails to be added to the kiosk and guest decides to scan a new loyalty code. |
| these events are fired:
|
3.2. Pay at counter
Info |
---|
Repeat these tests for every combination of POS + Kiosk vendor in the market. |
Steps | Expected Results | Data Events |
---|---|---|
User scans loyalty code at the Kiosk, creates a basket, selects Pay at Counter option and completes order. |
| this event is fired:
|
User then approaches cashier and pays with cash the order he placed at the kiosk. |
| these events are fired:
|
...
|
...
If Rewards are included in the purchase, the event
Reward Redeemed In Store
is also firedIf Offers are included in the purchase, the event
Offer Redeemed In-store
is also fired
User logins in the Kiosk with or without pre-selected items, selects Pay@Counter, and NEVER completes purchase in the counter/POS successfully
...
User loyalty points with new order are updated before user pays for order in the counter/POS
...
Another user logs into the kiosk, scans loyalty code, creates a basket, selects Pay at Counter option BUT never goes to pay order at the counter. |
|
...
|
...
Data events: the event Loyalty Transaction Voided
and Loyalty Transaction Deleted
are triggered at this time
Test Cases for In-Store Offers
- Open RBI app
- Go to your offer list (
/rewards/offers
) - Click on the Offer you would like to test in-store
- Click on the button to
Use at Restaurant
- Scan the in-store Offer QR Code or input the offer code in the respective POS/Kiosk vendor
- Check correct offer shows in POS/Kiosk screen
- Complete the transaction
- Confirm your Loyalty points balance increase by the correct amount
- Confirm your offer disappears from your offer list (*UNLESS specified otherwise with Sanity rulesets)
- Confirm the
Offer Redeem In-Store
event is fired in Amplitude for your user and redeemed offer
Instructions for Integration Partners (Kiosk and POS)
Staging environment
For the purposes of testing, you will need access to a Staging environment. Please contact RBI to get:
A URL for the Loyalty (Staging) environment. This will be used to make calls to the Loyalty Middleware endpoints. and credentials to the correct environment. URL’s should have the following format, for example for the identify endpoint: https://euc1-staging-{brand}-loyalty-middleware.rbictg.com/loyalty/identify
Credentials to use the environment above
A URL for the RBI app (Staging). This will be used to simulate guest actions such as generating OTP codes or redeeming rewards and offers.
A password to access the environment above
More information about the Loyalty Middleware can be found here: Loyalty Middleware
Generating OTP codes
To generate 6-digit codes for testing and identifying user, you will need to go to the RBI app on the Staging environment and:
Create a new account with your choice of email address
Toggle the mobile view on your browser by using responsive mode
Click “My Code”. The My Code page with the OTP will look something like this (BK shown in the example below):
...
| these events are fired:
|