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 Price from a Modifier Group

When calculating size pricing for a modifier option, the Toast platform determines which size of a menu item has been ordered and then it locates the coordinating size and price for the modifier option. For example, toppings on a small pizza are $1 while toppings on a large pizza are $2. This scenario requires that both the menu item and the modifier group are configured to use the Size 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 also SIZE_PRICE and its sizes and prices are defined in its own pricingRules value.

Sample JSON for modifier options that inherit Size 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
                3,4
                ...
              ],
              ...
            }
          ]
        }
      ]
    }
  ],
  "modifierGroupReferences": {
    ...
    "2": {5
      "referenceId": 2,
      "name": "Size",
      "guid": "23c02762-9d6a-4d3f-a298-71c989bf31b0",
      ...
      "pricingStrategy": "NONE",6
      "pricingRules": null,
      ...
      "modifierOptionReferences": [
        12,7
        138
      ],
      ...
    },
    "3": {9
      "referenceId": 3,
      "name": "Toppings",
      "guid": "58b79986-f88f-411d-ba18-14b1e2441e9d",
      ...
      "pricingStrategy": "SIZE_PRICE",10
      "pricingRules": {
        "timeSpecificPricingRules": [],
        "sizeSpecificPricingGuid": "23c02762-9d6a-4d3f-a298-71c989bf31b0",11
        "sizeSequencePricingRules": [
          {
            "sizeName": "Small",12    (12)
            "sizeGuid": "352244f2-a952-4a3a-a3ae-7775fa221ce7",13
            "sequencePrices": [
              {
                "sequence": 1,14
                "price": 2.015
              }
            ]
          },
          {
            "sizeName": "Large",16
            "sizeGuid": "4ff89bca-b448-4892-bc4c-62c37a28ac44",17
            "sequencePrices": [
              {
                "sequence": 1,
                "price": 4.018
              }
            ]
          }
        ]
      },
      ...
      "modifierOptionReferences": [
        10,19
        1120
      ],
      ...
    },
    ...
  },
  "modifierOptionReferences": {
    ...
    "10": {
      "referenceId": 10,
      "name": "Mushrooms",
      "guid": "fa24fee9-76c4-40ba-ae3c-7dfccafdd8d3",
      ...
      "price": null,
      "pricingStrategy": "GROUP_PRICE",21
      "pricingRules": null,
      ...
      "modifierGroupReferences": []
    },
    "11": {
      "referenceId": 11,
      "name": "Onions",
      "guid": "afee6be7-8280-4c69-a170-9fdf4c76bf7b",
      ...
      "price": null,
      "pricingStrategy": "GROUP_PRICE",
      "pricingRules": null,
      ...
      "modifierGroupReferences": []
    },
    "12": {
      "referenceId": 12,
      "name": "Small",22
      "guid": "352244f2-a952-4a3a-a3ae-7775fa221ce7",
      ...
      "price": 8.0,23
      "pricingStrategy": "BASE_PRICE",
      "pricingRules": null,
      ...
      "modifierGroupReferences": []
    },
    "13": {
      "referenceId": 13,
      "name": "Large",24
      "guid": "4ff89bca-b448-4892-bc4c-62c37a28ac44",
      ...
      "price": 10.0,25
      "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_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 sequence value is always 1 for the SIZE_PRICE pricing strategy because there is only one price for each size of the modifier option. (Other pricing strategies use the sequence value to assign a price to a modifier option based on the sequence in which it was ordered.)

15

The price for a Small size of a topping ($2).

16

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

17

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

18

The price for a Large size of a topping ($4).

19

Reference to the Mushrooms modifier option.

20

Reference to the Onions modifier option.

21

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

22

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

23

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

24

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

25

The price of a Large cheese pizza ($10).