Kiosk - Promo Codes

This page documents the expected user experience when RBI guests redeem promo codes when they place orders at a Kiosk, part of Customer Journey Scenarios - Kiosk. See also Kiosk - Redeem Rewards and Kiosk - Edge Cases.

This use case consists of guests entering a unique promo code into the Kiosk using the touchpad (it is not possible to scan promo codes). If the unique code is recognized and has not been redeemed yet, guests unlock an associated offer which they can add to their basket.

Contents

1. While signed out

Guest does not log into loyalty, inputs a promo code, and successfully places an order with offer that was unlocked with unique promo code.

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • Not applicable

Guest does not log into loyalty, clicks on promo code section in the Kiosk, and inputs the promo code (e.g. A00001)

  • Guest unlocks offer with promo code

  • Offer shows to user in Kiosk and guest has an option to customize

image-20240425-142953.png
  • N/A

 

  • Call the Unlock Offer endpoint using the promo code as input, which will return the offer Sanity ID.

  • Calling this endpoint marks the promo code as redeemed. Subsequent calls to this endpoint using the same promo code will return an error.

Guest customizes the unlocked offer at will and adds to basket

  • The offer is incrementally added to the cart and does not replace any of the existing cart items

  • No action

  • Not applicable

Guest checks out and pays

  • Order number shows up on the screen

  • No changes

 

  • Not applicable

2. While signed in

Guest logs into loyalty, inputs a promo code, and successfully places an order with offer that was unlocked with unique promo code.

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Guest opens the Loyalty code page on the RBI app

  • N/A

  • Loyalty code page is displayed:

  • Not applicable

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • Not applicable

Guest scans the loyalty code or inputs 6 digit code in Kiosk

  • Kiosk authenticates the guest and shows the home page

  • Scanner remains active

  • Guest receives a successful confirmation modal

  • Call the Identify endpoint, which will return the Loyalty User ID, loyalty points balance and a transaction ID

Guest goes to Promo code section in Kiosk and inputs the promo code (e.g. A00001)

  • Guest unlocks offer with promo code

  • Offer shows to user in Kiosk and guest has an option to customize

  • N/A

 

  • Call the Unlock Offer endpoint using the promo code and loyaltyId of the user as input, which will return the offer Sanity ID.

  • Calling this endpoint marks the promo code as redeemed. Subsequent calls to this endpoint using the same promo code will return an error.

Guest customizes the offer at will and adds to basket

  • The offer is incrementally added to the cart and does not replace any of the existing cart items

  • No action

  • Not applicable

Guest checks out and pays

  • Order number shows up on the screen

  • Guest sees updated points balance

 

  • Call the Transaction Update endpoint with a status of CLAIMED to complete the order.

  • The order will include the Free Veggie Whopper offer.

3. Promo code does not exist

Guest goes to a Kiosk and enters a promo code that does not exist, using the touchpad. Guest sees an error message in the Kiosk and cannot unlock offer.

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • Not applicable

Guest inputs a random promo code in Kiosk screen using the touchpad

  • Kiosk shows an error message to the guest (invalid code)

  • Guest does not unlock the exclusive offer

  • Guest can continue browsing kiosk to place an order

  • N/A

  • Call the Unlock Offer endpoint with promo code which will return an error that the code does not exist

3. Promo code has been redeemed

Guest goes to a Kiosk and enters a promo code that has already been redeemed, using the touchpad. Guest sees an error message in the Kiosk and cannot unlock offer.

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • Not applicable

Guest inputs a promo code that has already been redeemed in Kiosk screen using the touchpad

  • Kiosk shows an error message to the guest (code already used)

  • Guest does not unlock the exclusive offer

  • Guest can continue browsing kiosk to place an order

  • N/A

 

  • Call the Unlock Offer endpoint with promo code which will return an error that the code has already been used

4. Edge case: concurrent orders

Guest goes to a Kiosk, enters a valid code using the touchpad and does not complete the order. Guest goes to a second Kiosk and enters the same code. Guest will see an error in second kiosk. Guest then proceeds to finish order on first kiosk.

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • Not applicable

Guest inputs a valid promo code in Kiosk screen (e.g. A00001)

  • Guest unlocks offer with promo code

  • Offer shows to user in Kiosk and guest has an option to customize

  • N/A

 

  • Call the Unlock Offer endpoint using the promo code as input (and loyaltyId if the guest signed into loyalty), which will return the offer Sanity ID.

  • Calling this endpoint marks the promo code as redeemed. Subsequent calls to this endpoint using the same promo code will return an error.

Guest customizes the offer at will and adds to basket

  • The offer is incrementally added to the cart and does not replace any of the existing cart items

  • No action

 

Guest goes to a second Kiosk and enters the same promo code (e.g. A00001)

  • Kiosk shows an error message to the guest (code already used)

  • Guest does not unlock the exclusive offer

  • N/A

  • Call the Unlock Offer endpoint with promo code which will return an error that the code has already been used

Guest goes back to the first Kiosk, checks out and pays

  • Order number shows up on the screen

  • Guest sees updated points balance if the user is signed into loyalty

 

  • If the user is signed into loyalty, then Call the Transaction Update endpoint with a status of CLAIMED to complete the order

  • Offer associated with the promo code is successfully redeemed