Note that this feature is still under development and not available for use. If you are interested in implementing it on your market, please contact your Customer Success Manager.
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) |
---|---|---|---|
Guest taps on the Kiosk screen to start a new order |
|
|
|
Guest does not log into loyalty, clicks on promo code section in the Kiosk, and inputs the promo code (e.g. A00001) |
|
|
|
Guest customizes the unlocked offer at will and adds to basket |
|
|
|
Guest checks out and pays |
|
|
|
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) |
---|---|---|---|
Guest opens the Loyalty code page on the RBI app |
|
|
|
Guest taps on the Kiosk screen to start a new order |
|
|
|
Guest scans the loyalty code or inputs 6 digit code in Kiosk |
|
|
|
Guest goes to Promo code section in Kiosk and inputs the promo code (e.g. A00001) |
|
|
|
Guest customizes the offer at will and adds to basket |
|
|
|
Guest checks out and pays |
|
|
|
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) |
---|---|---|---|
Guest taps on the Kiosk screen to start a new order |
|
|
|
Guest inputs a random promo code in Kiosk screen using the touchpad |
|
|
|
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) |
---|---|---|---|
Guest taps on the Kiosk screen to start a new order |
|
|
|
Guest inputs a promo code that has already been redeemed in Kiosk screen using the touchpad |
|
|
|
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) |
---|---|---|---|
Guest taps on the Kiosk screen to start a new order |
|
|
|
Guest inputs a valid promo code in Kiosk screen (e.g. A00001) |
|
|
|
Guest customizes the offer at will and adds to basket |
|
| |
Guest goes to a second Kiosk and enters the same promo code (e.g. A00001) |
|
|
|
Guest goes back to the first Kiosk, checks out and pays |
|
|
|
Validate Coupon Endpoint
Use Case: The following endpoint allows a promo code to be validated/redeemed by the RBI Loyalty platform.
Endpoint URL: https://{reg}-{env}-{brand}-loyalty-middleware.rbictg.com/loyalty/coupon/validate
Expected Request Payload (assigning points):
code
: StringThe code to be validated/redeemed by the loyalty platform.
loyaltyId
: StringOptional. The loyaltyId of the user. If not present, the validation will occur to an anonymous user.
shouldRedeem
: BooleanOptional. Indicates whether the code should be validated and redeemed.
true
(default): the code will be validated and redeemed.false
: the code will be validated only.
Expected Request Payload:
{ "code": "ABCDE123", "loyaltyId": "6d13456a-1304-5109-a117-af4de20b2487", "shouldRedeem": true }
Expected Response Payload: