Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
maxLevel6
minLevel1
outlinefalse
typelist
printablefalse

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 describtions are outlined here.

Test Cases for In-

...

Restaurant 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.
  • all reward types available: item rewards, combo rewards, reward discounts, and rewards redeemable for points and euros.

  • For Offers, run all test cases with all

Offer
  • offer types available:

e.g. Systemwide Offers and Personalized
  • Systemwide, Personalized, and Discounted Offers.

  • For Data events, check that all events and their properties 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

...

1. Kiosk / POS

1.1. Scanning loyalty code

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 Loyalty Transaction Created is triggered at this time

User pre-selects a reward and inputs 6 digit Loyalty code or scans Loyalty QR code

  • User sees success modal in the app

  • User sees rewards cost temporarily removed from user balance

The event Loyalty Transaction Created is triggered at this time

User pre-selects an offer and inputs 6 digit Loyalty code or scans Loyalty QR code

  • User sees success modal in the app

  • User loyalty point balance does not change

The event Loyalty Transaction Created is triggered at this time

1.2. Validation

Steps

Expected Results

Data Events

User inputs 6 digit Loyalty code or scans Loyalty QR code

Transaction Validate endpoint

...

User sees success modal in the app

The event Loyalty Transaction Created is triggered at this time

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.

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

Full list of rules to be tested here: Loyalty API v1 - Error Responses

N / A

1.3. Earning loyalty points

Steps

Expected Results

Data Events

Pre-select offer in the app, scan loyalty code at Kiosk/POS and complete transaction with Offer

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

  • Loyalty Transaction Claimed In-store

  • Offer Redeemed In-store if offers are included in the order

Input 6 digit Loyalty code or scan QR code, then select offer and/or menu item in the Kiosk/POS

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

...

  • Loyalty Transaction Claimed In-store

...

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

...

  • Offer Redeemed In-store if offers are included in the

...

Burning loyalty points

  • order

Pre-select

...

offer in the app

...

and input 6 digit Loyalty

...

Adding more than 1 reward per order, completing transaction and checking if correct amount of loyalty points is removed from user balance

...

code at Kiosk/POS. Then select a second offer in the Kiosk/POS.

  • Correct amount of loyalty points are added to user’s balance with 2 offers added to order.

  • Loyalty Receipt match content added in Sanity

...

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

...

  • Loyalty Transaction Claimed In-store

...

...

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

  • Offer Redeemed In-store is

...

  • triggered twice.

1.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

...

scan loyalty code at Kiosk/POS and complete transaction with Offer

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

  • Loyalty Transaction Claimed In-store

  • Reward Redeemed In-store

Input 6 digit Loyalty code or scan QR code, then select a reward in the Kiosk/POS

  • Correct amount of loyalty points are removed from user’s balance.

  • Loyalty Receipt match content added in Sanity

...

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

...

  • Loyalty Transaction Claimed In-store

...

...

  • Reward Redeemed In

...

  • -store if rewards are included in the

...

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

...

  • order

Pre-select reward in the app and input 6 digit Loyalty code at Kiosk/POS. Then select a second reward in the Kiosk/POS.

  • Correct amount of loyalty points are removed from user’s balance with 2 rewards included in the order.

  • Loyalty Receipt match content added in Sanity:/wiki/spaces/HELP/pages/5019500623

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

...

  • Loyalty Transaction Claimed In-store

...

...

  • Reward

...

  • Redeemed In-store is

...

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

  • triggered twice.

1.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.

  • Correct amount of loyalty points are added and removed from user’s loyalty point balance.

  • Loyalty Receipt match content added in Sanity

...

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

...

  • Loyalty Transaction Claimed In-store

...

...

  • Reward Redeemed In

...

  • -store

  • Offer Redeemed In-store

...

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.

  • Correct amount of loyalty points

...

  • are added and removed from

...

  • user’s loyalty point 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

...

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

...

  • Loyalty Transaction Claimed In-store

...

...

  • Reward Redeemed In

...

  • -store

  • Offer Redeemed In-store

...

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

...

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.

  • Correct amount of loyalty points are added and removed from user’s loyalty point balance.

  • Loyalty Receipt match content added in Sanity:/wiki/spaces/HELP/pages/5019500623

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

  • Loyalty Transaction Claimed In-store

  • Reward Redeemed In-store

  • Offer Redeemed In-store

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.

  • Correct amount of loyalty points are added and removed from user’s loyalty point balance.

  • Loyalty Receipt match content added in Sanity:/wiki/spaces/HELP/pages/5019500623

these events are fired:

  • Loyalty Transaction Claimed when channel = RESTAURANT

...

  • Loyalty Transaction Claimed In-store

...

...

  • Reward Redeemed In

...

  • -store is triggered twice assuming there are 2 rewards in the order.

  • Offer Redeemed In-store is

...

Void Transaction / Cancelling Loyalty Transaction

...

  • triggered twice assuming there are 2 offers in the order.

1.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.

  • Kiosk sessions times out and session closes.

  • Loyalty points balance of user returns to what it was before the user began the order.

this event is fired:

  • Loyalty Transaction Voided

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.

  • Error is shown to guest or operator

  • Loyalty points balance of user returns to what it was before the user began the order.

this event is fired:

  • Loyalty Transaction Voided

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.

  • 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

  • Loyalty points balance of user returns to what it was before the user began the order.

these events are fired:

  • Loyalty Transaction Voided

  • Loyalty Transaction Created

2. Kiosk & POS

2.1. 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:

...

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:

...