...
Expected to run for weeks
Guests will earn
but not burn. Change of plans in March: guests will continue to burn, because RBIberia does not want to risk a drop in sales by preventing burn.All clients apps (Airtouch, Homeria, Winrest, Tillster) will continue to record loyalty transactions on Session M
(no integration to RBI loyalty yet).Change of plans in March: all client apps will also send earn transactions to RBI (burn transactions will not be sent). The purpose is to test the RBI system’s performance and ensure that we record loyalty transactions accurately.
During this phase, we will compare transactions between RBI and SessionM (although the loyalty points balance is not expected to match).
Guest and loyalty data (including email addresses, loyalty points balance, loyalty tier and loyalty transactions) will be migrated from SessionM to RBI, as a one time data dump and load before Phase 0 startsChange of plans in March: loyalty data is no longer required before Phase 0.
Guest accounts will be synced between RBI and Homeria
The above will be accomplished by extracting data into a CSV file which will be obtained from Homeria and placed in an RBI S3 bucket, and ingested with a script. SessionM data is not required.
At the end of the data migration above, RBI will provide a list of RBI Cognito ID’s, RBI Loyalty ID’s and email addresses for all users, to be imported by Homeria
The RBI app is not live (all guests will use the Airtouch app)
There will be no users created via the RBI apps (only via the Airtouch app or Homeria website)
When users are created in the Airtouch app or the Homeria website, Homeria will call the RBI Create User endpoint to ensure that users are in sync.
The endpoint above will be modified to respond with the RBI Loyalty ID, which will then be stored in Homeria to be used during Phase 1 to generate RBI OTP’s. The RBI Loyalty ID will then be made available by Homeria to the Airtouch app
Scenarios
Mobile order, click & collect
...
Guest opens the Airtouch app
Guest fills their basket and completes the order
As part of the order process, the app calls the Homeria BE
Homeria BE updates SessionM
Airtouch Homeria BE updates RBI Loyalty
Call
Identify
by sending the email addressCall
Transaction Update
(CLAIMED
) with an empty basket
...
Website order (only delivery allowed)
Guest opens the Airtouch app or Homeria website and asks to show the Loyalty ID / SessionM ID
Airtouch app / Homeria should already have the static SessionM ID in the session
Guest scans the SessionM ID on the Tillster kiosk and authenticates (this returns the email address)Guest fills up their basket and completes the order (this retrieves the basket price calculation)
Tillster creates a loyalty transaction in SessionM
Tillster creates a loyalty transaction in RBI
As part of the order process, the app calls the Homeria BE
Homeria BE updates SessionM
Homeria BE updates RBI Loyalty
Call
Identify
by sending the email addressCall
Transaction Update
(CLAIMED
) with an empty basket
In-store order on
...
a Tillster kiosk
Guest opens the Airtouch app or Homeria website and asks to show the Loyalty ID / SessionM ID
Airtouch app / Homeria should already have the static SessionM ID in the session
Guest scans the SessionM ID on the scanner Tillster kiosk and authenticates (this returns the email address)
Guest /operator fills up their basket and completes the order (this retrieves the basket price calculation)
WinRest Tillster creates a loyalty transaction in SessionM
WinRest Tillster creates a loyalty transaction in RBI
Call
Identify
by sending the email addressCall
Transaction Update
(CLAIMED
) with an empty basket
Changes needed
...
RBI
...
S3 data load script to be modified to capture loyalty data from SessionM also (which will result in creating a loyalty ID for each user).No longer necessary after the March changes in plan.Data extract from RBI (currently only RBI Cognito ID's) to include RBI Loyalty ID
New Identify endpoint that accepts an email address
...
SessionM
...
Extract of loyalty data (loyalty points balance, tier and loyalty transactions).No longer necessary after the March changes in plan.
...
Homeria
...
In-store order on WinRest POS
Guest opens the Airtouch app or Homeria website and asks to show the Loyalty ID / SessionM ID
Airtouch app / Homeria should already have the static SessionM ID in the session
Guest scans the SessionM ID on the scanner and authenticates (this returns the email address)
Guest/operator completes the order (this retrieves the basket price calculation)
WinRest creates a loyalty transaction in SessionM
WinRest creates a loyalty transaction in RBI
Call
Identify
by sending the email addressCall
Transaction Update
(CLAIMED
) with an empty basket
Changes needed
RBI |
|
Airtouch |
|
Tillster |
|
WinRest |
|
Phase 1 - Test RBI OTP
Plan
...
All client apps will start using the RBI OTP to identify guests
...
Loyalty transactions will be done primarily on SessionM and after
...
All client apps will use primarily RBI Loyalty, and SessionM as a backup in case a rollback is needed. Both RBI and SessionM should have the same loyalty transactions and points balance to start with
...
This requires Airtouch, Homeria (because of the website and app/delivery), Tillster and WinRest to modify their software to introduce RBI Loyalty in addition to SessionM
...
Airtouch app will use RBI loyalty codes for in-store identification, instead of SessionM codes
...
Guests will continue to earn but not burn
...
| |
SessionM |
|
Homeria |
|
Airtouch |
|
Tillster |
|
WinRest |
|
Phase 1 - Test RBI OTP
Plan
All client apps will start using the RBI OTP to identify guests when making in-store purchases. To achieve this, apps need to call the Get Loyalty OTP endpoint (takes the RBI Loyalty User ID as input), which generates a dynamic Loyalty OTP valid for 15 minutes.
apps need to call the Get Loyalty User endpoint, using the RBI Loyalty User Id as input. Get Loyalty User will return RBI loyalty points, tiers and guest email. Only the guest email will be used (loyalty points balance and tier will continue to come from SessionM).
Loyalty transactions will be done primarily on SessionM, and RBI after (earn transactions only).
SessionM transaction history will not be migrated yet
Registration and authentication on the Airtouch app or Homeria website will continue to use Homeria
New users created on the app or website will be continue being synchronized from Homeria to RBI using an existing endpoint (same that we used for BK PT)The endpoint above will be modified to respond with the RBI Loyalty ID, which will then be stored in Homeria to be used when calling the RBI Loyalty API. The RBI Loyalty ID will then be made available to the Airtouch appthe same endpoint we used in Phase 0.
Scenarios
Mobile order, click & collect
Guest opens the Airtouch app
App calls Get User Details from RBI, using the RBI Loyalty ID as input. This endpoint will retrieve loyalty points balance and loyalty tier
Guest fills their basket and completes the order
As part of the order process, the app calls the Airtouch BE
Airtouch BE updates RBI Loyalty:
Call
Create Transaction
using the RBI Loyalty IDCall
Transaction Update
with an empty basked and set the transaction toCLAIMED
Airtouch BE updates SessionM:
(optional) Call SessionM to retrieve the SessionM ID using the email address as input
Replicate the transaction above in SessionM
Mobile order, delivery
Guest opens the Airtouch app
App calls Get User Details from RBI, using the RBI Loyalty ID as input. This endpoint will retrieve loyalty points balance and loyalty tier
Guest fills their basket and completes the order
As part of the order process, the app calls the Homeria BE
Homeria BE updates RBI Loyalty:
Call
Create Transaction
using the RBI Loyalty IDCall
Transaction Update
with an empty basked and set the transaction toCLAIMED
Homeria BE updates SessionM:
Retrieve the SessionM ID(this step is not needed because the Homeria BE stores the guest’s SessionM ID)Replicate the transaction above in SessionM
Website order (only delivery allowed)
...
Guest opens the Homeria website
...
Website calls Get User Details from RBI, using the RBI Loyalty ID as input. This endpoint will retrieve loyalty points balance and loyalty tier
...
Guest fills their basket and completes the order
...
As part of the order process, the website calls the Homeria BE
...
Homeria BE updates RBI Loyalty:
Call
Create Transaction
using the RBI Loyalty IDCall
Transaction Update
with an empty basked and set the transaction toCLAIMED
Homeria BE updates SessionM:
...
Retrieve the SessionM ID (this step is not needed because the Homeria BE stores the guest’s SessionM ID)
...
No changes from Phase 0.
Mobile order, delivery
No changes from Phase 0.
Website order (only delivery allowed)
No changes from Phase 0.
In-store order on a Tillster kiosk
Guest opens the Airtouch app or Homeria website and asks to show the Loyalty ID
Airtouch app / Homeria website calls the RBI Get Loyalty OTP endpoint
Guest scans the OTP on the Tillster kiosk
Tillster calls the RBI Identify endpoint and uses the OTP to authenticate the guestTillster calls the RBI Get User endpoint in the background to retrieve the email address in the session (to use later during the SessionM transaction). Identify responds with a Transaction ID, RBI Loyalty User ID and the guest’s email address
If guest wants to use offersoffers/cupones, they would input their code directly in the kiosk. These offers are not configured in RBI
Guest completes the order
Tillster updates SessionM, using the email address retrieved previously
Tillster updates RBI Loyalty (this should be similar to what happens today on PLK ES):
Call
Transaction Validate
Call
Transaction Update
(CLAIMED
) with an empty basket
(optional) Call SessionM to retrieve the SessionM ID using the email address as input
Replicate the transaction above in SessionM
In-store order on a WinRest POS
Guest opens the Airtouch app or Homeria website and asks to show the Loyalty ID
Airtouch app / Homeria website calls the RBI Get Loyalty OTP endpoint
Guest scans the OTP on the WinRest QR reader
WinRest calls the RBI Identify endpoint and uses the OTP to authenticate the guestWinRest calls the RBI Get User endpoint in the background to retrieve the email address in the session (to use later during the SessionM transaction). Identify responds with a Transaction ID, RBI Loyalty User ID and the guest’s email address
If guest wants to use offers/cupones, they would ask the cashier to add the offer code to their order. These offers are not configured in RBI
Guest completes the order
WinRest updates SessionM, using the email address retrieved previously
WinRest updates RBI Loyalty (this should be similar to what happens today on PLK ES):
Call
Transaction Validate
Call
Transaction Update
(CLAIMED
) with an empty basket
WinRest updates SessionM:
(optional) Call SessionM to retrieve the SessionM ID using the email address as input
Replicate the transaction above in SessionM
Changes needed
RBI |
|
Airtouch |
|
Homeria |
|
Tillster |
|
WinRest |
|
...