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.

...

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:

 

  • itemOption name

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

  • Component Style

  • displayModifierMultiplierName

  • allowMultipleSelections

  • injectDefaultSelection

  • min

  • max

  • Options

...

Modifier Type

Rules / Acceptance Criteria

Boolean/checkbox

  • 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

 

  • singleChoiceOnly = false

  • displayModifierMultiplierName = true

    • Use modifier multiplier prefix to display quantity

  • 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

  • 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

  • itemOption max = 1

  • singleChoiceOnly = true

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

  • Ignore:

    • displayModifierMultiplierName

Select multiple from options

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

...

  1. Image Added
  2. 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

...