Contents
What are they?
Features are a section in Sanity where we host the information for different sections of the app that do not encompass the creation of menu or restaurant info
We currently have multiple features that can be added through a Launch Darkly flag and text and functionality can be added with Sanity.
Feature Home Page: This feature will host all the sections that the home page will have for authenticated and unauthenticated users in the different platforms.
For this feature to work you need:
In each section add certain components that include:
Referenced Main Hero: This will be the picture that will show in the home page as the background
Referenced Marketing Tile Group: This will be referencing to a certain set of marketing tiles that you will have to create in the components page. Find guide of how to create them in
Referenced Offers Section
Referenced trending: This will be to display the trending section
Referenced Braze Content Cards: This will be to display a specific content card in the home page. You will need to create them in braze first and create the component in the component folder
Referenced Alert: This will be to display an alert in the home page
Referenced App Download: To display the component for app download information in the homepage
Referenced Fans Favs: This will be used to display fan favourites section to show a previous of your favourite items, combos etc…
Referenced Our Services: If you would like to note what kind of services you offer ( Pick Up, Drive Thru, Delivery, Catering)
Referenced Scan for Rewards: This will be to display a box letting the user know to click there to get a scan to redeem rewards
Referenced Roll Up The Rim: This is specific for Tim Hortons CA campaign and is to provide an easy access to it.
Referenced Recent Items: This would be to display in the home page the recent items you have ordered in your previous orders
Feature Catering Page:
For this feature to work you need:
Referenced Main Hero: This will be the picture that will show in the home page as the background
Feature Offers: This feature is for the offers page and it will host all the information you might need for offers pages to display the way you would like.
For this feature to work you need:
Offers Browsing Panel:
End of offers message: This will be what the user will see at the end of the offer list
End of offers image: This will be what the user will see at the end of the offer list
Empty State message: This will be what the user will see if at any point they run out of offers
Empty State image: This will be what the user will see if at any point they run out of offers
Offers Select Restaurant CTA: This will be in the case in your market you would like to trigger the user to select a restaurant before viewing offers.
Default background image: Image you would like to see in the background of your offers page
Sorted offers: This will entail all the offers you would like to appear in the offers list for the user. If you do not add an offer here it wont appear in the app/web.
Feature Footer: We have the ability to set the footer for the web so you can decide what the user can navigate through without the need of code changes.
For this feature to work you need:
Row : What are they used for
to specify a visual row
top-level rows will have implicit spacing and separation on the frontend. If it turns out we need to support the ability to explicitly specify spacing and/or separation, we can come back and add a new widget
rows can contain only columns to help with predictability in rendering
Column: What are they used for
to specify a visual column
columns can contain literally everything else except rows or columns
Bold Horizontal Link List Widget
to specify a list of links that should bolded and laid out horizontally
as seen in PLK
Brand Logo Widget
to specify the brand logo
as seen in PLK
Copyright and Language Selector
to specify the copyright text and language selector
as seen in TH
Column Header Widget
to specify a header in a column
is just a
localeString
for now, but we can come back and make this more flexible if we need tomay end up removing this since we have specialized types for list of links
Highlighted Vertical Link List Widget
to specify a column of links that should have a header, subheader, and highlighted link
as seen in TH
Horizontal Link List Widget
to specify a list of links that should be laid out horizontally
Horizontal Text With Link Widget
to specify text that should be followed by a link
as seen in PLK
Link Widget
used to specify a link
can be external or internal
Social Icons
to specify the placement, image and link of the social icons
Social Icons With Header Widget
to specify a header with the social icons
as seen in TH
Text Widget
to specify strings of text
is just a
localeString
for now, but we can come back and make this more flexible if we need to
Vertical Link List Widget
to specify links that should be laid out vertically
as seen in TH or BK without the header
Vertical Link List With Header Widget
to specify a list of links with a header that should be laid out vertically
as seen in BK
Wordmark and Social Icons
to specify where the wordmark and social icons row should go
Feature Navigation: We have the ability to set the navigation for the web and phone in sanity so you can decide what the user can navigate through without the need of code changes.
Navigation Desktop: Here you will be able to add as many as you would like, however we do not recommend more than 4-5 because you will like it to be seen in different size screens adequately.
For it to work you need to:
Set LD flag
enableSanityWebNavigation
to trueIn Sanity you will need to add for each set of navigation the text you would like the user to see and where it should be directed to when you click on it i.e: Restaurants → /store-locator
Navigation Mobile: Here you will have to add 5 as a requirement for the navigation tab in the app.
For it to work you need to:
Set LD flag
enableSanityControlledMobileNav
to trueIn Sanity you will need to add for each set of navigation the text you would like the user to see and where it should be directed to when you click on it i.e: Restaurants → /store-locator
Feature Layout: This feature contains a but of different pieces of the layout
Hero Image: This will be the default hero image you would like
Loading Section: This will be all the assets in the loading section when you are leading to the checkout section
Geolocation Section: Any images to display geolocation services
Gift Card Section: Any assets in regards to gift cards
Wallets: Images for the wallet section if your app has one
Feature Account ( Need to change name to Comm Preferences): This feature is to give the user the opportunity to edit their communication preferences in a very easy way.
For it to work you need to:
Set LD flag
enableCommunicationPreferences
to trueReach out to CTG team to start work in the codebase to enable this to work
Set up in sanity the different options you would like the user to be able to set preferences too:
Rewards
Push Key: rewardsPush -> It needs to be this one
Email Key : rewardsEmail -> It needs to be this one
Name and Description will be what the user will see
Marketing
Push Key: marketingPush -> It needs to be this one
Email Key : marketingEmail -> It needs to be this one
Name and Description will be what the user will see
Order Status & Tipping
Key: orderStatus -> It needs to be this one
Name and Description will be what the user will see
Language
Key: language -> It needs to be this one
Name and Description will be what the user will see
Enum Strings: What languages you would like the user to see
Feature Account Delete Page: We currently have build the functionality for users to request to delete their account.
For it to work you need to:
Set LD flag
enableAccountDeletePage
to trueIn Sanity you will need to add the text for the delete account page and for the error state.
Feature Account Request Info: We currently have build the functionality for users to request their information
For it to work you need to:
Set LD flag
enableRequestMyInformation
to trueIn Sanity you will need to add the text for the request my info page and for the error state.
Feature Account Form: This will contain editable information for the account info form
Postal Code Disclaimer: This will appear in sign up form and account form
Feature Geolocation Modal: We currently we have the option to customize the modal to ask for geolocation.
Feature Menu: This contains all the necessary information we need to configure the site with the correct menu configuration.
Default Menu → Menu it will show in the app front end. This is useful when you have more than one menu created
Catering Menu → Menu that will show in the app catering section in the front end.
Upsell Items at checkout in restaurant: When ordering is enabled, we have a feature to upsell at checkout some items for the user. This please is where you will add which items you would like the user to see in the upsell at checkout
Upsell Items at checkout in delivery: Same as the above but for the delivery user flow.
Upsell Items at checkout in catering: Same as the above but for the catering user flow.
Day-parts: This encompasses all the different day-parts each region has. Currently each item hosts a day-part and the same with offers. This configuration is how the code will know when to show certain elements depending on their day-part.
Menu Hero Image: Image you would like for the menu page in the background
Menu Text: Text you would like the menu page to have
Feature Static Menu: We developed a feature to set a static menu for whenever the user does not have a store selected they can view the menu.
For this feature to work you need:
Set LD flag
enableStaticMenu
to trueSet section, pickers, combos and items you would like to show as show in static menu
Set in the feature static menu the message for unavailable items
Feature Kiosk:
Feature Quiz: Ask Jamie?
Feature Disclaimer: This section contains all disclaimers that are necessary for the app.
Super Upsell Disclaimer: This is a general disclaimer that can be used for anything. We have only used it for upsells in the past. It appears in the ordering menu
Calorie Disclaimer: This will be the calorie disclaimer required. It currently appears in the nutrition explorer and in the ordering menu.
Sodium Disclaimer: This will be the sodium disclaimer required in the US. It currently appears in the nutrition explorer and in the ordering menu.
Price Disclaimer: This one currently appears in the footer of PLK uniquely.
Images Disclaimer: This one currently appears in the footer of PLK uniquely.
Phone Number Disclaimer: This one appears in the sign up form
Country Disclaimer: This one appears in the sign up form
Offers Disclaimer: This will be the general offer disclaimer that all offers will have. If an offer needs a different disclaimer you can add it in the More Info section of that specific offer.
Communication Preferences Disclaimer Block: This will appear in the communication preferences center in the account form
Feature Mobile App Configuration: This is used to host all the mobile app configuration
App Version: Current app version in Google Play Store and App Store