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.

Menu Item with a Size Price

When a menu item is priced using the Size Price pricing strategy, its pricingStrategy value is SIZE_PRICE and its pricingRules value contains the information you need to calculate the prices for different sizes of the item. Inside the pricingRules value, you see the sizeSpecificPricingGuid value, which is populated with the GUID of the Size modifier group that contains the sizes and prices for this menu item.

The Toast platform automatically creates a Size modifier group when you choose the Size Price pricing strategy for a menu item. The system stores the sizes and prices you specify in this modifier group, using separate modifier options, one for each size. You use the sizeSpecificPricingGuid value to locate the correct Size modifier group to use when pricing a menu item that uses size pricing. In the JSON fragment below, you can see that Cheese Pizza menu item uses the SIZE_PRICE pricing strategy and the Size modifier group where the sizes and prices for the Cheese Pizza menu item are defined has a GUID ending in 31b0. The Size modifier group has two modifier options that define two sizes for the Cheese Pizza menu item, Small and Large, which cost $8 and $10, respectively.

In this use case, the timeSpecificPricingRules array contained in the pricingRules value is empty because the menu item uses a size price, not a time-specific price. Also, the sizeSequencePricingRules array is empty because because this array is used for modifier option pricing, not menu item pricing.

Sample JSON for a menu item that uses the Size Price pricing strategy

{
  "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",
              "pricingRules": {
                "timeSpecificPricingRules": [],
                "sizeSpecificPricingGuid": "23c02762-9d6a-4d3f-a298-71c989bf31b0",1
                "sizeSequencePricingRules": []
              },
              ...
              "modifierGroupReferences": [
                2,2
                6,3
                ...
              ],
              ...
            }
          ]
        }
      ]
    }
  ],
  "modifierGroupReferences": {
    ...
    "2": {4
      "referenceId": 2,
      "name": "Size",
      "guid": "23c02762-9d6a-4d3f-a298-71c989bf31b0",
      ...
      "pricingStrategy": "NONE",
      "pricingRules": null,
      ...
      "modifierOptionReferences": [5
        12,
        13
      ],
      ...
    },
    ...
  },
  "modifierOptionReferences": {
    ...
    "12": {6
      "referenceId": 12,
      "name": "Small",
      "guid": "352244f2-a952-4a3a-a3ae-7775fa221ce7",
      ...
      "price": 8.0,7
      "pricingStrategy": "BASE_PRICE",8
      "pricingRules": null,9
      ...
      "modifierGroupReferences": []
    },
    "13": {10
      "referenceId": 13,
      "name": "Large",
      "guid": "4ff89bca-b448-4892-bc4c-62c37a28ac44",
      ...
      "price": 10.0,
      "pricingStrategy": "BASE_PRICE",
      "pricingRules": null,
      ...
      "modifierGroupReferences": []
    }
    ...
  }
}

1

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.

2

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

3

References to other, non-size related, modifier groups that modify the Cheese Pizza menu item.

4

The Size modifier group for the Cheese Pizza menu item.

5

References to the modifier options in the Size modifier group where the individual sizes and prices are defined.

6

The Small modifier option, which defines the price of the Small size of the Cheese Pizza menu item.

7

The price ($8) of the Small size of the Cheese Pizza menu item. This price is inherited from the Small modifier option's underlying item reference.

8

The pricingStrategy for the Small modifier option, inherited from the underlying item reference.

9

The pricingRules for the Small modifier option, inherited from the underlying item reference.

10

The Large modifier option, which defines the price of the Large size of the Cheese Pizza menu item.