This guide will be removed on April 29, 2022. Please use our new, easier-to-use Toast technical documentation site. All updated content is on the new site.

Modifier Option that Inherits a Size/Sequence Price from a Modifier Group

With size/sequence pricing, the cost of a modifier option depends on the size of the menu item it is applied to and the order in which it is applied to the menu item. For example, the first topping on a small pizza is $0.50 and additional toppings are $1 while the first topping on a large pizza is $1.50 and additional toppings are $2.50. To configure size/sequence pricing, the menu item must use the Size Price pricing strategy and the modifier group must use the Size/Sequence Price pricing strategy.

In the example below, the Cheese Pizza menu item's pricingStrategy is SIZE_PRICE and it has two sizes defined, Small and Large, priced at $8 and $10 respectively (for information on size pricing for a menu item, see Menu Item with a Size Price). The Toppings modifier group's pricingStrategy is SIZE_SEQUENCE_PRICE and it defines that the first topping on a small Cheese Pizza costs $1 while the second topping costs $2. Likewise, the first topping on a large Cheese Pizza costs $3 and the second topping costs $4.

Sample JSON for modifier options that inherit Size/Sequence pricing from a parent modifier group

{
  "restaurantGuid": "2071fb81-988b-4d75-b8dc-c5c17cff9706",
  ...
  "menus": [
    {
      "name": "Dinner",
      "guid": "ddd681de-3c12-4d45-b8b1-a5b2ea898210",
      ...
      "menuGroups": [
        {
          "name": "Pizza",
          "guid": "dc868006-919a-4950-a4cc-3a03f9770fd7",
          ...
          "menuItems": [
            {
              "name": "Cheese Pizza",
              "guid": "95c5d500-8d92-46f2-bec4-fb2a42a46621",
              ...
              "price": null,
              "pricingStrategy": "SIZE_PRICE",1
              "pricingRules": {
                "timeSpecificPricingRules": [],
                "sizeSpecificPricingGuid": "23c02762-9d6a-4d3f-a298-71c989bf31b0",2
                "sizeSequencePricingRules": []
              },
              ...
              "modifierGroupReferences": [
                2,3
                5,4
                ...
              ],
              ...
            }
          ]
        }
      ]
    }
  ],
  "modifierGroupReferences": {
    ...
    "2": {5
      "referenceId": 2,
      "name": "Size",
      "guid": "23c02762-9d6a-4d3f-a298-71c989bf31b0",
      ...
      "pricingStrategy": "NONE",6
      "pricingRules": null,
      ...
      "modifierOptionReferences": [
        12,7
        138
      ],
      ...
    },
    "5": {9
      "referenceId": 5,
      "name": "Toppings",
      "guid": "e65dd350-5628-45fd-993d-8cf9c4f15a76",
      ...
      "pricingStrategy": "SIZE_SEQUENCE_PRICE",10
      "pricingRules": {
        "timeSpecificPricingRules": [],
        "sizeSpecificPricingGuid": "23c02762-9d6a-4d3f-a298-71c989bf31b0",11
        "sizeSequencePricingRules": [
          {
            "sizeName": "Small",12
            "sizeGuid": "352244f2-a952-4a3a-a3ae-7775fa221ce7",13
            "sequencePrices": [
              {
                "sequence": 1,
                "price": 1.014
              },
              {
                "sequence": 2,
                "price": 2.015
              }
            ]
          },
          {
            "sizeName": "Large",
            "sizeGuid": "4ff89bca-b448-4892-bc4c-62c37a28ac44",
            "sequencePrices": [
              {
                "sequence": 1,
                "price": 3.0
              },
              {
                "sequence": 2,
                "price": 4.0
              }
            ]
          }
        ]
      },
      ...
      "modifierOptionReferences": [
        16,16
        1717
      ],
      ...
    },
    ...
  },
  "modifierOptionReferences": {
    ...
    "16": {
      "referenceId": 16,
      "name": "Olives",
      "guid": "8d45403d-5393-4c19-9d11-1dd963df8a26",
      ...
      "price": null,
      "pricingStrategy": "GROUP_PRICE",18
      "pricingRules": null,
      ...
      "modifierGroupReferences": []
    },
    "17": {
      "referenceId": 17,
      "name": "Peppers",
      "guid": "d4977c91-08d3-4060-a7bd-13e19a83e794",
      ...
      "price": null,
      "pricingStrategy": "GROUP_PRICE",
      "pricingRules": null,
      ...
      "modifierGroupReferences": []
    },
    "12": {
      "referenceId": 12,
      "name": "Small",19
      "guid": "352244f2-a952-4a3a-a3ae-7775fa221ce7",
      ...
      "price": 8.0,20
      "pricingStrategy": "BASE_PRICE",
      "pricingRules": null,
      ...
      "modifierGroupReferences": []
    },
    "13": {
      "referenceId": 13,
      "name": "Large",
      "guid": "4ff89bca-b448-4892-bc4c-62c37a28ac44",
      ...
      "price": 10.0,
      "pricingStrategy": "BASE_PRICE",
      "pricingRules": null,
      ...
      "modifierGroupReferences": []
    }
  }
}

1

Indicates that the pricing strategy for the Cheese Pizza menu item is SIZE_PRICE.

2

The GUID of the Size modifier group that defines the sizes and prices for Cheese Pizza menu item. Note that this is the same modifier group that is referenced in the modifierGroupReferences map using the ID 2.

3

Reference to the Size modifier group in the modifierGroupReferences map. This is the same modifier group whose GUID is specified in the sizeSpecificPricingGuid value.

4

Reference to the Toppings modifier group.

5

The Size modifier group that defines sizes and prices for the Cheese Pizza menu item.

6

Prices are defined on the Small and Large modifier options themselves, so the pricingStrategy for the Size modifier group is NONE and pricingRules is null.

7

Reference to the Small modifier option for the Cheese Pizza menu item.

8

Reference to the Large modifier option for the Cheese Pizza menu item.

9

The Toppings modifier group.

10

Indicates that the pricing strategy for the Toppings modifier group is SIZE_SEQUENCE_PRICE.

11

The GUID of the Size modifier group that defines sizes and prices for the Cheese Pizza menu item.

12

An object that defines the price of toppings added to a Small cheese pizza.

13

The GUID of the modifier option that defines the matching Small size of the Cheese Pizza menu item.

14

The price of the first topping added to a Small cheese pizza ($1).

15

The price of the second topping added to a Small cheese pizza ($2). Because this is the last price in the sequence, it is also the price of any toppings added beyond the second.

16

Reference to the Olives modifier option.

17

Reference to the Peppers modifier option.

18

GROUP_PRICE indicates that the Olives modifier option inherits its price from its parent modifier group.

19

The modifier option that defines the price of a Small cheese pizza.

20

The price of a Small cheese pizza ($8).