Partnerzy Google mogą przekazywać Google dane menu w formacie strukturalnym za pomocą integracji Rezerwacje kompleksowo, aby były one używane w sekcji Menu w profilu firmy w Google i innych punktach wejścia w usługach Google dla konsumentów.
Dane menu są przesyłane za pomocą ogólnych plików danych. Zanim zaczniesz:
- Sprawdź, czy masz ukończoną konfigurację 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 o 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 Merchant.
Przykładowy plik JSON znajdziesz w sekcji przykładowy plik JSON.
Nazwy plików danych powinny być niepowtarzalne w przypadku różnych przesłanych plików. Zalecamy umieszczenie w nazwie pliku sygnatury czasowej, np.
menu1_1633621547.json. -
W deskryptorze zestawu plików dla pliku danych menu ustaw pole
namenagoogle.food_menu. Przykładową zawartość 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 fragmentów (plików), jak wspomniano w artykule Korzystanie z SFTP dla 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 pliku 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.
Praca z opcjami elementów menu
Opcje pozycji 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 z menu restauracji, jeśli nie masz witryny do zamawiania w danej lokalizacji).
Jeśli produkt jest wyświetlany z ceną indywidualną 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 menu są obsługiwane tylko wtedy, gdy danie wymaga wybrania jednej z opcji. Na przykład przy zamawianiu pizzy rozmiar jest opcją wymaganą. 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ą pozycji z wybraną opcją. Cena powinna być ustawiona dla pozycji w menu lub dla jej opcji, ale nie dla obu tych elementów.
Restauracje z wieloma menu
Jedna restauracja (podmiot) może mieć tylko jedno menu. W przypadku restauracji, która ma kilka menu (np. osobne 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 mieć taką strukturę:
- Menu
- Sekcja lunchu
- Zupy
- Zupa 1
- Zupa 2
- Kanapki
- Kanapka 1
- Kanapka 2
- Sekcja „Kolacja”
- 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
Poniżej znajdziesz sprawdzone metody, które warto zastosować podczas tworzenia plików danych menu.
- Z restauracją można powiązać tylko jedno menu.
- 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.
- Treści muszą być zakodowane w formacie UTF-8. Nie musisz używać symboli zmieniających znaczenie w przypadku znaków spoza zestawu ASCII.
- Jeśli wprowadzasz aplikację w wielu regionach, upewnij się, że w polach jednostek i nanosów używasz prawidłowych kodów walut i nominałów. Zwróć szczególną uwagę na pole nanosów, które stanowi 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 kluczowe dla 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 wyświetlać się w panelach odkrywania i na karcie „Menu” w arkuszu miejsca restauracji. Karta menu jest obsługiwana w wyszukiwarce Google (na urządzeniach mobilnych i komputerach), a w przyszłości będzie dostępna na kolejnych platformach, 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 wizualizatora menu w przeglądarce asortymentu, aby wyświetlić podgląd menu.
Menu restauracji mogą pochodzić z wielu źródeł, w tym od samych restauracji za pośrednictwem ich profilu firmy w Google, od partnerów zajmujących się zamówieniami jedzenia i rezerwacjami, ze zdjęć menu przesłanych przez użytkowników i innych źródeł. Jeśli wiele źródeł udostępnia menu tej samej restauracji, 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 | ciąg znaków | Wymagane | Nieczytelny ciąg znaków 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 | object(TextField) | Nazwa, która może identyfikować menu, gdy użytkownik je przegląda. Opcjonalnie. | |
language | ciąg znaków | Domyślny kod języka powiązany z etykietami tekstowymi w menu. Oczekuje kodu języka 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 language_code w każdym tekście, ponieważ język zostanie wywnioskowany z domyślnego języka menu. Jeśli w różnych regionach występują różne teksty, w przypadku każdego z nich należy ustawić parametr 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 | ciąg znaków | Zlokalizowany ciąg znaków w języku odpowiadającym [language_code][google.type.LocalizedText.language_code] poniżej. | |
language_code | ciąg znaków | Kod języka tekstu w formacie 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 | ciąg znaków | Wymagane | Nieczytelny ciąg znaków od partnera, który jednoznacznie identyfikuje MenuSection w pliku danych partnera. Wymagane. |
display_name | object(TextField) | Wymagane | Nazwa, która może identyfikować MenuSection, gdy użytkownik przegląda menu. Wymagane. |
description | object(TextField) | Opis sekcji menu. Opcjonalnie. | |
images | tablica obiektów(Image) | zdjęcia sekcji menu; Opcjonalnie. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
uri | ciąg znaków | Wymagane | Adres URL zawierający surowe piksele obrazu. Wymagane. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
menu_item_id | ciąg znaków | Wymagane | Nieczytelny ciąg znaków od partnera, który jednoznacznie identyfikuje element MenuItem w pliku danych partnera. Wymagane. |
display_name | object(TextField) | Wymagane | Nazwa, która może identyfikować element menu, gdy użytkownik przegląda menu. Wymagane. |
description | object(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 | object(MenuItemAttributes) | Atrybuty tej pozycji menu. Opcjonalnie. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
offers | tablica obiektów(Offer) | Wymagane | Lista możliwych ofert. Wymagane. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
price | object(Money) | Poniższe przypadki są nieprawidłowe i spowodują usunięcie pozycji 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łową jednostką 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 typu waluty.
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
currency_code | ciąg znaków | Trzyliterowy kod waluty zdefiniowany w normie ISO 4217. | |
units | liczba | Całe jednostki kwoty.
Jeśli na przykład currencyCode to "USD", to 1 jednostka to 1 PLN. | |
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 wartość units jest dodatnia, wartość nanos musi być dodatnia lub wynosić zero.
Jeśli units wynosi zero, nanos może być dodatnia, ujemna lub równa zero.
Jeśli wartość units jest ujemna, wartość nanos musi być ujemna lub wynosić zero.
Na przykład wartość $-1,75 jest przedstawiana jako units=-1 i nanos=-750 000 000. |
| 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 | object(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 | object(DepositInfo) | Informacje o opakowaniu i recyklingu tej pozycji menu. Opcjonalnie. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
energy | object(NutritionValue) | Ilość energii odżywczej w porcji jedzenia. Można ją określić w kaloriach lub kilodżulach. Opcjonalnie. | |
sodium_content | object(NutritionValue) | Ilość sodu w gramach lub miligramach. Opcjonalnie. | |
serving_size | liczba | Liczba porcji, do których odnosi się wartość odżywcza. Opcjonalnie. | |
description | object(TextField) | Informacje o wartościach odżywczych w formacie dowolnego tekstu. 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 odpowiednia dla tego typu wartości. Na przykład w przypadku właściwości energy w obiekcie NutritionalInformation oczekiwane są tylko wartości 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 | object(TextField) | Wymagane | Opis dodatku, np. „konserwanty”. Wymagane. |
containment_level_code | enum(ContainmentLevelCode) | Informacja, czy produkt 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 | object(Money) | Wartość zwrócona za prawidłowe oddanie produktu. Opcjonalnie. |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
menu_item_option_id | ciąg znaków | Wymagane | Nieczytelny ciąg znaków od partnera, który jednoznacznie identyfikuje element MenuItemOption w pliku danych partnera. Wymagane. |
value | object(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 lub wytyczne dietetyczne, których przestrzegano podczas przygotowywania jedzenia.
| Nazwa | Opis |
|---|---|
DIET_UNSPECIFIED | Nie używać. Ograniczenie żywieniowe nie jest 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 ograniczenia 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 złożyć 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
Typy usług, których dotyczy 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 pieczarkami 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 | object(Menu) | Wzajemnie wykluczające się z | |
section | object(MenuSection) | Wzajemnie wykluczające się z | |
item | object(MenuItem) | Wzajemnie wykluczające się z | |
option | object(MenuItemOption) | Wzajemnie wykluczające się z |
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
offer_set | object(OfferSet) | Wzajemnie wykluczające się z | Dostępne oferty zakupu tego produktu spożywczego. |
menu_item_option_set | object(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 | object(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 | object(TextField) | Wzajemnie wykluczające się z | Tekst niesformatowany dla wartości właściwości. Oczekiwane w przypadku właściwości property_type OPTION i SIZE. |