A modifier option represents a "Modifier" that can be optionally applied to a RemoteOrderProduct via the ProductModifierID
Modifiers represent a variation on the ordered product that doesn't functionally represent a change to the actual product but
instead represents a change in form of the product (eg - Ordering a Large/medium/Small drink or Ordering a Chocolate/Strawberry milkshake)
Modifiers are independent of eachother as each product may only have a single modifier selected (at maximum).
Required
MaxLength(16)
Truncates
optionName :
string
The name of this option to be presented to the consumer
Required
decimal(18, 2)
priceVariance :
number (decimal)
The amount to vary the individual RemoteOrderProduct.Price when selecting this modifier. This change in price will also need to be applied to TotalAmount
This will be a variance in price, to get the actual item price (when selecting this ModifierOption for a MenuItem) you'll need to add this variance to the RemoteOrderProduct.Price
Can be zero or negative.
Nullable
MaxLength(64)
productIDOverride :
string
Can be null. Either ProductIDOverride OR ProductModifierID can be set. If both are null then this option represents a "no modifier" option
If this option is selected don't apply a modifier, instead change the ordered Product ID to this value.
This exists to support sites that represent product forms as seperate products. Eg having PLUs for "Large Cheese Pizza" and "Small Cheese Pizza"
Nullable
MaxLength(64)
productModifierID :
string
Can be null. Either ProductIDOverride OR ProductModifierID can be set. If both are null then this option represents a "no modifier" option
If specified, when creating a RemoteOrderProduct apply this value to the RemoteOrderProduct.ProductModifierID
Nullable
taxVariance :
TaxVariance
[]
These amounts will be the variations on the various taxes defined in the RemoteProduct.MenuItemTaxes.
This will be a variance in tax amounts, to get the actual item tax amounts (when selecting this ModifierOption for a MenuItem) you'll need to add these variances (matching TaxId) to the RemoteOrderProduct.MenuItemTaxes
Any missing/null values can be assumed to be 0. Can contain negative / zero values.
This list can also be null/empty
isDefaultOption : bool
If true, this ModifierOption should be treated as the default initial selection when the user is prompted to choose.
A maximum of 1 ModifierOption for any given product will have this set.
Example
{
"optionName": "string value",
"priceVariance": 1.23,
"productIDOverride": "string value",
"productModifierID": "string value",
"taxVariance": [],
"isDefaultOption": true
}