קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
food_menu.proto
// Feeds declarationsyntax="proto3";packagefood.menu.v1;import"google/protobuf/timestamp.proto";import"money.proto";import"localized_text.proto";optiongo_package="food/menu/v1/proto";messageFoodMenuFeed{repeatedMenuComponentdata=1;}messageMenuComponent{oneoftype{food.menu.v1.Menumenu=1;food.menu.v1.MenuSectionsection=2;food.menu.v1.MenuItemitem=3;food.menu.v1.MenuItemOptionoption=4;}}// Top-level catalog of food items offered by a Food establishment. Menu// contains a list of merchant ids and the menu that apply to those merchants.// A Menu can be used to represent single merchant with the menu, or multiple// merchants (typically chain restaurants) with the menus.messageMenu{// An opaque string from a partner which uniquely identifies the Menu within// the partner feed.// Required.stringmenu_id=1;// The merchants to whom the menu apply.// Note: This field is repeated so chain restaurants can share the same menu// across multiple locations, each of which is a separate merchant.// Required.repeatedstringmerchant_ids=2;// The name that can identify the Menu when a user is browsing the menu.// Optional.TextFielddisplay_name=3;// The default language code associated with the text labels contained in the// menu. Expects BCP-47 language code, such as "en-US" or "sr-Latn".//// For more information, see// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.// Optional.stringlanguage=4;// Disclaimer to be shown to the user for the menu. For example, nutritional// information disclosure and allergen disclosure.// Optional.Disclaimerdisclaimer=5;// IDs of items contained within this menu. Expects first-level menu items// only.// Optional.repeatedstringmenu_item_ids=6;// IDs of sections contained within this menu. Expects first-level menu// sections only.// Optional.repeatedstringmenu_section_ids=7;// Timestamp when this Menu or any of its contents was last updated by the// restaurant; i.e. a date to be associated with the phrase “accurate as of// date”.// Optional.google.protobuf.Timestamplast_merchant_update_time=8;}// A menu section is a grouping of items on a menu. Separate MenuSections are// usually created for each logical grouping of items on a menu. For example,// meal course type (Appetizer, Main, Dessert) and food categories (Burgers,// Drinks) are typical sections.messageMenuSection{// An opaque string from a partner that uniquely identifies the MenuSection// within the partner feed.// Required.stringmenu_section_id=1;// The name that can identify the MenuSection when a user is browsing the// menu.// Required.TextFielddisplay_name=2;// A description of the menu section.// Optional.TextFielddescription=3;// Image(s) of the menu section.// Optional.repeatedImageimages=4;// IDs of MenuItem entities that correspond to this MenuSection entity. A// section is expected to have at least 1 item if it does not contain any// sub-sections.// Optional.repeatedstringmenu_item_ids=6;// Child MenuSections (sub-sections) that correspond to this MenuSection// entity.// Optional.repeatedstringmenu_section_ids=7;}// Represents a single food or drink item offered by a Food establishment.messageMenuItem{// An opaque string from a partner that uniquely identifies the MenuItem// within the partner feed.// Required.stringmenu_item_id=1;// The name that can identify the MenuItem when a user is browsing the menu.// Required.TextFielddisplay_name=2;// A description of the menu item.// Optional.TextFielddescription=3;// Image(s) of the menu item.// Optional.repeatedImageimages=4;// Container that specifies a list of options available on an item.messageMenuItemOptionSet{// IDs of menu item options that are applicable to this menu item.// Required.repeatedstringmenu_item_option_ids=1;}// The menu item must either have a price, or a set of menu item options.// Required.oneofpricing{// Available offers to purchase this food item.OfferSetoffer_set=6;// Available options for this menu item.MenuItemOptionSetmenu_item_option_set=7;}// Attributes about this menu item.// Optional.MenuItemAttributesitem_attributes=8;}// Describes choices that a user would be required to make when selecting a// dish / combo. The user must select an option, otherwise the order is// considered invalid (e.g. the user must choose small, medium, or large for a// pizza).messageMenuItemOption{// An opaque string from a partner that uniquely identifies the// MenuItemOption within the partner feed.// Required.stringmenu_item_option_id=9;// Option property and value e.g. Size: Small.// Required.MenuItemOptionPropertyvalue=2;// Available offers to purchase this menu item option.// Required.OfferSetoffer_set=4;// Attributes about this menu item option.// Optional.MenuItemAttributesitem_attributes=5;}// Describes attributes about a particular menu item or option.messageMenuItemAttributes{// Number of servings available in a given menu item.// Optional.int32number_of_servings=1;// Describes all the nutritional information of the item, e.g. calories, fat// content.// Optional.NutritionInformationnutrition_information=2;// The dietary restrictions that this menu item complies with.// Optional.repeatedDietaryRestrictionsuitable_diets=3;// Additives of this menu item.// Optional.repeatedAdditiveadditive=4;// Allergens of this menu item.// Optional.repeatedAllergenallergen=5;// Packaging and recycling information of this menu item.// Optional.DepositInfopackaging_deposit_info=6;}// Container for a list of offers available on a menu item / option.// Only one offer should be applicable/valid at one particular time.// For example, a drink can have 2 offers where one is applicable in the morning// while the other is applicable in the evening during happy hours.messageOfferSet{// List of possible offers.// Required.repeatedOfferoffers=1;}// Represents pricing and availability information for MenuItems and// MenuItemOptions.messageOffer{// Monetary value of the menu item/option on sale. Can be empty to show no// price.// Required.google.type.Moneyprice=1;}// Partner provided disclaimer shown to the user. Contains a text disclaimer// along with an optional URL for more information.// Some example include: associated medical risks/warnings, any additional// fees/gratutity, etc.messageDisclaimer{// Body of the disclaimer text to be shown to the user.// Required.TextFieldtext=1;// URL containing more information about the disclaimer.// Optional.stringuri=2;}// A text payload that contains one or more localized values.messageTextField{// Per-locale text values.//// If there is only one desired locale support, then the language_code within// each text is not required to be set and the language will be inferred from// the default language of the menu.//// If there are multiple texts across different locales, then the// language_code must be set for each text. The first text in the list is// considered the preferred representation.// Required.repeatedgoogle.type.LocalizedTexttext=1;}// Represents an image associated with a menu entity.messageImage{// URL containing the raw pixels of the image.// Required.stringuri=1;}// Describes the property of a menu item option and its value.messageMenuItemOptionProperty{// Types of property that the option is for.enumPropertyType{// Do not use. The property type is not explicitly specified.UNKNOWN_PROPERTY_TYPE=0;// A generic menu item option property, which is not one of the more// specific types below. Use this if the property is not of type// SIZE or PIZZA_SIDE.OPTION=1;// Denotes the menu item option property of size (e.g. small, medium, or// large).SIZE=2;// Property specific to pizzas. For example: this MenuItemOption is only// valid for a portion/whole pizza, such as mushroom toppings on the left// side, right side, or whole pizza).PIZZA_SIDE=3;}// Well-defined values for the option property.enumPropertyValue{// Do not use. The property value is not explicitly specified.UNKNOWN_PROPERTY_VALUE=0;// The MenuItemOption applies only to the left side of a pizza.PIZZA_SIDE_LEFT=1;// The MenuItemOption applies only to the right side of a pizza.PIZZA_SIDE_RIGHT=2;// The MenuItemOption applies to the entire pizza.PIZZA_SIDE_WHOLE=3;}// The type of this option property.// Required.PropertyTypeproperty_type=1;// Required.oneofvalue{// A well-defined value for the option property. Currently only expected// if the property_type is PIZZA_SIDE.PropertyValueproperty_val=2;// A free-form text for the value of the property. Expected for// property_type OPTION and SIZE.TextFieldtext_val=3;}}// Describes all the nutritional measurements of a MenuItem or add-on.messageNutritionInformation{// Describes a single nutritional measurement of the serving of food.messageNutritionValue{// Describes a closed range for the nutrition value. E.g. "100-150 cal"messageRange{// The minimum amount of nutrition value.// Required.doublemin=1;// The maximum amount of nutrition value.// Required.doublemax=2;}// Required oneof.oneofvalue{// A single number representing the amount of nutritional value.doubleamount=1;// A range representing the amount of nutritional value.Rangerange=3;}// The unit associated with the amount as specified from the partner. We// will validate the feed so that the unit for each type of nutrition value// is expected for that type of value. For example, only ENERGY_CALORIES// and ENERGY_KILOJOULES are expected on energy property of// NutritionalInformation.// Required.NutritionValueUnitunit=2;}// The amount of nutritional energy of the serving of food. Can be defined// in Calories or kilojoules.// Optional.NutritionValueenergy=1;// The amount of sodium content, measured in grams or milligrams.// Optional.NutritionValuesodium_content=2;// The number of servings the nutrition value applies to.// Optional.int32serving_size=3;// Nutrition information in free text. For example "Contains preservatives".// Optional.TextFielddescription=4;}// Indicates a dietary restriction or guideline adhered to during// food preparation.enumDietaryRestriction{// Do not use. The dietary restriction is not explicitly specified.DIET_UNSPECIFIED=0;DIET_DIABETIC=1;DIET_GLUTEN_FREE=2;DIET_HALAL=3;DIET_HINDU=4;DIET_KOSHER=5;DIET_LOW_CALORIE=6;DIET_LOW_FAT=7;DIET_LOW_LACTOSE=8;DIET_LOW_SALT=9;DIET_VEGAN=10;DIET_VEGETARIAN=11;}// Additive shown to the user on the MenuItem. An additive preserves or enhances// the quality of the food.messageAdditive{// Descriptive text of the additive, e.g. "preservatives".// Required.TextFieldname=1;// Whether the MenuItem contains, may contain, or is free from this additive.// Defaults to contains.// Optional.ContainmentLevelCodecontainment_level_code=2;}// Allergen shown to the user on the MenuItem. An allergen relates to qualities// of food that causes allergic reactions.messageAllergen{// Type of allergen.// Required.AllergenTypeCodeallergen_type_code=1;// Whether the MenuItem contains, may contain, or is free from this allergen.// Defaults to contains.// Optional.ContainmentLevelCodecontainment_level_code=2;}// Allergen type derived from GS1: http://gs1.org/voc/AllergenTypeCodeenumAllergenTypeCode{// Do not use. The allergen type code is not explicitly specified.ALLERGEN_TYPE_CODE_UNSPECIFIED=0;ALLERGEN_TYPE_CODE_ALMONDS=1;ALLERGEN_TYPE_CODE_ALPHA_ISOMETHYL_IONONE=2;ALLERGEN_TYPE_CODE_ALCOHOL=3;ALLERGEN_TYPE_CODE_AMYL_CINNAMAL=4;ALLERGEN_TYPE_CODE_ANISE_ALCOHOL=5;ALLERGEN_TYPE_CODE_BARLEY=6;ALLERGEN_TYPE_CODE_BENZYL_ALCOHOL=7;ALLERGEN_TYPE_CODE_BENZYL_BENZOATE=8;ALLERGEN_TYPE_CODE_BENZYL_CINNAMATE=9;ALLERGEN_TYPE_CODE_BENZYL_SALICYLATE=10;ALLERGEN_TYPE_CODE_BRAZIL_NUTS=11;ALLERGEN_TYPE_CODE_BUTYLPHENYL_METHYLPROPIONATE=12;ALLERGEN_TYPE_CODE_CARROTS=13;ALLERGEN_TYPE_CODE_CASHEW_NUTS=14;ALLERGEN_TYPE_CODE_CELERY=15;ALLERGEN_TYPE_CODE_CEREALS_CONTAINING_GLUTEN=16;ALLERGEN_TYPE_CODE_CINNAMAL=17;ALLERGEN_TYPE_CODE_CINNAMYL_ALCOHOL=18;ALLERGEN_TYPE_CODE_CITRAL=19;ALLERGEN_TYPE_CODE_CITRONELLOL=20;ALLERGEN_TYPE_CODE_COCOA=21;ALLERGEN_TYPE_CODE_CORIANDER=22;ALLERGEN_TYPE_CODE_CORN=23;ALLERGEN_TYPE_CODE_COUMARIN=24;ALLERGEN_TYPE_CODE_CRUSTACEANS=25;ALLERGEN_TYPE_CODE_EGGS=26;ALLERGEN_TYPE_CODE_EUGENOL=27;ALLERGEN_TYPE_CODE_EVERNIA_FURFURACEA=28;ALLERGEN_TYPE_CODE_EVERNIA_PRUNASTRI=29;ALLERGEN_TYPE_CODE_FARNESOL=30;ALLERGEN_TYPE_CODE_FISH=31;ALLERGEN_TYPE_CODE_GERANIOL=32;ALLERGEN_TYPE_CODE_GLUTEN=33;ALLERGEN_TYPE_CODE_HAZELNUTS=34;ALLERGEN_TYPE_CODE_HEXYL_CINNAMAL=35;ALLERGEN_TYPE_CODE_HYDROXYCITRONELLAL=36;ALLERGEN_TYPE_CODE_HYDROXYISOHEXYL_3_CYCLOHEXENE_CARBOXALDEHYDE_ISOEUGENOL_LIMONENE_LINAL=37;ALLERGEN_TYPE_CODE_KAMUT=38;ALLERGEN_TYPE_CODE_LACTOSE=39;ALLERGEN_TYPE_CODE_LUPINE=40;ALLERGEN_TYPE_CODE_MACADAMIA_NUTS=41;ALLERGEN_TYPE_CODE_METHYL_2_OCTYNOATE=42;ALLERGEN_TYPE_CODE_MILK=43;ALLERGEN_TYPE_CODE_MOLLUSCS=44;ALLERGEN_TYPE_CODE_MUSTARD=45;ALLERGEN_TYPE_CODE_NO_DECLARED_ALLERGENS=46;ALLERGEN_TYPE_CODE_OAT=47;ALLERGEN_TYPE_CODE_PEANUTS=48;ALLERGEN_TYPE_CODE_PEAS=49;ALLERGEN_TYPE_CODE_PECAN_NUTS=50;ALLERGEN_TYPE_CODE_PISTACHIOS=51;ALLERGEN_TYPE_CODE_POD_FRUITS=52;ALLERGEN_TYPE_CODE_QUEENSLAND_NUTS=53;ALLERGEN_TYPE_CODE_RYE=54;ALLERGEN_TYPE_CODE_SESAME_SEEDS=55;ALLERGEN_TYPE_CODE_SOYBEANS=56;ALLERGEN_TYPE_CODE_SPELT=57;ALLERGEN_TYPE_CODE_SULPHUR_DIOXIDE=58;ALLERGEN_TYPE_CODE_TREE_NUTS=59;ALLERGEN_TYPE_CODE_TREE_NUT_TRACES=60;ALLERGEN_TYPE_CODE_WALNUTS=61;ALLERGEN_TYPE_CODE_WHEAT=62;}// Partner provided deposit info to instruct the user how to deposit a food item// or bottle and the value of such deposit.messageDepositInfo{// The deposit strategy to employ, e.g. "reusable".// Optional.DepositCodedeposit_code=1;// Value refunded for depositing the item properly.// Optional.google.type.Moneydeposit_value=2;}enumNutritionValueUnit{// Do not use. The nutrition value unit is not explicitly set.NUTRITION_VALUE_UNIT_UNSPECIFIED=0;// Units used to express the amount of energy in a menu item.ENERGY_CALORIES=1;ENERGY_KILOJOULES=2;// Units used to express the amount in weight a substance is present in the// menu item.WEIGHT_MILLIGRAMS=3;WEIGHT_GRAMS=4;}// Indicates the level of containment a food item has of a certain attribute,// such as allergens or additives.enumContainmentLevelCode{// Do not use. The containment level code is not explicitly specified.CONTAINMENT_LEVEL_CODE_UNSPECIFIED=0;CONTAINMENT_LEVEL_CODE_CONTAINS=1;CONTAINMENT_LEVEL_CODE_DOES_NOT_CONTAIN=2;CONTAINMENT_LEVEL_CODE_MAY_CONTAIN=3;}// Indicates how to properly deposit a food item or bottle.enumDepositCode{// Do not use. The deposite code is not explicitly specified.DEPOSIT_CODE_UNSPECIFIED=0;DEPOSIT_CODE_REUSABLE=1;DEPOSIT_CODE_RECYCLABLE=2;}
// Copyright 2025 Google LLC//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.syntax="proto3";packagegoogle.type;optioncc_enable_arenas=true;optiongo_package="google.golang.org/genproto/googleapis/type/localized_text;localized_text";optionjava_multiple_files=true;optionjava_outer_classname="LocalizedTextProto";optionjava_package="com.google.type";optionobjc_class_prefix="GTP";// Localized variant of a text in a particular language.messageLocalizedText{// Localized string in the language corresponding to `language_code' below.stringtext=1;// The text's BCP-47 language code, such as "en-US" or "sr-Latn".//// For more information, see// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.stringlanguage_code=2;}
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-03-01 (שעון UTC)."],[[["`food_menu.proto` defines a protocol buffer schema for representing food menus, encompassing menus, sections, items, options, pricing, and nutritional data."],["Key messages include `FoodMenuFeed`, `MenuComponent`, `Menu`, `MenuSection`, `MenuItem`, and `MenuItemOption`, forming a hierarchical structure for menu data."],["Items can have options, attributes (dietary restrictions, allergens), and pricing details, offering a comprehensive view of each menu item."],["The schema utilizes standard data types like strings, timestamps, enumerations, and custom messages to represent various menu aspects."],["`food_menu.proto` enables standardized menu data sharing, facilitating menu displays, ordering systems, and integration with various services."]]],["The structure defines a `FoodMenuFeed` containing `MenuComponent` items (Menus, Sections, Items, Options). `Menu` has unique identifiers, merchant associations, display names, and sections/items. `MenuSection` groups items, and `MenuItem` represents individual items with pricing, images, and options. `MenuItemOption` provides item variations. Supporting elements include `Offer` for pricing, `NutritionInformation`, `Allergen`, `Additive`, `DepositInfo`, `DietaryRestriction`, `Image`, `TextField`, `MenuItemOptionSet` and `MenuItemAttributes`. Unique IDs and localization are key.\n"]]