...
Please follow all test cases for all different POS and Kiosk vendors in the market. For Rewards, run all test cases with both item and combo rewards. For Offers, run all test cases with all Offer types available: e.g. Systemwide Offers and Personalized Offers. For Data events, check that all events are being triggered successfully for all POS and Kiosk vendors.
...
POS
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
Data events: the event
Loyalty Transaction Created
is triggered at this time
Transaction Validate endpoint (no validate in DE)
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
initial point balance: 76474
total transaction = 4.24 (0.25 is deposit)
should earn = 39 loyalty points (4.24-0.25)
final points = 76513 (deposits working)
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
*This test case assumes the market you are testing for allows for more than 1 Offer per order
Loyalty Receipt match content added in Sanity and structure specification of vendor
Data events: the event
Loyalty Transaction Claimed
whenchannel = RESTAURANT
and the eventLoyalty Transaction Claimed In-store
are triggered at this timeIf 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
Burning loyalty points
Pre-select Reward in the app, login to POS, complete transaction and check if correct amount of points is removed from user balance
FRAUD cases (cannot select reward in POS) 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
*This test case assumes the market you are testing for allows for more than 1 Reward per order
Loyalty Receipt match content added in Sanity and structure specification of vendor
Data events: the event
Loyalty Transaction Claimed
whenchannel = RESTAURANT
and the eventLoyalty Transaction Claimed In-store
are triggered at this timeIf 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
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
Current balance: 76523
- 1800 - 1400 + 5 + 5
total should be: 76133
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
Data events: the event
Loyalty Transaction Claimed
whenchannel = RESTAURANT
and the eventLoyalty Transaction Claimed In-store
are triggered at this timeIf 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
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
Choose items with cashier in the POS, then Pre-select Offer in the app, and scan loyalty user into POS. The items chosen before scanning the loyalty user should be maintained in check
Data events: the event
Loyalty Transaction Claimed
whenchannel = RESTAURANT
and the eventLoyalty Transaction Claimed In-store
are triggered at this timeIf 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
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
*This test case assumes the market you are testing for allows for more than 1 Offer per order
Loyalty Receipt match content added in Sanity and structure specification of vendor
Data events: the event
Loyalty Transaction Claimed
whenchannel = RESTAURANT
and the eventLoyalty Transaction Claimed In-store
are triggered at this timeIf 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
Burning loyalty points
Pre-select Reward in the app, login to POS, complete transaction and check if correct amount of points is removed from user balance
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
*This test case assumes the market you are testing for allows for more than 1 Reward per order
Loyalty Receipt match content added in Sanity and structure specification of vendor
Data events: the event
Loyalty Transaction Claimed
whenchannel = RESTAURANT
and the eventLoyalty Transaction Claimed In-store
are triggered at this timeIf 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
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
*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
User pre-selects Offer and/or Reward in the app, logins to the POS, BUT decides not to finish order in the POS → POS 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 POS, BUT Payment fails at checkout and/or Order fails to inject into POS, THEN POS vendor sends VOID transaction to Loyalty API and user loyalty points returns to previous balance before transaction was started
Data events: the event
Loyalty Transaction Claimed
whenchannel = RESTAURANT
and the eventLoyalty Transaction Claimed In-store
are triggered at this timeIf 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
Void Transaction / Cancelling Loyalty Transaction
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
Data events: the event
Loyalty Transaction Claimed
whenchannel = RESTAURANT
and the eventLoyalty Transaction Claimed In-store
are triggered at this timeIf 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
After X amount of time where this transaction was not closed in the counter/POS, POS vendor send VOID transaction to Loyalty API and user loyalty points returns to previous balance before transaction was started
Data events: the event
Loyalty Transaction Voided
andLoyalty Transaction Deleted
are triggered at this time
...
More information about the Loyalty Middleware can be found here: Loyalty MiddlewareAPI
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:
...