Attention: v4.7 of the API has released! See change log. Posts related to COVID-19 are still temporarily permitted for chains.

FoodMenus

Menus of a business that serve food dishes.

JSON representation
{
  "name": string,
  "menus": [
    {
      object (FoodMenu)
    }
  ]
}
Fields
name

string

Required. Google identifier for this location in the form: accounts/{accountId}/locations/{locationId}/foodMenus

menus[]

object (FoodMenu)

Optional. A collection of food menus.

FoodMenu

Menu of a business that serves food dishes.

JSON representation
{
  "labels": [
    {
      object (MenuLabel)
    }
  ],
  "sourceUrl": string,
  "sections": [
    {
      object (FoodMenuSection)
    }
  ],
  "cuisines": [
    enum (Cuisine)
  ]
}
Fields
labels[]

object (MenuLabel)

Required. Language-tagged labels for the menu. E.g. "menu", "lunch special". Display names should be 140 characters or less, with descriptions 1,000 characters or less. At least one set of labels is required.

sourceUrl

string

Optional. Source URL of menu if there is a webpage to go to.

sections[]

object (FoodMenuSection)

Required. Sections of the menu.

cuisines[]

enum (Cuisine)

Optional. Cuisine information for the food menu. It is highly recommended to provide this field.

FoodMenuSection

Section of a menu. It can contain multiple items/dishes.

JSON representation
{
  "labels": [
    {
      object (MenuLabel)
    }
  ],
  "items": [
    {
      object (FoodMenuItem)
    }
  ]
}
Fields
labels[]

object (MenuLabel)

Required. Language tagged labels for this menu section. Display names should be 140 characters or less, with descriptions 1,000 characters or less. At least one set of labels is required.

items[]

object (FoodMenuItem)

Required. Items of the section. Each Section must have at least an item.

FoodMenuItem

Item of a Section. It can be the dish itself, or can contain multiple FoodMenuItemOption.

JSON representation
{
  "labels": [
    {
      object (MenuLabel)
    }
  ],
  "attributes": {
    object (FoodMenuItemAttributes)
  },
  "options": [
    {
      object (FoodMenuItemOption)
    }
  ]
}
Fields
labels[]

object (MenuLabel)

Required. Language tagged labels for this menu item. Display names should be 140 characters or less, with descriptions 1,000 characters or less. At least one set of labels is required.

attributes

object (FoodMenuItemAttributes)

Required. Detailed attributes of the item. When item options are specified, this is considered as the base attributes and populate to each options.

options[]

object (FoodMenuItemOption)

Optional. This is for an item that comes in multiple different options, and users are required to make choices. E.g. "regular" vs. "large" pizza. When options are specified, labels and attributes at item level will automatically become the first option's labels and attributes. Clients only need to specify other additional food options in this field.

FoodMenuItemAttributes

Attributes of a food item/dish.

JSON representation
{
  "price": {
    object (Money)
  },
  "spiciness": enum (Spiciness),
  "allergen": [
    enum (Allergen)
  ],
  "dietaryRestriction": [
    enum (DietaryRestriction)
  ],
  "nutritionFacts": {
    object (NutritionFacts)
  },
  "ingredients": [
    {
      object (Ingredient)
    }
  ],
  "servesNumPeople": integer,
  "preparationMethods": [
    enum (PreparationMethod)
  ],
  "portionSize": {
    object (PortionSize)
  },
  "mediaKeys": [
    string
  ]
}
Fields
price

object (Money)

Required. Price of the food dish.

spiciness

enum (Spiciness)

Optional. Spiciness level of the food dish.

allergen[]

enum (Allergen)

Optional. Allergens associated with the food dish. It is highly recommended to provide this field.

dietaryRestriction[]

enum (DietaryRestriction)

Optional. Dietary information of the food dish. It is highly recommended to provide this field.

nutritionFacts

object (NutritionFacts)

Optional. Nutrition facts of the food dish option. It is highly recommended to provide this field.

ingredients[]

object (Ingredient)

Optional. Ingredients of the food dish option.

servesNumPeople

integer

Optional. Number of people can be served by this food dish option.

preparationMethods[]

enum (PreparationMethod)

Optional. Methods on how the food dish option is prepared.

portionSize

object (PortionSize)

Optional. Size of the order, represented in units of items. (e.g. 4 "skewers", 6 "pieces")

mediaKeys[]

string

Optional. The media keys of the media associated with the dish. Only photo media is supported. When there are multiple photos associated, the first photo is considered as the preferred photo.

Spiciness

The spiciness level of a food item.

Enums
SPICINESS_UNSPECIFIED Level unspecified
MILD Denotion of mild spicy.
MEDIUM Denotion of medium spicy.
HOT Denotion of hot spicy. The most spiciest level.

Allergen

Allergen information regarding a food item.

Enums
ALLERGEN_UNSPECIFIED Allergen unspecified
DAIRY Dairy related allergen
EGG Egg related allergen
FISH Fish related allergen
PEANUT Peanut related allergen
SHELLFISH Shellfish related allergen
SOY Soy related allergen
TREE_NUT Tree nut related allergen
WHEAT Wheat related allergen

DietaryRestriction

Dietary information of a food item.

Enums
DIETARY_RESTRICTION_UNSPECIFIED Dietary type unspecified
HALAL Denotion of the food as a halal dish.
KOSHER Denotion of the food as a kosher dish.
ORGANIC Denotion of the food as an organic dish.
VEGAN Denotion of the food as a vegan dish.
VEGETARIAN Denotion of the food as a vegetarian dish.

NutritionFacts

This message represents nutrition facts for a food dish.

JSON representation
{
  "calories": {
    object (CaloriesFact)
  },
  "totalFat": {
    object (NutritionFact)
  },
  "cholesterol": {
    object (NutritionFact)
  },
  "sodium": {
    object (NutritionFact)
  },
  "totalCarbohydrate": {
    object (NutritionFact)
  },
  "protein": {
    object (NutritionFact)
  }
}
Fields
calories

object (CaloriesFact)

Optional. Calories of the dish.

totalFat

object (NutritionFact)

Optional. Fat information for a given food dish.

cholesterol

object (NutritionFact)

Optional. Cholesterol information for a given food dish.

sodium

object (NutritionFact)

Optional. Sodium information for a given food dish.

totalCarbohydrate

object (NutritionFact)

Optional. Carbohydrate information for a given food dish.

protein

object (NutritionFact)

Optional. Protein information for a given food dish.

CaloriesFact

This message denotes calories information with an upper bound and lower bound range. Lower amount must be specified. Both lower and upper amounts are non-negative numbers.

JSON representation
{
  "lowerAmount": integer,
  "upperAmount": integer,
  "unit": enum (EnergyUnit)
}
Fields
lowerAmount

integer

Required. Lower amount of calories

upperAmount

integer

Optional. Upper amount of calories

unit

enum (EnergyUnit)

Required. Unit of the given calories information.

EnergyUnit

Possible units of food energy (calories).

Enums
ENERGY_UNIT_UNSPECIFIED Energy unit unspecified
CALORIE Calorie
JOULE Joule

NutritionFact

This message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit. Lower amount must be specified. Both lower and upper amounts are non-negative numbers.

JSON representation
{
  "lowerAmount": number,
  "upperAmount": number,
  "unit": enum (MassUnit)
}
Fields
lowerAmount

number

Required. Lower amount of nutrition

upperAmount

number

Optional. Upper amount of nutrition

unit

enum (MassUnit)

Required. Unit of the given nutrition information.

MassUnit

Possible units of mass.

Enums
MASS_UNIT_UNSPECIFIED Mass unit unspecified
GRAM Gram
MILLIGRAM Milligram

Ingredient

This message denotes an ingredient information of a food dish.

JSON representation
{
  "labels": [
    {
      object (MenuLabel)
    }
  ]
}
Fields
labels[]

object (MenuLabel)

Required. Labels to describe ingredient. Display names should be 140 characters or less, with descriptions 1,000 characters or less. At least one set of labels is required.

PreparationMethod

Preparation method of a food dish.

Enums
PREPARATION_METHOD_UNSPECIFIED Preparation method unspecified
BAKED Baked method
BARBECUED Barbecued method
BASTED Basted method
BLANCHED Blanched method
BOILED Boiled method
BRAISED Braised method
CODDLED Coddled method
FERMENTED Fermented method
FRIED Fried method
GRILLED Grilled method
KNEADED Kneaded method
MARINATED Marinated method
PAN_FRIED Pan fried method
PICKLED Pickled method
PRESSURE_COOKED Pressure cooked method
ROASTED Roasted method
SAUTEED Sauteed method
SEARED Seared method
SIMMERED Simmered method
SMOKED Smoked method
STEAMED Steamed method
STEEPED Steeped method
STIR_FRIED Stir fried method
OTHER_METHOD Other method

PortionSize

Serving portion size of a food dish.

JSON representation
{
  "quantity": integer,
  "unit": [
    {
      object (MenuLabel)
    }
  ]
}
Fields
quantity

integer

Required. Number of the portion.

unit[]

object (MenuLabel)

Required. The repeated nameInfo field is for the unit in multiple languages.

FoodMenuItemOption

Option of an Item. It requires an explicit user selection.

JSON representation
{
  "labels": [
    {
      object (MenuLabel)
    }
  ],
  "attributes": {
    object (FoodMenuItemAttributes)
  }
}
Fields
labels[]

object (MenuLabel)

Required. Language tagged labels for this menu item option. E.g.: "beef pad thai", "veggie pad thai", "small pizza", "large pizza". Display names should be 140 characters or less, with descriptions 1,000 characters or less. At least one set of labels is required.

attributes

object (FoodMenuItemAttributes)

Required. Detailed attributes of the item option. Individual unspecified attributes will be inherited from the item-level attibutes as the base.

Cuisine

Cuisine information of a resturant.

Enums
CUISINE_UNSPECIFIED Cuisine unspecified
AMERICAN American food
ASIAN Asian food
BRAZILIAN Brazilian food
BREAK_FAST Breakfast
BRUNCH Brunch
CHICKEN Chicken
CHINESE Chinese food
FAMILY Family style cuisine
FAST_FOOD Fast food
FRENCH French food
GREEK Greek food
GERMAN German food
HAMBURGER Hamburger
INDIAN Indian food
INDONESIAN Indonesian food
ITALIAN Italian food
JAPANESE Japanese food
KOREAN Korean food
LATIN_AMERICAN Latin American food
MEDITERRANEAN Mediterranean food
MEXICAN Mexican food
PAKISTANI Pakistani food
PIZZA Pizza
SEAFOOD Seafood
SPANISH Spanish food
SUSHI Sushi
THAI Thai food
TURKISH Turkish food
VEGETARIAN Vegetarian Food
VIETNAMESE Vietnamese food
OTHER_CUISINE Other cuisine