Earning Calculation

Contents

Overview

The rewards program rules (e.g. expiration of loyalty points, points earned for every dollar spent) are set in a document called Earning Calculation in Sanity. To access this document navigate to: Order-Level Content > Loyalty&Offers > Loyalty Configuration > Earning Calculation in Sanity.

Core Metric

This is the basis for how loyalty points are earned in the rewards program. This needs to be set to Spend. This means guests earn loyalty points based on how much they spend.

Visit and Hybrid were deprecated and are not in use.

image-20240902-140414.png

Points per dollar

Configure how many loyalty points are earned for every dollar spent in the app.

Note this is specific to the currency you use in your market (e.g. if the currency used is euro, configure here how many loyalty points will be earned for every euro spent in the app)

image-20240902-140950.png

Minimum Spend

The minimum transaction spend (in cents) that must be satisfied for a guest to earn loyalty points.

Cooldown Period

The minimum time (in seconds) between purchases for loyalty points earning and burning to be applied.

Initial User Points Balance

The initial loyalty points balance that will be assigned to a guest when he first signs up to the app when the market has rewards program enabled.

Loyalty Points Earn Moment

This field configures allows you to configure when your users will earn loyalty points for Click & Collect and Delivery orders: this will be either when the order is paid for in the app or when the order is delivered / picked up.

Click and Collect

Defines when loyalty points will be earned for Click & Collect orders (Pickup, Eat In, Table Service, Drive-Thru, Curbside Pickup). This can be either:

  1. After payment: loyalty points are assigned when guest completes the payment in the app OR

  2. When order is ready: loyalty points are assigned only when guest picks up order at the restaurant.

Note: we recommend always implement option 2, due to fraud risk. Please note option 2 requires development work for the Partner to let RBI know when the order has been picked up. Please read more about Partners changing orders change to DONE status here.

Delivery orders

Defines when loyalty points will be earned for Delivery orders. This can be either:

  1. After payment: loyalty points are assigned when guest completes the payment in the app OR

  2. When order is delivered: loyalty points are assigned only when order is delivered to guest.

 

Loyalty Points Calculation Using

This configuration allows you to control if loyalty points earning calculation is done based on only the Subtotal of the order or if it is done on Subtotal plus any of these other add ons: tax, delivery fee, service fee, bag tax.

 

Exclude from Loyalty Point Calculation

  • This is especially useful by markets that have plastic deposits set in place. When you ask for a bottle of water for example, you pay a 1€ deposit, which then you can get refunded when you return the bottle. If the 1€ is considered to earn loyalty points, you could repeat this process a bunch of times just to earn loyalty points, without actually spending any money.

  • The number of modifier multipliers/items/combos to be added to the list is unlimited

  • Items included in this list work for online and in-store transactions.

Points Expiration

Point Expiration By Inactivity Days

  • Point expiration by inactivity days means Loyalty Points expire X days after the last loyalty transaction of user

    • The number of days can be set in Sanity (see screenshot below)

    • In the below scenario, Loyalty Points would expire for the user after 365 days since the user has been active in the app and completed a loyalty transaction 

Point Expiration By Issue Date

  • Loyalty Points expire X days after they were earned and at the end of a policy grouping which includes:

    • points expire at the end of the month

    • points expire at the end of the quarter

    • points expire at the end of the semester

  • Days are set in Loyalty Point Duration (days) field in Sanity. In the screenshot above this is 365 days.

  • Expiration Extenstion options are Monthly, Quarterly and Bi-Anually. In the screenshot above this is Quarterly.

  • Some examples on this behavior:

    • Example 1:

      If today is Feb 14, for the following configuration:

      • Expiration Extenstion: "QUARTERLY"

      • Loyalty Points Duration (days): 120

      Steps of expected behavior:

      1. The end of the current quarter is March 31st.

      2. Add Loyalty Points Duration (days): July 29th.

      3. Points expire on July 29th

       

    • Example 2:

      If today is Feb 14, for the following configuration:

      • Expiration Extenstion: "QUARTERLY"

      • Loyalty Points Duration (days): 100

      Steps of expected behavior:

      1. The end of the current quarter is March 31st.

      2. Add Loyalty Points Duration (days): July 9th.

      3. Points expire on July 9th.

     

    • Example 3:

      • If today is Jan 10, 2023 for the following configuration:

        • Expiration Extenstion: "QUARTERLY"

        • Loyalty Points Duration (days): 365

      • Steps of expected behavior:

        • The end of the current quarter is March 31st, 2023.

        • Add Loyalty Points Duration (days): March 31, 2024.

        • Points expire on March 31, 2024.

Loyalty Tiers

This configuration is optional and only applied to markets that have Loyalty Tiers enabled. This configuration allows you to control the Loyalty Tiers program rules.

Offer Redemption Cooldown Period

The minimum time (in seconds) between purchases with an offer that must be satisfied before a second offer can be redeemed.

Offer Redemption Limits

Here you can control the limit of offers that can be ordered in a single purchase and how many of the same offer can be ordered in a single purchase.

Stackable Offer Limit

  • This is where you will configure the number of Offers a user can add to their cart per order

  • For example:

    • A value of 1 would mean a maximum of 1 Offer per Cart.

    • A value of 4 would mean a maximum of 4 Offers per Cart.

Limit for adding the same offer

This represents the maximum number of times the same offer can be added in a single order.

Reward Redemption Config

Here you can control the limit of rewards that can be ordered in a single purchase.

Reward Limit per Order

  • This is where you will configure the number of Rewards a user can add to their cart per order

  • For example:

    • A value of 1 would mean a maximum of 1 Reward per Cart.

    • A value of 4 would mean a maximum of 4 Reward per Cart.

Transaction Earning Configuration

Here you can control how many transaction can be done per day that will count for earning of loyalty points and you can configure what is the maximum number of loyalty points that can be earned in one year. Both of these provide anti fraud configurations for the rewards program.

Maximum Transaction Limit

This field is where you define how many transaction can be done per day that will count for earning of loyalty points for a single user. If the user surpasses the number of loyalty purchases here, then he can still complete the order but he will not earn any loyalty points for these subsequent orders.

For example: if you input 10, then each unique guest will only be able to earn points for up to 10 transactions per day. After the 10th transaction, the guest will stop earning points for that day.

Maximum Earned Loyalty Points In a Year

This field defines what is the maximum number of loyalty points that can be earned in one year for a single user. If this amount is reached in a year, then users can still place orders, but they will no longer earn loyalty points with these purchases.

Publish

When all you configuration are set click on the Publish button to save your changes to the app.