Versions Compared

Key

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

...

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

  • Extract of user data (SessionM ID required to link with the above). No longer necessary after the March changes in plan.

Airtouch

  • Remove screens that will not be used (discussed separately)

Tillster

  • Call RBI Loyalty API (Identify and Transaction Update)

WinRest

  • Call RBI Loyalty API (Identify and Transaction Update)

...

  • 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

  • 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 continue being synchronized from Homeria to RBI using the same endpoint we used in Phase 0.

...

RBI

  • Develop the Get Loyalty OTP endpoint (takes an email address and generates a Loyalty OTP valid for 15 minutes)Develop

Airtouch

  • Call the RBI Get Email Address endpoint (takes a Loyalty OTP and retrieves the guest’s email address, needed to authenticate the guest with SessionM)

Airtouch

  • Call the RBI Get Loyalty OTP endpoint to retrieve Loyalty OTP endpoint to retrieve an identification code

  • Use the RBI Loyalty API to record loyalty earn transactions for collection orders

  • Continue to use the SessionM API to record loyalty transactions for collection orders

  • Use the Homeria BE to record loyalty earn & burn transactions for delivery orders (this will cover both RBI and SessionM)

Homeria

  • Call the RBI Get Loyalty OTP endpoint to retrieve an identification code

  • Use the RBI Loyalty API to record loyalty earn transactions for delivery orders

  • Continue to use the SessionM API to record loyalty transactions (for backup)earn & burn transactions

Tillster

  • Use the RBI Loyalty API to record loyalty earn transactions

  • Use the RBI Get Email Address endpoint to retrieve the guest’s email address

  • Continue to use the SessionM API to record loyalty earn & burn transactions

WinRest

  • Use the RBI Loyalty API to record loyalty earn transactions

  • Use the RBI Get Email Address endpoint to retrieve the guest’s email address

  • Continue to use the SessionM API to record loyalty earn & burn transactions

Phase 2

...

- Test RBI Loyalty

Plan

  • Configure and enable RBI rewards in Sanity

  • (To be confirmed) Configure the generic PLU for rewards

  • RBI rewards During this phase, RBI will become the master for loyalty data, and SessionM will be used as a backup in case we need to roll back.

  • When Phase 2 starts, we need to import the last two years of loyalty transactions from SessionM, to make history available to guests (on the Airtouch app now, and when they later switch to the RBI app). The import process will be as follows:

    • All loyalty (earn) transactions made to date will be voided. We need to void instead of deleting, because data in Snowflake cannot be deleted.

    • An extract will be taken from SessionM, covering the last two years of transactions and the current loyalty points balance. Each transaction record needs to include the date and time when the transaction took place, loyalty points, whether earn or burn, channel, if the burn is due to spending rewards of points having expired.

    • At this point the RBI loyalty points balance will not match SessionM’s because it doesn’t have the full transaction history. So we will calculate the loyalty points balance on RBI based on the total of transactions and compare with the current SessionM balance for each user.

    • Finally, we will record a single remediation transaction per user with the difference, to make the loyalty points balance in RBI match SessionM.

  • Airtouch app and Homeria website will need to call the Get Loyalty User endpoint, using the RBI Loyalty User ID as input. Get Loyalty User will return RBI loyalty points balance, tiers and guest email.

  • Rewards will be configured in Sanity.

  • (To be confirmed) Configure the generic PLU for rewards

  • RBI rewards become active on the Airtouch app and the Homeria website, and guests are able to redeem them when making collection, delivery or in-store orders (requires the app to retrieve rewards from RBI)

  • Reward redemption should use the RBI Loyalty API version that was customized for RBIberia: RBI Iberia | Loyalty POS/Kiosk IntegrationClient apps no longer call SessionM (these will be disabled using feature flags)Iberia | Loyalty POS/Kiosk Integration

Changes needed

Info

Note that while retrieving rewards is only needed for Phase 2, we will ask for the development to happen during Phase 1 to avoid multiple app releases.

RBIRBI

  • Importing loyalty transactions (2 years) and updating the loyalty points balance to match SessionM

  • Configuration of rewards in Sanity

Airtouch

  • Retrieve rewards from RBI and display them

  • Allow rewards to be added to the guest’s basket (collection orders)

  • Include rewards in the calls to the RBI Loyalty API (the reward ID’s are needed)

  • Disable calls to SessionM

Homeria

  • Retrieve rewards from RBI and display them (TBC if it will be needed)

  • Allow rewards to be added to the guest’s basket (delivery orders)

  • Include rewards in the calls to the RBI Loyalty API (the reward ID’s are needed)

  • Disable calls to SessionM

Tillster

  • Retrieve rewards from RBI and display them

  • Allow rewards to be added to the guest’s basket

  • Include rewards in the calls to the RBI Loyalty API (the reward ID’s are needed)

  • Disable calls to SessionM

WinRest

  • Allow rewards to be added to the guest’s basket

  • Include rewards in the calls to the RBI Loyalty API (the reward ID’s are needed)

  • Disable calls to SessionM

...