Partnerzy Google mogą przekazywać Google uporządkowane dane menu za pomocą integracji Rezerwacje kompleksowo, aby były one używane w sekcji Menu w Profilu Firmy w Google restauracji 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 zakończoną konfigurację konta.
- Poznaj proces 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 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ładową zawartość pliku deskryptora znajdziesz w sekcji Przykładowy plik JSON deskryptora. Nazwy plików deskryptora powinny być niepowtarzalne między przesyłaniami. 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 ogólnego pliku danych SFTP.
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.
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.
Korzystanie z opcji elementów menu
Opcje pozycji menu można określić za pomocą protokołu MenuItemOption.
Partnerzy z wieloma zestawami wymaganych opcji dla pojedynczego elementu menu (np. latte z opcjami rozmiaru i rodzaju mleka) muszą zdecydować, jak najlepiej wyświetlać te opcje w Google. Google zaleca:
- Plik danych menu powinien być zgodny z witryną do składania zamówień partnera (lub z menu restauracji, jeśli nie masz witryny do składania zamówień 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ą. Cenę należy ustawić 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. oddzielne menu na lunch i kolację), możesz połączyć wszystkie menu w jedno menu z 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
- 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.
- Przesyłaj treści w kodowaniu 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 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 wyświetlać się w panelach odkrywania i na karcie „Menu” w informacjach o restauracji. Karta menu jest obsługiwana w wyszukiwarce Google (na urządzeniach mobilnych i komputerach). Będzie ona dostępna na kolejnych platformach, w tym w Mapach Google. Wygląd i działanie mogą się różnić w zależności od urządzenia.
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 ds. zamówień jedzenia i rezerwacji, 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, a 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ć 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: 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: 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 typu waluty.
| Nazwa pola | Typ | Wymaganie | Opis |
|---|---|---|---|
currency_code | ciąg znaków | Trzyliterowy kod waluty zdefiniowany w normie ISO 4217. | |
units | ciąg znaków | Całe jednostki 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 mieścić się 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 wynosić zero.
Jeśli wartość units jest ujemna, wartość nanos musi być ujemna lub równa 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) | Ograniczenia dietetyczne, które spełnia ten produkt 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 zgodna z tym typem 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 wpłaty, np. „reusable” (wielokrotnego użytku). 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 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 | Element 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 | Dowolny tekst jako wartość właściwości. Oczekiwano właściwości for property_type OPTION i SIZE. |