...
Info |
---|
Pricing & Availability per Service Modes on a Restaurant-level1) PricingDifferent pricing between service modes will be managed by priceSequence within the same definitionSequence. Applicable for all products (item, combo, modifier).
2) AvailabilityGET Menus: check for PLU + DefSeq + PriceSeq to verify if item is active or not in the restaurant. ItemsTerminology & overview: Oracle POS - Standards Availability Management
Operators in the restaurant manage items availability on a store-level using the POS, Oracle POS only supports that on store-level for both service modes - not distinguishing availability per service mode (pick-up and delivery). Assumption: In general, menu item availability is not managed differently per service mode on a store-level, meaning availability for pick-up and delivery is generally the same. For specific items whose availability is different for pickup and delivery within the same store, the following will be the suggestion to the operator: |
Info |
---|
Summary for Pricing & AvailabilityKhumbu will concatenate 3 IDs for items, combos, modifiers: PLU-DefSeq-PriceSeq. For items:
For modifiers,
For combos,
Configuration in Sanity
|
...
Menu Product Type
...
priceSequence
...
definitionSequence
...
Item
...
Delivery → 2
In-restaurant → 1
...
Delivery → 1
In-restaurant → 1
...
Combo
...
Modifier
...
Reward
Info |
---|
To see configurations in practice:/wiki/spaces/~554304973/pages/5254775064 Detailed Menu Structure guide: Oracle - Menu Structure options 1.pptx |
In certain markets, there are menu items whose availability can be temporarily different for different service modes on a restaurant-level. Meaning, item_1 being available for pickup and delivery normally for a given store, but temporarily needs to be made unavailable only for the delivery service mode while still being available for pickup. An example of this is packaged ice creams not being sold via delivery temporarily during heat hours but still sold on pickup. For those items, the configuration requires two distinct PLUs per service mode, as well as 2 separate Sanity menu content documents. To illustrate:
The market has 500 menu items in total. Menu item availability for almost all menu is managed per store for both service modes (if a menu item is not available in the restaurant for online pickup ordering, then it also won't be available for delivery).
There are only 10 menu items that could have different availability per store and service mode at the same time, like the icecream example mentioned above.
The operator configures a single PLU for 490 items, the same PLU is shared for both service modes. Availability is managed for both service modes at the same time on a store-level - always.
For the 10 exceptional menu items, distinct PLUs are defined per service mode - in total 20 PLUs.
These different PLUs then can be marked available/unavailable via the Oracle POS to manage availability differently per service mode.
Similarly, 2 unique Sanity menu documents are created for these items, one for each service mode. Example: Ben & Jerry's Icecream Pickup and Ben & Jerry's Icecream Delivery. Applicable pickup and delivery PLUs are then added to each document. This is different than the remaining 490 items where there is a single Sanity menu item document and the same PLU is entered for both service modes under Vendor Configs. The vendor configs for
delivery
andpickup
should be set toEmpty
respectively for these 2 documents.
This setup is required for the guest application to manage the availability correctly.
Note |
---|
Note that some existing markets use definitionSequence and priceSequence differently. For example, priceSequence used for indicating different sizes for combos. Even though we would be able to support some of these configurations, these markets would be suggested to change their configuration based on the standard guidelines defined by RBI / Oracle with a one-off configuration migration which Oracle can support via an Excel upload. |
...
Modifiers
...
2 dimensions - service mode and quantities (multipliers).
...
We can distinguish between service modes and multipliers using a combination of the 3 IDs.
Most markets support 2 levels of modifiers for mobile ordering: ADD and NO.
Remove (“No”). No multiples available.
“Add”, which will have several quantities (multiples for each quantity – e.g. 1x ketchup, 2x ketchup).
...
priceSequences will be used for determining the ADD and NO modifiers, as well as pricing across service modes:
priceSeq 2 = In Restaurant Add
priceSeq 3 = In Restaurant No
priceSeq 6 = Delivery Add
priceSeq 7 = Delivery No
...
A single Sanity document will be used for each modifier, with a single PLU used for both in-restaurant and delivery service modes.
For Add and No, a toggle will be added to the Sanity document for the item.
Option 1 (tentative):
...
A single modifier document called Ketchup in Sanity.
...
If a given item needs to have Ketchup, it is added under Item --> Options as it is currently done (example here).
...
Upon clicking on Ketchup under Options, today we see additional Options (Item --> Options --> Options) for ketchup (its modifier multipliers):
...
If a guest cannot remove a modifier from an item but can still add more of it --> We will have the Add toggle turned on.
If a guest can remove a modifier from an item but cannot add more --> We will have the No toggle turned on.
If a guest can remove a modifier from an item and can also add more --> We will have both Add and No toggles turned on.
If a guest cannot do anything about a modifier from an item, no need to add that modifier under Item --> Options.
...
Later on, additional toggles (or any other UI mechanism) can be added to allow for multiples of Add (light, heavy, 2x, 3x.).
...
Note: The new toggles will be specific to Oracle POS in order to not introduce breaking changes for existing markets. For example, BK UK having both NCR that uses Modifier Multiplier, and Oracle that will use the toggles. For NCR, the PLUs will be sent from the modifier multiplier document as it is done today and new toggle values won’t be sent. For Oracle, the modifiers will be managed via toggle values.
...
To understand if a modifier document in Sanity is ‘'Add’' and ‘'No’' to be able to assign the correct priceSequence, the UI selections for these options in Sanity should be exposed to Khumbu.
...
No PLU defined for modifier multiplier.
...
Similarly, for management of modifier multipliers beyond the ADD and NO values for modifiers (light, heavy), other pricing sequences or definitionSequence can be used later.
...
Different quantities of modifiers (e.g. 2 bacons) will be managed with the Quantity field.
Khumbu will manage the mapping for PLU+definitionSeq+PriceSeq as shown in phase 2 on the slide deck.
...
In certain markets, there are menu items whose availability can be temporarily different for different service modes on a restaurant-level. Meaning, item_1 being available for pickup and delivery normally for a given store, but temporarily needs to be made unavailable only for the delivery service mode while still being available for pickup. An example of this is packaged ice creams not being sold via delivery temporarily during heat hours but still sold on pickup. For those items, the configuration requires two distinct PLUs per service mode, as well as 2 separate Sanity menu content documents. To illustrate:
The market has 500 menu items in total. Menu item availability for almost all menu is managed per store for both service modes (if a menu item is not available in the restaurant for online pickup ordering, then it also won't be available for delivery).
There are only 10 menu items that could have different availability per store and service mode at the same time, like the icecream example mentioned above.
The operator configures a single PLU for 490 items, the same PLU is shared for both service modes. Availability is managed for both service modes at the same time on a store-level - always.
For the 10 exceptional menu items, distinct PLUs are defined per service mode - in total 20 PLUs.
These different PLUs then can be marked available/unavailable via the Oracle POS to manage availability differently per service mode.
Similarly, 2 unique Sanity menu documents are created for these items, one for each service mode. Example: Ben & Jerry's Icecream Pickup and Ben & Jerry's Icecream Delivery. Applicable pickup and delivery PLUs are then added to each document. This is different than the remaining 490 items where there is a single Sanity menu item document and the same PLU is entered for both service modes under Vendor Configs. The vendor configs for
delivery
andpickup
should be set toEmpty
respectively for these 2 documents.
This setup is required for the guest application to manage the availability correctly.
Info |
---|
Summary for Pricing & AvailabilityKhumbu will concatenate 3 IDs for items, combos, modifiers: PLU-DefSeq-PriceSeq. Configuration of Definition Sequence and Price Sequence
|
Menu Product Type | priceSequence | definitionSequence |
---|---|---|
Item | Delivery → 2 In-restaurant → 1 | 1 for both Delivery and In-restaurant. |
Combo | Delivery → 2 In-restaurant → 1 | 1 for both Delivery and In-restaurant. |
Modifier | priceSeq 2 = In Restaurant Add priceSeq 3 = In Restaurant No priceSeq 6 = Delivery Add priceSeq 7 = Delivery No | 1 for both Delivery and In-restaurant. |
Info |
---|
To see configurations in practice:/wiki/spaces/~554304973/pages/5254775064 Detailed Menu Structure guide: Oracle - Menu Structure options 1.pptx |
Note |
---|
Note that some existing markets use definitionSequence and priceSequence differently. For example, priceSequence used for indicating different sizes for combos. Even though we would be able to support some of these configurations, these markets would be suggested to change their configuration based on the standard guidelines defined by RBI / Oracle with a one-off configuration migration which Oracle can support via an Excel upload. |
Info |
---|
Modifiers
|
Info |
---|
Open questions to answer in the implementation:
Alternative to using PricingSequence or DefinitionSequence for Multipliers - the Quantity Field: This will be enabled by RBI Tech platform by utilizing the multiconstant PLU solution. Having the multiconstant PLU solution work will require additional engineering effort (e.g. there are gaps in partnersAPI, and potentially Menu Service in general). To improve the experience of the operator, a single Sanity document should be used for management of modifiers on Sanity later on. Therefore, removing the modifier multiplier document from Sanity completely. .g. there are gaps in partnersAPI, and potentially Menu Service in general).
|
Info |
---|
Combo PricingCombo pricing can be configured in 2 different ways. RBI Tech needs to support both scenarios, it is not possible to have one standardized way of managing combo pricing due to different taxation requirements of countries.
In both cases the total combo price = combo price + main item price + side 1 price + side 2 price. Therefore, summing up prices of everything always gives to total. Most of the logic here should be handled by Khumbu. Additional context under phase 3 in slide deck. |
...
Info |
---|
Webhooks
|
...