Systemwide Offers
Contents
- 1 Overview
- 2 Configuration steps
- 2.1 Step 1: Create an Offer document
- 2.2 Step 2: Content Section
- 2.2.1 Loyalty Engine ID
- 2.2.2 Name Required
- 2.2.3 Internal Name Required
- 2.2.4 Description Required
- 2.2.5 More Info
- 2.3 Step 3: Image
- 2.3.1 Image Required
- 2.3.2 Image Description Required
- 2.3.3 Background
- 2.4 Step 4: Rules
- 2.4.1 Rules
- 2.4.2 Show this offer as Upcoming
- 2.4.3 Redemption Methods Required
- 2.4.4 Test Only
- 2.5 Step 4: Benefits
- 2.6 Step 5: PLUs Mapping
- 2.6.1 Static Code
- 2.6.2 Vendor Configs Required
- 2.6.3 NCR Offer Price
- 2.7 Step 6: Publish
- 2.8 Step 7: Set the position of offer
- 2.8.1 Systemwide offers
- 2.8.2 Config offers
- 2.9 Step 8: Test the Offer
- 2.10 Step 9: Migrate to Production
- 3 Further reading
Overview
Typically, offers are one of these two types:
Systemwide offers are offers that are available to all guests, although these can be restricted to guests who have an account and are signed in;
Personalized (or Config) offers are configured as “config” and assigned to specific guests, and therefore used to implement personalization. These offers are only available for signed in guests.
There are other types of offers (covered in https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4902027448), but they are less common. This guide explains how to create systemwide and config offers, and you can refer to the reference guide above for details about other types of offers.
Before creating the offer in Sanity it is important you connect with your POS (Point of Sale) vendor to create, price and make the offer available with a PLU (Price Look-Up). Save this PLU and be ready to configure it in Sanity when creating the offer.
Always create an offer in the Staging environment in Sanity first (https://staging.menu.{brand}.{country}.rbi.tools/desk/
). This will allow you to make changes and test the offer with no impact to the live guest app. To test that offers are working as expected, you can use the guest app Staging environment (https://staging-{brand}-web.{country}.rbi.tools/
). Offers published in the Sanity Staging environment are only visible in the guest app Staging environment.
After testing, you can migrate the offer to higher environments (QA and Production). When you migrate offers to the Production environment, these will become available to guests.
Sanity Migrations allow you to independently migrate content from Staging to different environments. You can therefore implement offer changes in Staging environment, test them, and afterwards push those changes to QA and Production. All this is accomplished with some clicks in the User Interface of Sanity.
Configuration steps
Step 1: Create an Offer document
Navigate to Order-Level Content > Loyalty & Offers > Incentives > Offers > Systemwide Offers
To create a Config Offer, click on the Config Offers
folder instead (Order-Level Content > Loyalty & Offers > Incentives > Offers > Config Offers).
Click on the pencil icon to create a new offer
Step 2: Content Section
We’ve broken up content fields and offer mechanic fields to make it easier to create and update offers. The key distinction between the two is that ‘mechanics’ fields have a direct impact on the functionality of the offer, and ‘content’ fields only are purely visual and only impact the UI of an offer in the guest app / website.
Loyalty Engine ID
This is populated automatically. No update needed here.
Name Required
This is the name of the offer that will be displayed in the guest app / website.
In the below example it refers to “LARGE CHICKEN/VEGAN ROYALE MEAL - APP902”.
Internal Name Required
The name that will be displayed in Sanity - it will help you quickly to identify, search, and organize your offers.
Description Required
This is the description of the offer that will be displayed in the guest app / website.
In the below example it refers to “£5.99 large Chicken Royale® meal (945 Kcal) or Vegan Royale meal (946 Kcal). Use app code APP902 if using a kiosk.”
More Info
This is the offer's disclaimer that will be displayed in the guest app / website. If you add links to this text, you MUST set them to open in a new tab.
Step 3: Image
Image Required
This is the image that appears on the left of the card in the offer list view. It is also the primary image when the guest is on the specific offer link.
From the above example:
Image Description Required
This will be the text for the alt attribute on the image. Image description is required due to accessibility legal requirements.
Background
This is where you can input a background to your image if applicable. This field is optional.
Step 4: Rules
Rules
This is the section where you can define what the rule configurations should be for a guest to be able to view and redeem the offer.
For a more detailed breakdown of each rule refer to: https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4862509059
Show this offer as Upcoming
This toggle makes the offer become an Upcoming Offer. To read more about this feature refer here: https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4933091370
Redemption Methods Required
The different ways the offer can be redeemed in the platform:
Restaurant Only: Offer can only be redeemable in Restaurant at Kiosk or POS
Mobile Only: Offer can only be redeemable in online ordering in the guest app / website
Mobile and Restaurant: Offer can be redeemable in both online and in-restaurant orders
Test Only
If this toggle is turned on the offer will only be available in lower environments (Dev, Staging and QA). Even if the offer is accidentally pushed to Production, it will not show up for guests in the app/website.
Step 4: Benefits
Benefit Required
This is where you define the benefit the guest receives if they are able to redeem the offer. There can only be one benefit per offer.
The benefit linked to the offer can be an item, combo, picker, or discount from the menu or not. The toggle isOfferBenefit no longer needs to be enabled when creating a new offer.
If the offer is a discount offer (e.g. 50% off the total cart price), link an offer discount here.
Does this offer have an Upsell Option?
In this section FZ can configure upsell offers. Any offer added here will be prompted as an upsell when the user clicks Add to Mobile order
or Redeem In Restaurant
buttons in an offer.
How it looks in the guest app:
Guest clicks on offer
Guest clicks “use in restaurant” button
Guest chooses to upsell the offer
Step 5: PLUs Mapping
Static Code
Here you can input the static code of the offer for in-restaurant redemptions. This code will never change.
For markets that have an in-restaurant loyalty integration, redemption occurs by adding the offer to the guests' in restaurant basket and that generates a unique 6 digit loyalty code.
For markets without an in-restaurant loyalty integration or when guests are signed out, this static short code is what a guest sees in the guest app and shows a team member in the restaurant to redeem the offer. Given this is a static code, we also show a timer to let guests know how long they can have this offer open before it is considered redeemed.
In Sanity:
In the guest app, the static code will only be available for 15 minutes:
Then static short code shows to guest:
Vendor Configs Required
A unique PLU for the offer. The PLU Type needs to be set to Constantplu
and numbered value of the PLU needs to be inputted below Constant PLU
.
NCR Offer Price
This is a static price that will be the same no matter what, ie: $1 coke
Value is in cents, ie: $1 == 100
Step 6: Publish
Publish your offer when complete. After publishing, you should see the Loyalty Engine ID field populate.
Step 7: Set the position of offer
Systemwide offers
Navigate to Order-Level Content > Loyalty & Offers > Live Offers Configuration > Live Offers > Sorted Systemwide Offers
and add your offer. Then, drag it to the position you want it to show in the offer’s list and click on “Publish”. For more information on Live Offers section refer to: https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4933091360
Once published, you will see the systemwide offer populate on the Offers List page (navigate to offer’s list: /rewards/offers
) in the guest app.
Config offers
Operators can control the order that personalized (config) offers will show in the guest app in the same location under Order-Level Content > Loyalty > Live Offers Configuration > Live Offers > Live Config Offers
.
When a personalized (or config) offer is assigned to a guest, they show on the top of the guest’s offer list. If multiple config offers are assigned to a guest, they will still show on top of all other systemwide offers (national offers), but they will follow the order set in Sanity in the Live Config Offers
section.
Step 8: Test the Offer
Go to the Staging environment in the guest app (https://staging-{brand}-web.{country}.rbi.tools/rewards/offers) and test:
Redeeming the offer(s) online. Check for content, pricing and success of order. Read here for more information on the online ordering flow: https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4861722909
Redeeming the offer(s) in restaurant. To test ordering the offer in-restaurant, connect with your POS and Kiosk vendor(s) to setup a lab environment for you to test. Read here for more information on the in restaurant ordering flow: https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4921393188
Step 9: Migrate to Production
After thoroughly testing your offer is working in Staging environment, follow this guide to migrate the offer from Staging environment to QA and Production environments: https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4956422399.
Further reading
This document is meant to explain how to configure an offer, but does not detail all the different options that can be used for offers. Please refer to the https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4862476291.