Tillster - Production Test [In-Store]

Contents

Overview

This page lists test cases that we recommend FZ’s and POS/Kiosk vendors to follow when developing an integration to RBI Loyalty. All Data events, attributes and explanations are outlined here.

Test Cases for In-Store Loyalty

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.

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

    • Data events: the event Loyalty Transaction Created is triggered at this time

  • 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 Kiosk 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 Kiosk and check if correct amount of points is added to user balance

    • [Dev to be finalized] 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 when channel = RESTAURANT and the event Loyalty Transaction Claimed In-store are triggered at this time

      • If Rewards are included in the purchase, the event Reward Redeemed In Store is also fired

      • If 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 Kiosk, 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

    • Control if in Snowflake we have both the loyalty short code of the transaction and the long code

    • Data events: the event Loyalty Transaction Claimed when channel = RESTAURANT and the event Loyalty Transaction Claimed In-store are triggered at this time

      • If Rewards are included in the purchase, the event Reward Redeemed In Store is also fired

      • If 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 Kiosk, 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 Kiosk, add a menu item in the Kiosk, 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 Kiosk 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 when channel = RESTAURANT and the event Loyalty Transaction Claimed In-store are triggered at this time

      • If Rewards are included in the purchase, the event Reward Redeemed In Store is also fired

      • If 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

    • Data events: the event Loyalty Transaction Claimed when channel = RESTAURANT and the event Loyalty Transaction Claimed In-store are triggered at this time

      • If Rewards are included in the purchase, the event Reward Redeemed In Store is also fired

      • If 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 when channel = RESTAURANT and the event Loyalty Transaction Claimed In-store are triggered at this time

      • If Rewards are included in the purchase, the event Reward Redeemed In Store is also fired

      • If 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 when channel = RESTAURANT and the event Loyalty Transaction Claimed In-store are triggered at this time

      • If Rewards are included in the purchase, the event Reward Redeemed In Store is also fired

      • If 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

    • Data events: the event Loyalty Transaction Claimed when channel = RESTAURANT and the event Loyalty Transaction Claimed In-store are triggered at this time

      • If Rewards are included in the purchase, the event Reward Redeemed In Store is also fired

      • If 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 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 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 when channel = RESTAURANT and the event Loyalty Transaction Claimed In-store are triggered at this time

        • If Rewards are included in the purchase, the event Reward Redeemed In Store is also fired

        • If 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 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 API

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):