Versions Compared

Key

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

Order-Level Content → Menu → Modifier Multiplier

Table of Contents
minLevel1
maxLevel6
outlinefalse
typelist
printablefalse

Overview

What is a Modifier Multiplier?

Modifier Multipliers the options you can have for each of the ingredients that the brand allows to get modified in each item, they have a PLU related to each of them in a lot of cases but there might be POS exceptions.

These are what you might know as ingredients that are modifiable in each of our items like No Tomato (Sandwich), Regular Tomato (Sandwich), Extra Tomato (Sandwich), Regular Lettuce (Sandwich), Extra Sugar (Coffee), Light Milk (Coffee).

Modifier Multipliers are the options within a Modifier.

Note

Special Note for Modifiers

In

...

the US and Canada, Modifiers will

...

come from an automated sync from

...

MDS. The team will have to create them in

...

MDS before.

In international markets we used to but now they will be created with the set up process provided below.

Tip

If you are not in the USA or Canada, this guide is for you!

 

...

Editing Modifier Multipliers

Modifier

In this space you will link the corresponding Modifier. For example, if you are creating the Modifier Multiplier for No Tomato, you will link the Tomato Modifier.

Tip

You need to have already created the Modifier previously

...

Region

Note

This field is only applicable for USA and Canada, where Modifiers and Modifier Multipliers are synchronized from MDS

Vendor Configs

Tip

...

Your POS will have a different PLU for all the different

...

Info

If your POS shares 1 PLU for all the different modifier multipliers. For example:

  • No Ketchup: PLU 123

  • Regular Ketchup: PLU 123

  • Extra Ketchup: PLU 123

You will need to configure each modifier multiplier here.

In your brand and country Sanity environment, you will see the Service Mode Groups (Pickup and Delivery) and POS used, as well as the Tablet system in place, in case some restaurants use a POS without order injection integration.

...

Note

In the example above, please note that rPOS will include the PLU of items for all Pickup service modes (Takeaway, Dine-in, Drive-thru, Curbside), whereas rPOS Delivery refers to the PLU of items for delivery only.

For each Service Mode Group (Pickup and Delivery), you will need to configure the correct PLU.

...

Note that all your modifier multipliers for a specific modifier will have the same PLU. Below, find the example for:

  • Regular Whopper Patty

  • Extra Whopper Patty

...

options

...

.

...

Info

If your POS uses different PLU for the different modifier multipliers

You will need to add to each modifier multiplier its PLU, the same way you have done for Items or Combos.

In your brand and country Sanity environment, you will see the Service Mode Groups (Pickup and Delivery) and POS used, as well as the Tablet system in place, in case some restaurants use a POS without order injection integration.

...

Note

In the example above, please note that rPOS will include the PLU of items for all Pickup service modes (Takeaway, Dine-in, Drive-thru, Curbside), whereas rPOS Delivery refers to the PLU of items for delivery only.

For each Service Mode Group (Pickup and Delivery), you will need to configure the correct PLU.

...

Prefix

This is the name of the selection that the customer will see, associated to the multiplier that you will define right after.

...

Multiplier

Info

This is

...

The POS will multiply your PLU by this multiplier. For example for a Ketchup modifier multiplier PLU:

...

0 x Ketchup → will result in a price of 0 injected in the POS

...

0.5 x Ketchup → will result in a price of 0.5x the defined for this multiplier injected in the POS

...

1 x Ketchup → will result in the price defined for this multiplier injected in the POS

...

necessary for the system to calculate nutrition for your modfiers multipliers correctly and for the backend of the application to understand the build of each item.

Note below an example of multipliers and their equivalent prefixes.

Multiplier

Prefix

0

No

0.5

Light

1

Regular

1.5

Extra

2

Extra (Whole modifier like a hamburger patty)

Note

Why are there 0.5 or 1.5 multipliers? Shouldn’t it be only integer numbers like 1, 2, 3, 4, etc?

For some modifiers, such as Hamburger Patty, makes sense to rely only on integer multipliers. In fact, you cannot serve half a Hamburger to your guests, or a Hamburger and a half. The only option is to serve full Hamburger Patties, like 1, 2, 3, etc.

However, there are modifiers that can be served in halves. Pick Cheese slices, for example: if your item contains, by default, 2 slices of Cheese, how do you offer your guests the possibility to add 1 extra slice? Well, the above means:

  • Regular Cheese multiplier = 2 slices of Cheese

  • Extra Cheese multiplier = 3 slices of Cheese

For the POS to charge the guest correctly, we need to multiply the Regular modifier by 1.5, because in this case each 0.5 is the equivalent to 1 Cheese slice. The same rational can be applied to Bacon slices, Ketchup, Mayo… It will depend on your Menu composition.

Tip

The key question: is the modifier you are configuring divisible in halves or whole / indivisible?

Channel Exclusions

Need to show different items depending on the Service Mode Group (Pickup / Delivery) or the platform (Web, Mobile, Kiosk, Google Food Ordering)? This is the place where you can exclude items from being shown to the guests.

...

...

Modifier Controls

Info

You arrive here by clicking on the Options in the Item document, as seen below.

We found out it was easier and effortless for our teams to maintain the options of each items in this section, rather than in the Modifier or Modifier Multiplier documents.

...

There are five modifier control scenarios that we have identified:

  1. Boolean: The individual modifier can either be on or off, not available in a range

    1. Ex: Add bacon to a burger

    2. UI: Checkbox

  2. Non-numeric range: The individual modifier is available in a range of quantities that the brand wants to display as a non-numeric value

    1. Ex: None, light, regular, extra ketchup

    2. UI: Edit pencil icon with slide-up drawer

  3. Numeric range: The individual modifier is available in a range of quantities that the brand wants to display as a numeric value

    1. Ex: 0, 1, 2, 3 creams in your coffee

    2. UI: + - buttons

  4. Select one from options: The modifier has multiple options from which the guest can select one

    1. Ex: Salad dressing

    2. UI: Radio button

  5. Select multiple from options: The modifier has multiple options from which the guest can select more than one

    1. Ex: Sauces for chicken nuggets

    2. UI: + - buttons, description that displays amount guest must select

 

Existing fields:

Image AddedImage Added

 

  • itemOption name

  • Display Group - find more about this field in the Display Groups document

  • Component Style

  • displayModifierMultiplierName

  • allowMultipleSelections

  • injectDefaultSelection

  • min

  • max

  • Options

 

For this, we won’t be using the following fields:

  • allowMultipleSelections

  • injectDefaultSelection

  • min

  • Component Style

We will be using:

  • displayModifierMultiplierName

  • max: the maximum number of modifier selections available to the user for the given modifier, used only for dipping sauce-type modifiers (singleChoiceOnly)

  • singleChoiceOnly: will be a Read Only field that comes through from MDM, determines if the modifier is one that must be chosen from the group of its options

Find below the configuration options for each of the use cases identified:

Modifier Type

Rules / Acceptance Criteria

Boolean/checkbox

Image Added
  • itemOption has two options with modifierMultipliers 0 and 1

  • singleChoiceOnly = false

  • Grouped by display group, use as headers in Customize section

  • Ignore:

    • displayModifierMultiplierName

    • itemOption min and max- always 0 and 1

Non-numeric range

Image Added

 

  • singleChoiceOnly = false

  • displayModifierMultiplierName = true

    • Use modifier multiplier prefix to display quantity

Image Added
  • Grouped by display group, use as headers in Customize section

  • If no prefixes (for all or only some of the quantity options), default to using modifier multiplier numbers for all values. There shouldn’t be a mix of prefixes and numbers.

  • Ignore:

    • itemOption min and max- always 0 and 1

Numeric range

Image Added
  • singleChoiceOnly = false

  • displayModifierMultiplierName = false

    • Use modifier multiplier number to display quantity

  • Grouped by display group, use as headers in Customize section

  • Ignore:

    • itemOption min and max- always 0 and 1

Select one from options

Image Added
  • itemOption max = 1

  • singleChoiceOnly = true

  • No display group, use modifier group name from MDM as header

  • Ignore:

    • displayModifierMultiplierName

Select multiple from options

Image Added
  • itemOption max > 1

  • singleChoiceOnly = true

  • No display group, use modifier group name from MDM as header

  • Sub-header to indicate max number of selections: “Choose x {modifierGroup}”

    • Use same wording/Lokalise key as cart add-ons max

  • Since we will default users to x number of selections, all + should be disabled and they should have to decrement the selection they don’t want in order to enable the + on other selections

  • Ignore:

    • displayModifierMultiplierName

Steps to Disable a Modifier Multiplier for a Certain Restaurant:

  1. Remove the PLUs for the modifier multiplier that you don't want any more from the restaurant PLUs list.

  2. Toggle the "Inject Default Selection" for the modifier in Sanity if the default value is not the one that should be available. (read below for explanation)

    Image Added
  3. Turn the enable-hide-modifier-multipliers flag ON.

 

Note: If the modifier has a default modifier multiplier it will always be included in the list of options (regardless if it is available on the restaurant or not) unless the "Inject Default Selection" toggle is turned on in Sanity. Here is the logic in the code that always marks a MM as available if it is the default one: https://github.com/rbilabs/ctg-whitelabel-app/blob/master/workspaces/frontend/src/utils/availability/index.ts#L271-L275

Info

Unused Information

You might see additional fields in this document that are not part of this guide. Please disregard them as they are not needed for your Menu setup.