Menu

Information about a menu configured for this restaurant.

availability
object

An Availability object with information about the days and times this menu is available. If the menu is available 24 hours per day, 7 days per week, this Availability object contains a single value, alwaysAvailable, that is set to TRUE. If the menu is not available 24 hours per day, 7 days per week, the alwaysAvailable value is set to FALSE and the object will also contain a schedule value that provides detailed information about the specific days and times this menu is available.

Important The orders API does not validate against the availability settings of a menu, meaning it is possible to submit an order for an item on a menu when it is not currently available. For this reason, it is particularly important that you check a menu’s availability value before placing an order from it.

description
string

An optional short description for this menu.

guid
string

A unique identifier for this menu, assigned by the Toast POS system.

highResImage
string or null

The URL to a high resolution image that has been uploaded for this menu. The image file must be in JPG, PNG, or SVG format. The highResImage value is only available if the Toast Kiosk module has been enabled for this restaurant. This value is null if no high resolution image has been specified.

image
string or null (Image)

The URL to an image that has been uploaded for this menu entity. This value is null if no image has been specified.

masterId
integer <int64> (MasterId)

This value is deprecated. Instead of masterId, use multiLocationId.

An identifier that is used to identify and consolidate menu entities that are versions of each other.

Array of objects (MenuGroup) >= 0 items

An array of the MenuGroup objects contained in this menu.

multiLocationId
string (MultiLocationId)

An identifier that is used to identify and consolidate menu entities that are versions of each other.

multiLocationId replaces masterId. multiLocationId and masterId always have the same value.

Menu entities can be versioned. Those versions can be assigned to specific restaurant locations, or groups of locations, in a management group. For example, you could have two versions of a burger, one for a Boston location and another for a New York City location. Versioned menu entities share the majority of, but not all of, their data. For example, the Boston version is called the Minuteman Burger and has pickles, while the New York City version is called the Empire Burger and does not.

You use the multiLocationId to identify menu entities that are versions of each other. To continue the example above, the Minuteman Burger in the JSON returned for the Boston location has the same multilocationId as the Empire Burger in the JSON returned for the New York City location. These matching multlocationId values indicate that the two items are related versions of the same item. In Toast reports, this allows a restaurant to track sales of the burger across both locations.

The Toast POS system ensures that once a multilocationId value is assigned to a set of versions within a management group, that multiLocationId is not used for any other version sets in the same management group. It does not guarantee, however, that the multiLocationId is not used by another management group to identify a set of versions within it.

See Toast identifiers in the Toast Developer Guide for more information on the multiLocationId and its relationship to other Toast identifiers.

See Enterprise module overview in the Toast Platform Guide for more information on the enterprise module and versioning.

name
string

A descriptive name for this menu, for example, "Food" or "Drinks".

{
  • "name": "string",
  • "guid": "string",
  • "multiLocationId": "string",
  • "masterId": 0,
  • "description": "string",
  • "highResImage": "string",
  • "image": "string",
  • "availability": { },
  • "menuGroups": [
    ]
}