Partnerzy Google mogą przekazywać Google uporządkowane dane menu za pomocą integracji Rezerwacje kompleksowe, aby były one wykorzystywane w sekcji Menu w Profilu Firmy w Google restauracji i innych punktach wejścia w usługach Google dla konsumentów.
Dane menu są pozyskiwane za pomocą plików danych ogólnych. Zanim zaczniesz:
- Sprawdź, czy masz ukończone wszystkie etapy konfiguracji konta.
- Omówienie procesu przesyłania ogólnego pliku danych
- Dowiedz się, jak skonfigurować konto do przesyłania ogólnych plików danych.
Tworzenie i przesyłanie plików danych menu
Podczas tworzenia i przesyłania plików danych menu postępuj zgodnie z tymi wytycznymi i konwencjami:-
Aby podać szczegółowe informacje o restauracji, postępuj zgodnie ze specyfikacją danych opisaną w pliku danych sprzedawcy.
Przykładowy plik JSON znajdziesz w sekcji przykładowy plik JSON.
Nazwy plików danych powinny być niepowtarzalne między przesyłaniami. Zalecamy umieszczenie w nazwie pliku sygnatury czasowej, np.
menu1_1633621547.json -
W deskryptorze zbioru plików dla pliku danych menu ustaw pole
namenagoogle.food_menu. Przykład zawartości pliku deskryptora znajdziesz w sekcji Przykładowy plik JSON deskryptora. Nazwy plików deskryptora powinny być niepowtarzalne w przypadku różnych przesłanych plików. Zalecamy dodanie do nazwy pliku sygnatury czasowej, np.descriptor_1633621547.filesetdesc.json. Plik deskryptora musi zostać przesłany na ogólny serwer SFTP w ramach pliku danych menu. - Pliki danych muszą być przesyłane na ogólny serwer SFTP codziennie w ramach pełnego odświeżania.
- Ogranicz liczbę plików danych do 1000, zgodnie z informacjami w artykule Korzystanie z SFTP ogólnego pliku danych.
Stan przesyłania plików danych znajdziesz w sekcji Przesyłanie > Historia w portalu dla partnerów. Informacje o serwerze SFTP pliku danych znajdziesz w sekcji Konfiguracja > Pliki danych w Portalu dla partnerów.
Stan przesyłania plików danych możesz sprawdzić w sekcji Przesyłanie > Historia w portalu dla partnerów. Informacje o serwerze SFTP pliku danych znajdziesz w sekcji Konfiguracja > Pliki danych w Portalu dla partnerów.
Korzystanie z opcji elementów menu
Opcje elementu menu można określić za pomocą protokołu MenuItemOption.
Partnerzy, którzy mają wiele zestawów wymaganych opcji dla jednego elementu menu (np. latte z opcjami rozmiaru i mleka), muszą zdecydować, jak najlepiej wyświetlać te opcje w Google. Google zaleca:
- Plik danych menu powinien być zgodny z witryną do zamawiania partnera (lub menu restauracji, jeśli nie masz witryny do zamawiania w danej lokalizacji).
Jeśli produkt jest wyświetlany z indywidualną ceną w witrynie zamówień, należy użyć wartości
MenuItem. Jeśli produkt jest wyświetlany z ceną podstawową i wieloma opcjami, należy użyć atrybutuMenuItemOption. - Unikaj długich list opcji, np.:
- Burrito z kurczakiem
- Burrito z kurczakiem i serem
- Burrito z kurczakiem i salsą
- Burrito z kurczakiem, salsą i serem
- Burrito z kurczakiem i guacamole
- Burrito z kurczakiem, guacamole i salsą
- Opcje pozycji w menu są obsługiwane tylko wtedy, gdy danie wymaga wybrania jednej z opcji. Na przykład przy zamawianiu pizzy rozmiar jest wymaganą opcją. Opcje pozycji menu, które dotyczą dodatków (np. „opcja dodania awokado”), nie są obsługiwane i nie powinny być uwzględniane w plikach danych.
Cena opcji pozycji w menu powinna być pełną ceną produktu z wybraną opcją. Cena powinna być ustawiona dla pozycji w menu lub jej opcji, ale nie dla obu tych elementów.
Restauracje z kilkoma menu
Jedna restauracja (encja) może mieć tylko 1 menu. W przypadku restauracji, która ma kilka menu (np. oddzielne menu na lunch i kolację), możesz połączyć wszystkie menu w jedno menu z elementami MenuSections (np. jedno menu z sekcją na lunch i sekcją na kolację). Wynikowe menu będzie miało taką strukturę:
- Menu
- Sekcja lunchu
- Zupy
- Zupa 1
- Zupa 2
- Kanapki
- Kanapka 1
- Kanapka 2
- Sekcja kolacji
- Polecenia inicjujące
- Starter 1
- Starter 2
- Dania główne
- Danie główne 1
- Danie główne 2
Udostępnianie menu w różnych restauracjach
Jedno menu można udostępniać w wielu restauracjach, dodając wszystkie restauracje do listy merchant_ids w menu. Pamiętaj, że ta lista akceptuje identyfikatory podmiotów w przypadku partnerów korzystających z pliku danych Podmiot.
Sprawdzone metody
Oto sprawdzone metody, których należy przestrzegać podczas tworzenia plików danych menu.
- Z restauracją można powiązać tylko 1 menu.
-
Dozwolona jest maksymalnie łączna liczba 3000 unikalnych obiektów
MenuItem(we wszystkich sekcjach i zagnieżdżonych podsekcjach). -
W ramach jednego
Menudozwolonych jest maksymalnie 100 000 unikalnych elementów na typ elementu (MenuSection,MenuItem,MenuItemOption). -
W pełni zmontowany plik
Menu(ze wszystkimi sekcjami, elementami i opcjami połączonymi po usunięciu duplikatów) nie może przekraczać 3, 8 MB. -
Wszystkie pola identyfikatora (
menu_id,merchant_ids,menu_section_ids,menu_item_ids,menu_item_option_ids,addon_menu_section_ids) muszą zawierać maksymalnie 580 znaków. - Podaj preferowany język jako pierwszy w TextField. Jeśli wysyłasz wiele obiektów LocalizedText, użytkownikom wyświetlany jest pierwszy obiekt na liście tekstów.
- Wszystkie dania muszą być dodane do sekcji menu. Nie dodawaj pozycji menu bezpośrednio do obiektu menu.
- Przesyłaj treści w kodowaniu UTF-8. Nie musisz oznaczać znaków spoza zestawu ASCII.
- Jeśli wprowadzasz aplikację w wielu regionach, upewnij się, że w polach jednostek i nanos używasz prawidłowych kodów walut i nominałów. Zwróć szczególną uwagę na pole nanos, które jest równe 10^-9 jednostki. Użyj wizualizatora menu w przeglądarce asortymentu, aby sprawdzić, czy ceny zostały prawidłowo ustawione.
- Zapewnianie użytkownikom atrakcyjnych wizualnie, wyczerpujących i aktualnych menu jest kluczem do zapewnienia im przydatnych i angażujących wrażeń. Ceny, opisy, zdjęcia i informacje o diecie to kluczowe elementy, które wpływają na podejmowanie decyzji. Zachęcamy partnerów do podawania jak największej ilości tych danych, aby zapewnić optymalne wrażenia użytkownikom i sprzedawcom.
- Aby nie wyświetlać ceny, w protokole Offer umieść pusty protokół Price.
Narzędzia do programowania i testowania
Po uruchomieniu plików danych menu dane z nich będą mogły się wyświetlać w panelach odkrywania i na karcie „Menu” w wizytówce restauracji. Karta menu jest obsługiwana w wyszukiwarce Google (na urządzeniach mobilnych i komputerach), a wkrótce będzie dostępna w innych usługach, w tym w Mapach Google. Wygląd i działanie mogą się różnić w zależności od platformy.
Aby upewnić się, że menu jest prawidłowo skonstruowane, użyj narzędzia Menu Visualizer w Przeglądarce zasobów reklamowych, aby wyświetlić podgląd menu.
Menu restauracji mogą pochodzić z wielu źródeł, w tym z samych restauracji za pośrednictwem ich profilu firmy w Google, od partnerów zajmujących się zamawianiem jedzenia i rezerwacjami, ze zdjęć menu przesłanych przez użytkowników i innych źródeł. Jeśli menu tej samej restauracji pochodzi z kilku źródeł, sprzedawca może wybrać preferowanego dostawcę w edytorze menu w Profilu Firmy w Google.
Schemat
Pełny schemat menu znajdziesz tutaj.
FoodMenuFeed
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
data | tablica obiektów(MenuComponent) |
MenuComponent
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
| oneOf(type) | Można ustawić tylko jedno z pól w tym polu oneOf. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
menu_id | tekst | Wymagane | Nieczytelny ciąg tekstowy od partnera, który jednoznacznie identyfikuje menu w pliku danych partnera. Wymagane. |
merchant_ids | tablica ciągów znaków | Wymagane | Sprzedawcy, do których ma zastosowanie menu. Uwaga: to pole jest powtarzane, aby restauracje sieciowe mogły udostępniać to samo menu w wielu lokalizacjach, z których każda jest osobnym sprzedawcą. Wymagane. |
display_name | obiekt(TextField) | Nazwa, która może identyfikować menu, gdy użytkownik je przegląda. Opcjonalnie: | |
language | tekst | Domyślny kod języka powiązany z etykietami tekstowymi w menu. Oczekuje kodu języka w standardzie BCP-47, np. „en-US” lub „sr-Latn”. Więcej informacji znajdziesz na stronie http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Opcjonalnie: |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
text | tablica obiektów(LocalizedText) | Wymagane | Wartości tekstowe dla poszczególnych regionów. Jeśli obsługiwane są tylko jedne ustawienia regionalne, nie musisz ustawiać kodu języka w każdym tekście. Język zostanie wywnioskowany z języka domyślnego menu. Jeśli w różnych regionach występują różne teksty, w przypadku każdego z nich należy ustawić wartość language_code. Pierwszy tekst na liście jest uważany za preferowaną reprezentację. Wymagane. |
LocalizedText
zlokalizowana wersja tekstu w określonym języku;
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
text | tekst | Zlokalizowany ciąg znaków w języku odpowiadającym [language_code][google.type.LocalizedText.language_code] poniżej. | |
language_code | tekst | Kod języka tekstu w standardzie BCP-47, np. „en-US” lub „sr-Latn”. Więcej informacji znajdziesz na stronie http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
menu_section_id | tekst | Wymagane | Nieczytelny ciąg tekstowy od partnera, który jednoznacznie identyfikuje MenuSection w pliku danych partnera. Wymagane. |
display_name | obiekt(TextField) | Wymagane | Nazwa, która może identyfikować sekcję menu, gdy użytkownik przegląda menu. Wymagane. |
description | obiekt(TextField) | Opis sekcji menu. Opcjonalnie: | |
images | tablica obiektów(Image) | Zdjęcia sekcji menu. Opcjonalnie: |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
uri | tekst | Wymagane | Adres URL zawierający surowe piksele obrazu. Wymagane. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
menu_item_id | tekst | Wymagane | Nieczytelny ciąg tekstowy od partnera, który jednoznacznie identyfikuje element MenuItem w pliku danych partnera. Wymagane. |
display_name | obiekt(TextField) | Wymagane | Nazwa, która może identyfikować element menu, gdy użytkownik przegląda menu. Wymagane. |
description | obiekt(TextField) | Opis pozycji menu. Opcjonalnie: | |
images | tablica obiektów(Image) | Zdjęcia pozycji z menu. Opcjonalnie: | |
| oneOf(pricing) | Wymagane | Można ustawić tylko jedno z pól w tym polu oneOf. |
item_attributes | obiekt(MenuItemAttributes) | Atrybuty tego elementu menu. Opcjonalnie: |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
offers | tablica obiektów(Offer) | Wymagane | Lista możliwych ofert. Wymagane. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
price | obiekt(Money) | Poniższe przypadki są nieprawidłowe i spowodują odrzucenie pozycji w menu: Cena bez kodu waluty, ale z jednostką lub nanosekundami albo z obiema tymi wartościami: price {units: 100, nanos: 1000000} price {units: 100} price {nanos: 1000000} Cena z nieprawidłowym kodem waluty, ale z jednostką lub nanosekundami albo z obiema tymi wartościami: price {currency_code: 'gXYZ', units: 100, nanos: 1000000} price {currency_code: 'gXYZ', units: 100} price {currency_code: 'gXYZ', nanos: 1000000} Cena z kodem waluty, ale z nieprawidłowymi jednostkami lub nanosekundami: price {currency_code: 'USD', units: 100, nanos: -100} price {currency_code: 'USD', units: -100, nanos: 100} |
Pieniądze
Reprezentuje kwotę pieniędzy z określeniem rodzaju waluty.
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
currency_code | tekst | Trzyliterowy kod waluty zdefiniowany w normie ISO 4217. | |
units | liczba | Jednostki całkowite kwoty.
Jeśli na przykład currencyCode to "USD", to 1 jednostka to 1 dolar amerykański. | |
nanos | liczba | Liczba jednostek nano (10^-9) kwoty.
Wartość musi się mieścić w przedziale od -999 999 999 do +999 999 999 (włącznie).
Jeśli units jest liczbą dodatnią, nanos musi być liczbą dodatnią lub zerem.
Jeśli units wynosi zero, nanos może być dodatnie, równe zero lub ujemne.
Jeśli units jest ujemna, nanos musi być ujemna lub wynosić zero.
Na przykład wartość –1,75 PLN jest reprezentowana jako units=-1 i nanos=-750000000. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
menu_item_option_ids | tablica ciągów znaków | Wymagane | Identyfikatory opcji pozycji menu, które mają zastosowanie do tej pozycji menu. Wymagane. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
number_of_servings | liczba | Liczba porcji dostępnych w danym produkcie w menu. Opcjonalnie: | |
nutrition_information | obiekt(NutritionInformation) | Opisuje wszystkie informacje o wartościach odżywczych produktu, np. kalorie, zawartość tłuszczu. Opcjonalnie: | |
suitable_diets | tablica typu enum(DietaryRestriction) | Wymagania żywieniowe, które spełnia ta pozycja w menu. Opcjonalnie: | |
additive | tablica obiektów(Additive) | Dodatki do tej pozycji menu. Opcjonalnie: | |
allergen | tablica obiektów(Allergen) | Alergeny w tej pozycji menu. Opcjonalnie: | |
packaging_deposit_info | obiekt(DepositInfo) | Informacje o opakowaniu i recyklingu tego produktu. Opcjonalnie: |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
energy | obiekt(NutritionValue) | Ilość energii odżywczej w porcji jedzenia. Można ją określić w kaloriach lub kilodżulach. Opcjonalnie: | |
sodium_content | obiekt(NutritionValue) | Zawartość sodu w gramach lub miligramach. Opcjonalnie: | |
serving_size | liczba | Liczba porcji, do których odnoszą się wartości odżywcze. Opcjonalnie: | |
description | obiekt(TextField) | Informacje o wartościach odżywczych w formie tekstu swobodnego. Na przykład „Zawiera konserwanty”. Opcjonalnie: |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
| oneOf(value) | Można ustawić tylko jedno z pól w tym polu oneOf. | |
unit | enum(NutritionValueUnit) | Wymagane | Jednostka powiązana z kwotą określona przez partnera. Sprawdzimy plik danych, aby upewnić się, że jednostka każdego typu wartości odżywczej jest zgodna z tym typem wartości. Na przykład w przypadku właściwości energy w NutritionalInformation oczekiwane są tylko ENERGY_CALORIES i ENERGY_KILOJOULES. Wymagane. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
min | liczba | Wymagane | Minimalna wartość odżywcza. Wymagane. |
max | liczba | Wymagane | Maksymalna wartość odżywcza. Wymagane. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
name | obiekt(TextField) | Wymagane | Opis dodatku, np. „konserwanty”. Wymagane. |
containment_level_code | enum(ContainmentLevelCode) | Informacja, czy element menu zawiera, może zawierać lub nie zawiera tego dodatku. Domyślna wartość to contains. Opcjonalnie: |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
allergen_type_code | enum(AllergenTypeCode) | Wymagane | Rodzaj alergenu. Wymagane. |
containment_level_code | enum(ContainmentLevelCode) | Informacja, czy element menu zawiera, może zawierać lub nie zawiera tego alergenu. Domyślna wartość to contains. Opcjonalnie: |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
deposit_code | enum(DepositCode) | Strategia kaucji, np. „wielorazowa”. Opcjonalnie: | |
deposit_value | obiekt(Money) | Wartość zwrócona za prawidłowe oddanie produktu. Opcjonalnie: |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
menu_item_option_id | tekst | Wymagane | Nieczytelny ciąg tekstowy od partnera, który jednoznacznie identyfikuje element MenuItemOption w pliku danych partnera. Wymagane. |
value | obiekt(MenuItemOptionProperty) | Wymagane | Właściwość i wartość opcji, np. Rozmiar: mały. Wymagane. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
property_type | enum(PropertyType) | Wymagane | Typ tej właściwości opcji. Wymagane. |
| oneOf(value) | Wymagane | Można ustawić tylko jedno z pól w tym polu oneOf. |
NutritionValueUnit
| Nazwa | Opis |
|---|---|
NUTRITION_VALUE_UNIT_UNSPECIFIED | Nie używać. Jednostka wartości odżywczej nie jest wyraźnie określona. |
ENERGY_CALORIES | Jednostki używane do wyrażania ilości energii w daniu. |
ENERGY_KILOJOULES | |
WEIGHT_MILLIGRAMS | Jednostki używane do wyrażania ilości substancji w daniu w menu. |
WEIGHT_GRAMS |
DietaryRestriction
Wskazuje ograniczenia dietetyczne lub wytyczne, których przestrzegano podczas przygotowywania posiłku.
| Nazwa | Opis |
|---|---|
DIET_UNSPECIFIED | Nie używać. Ograniczenia żywieniowe nie są wyraźnie określone. |
DIET_DIABETIC | |
DIET_GLUTEN_FREE | |
DIET_HALAL | |
DIET_HINDU | |
DIET_KOSHER | |
DIET_LOW_CALORIE | |
DIET_LOW_FAT | |
DIET_LOW_LACTOSE | |
DIET_LOW_SALT | |
DIET_VEGAN | |
DIET_VEGETARIAN |
ContainmentLevelCode
Wskazuje poziom zawartości określonego atrybutu w produkcie spożywczym, np. alergenów lub dodatków.
| Nazwa | Opis |
|---|---|
CONTAINMENT_LEVEL_CODE_UNSPECIFIED | Nie używać. Kod poziomu zawierania nie jest wyraźnie określony. |
CONTAINMENT_LEVEL_CODE_CONTAINS | |
CONTAINMENT_LEVEL_CODE_DOES_NOT_CONTAIN | |
CONTAINMENT_LEVEL_CODE_MAY_CONTAIN |
AllergenTypeCode
Typ alergenu pochodzący z GS1: http://gs1.org/voc/AllergenTypeCode
| Nazwa | Opis |
|---|---|
ALLERGEN_TYPE_CODE_UNSPECIFIED | Nie używać. Kod typu alergenu nie jest wyraźnie określony. |
ALLERGEN_TYPE_CODE_ALMONDS | |
ALLERGEN_TYPE_CODE_ALPHA_ISOMETHYL_IONONE | |
ALLERGEN_TYPE_CODE_ALCOHOL | |
ALLERGEN_TYPE_CODE_AMYL_CINNAMAL | |
ALLERGEN_TYPE_CODE_ANISE_ALCOHOL | |
ALLERGEN_TYPE_CODE_BARLEY | |
ALLERGEN_TYPE_CODE_BENZYL_ALCOHOL | |
ALLERGEN_TYPE_CODE_BENZYL_BENZOATE | |
ALLERGEN_TYPE_CODE_BENZYL_CINNAMATE | |
ALLERGEN_TYPE_CODE_BENZYL_SALICYLATE | |
ALLERGEN_TYPE_CODE_BRAZIL_NUTS | |
ALLERGEN_TYPE_CODE_BUTYLPHENYL_METHYLPROPIONATE | |
ALLERGEN_TYPE_CODE_CARROTS | |
ALLERGEN_TYPE_CODE_CASHEW_NUTS | |
ALLERGEN_TYPE_CODE_CELERY | |
ALLERGEN_TYPE_CODE_CEREALS_CONTAINING_GLUTEN | |
ALLERGEN_TYPE_CODE_CINNAMAL | |
ALLERGEN_TYPE_CODE_CINNAMYL_ALCOHOL | |
ALLERGEN_TYPE_CODE_CITRAL | |
ALLERGEN_TYPE_CODE_CITRONELLOL | |
ALLERGEN_TYPE_CODE_COCOA | |
ALLERGEN_TYPE_CODE_CORIANDER | |
ALLERGEN_TYPE_CODE_CORN | |
ALLERGEN_TYPE_CODE_COUMARIN | |
ALLERGEN_TYPE_CODE_CRUSTACEANS | |
ALLERGEN_TYPE_CODE_EGGS | |
ALLERGEN_TYPE_CODE_EUGENOL | |
ALLERGEN_TYPE_CODE_EVERNIA_FURFURACEA | |
ALLERGEN_TYPE_CODE_EVERNIA_PRUNASTRI | |
ALLERGEN_TYPE_CODE_FARNESOL | |
ALLERGEN_TYPE_CODE_FISH | |
ALLERGEN_TYPE_CODE_GERANIOL | |
ALLERGEN_TYPE_CODE_GLUTEN | |
ALLERGEN_TYPE_CODE_HAZELNUTS | |
ALLERGEN_TYPE_CODE_HEXYL_CINNAMAL | |
ALLERGEN_TYPE_CODE_HYDROXYCITRONELLAL | |
ALLERGEN_TYPE_CODE_HYDROXYISOHEXYL_3_CYCLOHEXENE_CARBOXALDEHYDE_ISOEUGENOL_LIMONENE_LINAL | |
ALLERGEN_TYPE_CODE_KAMUT | |
ALLERGEN_TYPE_CODE_LACTOSE | |
ALLERGEN_TYPE_CODE_LUPINE | |
ALLERGEN_TYPE_CODE_MACADAMIA_NUTS | |
ALLERGEN_TYPE_CODE_METHYL_2_OCTYNOATE | |
ALLERGEN_TYPE_CODE_MILK | |
ALLERGEN_TYPE_CODE_MOLLUSCS | |
ALLERGEN_TYPE_CODE_MUSTARD | |
ALLERGEN_TYPE_CODE_NO_DECLARED_ALLERGENS | |
ALLERGEN_TYPE_CODE_OAT | |
ALLERGEN_TYPE_CODE_PEANUTS | |
ALLERGEN_TYPE_CODE_PEAS | |
ALLERGEN_TYPE_CODE_PECAN_NUTS | |
ALLERGEN_TYPE_CODE_PISTACHIOS | |
ALLERGEN_TYPE_CODE_POD_FRUITS | |
ALLERGEN_TYPE_CODE_QUEENSLAND_NUTS | |
ALLERGEN_TYPE_CODE_RYE | |
ALLERGEN_TYPE_CODE_SESAME_SEEDS | |
ALLERGEN_TYPE_CODE_SOYBEANS | |
ALLERGEN_TYPE_CODE_SPELT | |
ALLERGEN_TYPE_CODE_SULPHUR_DIOXIDE | |
ALLERGEN_TYPE_CODE_TREE_NUTS | |
ALLERGEN_TYPE_CODE_TREE_NUT_TRACES | |
ALLERGEN_TYPE_CODE_WALNUTS | |
ALLERGEN_TYPE_CODE_WHEAT |
DepositCode
Wskazuje, jak prawidłowo umieścić produkt spożywczy lub butelkę.
| Nazwa | Opis |
|---|---|
DEPOSIT_CODE_UNSPECIFIED | Nie używać. Kod depozytu nie jest wyraźnie określony. |
DEPOSIT_CODE_REUSABLE | |
DEPOSIT_CODE_RECYCLABLE |
PropertyType
Rodzaje usług, do których odnosi się ta opcja.
| Nazwa | Opis |
|---|---|
UNKNOWN_PROPERTY_TYPE | Nie używać. Typ usługi nie jest wyraźnie określony. |
OPTION | Ogólna właściwość opcji elementu menu, która nie jest jednym z bardziej szczegółowych typów wymienionych poniżej. Użyj tej wartości, jeśli właściwość nie jest typu SIZE ani PIZZA_SIDE. |
SIZE | Oznacza właściwość opcji pozycji w menu dotyczącą rozmiaru (np. mały, średni lub duży). |
PIZZA_SIDE | Właściwość dotycząca pizzy. Przykład: ta opcja MenuItemOption jest ważna tylko w przypadku części lub całej pizzy, np. dodatków z grzybami po lewej stronie, po prawej stronie lub na całej pizzy. |
PropertyValue
Dobrze zdefiniowane wartości właściwości opcji.
| Nazwa | Opis |
|---|---|
UNKNOWN_PROPERTY_VALUE | Nie używać. Wartość właściwości nie jest określona wprost. |
PIZZA_SIDE_LEFT | Element MenuItemOption dotyczy tylko lewej strony pizzy. |
PIZZA_SIDE_RIGHT | Element MenuItemOption dotyczy tylko prawej strony pizzy. |
PIZZA_SIDE_WHOLE | Opcja MenuItemOption dotyczy całej pizzy. |
typ
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
menu | obiekt(Menu) | Wzajemnie wykluczające się z | |
section | obiekt(MenuSection) | Wzajemnie wykluczające się z | |
item | obiekt(MenuItem) | Wzajemnie wykluczające się z | |
option | obiekt(MenuItemOption) | Wzajemnie wykluczające się z |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
offer_set | obiekt(OfferSet) | Wzajemnie wykluczające się z | Dostępne oferty zakupu tego produktu spożywczego. |
menu_item_option_set | obiekt(MenuItemOptionSet) | Wzajemnie wykluczające się z | Dostępne opcje tego elementu menu. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
amount | liczba | Wzajemnie wykluczające się z | Pojedyncza liczba reprezentująca wartość odżywczą. |
range | obiekt(Range) | Wzajemnie wykluczające się z | Zakres reprezentujący ilość wartości odżywczej. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
property_val | enum(PropertyValue) | Wzajemnie wykluczające się z | Dobrze zdefiniowana wartość właściwości opcji. Obecnie oczekiwane tylko wtedy, gdy property_type to PIZZA_SIDE. |
text_val | obiekt(TextField) | Wzajemnie wykluczające się z | Tekst niesformatowany z wartością właściwości. Oczekiwane w przypadku właściwości property_type OPTION i SIZE. |