Loyalty API v1 - In-Restaurant Testing
Contents
1. Overview
This page lists test cases that we recommend operators and POS/Kiosk vendors to follow when developing an In-Restaurant integration to RBI Loyalty. All Loyalty data events, attributes and descriptions are outlined here: https://rbictg.atlassian.net/wiki/spaces/COG/pages/4041605157.
2. 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: https://rbictg.atlassian.net/wiki/spaces/RDP/pages/4224254053
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
Please follow all test cases for all different POS and Kiosk vendors in the market:
For Rewards, repeat all test cases with all reward types available: item rewards, combo rewards, reward discounts, and rewards redeemable for points and euros.
For Offers, repeat all test cases with all offer types available: Systemwide, Personalized, and Discounted Offers.
For Data events, check that all events and their properties are being triggered successfully: https://rbictg.atlassian.net/wiki/spaces/COG/pages/4041605275
For deposits, ensure they are not counted towards loyalty points.
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 | 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. 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. |
| 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. |
Note: Unless the user can redeem the offer more than once, specified with 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 |
Note: Unless the user can redeem the offer more than once, specified with offer
| these events are fired:
|
Pre-select offer in the app and input 6 digit Loyalty code at Kiosk/POS. Then select a second offer in the Kiosk/POS. |
| these events are fired:
|
2.4. Burning loyalty points
Steps | Expected Results | Data Events |
---|---|---|
Pre-select reward in the app, 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:
|
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:
|
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:
|
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. |
| these events are fired:
|
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:
|
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 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
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:
|
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.
|
| these events are fired:
|