Versions Compared

Key

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

...

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
  • 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).

  • Only 2 levels of modifiers will be supported for mobile ordering: ADD and NO. Additional modifier multipliers (more granular levels of customization such as ‘heavy ketchup’, ‘light ketchup’) won’t be supported for mobile ordering in the initial scope.

  • 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.

Info
  • Later on, additional toggles (or any other UI mechanism) can be added to allow for multiples of Add (light, heavy, 2x, 3x.).

  • For Add and No, a toggle UI option will be added to the Sanity document under item → Options.

    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).

  • image-20241120-101852.pngImage Removed
  • Upon clicking on Ketchup under Options, today we see additional Options (Item --> Options --> Options) for ketchup (its modifier multipliers):

  • image-20241120-101802.pngImage Removed
  • Instead of defining Add and No modifier multipliers and adding via Item --> Options --> Options, we will have a selection option for Add and No under Item --> Options, available by default for all modifiers added.

...

Scenario

...

UI Configuration

...

If a guest can remove a modifier from an item and can also add more.

...

Both the Add and No UI selections will be selected/turned on.

...

If a guest cannot remove a modifier from an item but can still add more of it.

...

The Add UI selection will be selected/turned on.

...

If a guest can remove a modifier from an item but cannot add more.

...

The No UI selection will be selected/turned on.

...

If a guest cannot do anything about a modifier from an item.

...

No need to add that modifier under Item --> Options

Info
  • TBD: The new modifier UI might 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 togglesnew UI. For NCR, the PLUs will be sent from the modifier multiplier document as it is done today and new toggle values UI 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 Khumbuused.

  • Having only 1 PLU per modifier in Sanity, and control whether it’s NO, +1, +2, etc. using the quantity attribute. Khumbu would need to do additional mapping to translate the quantity to the applicable priceSequence.

    • Question: Will we be relying on some common interface with Khumbu like add-delivery/no-pickup or will we send actual PLUs like remove bacon 300-1-3 for example. In the second case we would need to maintain a translation between price sequence and modifier variant + service mode?

  • 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 laterWe won’t make use of modifier multipliers (meaning, also no additional PLU for modifier multipliers).

  • 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 cases where a modifier is not available in delivery service mode specifically (while available for pickup), this could be managed via empty vendor config in Sanity for display in whitelabel. (The pricing for the modifier will still be managed via the mapping with Khumbu).

Open questions to answer in the implementation:

  • Whitelabel changes to consume prices of modifiers since we won't manage it the way we do now - assigning separate PLU per modifier multiplier

  • how are we going to handle the mapping between Sanity toggles and price sequences for modifier multipliers (Add/No + service modes)

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.

image (37)-20241031-101500.pngImage Removedimage (38)-20241031-101503.pngImage Removed

in general).

  • Later on, additional toggles (or any other UI mechanism) can be added to allow for multiples of Add (light, heavy, 2x, 3x.). 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.

Info

Combo 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.

  1. Price is at the combo level. Menu items inside the combo are priced at 0, unless they’re premium. Examples are markets like BK DE, BK UK, BK MX.

    1. In general, anything premium (item or modifier) adds up to the total combo price.

  2. Price is at the combo items' level. Combo is priced at 0. The sum of the combo items' prices adds up to the combo PLU. This gives operators the flexibility to build a price allocation different from the ALC prices, which can optimize the VAT allocation.

    1. Premium modifier PLU is added to the applicable item price instead of the combo.

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.

...