Schemat względnych zasobów reklamowych

Na tej stronie opisano format plików danych do zamawiania kompleksowych plików danych (specyfikację katalogu żywności), który udostępniasz Google. Aby uzyskać zrozumiałą dla komputera wersję tych informacji, możesz pobrać schemat JSON.

Wymagania ogólne

Elementy muszą mieć po 1 wierszu w pliku danych (elementy są rozdzielone znakami nowego wiersza). Ze względu na czytelność przykłady JSON na tej stronie nie są zgodne z tą strukturą. Musisz jednak przestrzegać tej struktury, przesyłając pliki danych. Na przykład element menu musi mieć taką strukturę:

{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}

Każdy element „Restauracja” może mieć 2 podmioty Usługi (po jednym dla typów usług „DOSTAWA” i „TakeOUT”). Każdy element „Service” może mieć tylko 1 encję „Menu”.

Każdego elementu można używać wielokrotnie w wielu restauracjach.

Wytyczne dotyczące wartości JSON

Wpisz przymus

Typ wartości JSON może się różnić od typu zdefiniowanego w schemacie, pod warunkiem że wartość można przekształcić na wymagany typ. Na przykład właściwości ciągów znaków mogą akceptować zarówno ciągi tekstowe, jak i liczby całkowite jako dane wejściowe. Podobnie właściwości dotyczące liczb całkowitych mogą przyjmować wartość ciągu, o ile ciąg można przetworzyć na prawidłową liczbę całkowitą.

Przymuszanie typu działa też w przypadku właściwości powtarzanych. Powtarzane właściwości mogą przyjmować wartości jako dane wejściowe bez konieczności ich ujęcia w nawiasy kwadratowe: []. Na przykład właściwość OperationHours.serviceId akceptuje jako prawidłowe dane wejściowe zarówno "service_id", jak i ["service_id"].

Wartości daty i godziny

Podstawą właściwości DateTime jest typ schema.org. O ile nie wskazano inaczej, musi być zgodna z formatem ISO 8601 i zawierać datę, godzinę oraz strefę czasową. Użyj tej składni w polu DateTime:

// DateTime format:
YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]

Na przykład:

2017-05-01T06:30:00-07:00 // UTC minus 7 hours
2017-05-01T06:30:00Z  // UTC time zone. The optional "Z" suffix represents the UTC time zone.

Time to lokalny czas w strefie czasowej danej restauracji lub lokalizacji usługi, również oparty na typie schema.org i musi być też zgodny z formatem ISO 8601. Czas używa tej składni:

// Time format:
THH:MM:SS

Na przykład:

T08:08:00 // 8:08 AM

Określając DateTime lub Time, pamiętaj o tych kwestiach:

  • Prefiks „T” przed czasem stanowi część formatu i jest wymagany.
  • Musisz podać strefę czasową dla DATETIME. Nie jest wymagana w przypadku aplikacji TIME.
  • Godzina restauracji lub usługi musi być podana w czasie lokalnym.

Dane o restauracjach

Restauracja (wymagana)

Wymagany element do implementacji. Opisuje restaurację.

W tabeli poniżej znajdziesz listę właściwości typu Restaurant:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: Restaurant

@id String

To pole jest wymagane.

Unikalny identyfikator restauracji lub dostawcy.

Przykład: restaurant_1

name String

To pole jest wymagane.

Nazwa restauracji.

Przykład: Foo

description String

Opis restauracji.

Przykład: Best seafood in town

url URL

Adres URL reprezentujący restaurację. Domena restauracji jest preferowana zamiast domeny pośrednika.

Przykład: http://www.provider.com/somerestaurant

sameAs URL

Oficjalna strona restauracji.

Przykład: http://www.provider2.com/somerestaurant

telephone String

Numer telefonu restauracji.

Przykład: +12345665898

streetAddress String

To pole jest wymagane.

Adres restauracji.

Przykład: 12345 Bar Avenu

addressLocality String

To pole jest wymagane.

Okolica lub miasto.

Przykład: San Francisco

addressRegion String

To pole jest wymagane.

Region lub stan.

Przykład: CA

postalCode String

To pole jest wymagane.

Kod pocztowy.

Przykład: 94124

addressCountry String

To pole jest wymagane.

Dwuliterowy kod kraju w formacie ISO 3166-1 alfa-2.

Przykład: US

latitude Number

Szerokość geograficzna w stopniach. Wartości są ograniczone do zakresu [[-90, 90]]. Dokładność powinna wynosić co najmniej 5 miejsc po przecinku.

Przykład: 35.7392607

longitude Number

Długość geograficzna w stopniach. Wartości są ograniczone do zakresu [[-180, 180]]. Dokładność powinna wynosić co najmniej 5 miejsc po przecinku.

Przykład: -120.3895522

dealId List<String>

Oferta obowiązuje w przypadku restauracji (Deal).

imprint String

Nota prawna to sekcja dodatkowych informacji o restauracji, takich jak nazwa prawna, adres firmy i numer rejestracyjny. Te informacje można sformatować, używając atrybutu „ ”.

Przykład:

Three Brothers Tacos
123 FooSt
Mountain View
CA 94041, United States
email: contact@threebrotherstacos.com

Commercial Register: 123456789

economicOperator String

Informacje operatora ekonomicznego powiązane z restauracją (w odpowiednich przypadkach). Te informacje będą wyświetlane w sekcji Informacje o przedsiębiorcy. Tekst można sformatować, korzystając z „ ”.

Przykład:

XYZ Corp
123 Main Street
555-555-5555

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych elementu z restauracją w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

Oto przykład elementu Restaurant:

Przykład

{
  "@type": "Restaurant",
  "@id": "10824",
  "name": "Pronto Wood Fired Pizzeria",
  "url": "https://www.provider.com/pronto-wood-fired-pizzeria",
  "telephone": "+16503659978",
  "streetAddress": "2560 El Camino Real",
  "addressLocality": "Palo Alto",
  "addressRegion": "CA",
  "postalCode": "94061",
  "addressCountry": "US",
  "latitude": 37.472842,
  "longitude": -122.217144
}

Umowa

Rodzaje rabatów, które można zastosować do koszyka.

W tabeli poniżej znajdziesz listę właściwości typu Deal:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: Deal

@id String

To pole jest wymagane.

Unikalny identyfikator umowy.

Przykład: FREEDELIVERY

dealCode String

To pole jest wymagane.

Unikalny identyfikator umowy na partnera. Ten identyfikator musi jednoznacznie identyfikować ofertę w Twoim systemie promocji. Google wysyła go do weryfikacji w polu promotions.coupon w CheckoutRequest.

Przykład: ADETRE23

applicableServiceType Lista<ServiceType>

Usługa, której dotyczy ta oferta. Domyślnie zakłada się, że umowa ma zastosowanie do wszystkich.

eligibleMaxOrders Liczba całkowita

Z tej oferty można skorzystać tylko wtedy, gdy liczba wcześniejszych udanych zamówień użytkownika będzie mniejsza lub równa tej liczbie.

availabilityId List<String>

Wartości @id encji dostępności, które określają, kiedy sekcja menu jest dostępna.

Przykład: [ "availability_1" ]

isDisabled Wartość logiczna

Spowoduje to zastąpienie innych kontroli poprawności.

dealType DealType

To pole jest wymagane.

Kategoria umowy, do której chcesz zastosować rabat. Kategoria może obejmować całkowity koszt koszyka, opłaty za obsługę lub opłaty za dostawę.

priceCurrency String

Wymagane, gdy discount is defined.

Wymagane, gdy eligibleTransactionVolumeMin is defined.

Waluta (w 3-literowym formacie ISO 4217) rabatu.

Przykład: USD

eligibleTransactionVolumeMin Number

Liczba transakcji w jednostce pieniężnej, dla których obowiązuje ta promocja.

termsOfServiceUrl URL

To pole jest wymagane.

Czytelna dla człowieka dokumentacja warunków korzystania z usługi.

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych elementu umowy w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

Wymagana jest dokładnie 1 z tych grup właściwości.
discount Grupa 1 Number

Wartość rabatu jako liczba.

discountPercentage Grupa 2 Number

Wartość rabatu jako procent pierwotnej ceny.

Oto przykład elementu Deal:

Przykład 1

{
  "@type": "Deal",
  "@id": "ONEDOLLARFEE",
  "dealCode": "THREEDOLLARFEE",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_may2020"
  ],
  "termsOfServiceUrl": "http://www.provider.com/onedollardeal",
  "applicableServiceType": [
    "TAKEOUT"
  ],
  "discount": 3,
  "priceCurrency": "USD"
}

Przykład 2

{
  "@type": "Deal",
  "@id": "10PERCOFF",
  "dealCode": "10PERCOFF",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_weekdays_evening"
  ],
  "termsOfServiceUrl": "http://www.provider.com/deal",
  "discountPercentage": 10,
  "priceCurrency": "USD"
}

Przykład 3

{
  "@type": "Deal",
  "@id": "FREEDELIVERY",
  "dealCode": "FREEDELIVERY",
  "dealType": "DELIVERY_OFF",
  "availabilityId": [
    "availability_may"
  ],
  "applicableServiceType": [
    "DELIVERY"
  ],
  "termsOfServiceUrl": "http://www.provider.com/free_delivery_deal",
  "discountPercentage": 100,
  "eligibleTransactionVolumeMin": 25,
  "priceCurrency": "USD"
}

Dane usługi

Usługa (wymagana)

Opisuje szczegóły usługi zamawiania jedzenia w restauracji. Element Service jest wymagany do wdrożenia.

W tabeli poniżej znajdziesz listę właściwości typu Service:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: Service

@id String

To pole jest wymagane.

Identyfikator usługi realizacji zamówień.

Przykład: service_1

serviceType ServiceType

To pole jest wymagane.

Rodzaj oferowanej usługi. Możliwe wartości to „DELIVERY” i „TakeOUT”.

Przykład: DELIVERY

restaurantId String

To pole jest wymagane.

Wartość @id elementu Restaurant skorelowana z tym elementem Service.

Przykład: restaurant_1

menuId String

To pole jest wymagane.

Wartość @id elementu Menu skorelowana z tym elementem Service.

Przykład: menu_1

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych jednostki usługi w formacie sygnatury czasowej ISO.

Przykład: 2017-01-02T00:00:00-07:00

isDisabled Wartość logiczna

Wskazuje, czy encja jest wyłączona. Używaj tego typu tylko wtedy, gdy musisz wyłączyć element z powodu nieoczekiwanego zdarzenia i nie wiesz, kiedy usługa zostanie ponownie włączona (np. nie używaj jej w okresie świątecznym).

Przykład: true

servingConfig ServingConfig

Konfiguracja obsługi usługi służącej do sterowania różnymi funkcjami, np. wyłączanie widżetu promocji itp.

actionLinkUrl String

Zawiera adres URL usługi dostawy lub na wynos, który będzie używany podczas migracji z kompleksowego systemu zamawiania jedzenia do przekierowania.

Oto przykład elementu Service:

Przykład 1

{
  "@type": "Service",
  "@id": "10824/takeout",
  "serviceType": "TAKEOUT",
  "menuId": "10824",
  "restaurantId": "10824",
  "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderpickup/merchant_foepa_3"
}

Przykład 2

{
  "@type": "Service",
  "@id": "10824/delivery",
  "serviceType": "DELIVERY",
  "menuId": "10824",
  "restaurantId": "10824",
  "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderdelivery/merchant_foepa_3"
}

ServiceArea

Określa region geograficzny, do którego może być dostarczana żywność. Wdrożenie jest wymagane, jeśli powiązany element Service ma wartość „serviceType” ustawioną na „DELIVERY”.

W tabeli poniżej znajdziesz listę właściwości typu ServiceArea:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: ServiceArea

@id String

To pole jest wymagane.

Unikalny identyfikator obsługiwanego obszaru.

Przykład: service_area_1

serviceId List<String>

To pole jest wymagane.

Wartość @id encji Service skorelowanej z tą encją ServiceArea.

Przykład: [ "service_1" ]

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych encji ServiceArea w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

exclude Wartość logiczna

Nie uwzględniaj tego obsługiwanego obszaru z całkowitego regionu dostawy. Na przykład kod pocztowy można wykluczyć z większego obszaru wielokątnego.

Wymagana jest dokładnie 1 z tych grup właściwości.
polygon Grupa 1 List<String>

Wielokąt lub wielokąt wyrażony jako seria trzech lub więcej punktów rozdzielonych spacjami. Zalecane jest, aby pierwszy i ostatni punkt były takie same, ale nie jest to wymagane. Każdy punkt wielokąta lub wielokąta jest definiowany przez punkt szerokości geograficznej, po którym następuje długość geograficzna. Musisz też podać punkty w kierunku przeciwnym do ruchu wskazówek zegara.

Przykład: [ "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747" ]

geoMidpointLatitude Grupa 2 Number

Wskazuje współrzędne szerokości geograficznej w środku obszaru KROK.

Przykład: 37.806000

geoMidpointLongitude Grupa 2 Number

Wskazuje współrzędne długości geograficznej pośrodku obszaru CIRCLE.

Przykład: -122.425592

geoRadius Grupa 2 Liczba całkowita

Wskazuje przybliżony promień (w metrach) obszaru CIRCLE.

Przykład: 10000

postalCode Grupa 3 String

Wskazuje kod pocztowy.

Przykład: 91234

addressCountry Grupa 3 String

Wskazuje dwuliterowy kod kraju zgodny ze standardem ISO 3166-1 alfa-2

Przykład: US

Oto przykład elementu ServiceArea:

Przykład

{
  "@type": "ServiceArea",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "polygon": [
    "37.4818562 -122.25801303 37.48247836 -122.25801303 37.48434484 -122.25621319 37.48621133 -122.25424681 37.49181077 -122.24704744 37.49305509 -122.24541414 37.49429942 -122.2436143 37.49803238 -122.23821477 37.49803238 -122.21285044 37.49367726 -122.15885517 37.49056645 -122.15722187 37.48621133 -122.15542202 37.48558917 -122.15525548 37.4818562 -122.15525548 37.43191387 -122.17865343 37.43191387 -122.23444854"
  ]
}

Godziny pracy (wymagane)

Opisuje okres składania zamówień, w którym użytkownicy mogą uzyskać dostęp do przepływu i składać zamówienia jak najszybciej lub w przyszłości. Implementacja funkcji OperationHours jest wymagana. Domyślnie reprezentuje ona działalność o każdej porze i we wszystkich dniach.

Atrybuty OperationHours opens i closes określają godziny otwarcia i zamknięcia systemu online, który umożliwia użytkownikom składanie zamówień. W poszczególnych godzinach systemowych użyj ServiceHours, aby określić godziny otwarcia i zamknięcia, w których mogą zostać zrealizowane zamówienia użytkowników.

Dla usługi godziny muszą być określone w czasie lokalnym. Nie uwzględniaj strefy czasowej w wartości opens. Jeśli określisz strefę czasową, Google zignoruje tę informację. Więcej informacji znajdziesz w temacie Formaty daty i godziny.

W tabeli poniżej znajdziesz listę właściwości typu OperationHours:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: OperationHours

@id String

To pole jest wymagane.

Unikalny identyfikator jednostki opisującej okres składania zamówień, w którym użytkownicy mogą uzyskać dostęp do przepływu i składać zamówienia jak najszybciej lub w przyszłości.

Przykład: operation_hour_1

serviceId List<String>

To pole jest wymagane.

Wartość @id encji Service skorelowanej z tym elementem OperationHours.

Przykład: [ "service_1" ]

opens Czas ISO (lokalny)

Wskazuje konkretną godzinę w formacie ISO, od której można składać zamówienia użytkowników.

Przykład: T00:00

closes Czas ISO (lokalny)

Wskazuje w formacie ISO konkretną godzinę, po której nie można składać zamówień użytkowników.

Przykład: T16:00

dayOfWeek Lista<DayOfWeek>

Lista dni tygodnia, w których obowiązują te godziny otwarcia. Akceptowane wartości to „MONDAY”, „TUESDAY”, „WEDNESDAY”, „THURSDAY”, „FRIDAY”, „SATURDAY” i „SUNDAY”.

Przykład: [ "MONDAY", "TUESDAY" ]

validFrom Sygnatura czasowa ISO

Wymagane, gdy isSpecialHour = true.

Sygnatura czasowa ISO wskazująca czas rozpoczęcia okna składania zamówień, w którym użytkownicy mogą uzyskać dostęp do przepływu i składać zamówienia jak najszybciej lub w przyszłości.

Przykład: 2017-01-01T00:00:00-07:00

validThrough Sygnatura czasowa ISO

Wymagane, gdy isSpecialHour = true.

Sygnatura czasowa ISO wskazująca czas zakończenia okresu składania zamówień, po którym użytkownicy nie mogą uzyskać dostępu do przepływu i składać zamówienia jak najszybciej lub w przyszłości.

Przykład: 2017-01-02T00:00:00-07:00

isSpecialHour Wartość logiczna

Wartość logiczna wskazująca, czy OperationHours to niestandardowe godziny otwarcia. Akceptowane wartości to „false” (fałsz) i „true” (prawda).

Przykład: False

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych jednostki OperationHours w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

Oto przykład elementu OperationHours:

Przykład 1

{
  "@type": "OperationHours",
  "@id": "10824/deliveryOh",
  "serviceId": [
    "10824/delivery"
  ],
  "isSpecialHour": false
}

Przykład 2

{
  "@type": "OperationHours",
  "@id": "10824/takeoutOh",
  "serviceId": [
    "10824/takeout"
  ],
  "isSpecialHour": false
}

Godziny pracy (wymagane)

Opisuje okres realizacji, w którym użytkownicy mogą wybrać przedziały na realizację (jak najszybciej lub przyszłe). Implementacja kodu ServiceHours jest wymagana.

Atrybuty OperationHours opens i closes określają godziny otwarcia i zamknięcia systemu online, który umożliwia użytkownikom składanie zamówień. W poszczególnych godzinach systemowych użyj ServiceHours, aby określić godziny otwarcia i zamknięcia, w których mogą zostać zrealizowane zamówienia użytkowników.

Dla usługi godziny muszą być określone w czasie lokalnym. Nie uwzględniaj strefy czasowej w wartości opens. Jeśli określisz strefę czasową, Google zignoruje tę informację. Więcej informacji znajdziesz w temacie Formaty daty i godziny.

W tabeli poniżej znajdziesz listę właściwości typu ServiceHours:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: ServiceHours

@id String

To pole jest wymagane.

Unikalny identyfikator elementu opisującego okno realizacji, w którym użytkownicy mogą wybierać przedziały na realizację, np. Jak najszybciej lub przyszłe.

Przykład: service_hour_1

orderType OrderType

To pole jest wymagane.

Ciąg tekstowy wskazujący, czy godziny obsługi mają zastosowanie do zamówień jak najszybciej czy zamówień zaawansowanych. Dopuszczalne wartości to „Jak najszybciej” i „Zaawansowana”.

Przykład: ASAP

serviceId List<String>

To pole jest wymagane.

Wartość @id encji Service skorelowanej z tą encją ServiceHours.

Przykład: [ "service_1" ]

operationHoursId List<String>

Wymagane, gdy isSpecialHour = false.

Wartość @id elementu OperationHours skorelowana z tym elementem ServiceHours.

Przykład: [ "operation_hour_1" ]

opens Czas ISO (lokalny)

Wskazuje konkretną godzinę w formacie ISO, od której można realizować zamówienia użytkowników.

Przykład: T00:00

closes Czas ISO (lokalny)

Wskazuje konkretną godzinę w formacie ISO, po której nie można zrealizować zamówień użytkowników.

Przykład: T16:00

dayOfWeek Lista<DayOfWeek>

Lista dni tygodnia, w których obowiązują te godziny otwarcia.

Przykład: [ "MONDAY", "TUESDAY" ]

validFrom Sygnatura czasowa ISO

Wymagane, gdy isSpecialHour = true.

Sygnatura czasowa ISO wskazująca czas rozpoczęcia okna składania zamówień, w którym użytkownicy mogą uzyskać dostęp do przepływu i składać zamówienia jak najszybciej lub w przyszłości.

Przykład: 2017-01-01T00:00:00-07:00

validThrough Sygnatura czasowa ISO

Wymagane, gdy isSpecialHour = true.

Sygnatura czasowa ISO wskazująca czas zakończenia okresu składania zamówień, po którym użytkownicy nie mogą uzyskać dostępu do przepływu i składać zamówienia jak najszybciej lub w przyszłości.

Przykład: 2017-01-02T00:00:00-07:00

isSpecialHour Wartość logiczna

Wartość logiczna wskazująca, czy OperationHours to niestandardowe godziny otwarcia. Akceptowane wartości to „false” (fałsz) i „true” (prawda).

Przykład: False

leadTimeMin Liczba całkowita

Minimalny szacowany czas dostawy/odbioru w minutach od złożenia zamówienia na jak najszybciej. Zdecydowanie zalecamy ustawienie tej właściwości.

Przykład: 60

leadTimeMax Liczba całkowita

Maksymalny szacowany czas dostawy/odbioru (w minutach) po złożeniu zamówienia w jak najszybszym czasie. Zdecydowanie zalecamy ustawienie tej właściwości.

Przykład: 70

advanceBookingRequirementMin Liczba całkowita

Wymagane, gdy orderType = "ADVANCE".

Minimalna liczba minut od momentu złożenia zamówienia, w którym można zrealizować zamówienie z wyprzedzeniem. Jeśli na przykład realizacja zamówienia z wyprzedzeniem wymaga co najmniej 60 minut, wartość maxingBookingRequirementMin wynosi 60.

Przykład: 15

advanceBookingRequirementMax Liczba całkowita

Wymagane, gdy orderType = "ADVANCE".

Maksymalny czas (w minutach) od momentu złożenia zamówienia, w którym można zrealizować zamówienie z wyprzedzeniem. Jeśli na przykład zrealizowanie zamówienia z wyprzedzeniem nie jest możliwe po ponad 2 dniach, wartość aboveBookingRequirementMax wynosi 2880.

Przykład: 10080

advanceBookingSlotInterval String

Wymagane, gdy orderType = "ADVANCE".

Odstęp między 2 kolejnymi przedziałami czasu rezerwacji z wyprzedzeniem. Na przykład: jeśli godziny otwarcia i zamknięcia to 8:00 i 20:00, a parametr progressBookingSlotInterval to 15 minut, użytkownik może wybrać godziny realizacji zamówień do 20:00, 8:15, 8:30, 8:45 itd. Czas trwania musi być określony jako czas trwania okresu ISO. Na przykład: „PT15M” oznacza 15-minutowe przedziały.

Przykład: PT15M

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych jednostki ServiceHours w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

Oto przykład elementu ServiceHours:

Przykład 1

{
  "@type": "ServiceHours",
  "@id": "613741/delivery",
  "orderType": "ASAP",
  "serviceId": [
    "10824/delivery"
  ],
  "opens": "T00:00",
  "closes": "T00:00",
  "isSpecialHour": true,
  "validFrom": "2017-12-25T00:00:00-07:00",
  "validThrough": "2017-12-25T23:59:00-07:00"
}

Przykład 2

{
  "@type": "ServiceHours",
  "@id": "10824/takeoutSh_0",
  "orderType": "ASAP",
  "serviceId": [
    "10824/takeout"
  ],
  "operationHoursId": [
    "10824/takeoutOh"
  ],
  "opens": "11:00",
  "closes": "21:00",
  "dayOfWeek": [
    "MONDAY",
    "TUESDAY",
    "WEDNESDAY",
    "THURSDAY"
  ],
  "isSpecialHour": false
}

Opłata

Opisuje opłatę. Jeśli powiązany element Service ma wartość „serviceType” ustawioną na „DOSTAWA”, wymagany jest element Fee z wartością feeType ustawioną na „DOSTAWA”.

W tabeli poniżej znajdziesz listę właściwości typu Fee:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: Fee

@id String

To pole jest wymagane.

Niepowtarzalny identyfikator podmiotu opisującego opłatę.

Przykład: service_fee_1

serviceId List<String>

To pole jest wymagane.

Wartość @id elementu Service skorelowanej z tym elementem dotyczącym opłat.

Przykład: [ "service_1" ]

feeType FeeType

To pole jest wymagane.

Ciąg tekstowy wskazujący, czy opłata dotyczy zamówień dostawy czy usług. Akceptowane wartości to „DELIVERY” i „SERVICE”.

Przykład: DELIVERY

priceCurrency String

To pole jest wymagane.

Trzyliterowy kod waluty w formacie ISO 4217.

Przykład: USD

basePrice Number

Cena podstawowa opłaty, obowiązująca, gdy korzystasz z usługi percentageOfCart lub pricePerMeter.

Przykład: 2.0

minPrice Number

Minimalna opłata, limit opłaty, gdy używasz percentageOfCart lub pricePerMeter.

Przykład: 2.0

maxPrice Number

Maksymalna opłata, limit opłaty, gdy używasz percentageOfCart lub pricePerMeter.

Przykład: 10.0

eligibleRegion List<String>

Identyfikator @id obszaru ServiceArea dla regionów geopolitycznych, w przypadku których obowiązuje opłata. Używaj tej właściwości tylko wtedy, gdy opłaty za dostawę różnią się w zależności od regionu.

Przykład: [ "service_area_1" ]

eligibleTransactionVolumeMin Number

Minimalna liczba transakcji w jednostce pieniężnej, dla której obowiązuje ta specyfikacja opłaty.

Przykład: 50

eligibleTransactionVolumeMax Number

Maksymalna liczba transakcji w jednostce pieniężnej, dla której obowiązuje ta specyfikacja opłaty. Opłata nie ma zastosowania na przykład wtedy, gdy liczba zamówień przekracza określoną wartość.

Przykład: 10

validFrom Sygnatura czasowa ISO

Sygnatura czasowa ISO wskazująca czas rozpoczęcia obowiązywania opłaty.

Przykład: 2017-01-01T00:00:00-07:00

validThrough Sygnatura czasowa ISO

Sygnatura czasowa ISO wskazująca czas zakończenia, po którym opłata jest nieprawidłowa.

Przykład: 2017-01-02T00:00:00-07:00

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych elementu Opłata w formacie sygnatury czasowej ISO, ale typu Ciąg znaków.

Przykład: 2017-01-02T00:00:00-07:00

priority Number

Wartość dodatnia różna od zera. Jeśli do koszyka użytkownika zostanie doliczonych więcej niż 1 opłata, opłata o najwyższym priorytecie ma pierwszeństwo przed niższą. Jeśli to pole jest wypełnione, priorytet ma zawsze pierwszeństwo przed obliczonym priorytetem.

Przykład: 3

Wymagana jest dokładnie 1 z tych grup właściwości.
price Grupa 1 Number

Cena opłaty. Jeśli cena nie jest stała, zamiast ceny możesz podać wartość minPrice i maxPrice.

Przykład: 1.5

percentageOfCart Grupa 2 Number

Opłata wyrażona jako procent wartości koszyka. Akceptowane wartości to wartości zmiennoprzecinkowe z zakresu od 0 do 100 włącznie.

Przykład: 9.00

pricePerMeter Grupa 3 Number

Opłata za metr w odległości promieniowej od użytkownika. Jeśli na przykład odległość od użytkownika wynosi 5 km, a stawka wynosi 0,001 zł, opłata za użytkownika będzie wynosić 5 zł.

Przykład: 0.001

Oto przykład elementu Fee:

Przykład 1

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "price": 5
}

Przykład 2

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "pricePerMeter": 0.0005,
  "basePrice": 4
}

Przykład 3

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "pricePerMeter": 0.0005,
  "basePrice": 4,
  "minPrice": 5,
  "maxPrice": 50
}

Przykład 4

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "percentageOfCart": 5,
  "basePrice": 4
}

Przykład 5

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "percentageOfCart": 5,
  "basePrice": 4,
  "minPrice": 5,
  "maxPrice": 50
}

Wymagany element do implementacji. Opisuje menu.

W tabeli poniżej znajdziesz listę właściwości typu Menu:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: Menu

@id String

To pole jest wymagane.

Unikalny identyfikator menu.

Przykład: menu_1

name String

Tekst umożliwiający identyfikację menu, gdy użytkownik przegląda menu.

Przykład: Foo

disclaimer String

Wyłączenie odpowiedzialności dotyczące menu. Dotyczy to na przykład ujawniania informacji o wartościach odżywczych i alergenów.

Przykład: Items may contain peanuts.

disclaimerUrl URL

URL prowadzący do strony ze szczegółowymi informacjami na temat wyłączenia odpowiedzialności.

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych elementu menu w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

Oto przykład elementu Menu:

{
  "@type": "Menu",
  "@id": "10824"
}

Opcjonalny element do implementacji. Opisuje konkretną sekcję menu.

W tabeli poniżej znajdziesz listę właściwości typu MenuSection:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: MenuSection

@id String

To pole jest wymagane.

Unikalny identyfikator sekcji menu.

Przykład: menu_section_1

menuId Lista<ReverseReference>

Wartość @id elementu Menu skorelowana z tym elementem MenuSection.

Przykład: [ { "@id": "menu_id", "displayOrder": 4 } ]

menuSectionId List<String>

Lista wartości @id elementów podrzędnych MenuSection, które odpowiadają temu elementowi MenuSection.

Ważne: możesz użyć tylko jednego pliku referencyjnego menuSectionId lub parentMenuSectionId(in child).

Przykład: [ "child_menu_section_1", "child_menu_section_2" ]

parentMenuSectionId Lista<ReverseReference>

Wartość @id elementu nadrzędnego MenuSection skorelowana z tym elementem MenuSection.

Ważne: możesz użyć tylko jednego pliku referencyjnego parentMenuSectionId lub menuSectionId(in parent).

Przykład: [ { "@id": "parent_menu_section_id", "displayOrder": 4 } ]

name String

To pole jest wymagane.

Tekst umożliwiający identyfikację elementu MenuSection, gdy użytkownik przegląda menu.

Przykład: Foo

description String

Opis sekcji menu.

Przykład: Example menu section description that helps users.

image URL

Adres URL obrazu sekcji menu.

Przykład: https://provider.com/someimage

menuItemId List<String>

Lista wartości @id encji MenuItem odpowiadających temu elementowi MenuSection.

Ważne: możesz użyć tylko jednego pliku referencyjnego menuItemId lub MenuItem.parentMenuSectionId.

Przykład: [ "menu_item1", "menu_item2" ]

parentMenuItemId Lista<ReverseReference>

Lista wartości @id nadrzędnych encji MenuItem, które odpowiadają temu elementowi MenuSection.

Ważne: możesz użyć tylko jednego pliku referencyjnego parentMenuItemId lub MenuItem.menuAddOnId.

Przykład: [ { "@id": "parent_menu_item_id", "displayOrder": 4 } ]

parentMenuItemOptionId Lista<ReverseReference>

Lista wartości @id nadrzędnych encji MenuItemOption, które odpowiadają temu elementowi MenuSection.

Ważne: możesz użyć tylko jednego pliku referencyjnego parentMenuItemOptionId lub MenuItemOption.menuAddOnId.

Przykład: [ { "@id": "parent_menu_item_option_id", "displayOrder": 4 } ]

eligibleQuantityMax Liczba całkowita

Maksymalna liczba dodatków, które można wybrać w sekcji dodatku.

Przykład: 5

eligibleQuantityMin Liczba całkowita

Minimalna liczba dodatków, które należy wybrać w sekcji dodatku.

Przykład: 1

defaultItemId List<String>

Lista elementów @id odwołujących się do elementów MenuItem, które mają być domyślnie wybrane wstępnie dla użytkowników w dodatku MenuSection. Użytkownicy mogą zmienić ostateczne wybory. Jeśli identyfikator defaultItemId nie jest określony, nie wybrano wstępnie żadnego elementu MenuItem.

Przykład: [ "item1", "item2" ]

availabilityId List<String>

Wartości @id encji dostępności, które określają, kiedy sekcja menu jest dostępna.

Przykład: [ "menu_availability_1" ]

numberOfFreeAddOns Liczba całkowita

Wskazuje liczbę dodatków, które użytkownik może wybrać bezpłatnie. Dotyczy tylko sekcji menu dodatków.

Przykład: 3

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych elementu MenuSection w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

applicableServiceType Lista<ServiceType>

Usługa, do której odnosi się ten MenuSection. Domyślnie przyjmuje się, że zasada MenuSection ma zastosowanie do wszystkich.

offeredById List<String>

Wartości @id elementów Restaurant, w których dostępny jest ten element MenuSection. Domyślnie zakładamy, że usługa MenuSection jest dostępna we wszystkich lokalizacjach.

Przykład: [ "restaurant_id_1", "restaurant_id_55" ]

Oto przykład elementu MenuSection:

{
  "@type": "MenuSection",
  "@id": "853705",
  "menuId": [
    {
      "@id": "10824",
      "displayOrder": 853705
    }
  ],
  "menuSectionId": [
    12345,
    43645
  ],
  "name": "Pasta",
  "applicableServiceType": [
    "TAKEOUT"
  ],
  "offeredById": [
    "italian_restaurant_location_1"
  ]
}
{
  "@type": "MenuSection",
  "@id": "427484",
  "menuId": [
    {
      "@id": "4287",
      "displayOrder": 964376
    }
  ],
  "menuItemId": [
    46784,
    42728
  ],
  "name": "Burger",
  "applicableServiceType": [
    "TAKEOUT",
    "DELIVERY"
  ]
}
{
  "@type": "MenuSection",
  "@id": "3138486",
  "name": "Choose a side:",
  "parentMenuItemId": [
    {
      "@id": "6680295",
      "displayOrder": 3138486
    }
  ],
  "eligibleQuantityMax": "5",
  "numberOfFreeAddOns": "2"
}
{
  "@type": "MenuSection",
  "@id": "3138482",
  "name": "Additional Pizza Toppings",
  "parentMenuItemId": [
    {
      "@id": "6680246",
      "displayOrder": 3138482
    }
  ],
  "eligibleQuantityMax": "3"
}

Dostępność

Opcjonalny element do implementacji. Opisuje okres, w którym element MenuSection jest wyświetlany.

W tabeli poniżej znajdziesz listę właściwości typu Availability:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: Availability

@id String

To pole jest wymagane.

Unikalny identyfikator jednostki opisującej dostępność sekcji menu.

Przykład: menu_section_avail_1

availabilityStarts Czas ISO (lokalny)

Sygnatura czasowa ISO wskazująca czas rozpoczęcia, w którym prawidłowa jest dostępność sekcji menu.

Przykład: T00:00

availabilityEnds Czas ISO (lokalny)

Sygnatura czasowa ISO wskazująca czas zakończenia, po którym dostępność sekcji menu jest nieprawidłowa.

Przykład: T16:00

availableDay Lista<DayOfWeek>

Lista dni tygodnia, w których dostępna jest dostępność sekcji menu.

Przykład: [ "MONDAY", "TUESDAY" ]

validFrom Sygnatura czasowa ISO

Sygnatura czasowa ISO wskazująca czas rozpoczęcia, w którym prawidłowa jest dostępność sekcji menu.

Przykład: 2017-01-01T00:00:00-07:00

validThrough Sygnatura czasowa ISO

Sygnatura czasowa ISO wskazująca czas zakończenia, po którym dostępność sekcji menu jest nieprawidłowa.

Przykład: 2017-01-02T00:00:00-07:00

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych elementu dostępności w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

Oto przykład elementu Availability:

Przykład

{
  "@type": "Availability",
  "@id": "85343705",
  "availabilityStarts": "06:00",
  "availabilityEnds": "22:30",
  "availableDay": [
    "SATURDAY",
    "SUNDAY"
  ]
}

Wymagany element do implementacji. Opisuje element w elemencie Menu.

W tabeli poniżej znajdziesz listę właściwości typu MenuItem:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: MenuItem

@id String

To pole jest wymagane.

Unikalny identyfikator pozycji menu.

Przykład: menu_item_1

name String

To pole jest wymagane.

Tekst umożliwiający identyfikację elementu MenuItem, gdy użytkownik przegląda menu.

Przykład: Foo

description String

Opis pozycji menu.

Przykład: Foo

image URL

Adres URL obrazu elementu menu.

Przykład: http://someprovider.com/someimage

parentMenuSectionId Lista<ReverseReference>

Lista wartości @id nadrzędnych encji MenuSection, które odpowiadają temu elementowi MenuItem.

Ważne: możesz użyć tylko jednego pliku referencyjnego parentMenuSectionId lub MenuSection.menuItemId.

Przykład: { "@id": "menu_section_parent_id", "displayOrder": 4 }

menuAddOnId List<String>

Lista wartości @id encji MenuSection pochodzących z sekcji add on, która odpowiada tej encji MenuItem.

Ważne: możesz użyć tylko jednego pliku referencyjnego menuAddOnId lub MenuSection.parentMenuItemId.

Przykład: menu_addon_1

nutrition NutritionInformation

Informacje o wartościach odżywczych danej potrawy, w szczególności kalorii.

Przykład: { "calories": "120-150 Cal" }

allergen Lista<Allergen>

Alergeny tego elementu menu.

Przykład: [ { "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" } ]

additive Lista<Additive>

Dodatki do tego elementu MenuItem.

Przykład: [ { "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" } ]

suitableDiet Lista<RestrictedDiet>

Potrawa jest zgodna z podanymi wymaganiami żywieniowymi.

Przykład: [ "DIABETIC", "GLUTEN_FREE" ]

depositInfo DepositInfo

Informacje na temat opakowania i recyklingu tego elementu MenuItem.

Przykład: { "depositCode": "RECYCLABLE", "depositValue": "0.05", "depositValueCurrency": "USD" }

numberOfServings Liczba całkowita

Liczba porcji dostępnych w danej pozycji menu.

Przykład: 2

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych elementu MenuItem w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

Oto przykład elementu MenuItem:

{
  "@type": "MenuItem",
  "@id": "18931508",
  "name": "Sauteed Baby Spinach",
  "parentMenuSectionId": [
    {
      "@id": "3138479",
      "displayOrder": 18931508
    }
  ]
}
{
  "@type": "MenuItem",
  "@id": "18931508",
  "name": "Hamburger",
  "parentMenuSectionId": [
    {
      "@id": "4645747",
      "displayOrder": 12345
    }
  ],
  "nutrition": {
    "calories": "400 cal"
  },
  "allergen": [
    {
      "allergenType": "GLUTEN",
      "levelOfContainment": "CONTAINS"
    }
  ],
  "additive": [
    {
      "additiveName": "Sodium nitrite",
      "levelOfContainment": "CONTAINS"
    }
  ],
  "suitableDiet": [
    "DIABETIC",
    "LOW_FAT"
  ]
}

Opcjonalny element do implementacji. Opisuje opcje, które użytkownik będzie musiał wykonać przy wyborze dania lub zestawu. Użytkownik musi wybrać jedną z opcji.W przeciwnym razie zamówienie zostanie uznane za nieprawidłowe (np. użytkownik musi wybrać małą, średnią lub dużą pizzę).

W tabeli poniżej znajdziesz listę właściwości typu MenuItemOption:

Właściwość Typ Opis
@type Stała

Wartość: MenuItemOption

@id String

To pole jest wymagane.

Unikalny identyfikator opcji menu.

Przykład: menu_item_1_option

menuItemId ReverseReference

To pole jest wymagane.

Wartość @id elementu MenuItem skorelowanej z tym elementem MenuItemOption.

Przykład: { "@id": "menu_item_1", "displayOrder": 4 }

optionType OptionType

Ciąg znaków wskazujący, czy opcja menu jest sklasyfikowana według rozmiaru, opcji lub strony pizzy. Akceptowane wartości to „SIZE”, „OPTION” i „PIZZA_SIDE”. "SIZE": rozmiar MenuItemOption. na przykład mały, średni lub duży. „OPTION”: dowolna wersja inna niż rozmiar (np. danie, które jest dostępne w formie sałatki lub kanapki). Jeśli nie możesz odróżnić „SIZE” od „OPTION”, użyj opcji „OPTION”. "PIZZA_SIDE": przykładowa wartość MenuItemOption dotyczy tylko pizzy w porcji lub w całości (np. z grzybami po lewej i prawej stronie albo w całości).

Przykład: SIZE

value Ciąg znaków lub PizzaSide

Wymagane, gdy optionType is defined.

Wartość ciągu znaków lub wyliczenie. Wartości wyliczenia są specyficzne dla typu opcji PIZZA_SIDE.

applicableParentOptionValue String

Ciąg tekstowy zawierający wartość wartości opcji elementu nadrzędnego, dla której ta opcja jest dostępna.

Przykład: Small

menuAddOnId List<String>

Lista wartości @id encji MenuSection pochodzących z sekcji add on, która odpowiada tej encji MenuItemOption.

Ważne: możesz użyć tylko jednego pliku referencyjnego menuAddOnId lub MenuSection.parentMenuItemId.

Przykład: menuAddOnId

nutrition NutritionInformation

Informacje o wartościach odżywczych danej potrawy, w szczególności kalorii.

Przykład: { "calories": "120-150 Cal" }

allergen Lista<Allergen>

Alergeny tego elementu menu.

Przykład: { "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }

additive Lista<Additive>

Dodatki do tego elementu MenuItem.

Przykład: { "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }

depositInfo DepositInfo

Informacje na temat opakowania i recyklingu tego elementu MenuItem.

Przykład: { "depositCode": "RECYCLABLE", "depositValue": "0.05", "depositValueCurrency": "USD" }

numberOfServings Liczba całkowita

Liczba porcji dostępnych w ramach danej opcji menu.

Przykład: 2

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych encji MenuItemOption w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

Oto przykład elementu MenuItemOption:

{
  "@type": "MenuItemOption",
  "@id": "56177944",
  "menuItemId": {
    "@id": "18930213",
    "displayOrder": 1234
  },
  "optionType": "PIZZA_SIDE",
  "value": "PIZZA_SIDE_LEFT"
}
{
  "@type": "MenuItemOption",
  "@id": "56177944",
  "menuItemId": {
    "@id": "18930213",
    "displayOrder": 1234
  },
  "applicableParentOptionValue": "Small Pizza"
}

Wymagany element do implementacji. Opisuje ofertę dotyczącą elementu MenuItem lub MenuItemOption.

W tabeli poniżej znajdziesz listę właściwości typu MenuItemOffer:

Właściwość Typ Opis
@type Stała

To pole jest wymagane.

Wartość: MenuItemOffer

@id String

To pole jest wymagane.

Unikalny identyfikator oferty dania w menu.

Przykład: menu_item_offer

sku String

To pole jest wymagane.

Identyfikator oferty w menu. Wartości SKU mogą być różne lub takie same w przypadku różnych pozycji menu. Wartość SKU zostanie ustawiona w kolejności, gdy będziemy wysyłać do Ciebie wywołanie interfejsu API.

Przykład: Menu_item_offer_sku

price Number

To pole jest wymagane.

Cena pozycji w menu.

Przykład: 2.5

priceCurrency String

To pole jest wymagane.

Trzyliterowy kod waluty w formacie ISO 4217.

Przykład: USD

availabilityId List<String>

Wartości @id encji dostępności, które określają, kiedy oferta z menu jest dostępna.

Przykład: [ "menu_availability_1" ]

eligibleQuantityMin Number

Minimalna wielkość zamówienia, dla której obowiązuje atrybut MenuItemOffer.

Przykład: 1

eligibleQuantityMax Number

Maksymalna wielkość zamówienia, dla której obowiązuje atrybut MenuItemOffer.

Przykład: 25

inventoryLevel Number

Bieżący przybliżony poziom asortymentu w przypadku produktu lub produktów powiązanych z tą ofertą MenuItemOffer.

Przykład: 10

dateModified Sygnatura czasowa ISO

Data i godzina ostatniej modyfikacji pliku danych elementu MenuItemOffer w formacie sygnatury czasowej ISO, ale typu String.

Przykład: 2017-01-02T00:00:00-07:00

applicableServiceType Lista<ServiceType>

Usługa, do której odnosi się ten MenuItemOffer. Domyślnie przyjmuje się, że zasada MenuItemOffer ma zastosowanie do wszystkich.

offeredById List<String>

Wartości @id elementów Restaurant, w których dostępny jest ten element MenuItemOffer. Domyślnie zakładamy, że usługa MenuItemOffer jest dostępna we wszystkich lokalizacjach.

Przykład: [ "restaurant_id_5", "restaurant_id_26" ]

Wymagana jest dokładnie 1 z tych grup właściwości.
menuItemId Grupa 1 String

Wartość @id elementu MenuItem skorelowanej z tym elementem MenuItemOffer.

Przykład: menu_item_1

menuItemOptionId Grupa 2 String

Wartość @id elementu MenuItemOption skorelowanej z tym elementem MenuItemOffer.

Przykład: menu_item_option_1

Oto przykład elementu MenuItemOffer:

{
  "@type": "MenuItemOffer",
  "@id": "6680262",
  "sku": "offer-mediterranean-bagel",
  "menuItemId": "896532",
  "price": 15.5,
  "priceCurrency": "USD",
  "applicableServiceType": [
    "DELIVERY"
  ],
  "offeredById": [
    "bagel_shop_location_5"
  ]
}

Częste

ReverseReference

W tabeli poniżej znajdziesz listę właściwości typu ReverseReference:

Właściwość Typ Opis
@id String

To pole jest wymagane.

@id encji nadrzędnej.

displayOrder Liczba całkowita

To pole jest wymagane.

Wyświetl kolejność elementów w elemencie nadrzędnym.

NutritionInformation

W tabeli poniżej znajdziesz listę właściwości typu NutritionInformation:

Właściwość Typ Opis
description String

Informacje o wartościach odżywczych w dowolnym tekście. np. „Zawiera konserwanty”

calories String

Liczba kalorii w kcal, kcal lub kJ, w formacie: wartość kcal lub min-maks. kcal

Przykład: 120.34 Cal

sodiumContent String

Liczba mg lub g sodu w formacie: wartość g lub min-max g

Przykład: 1200 mg

Oto przykład elementu NutritionInformation:

Przykład

{
  "calories": "120-150 Cal",
  "sodiumContent": "100 mg"
}

Alergen

W tabeli poniżej znajdziesz listę właściwości typu Allergen:

Właściwość Typ Opis
allergenType AllergenType

To pole jest wymagane.

Rodzaj alergenu.

levelOfContainment ContainmentLevel

Poziom danego alergenu w menu.

Oto przykład elementu Allergen:

Przykład

{
  "allergenType": "PEANUTS",
  "levelOfContainment": "MAY_CONTAIN"
}

Dodatek

W tabeli poniżej znajdziesz listę właściwości typu Additive:

Właściwość Typ Opis
additiveName String

To pole jest wymagane.

Nazwa dodatku.

levelOfContainment ContainmentLevel

Poziom danego dodatku w pozycji menu.

Oto przykład elementu Additive:

Przykład

{
  "additiveName": "Sodium nitrite",
  "levelOfContainment": "CONTAINS"
}

DepositInfo

W tabeli poniżej znajdziesz listę właściwości typu DepositInfo:

Właściwość Typ Opis
depositCode DepositCode

Kod depozytu.

depositValue Number

Wartość liczbowa kaucji, np. jeśli produkt został zutylizowany.

depositValueCurrency String

Waluta wartości wpłaty

Oto przykład elementu DepositInfo:

Przykład

{
  "depositCode": "RECYCLABLE",
  "depositValue": 0.05,
  "depositValueCurrency": "USD"
}

ServingConfig

Konfiguracja obsługi usługi służącej do sterowania różnymi funkcjami, np. wyłączanie widżetu promocji itp.

W tabeli poniżej znajdziesz listę właściwości typu ServingConfig:

Właściwość Typ Opis
disableOrderInstructions Wartość logiczna

Ukrywa możliwość określenia instrukcji dotyczących zamówienia.

disableMenuItemSpecialInstructions Wartość logiczna

Ukrywa możliwość określenia specjalnych instrukcji w pozycji menu.

disableTipWidget Wartość logiczna

Ukrywa widżet napiwku na stronie „Złóż zamówienie” w procesie składania zamówień.

disablePromoWidget Wartość logiczna

Ukrywa widżet promocyjny na stronie „Złóż zamówienie” w procesie składania zamówień.

menuItemSpecialInstructionsMaxLength Number

Określa maksymalną liczbę znaków w instrukcji specjalnej pozycji menu.

orderInstructionsMaxLength Number

Określa maksymalną liczbę znaków, które może zawierać instrukcja dotycząca zamówienia.

Oto przykład elementu ServingConfig:

Przykład 1

{
  "disableMenuItemSpecialInstructions": true
}

Przykład 2

{
  "disableTipWidget": true,
  "disablePromoWidget": true
}

Przykład 3

{
  "menuItemSpecialInstructionsMaxLength": 250,
  "orderInstructionsMaxLength": 1000
}

Wartości w polu enum

DayOfWeek

Typ DayOfWeek może mieć następujące możliwe wartości:

  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
  • SUNDAY

ServiceType

Typ ServiceType może mieć następujące możliwe wartości:

  • DELIVERY
  • TAKEOUT

OrderType

Typ OrderType może mieć następujące możliwe wartości:

  • ASAP
  • ADVANCE

FeeType

Typ FeeType może mieć następujące możliwe wartości:

  • DELIVERY
  • SERVICE

OptionType

Typ OptionType może mieć następujące możliwe wartości:

  • SIZE
  • OPTION
  • PIZZA_SIDE

PizzaSide

Typ PizzaSide może mieć następujące możliwe wartości:

  • PIZZA_SIDE_LEFT
  • PIZZA_SIDE_RIGHT
  • PIZZA_SIDE_WHOLE

AllergenType

Rodzaj alergenów na gs1:AllergenTypeCode.

Typ AllergenType może mieć następujące możliwe wartości:

  • ALMONDS
  • ALPHA_ISOMETHYL_IONONE
  • ALCOHOL
  • AMYL_CINNAMAL
  • ANISE_ALCOHOL
  • BARLEY
  • BENZYL_ALCOHOL
  • BENZYL_BENZOATE
  • BENZYL_CINNAMATE
  • BENZYL_SALICYLATE
  • BRAZIL_NUTS
  • BUTYLPHENYL_METHYLPROPIONATE
  • CARROTS
  • CASHEW_NUTS
  • CELERY
  • CEREALS_CONTAINING_GLUTEN
  • CINNAMAL
  • CINNAMYL_ALCOHOL
  • CITRAL
  • CITRONELLOL
  • COCOA
  • CORIANDER
  • CORN
  • COUMARIN
  • CRUSTACEANS
  • EGGS
  • EUGENOL
  • EVERNIA_FURFURACEA
  • EVERNIA_PRUNASTRI
  • FARNESOL
  • FISH
  • GERANIOL
  • GLUTEN
  • HAZELNUTS
  • HEXYL_CINNAMAL
  • HYDROXYCITRONELLAL
  • HYDROXYISOHEXYL_3_CYCLOHEXENE_CARBOXALDEHYDE_ISOEUGENOL_LIMONENE_LINAL
  • KAMUT
  • LACTOSE
  • LUPINE
  • MACADAMIA_NUTS
  • METHYL_2_OCTYNOATE
  • MILK
  • MOLLUSCS
  • MUSTARD
  • NO_DECLARED_ALLERGENS
  • OAT
  • PEANUTS
  • PEAS
  • PECAN_NUTS
  • PISTACHIOS
  • POD_FRUITS
  • QUEENSLAND_NUTS
  • RYE
  • SESAME_SEEDS
  • SOYBEANS
  • SPELT
  • SULPHUR_DIOXIDE
  • TREE_NUTS
  • TREE_NUT_TRACES
  • WALNUTS
  • WHEAT

ContainmentLevel

Typ ContainmentLevel może mieć następujące możliwe wartości:

  • CONTAINS
  • FREE_FROM
  • MAY_CONTAIN

DepositCode

Typ DepositCode może mieć następujące możliwe wartości:

  • REUSABLE
  • RECYCLABLE

DealType

Kategoria umowy, do której chcesz zastosować rabat. Kategoria może obejmować łączną kwotę koszyka lub opłaty za dostawę.

Typ DealType może mieć następujące możliwe wartości:

  • CART_OFF
  • DELIVERY_OFF

RestrictedDiet

Rodzaje diet objętych ograniczeniami podanymi na stronie schema.org:RestrictedDiet.

Typ RestrictedDiet może mieć następujące możliwe wartości:

  • DIABETIC
  • GLUTEN_FREE
  • HALAL
  • HINDU
  • KOSHER
  • LOW_CALORIE
  • LOW_FAT
  • LOW_LACTOSE
  • LOW_SALT
  • VEGAN
  • VEGETARIAN