Общие требования
Сущности должны быть структурированы так, чтобы каждая сущность в фидах располагалась на одной строке (сущности разделяются символами новой строки). Для удобства чтения примеры JSON на этой странице не соответствуют этой структуре. Однако вы должны следовать этой структуре при отправке каналов. Например, сущность меню должна иметь следующую структуру:
{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}
Каждый объект «Ресторан» может иметь два объекта «Сервис» (по одному для типов услуг «ДОСТАВКА» и «НА ВЫНОС»). Каждый объект «Сервис» может иметь только один объект «Меню».
Любые подобъекты можно повторно использовать в нескольких ресторанах.
Рекомендации по значению JSON
Тип принуждения
Тип значения JSON может отличаться от типа, определенного в схеме, если значение можно привести к требуемому типу. Например, строковые свойства могут принимать в качестве входных данных как строковые, так и целочисленные значения. Аналогично, целочисленные свойства могут принимать строковые значения, если строка может быть преобразована в допустимое целое число.
Приведение типов также работает для повторяющихся свойств. Повторяющиеся свойства могут принимать значения в качестве входных данных без заключения в скобки []
. Например, свойство OperationHours.serviceId
принимает как "service_id"
, так и ["service_id"]
в качестве допустимых входных данных.
Значения DateTime и времени
DateTime
основан на типе Schema.org и, если не указано иное, должен соответствовать формату ISO 8601 и включать дату, время и часовой пояс. Используйте следующий синтаксис для DateTime
:
// DateTime format: YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]
Например:
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
— это местное время для часового пояса данного ресторана или места обслуживания. Оно также основано на типе Schema.org и должно соответствовать формату ISO 8601. Время использует следующий синтаксис:
// Time format: THH:MM:SS
Например:
T08:08:00 // 8:08 AM
Обратите внимание на следующее, когда вы указываете DateTime
или Time
:
- Префикс «T» перед временем является частью формата и является обязательным.
- Часовой пояс должен быть указан для
DATETIME
. ДляTIME
это не требуется. - Время должно быть указано по местному времени ресторана или услуги.
Данные ресторана
Ресторан (обязательно)
Необходимая сущность для реализации. Описывает ресторан.
В следующей таблице перечислены свойства типа Restaurant
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Стоимость: | |
@id | Нить | Необходимый. Уникальный идентификатор ресторана или службы доставки. Пример: | |
name | Нить | Необходимый. Название ресторана. Пример: | |
description | Нить | Описание ресторана. Пример: | |
url | URL | URL-адрес, представляющий ресторан. Домен ресторана предпочтительнее домена агрегатора. Пример: | |
sameAs | URL | Официальный сайт ресторана. Пример: | |
telephone | Нить | Телефон ресторана. Пример: | |
streetAddress | Нить | Необходимый. Адрес ресторана. Пример: | |
addressLocality | Нить | Необходимый. Населенный пункт или город. Пример: | |
addressRegion | Нить | Необходимый. Регион или штат. Пример: | |
postalCode | Нить | Необходимый. Почтовый индекс. Пример: | |
addressCountry | Нить | Необходимый. Двухбуквенный код страны ISO 3166-1 альфа-2. Пример: | |
latitude | Число | Широта в градусах. Значения ограничены диапазоном [[-90, 90]]. Точность должна быть не менее 5 десятичных знаков. Пример: | |
longitude | Число | Долгота в градусах. Значения ограничены диапазоном [[-180, 180]]. Точность должна быть не менее 5 десятичных знаков. Пример: | |
dealId | Список<Строка> | Применимые | |
imprint | Нить | Выходные данные ресторана — это раздел дополнительной информации о ресторане, такой как юридическое название, юридический адрес и регистрационный номер. Эту информацию можно отформатировать с помощью " ". Пример: | |
economicOperator | Нить | Информация экономического оператора, связанная с рестораном, если применимо. Эта информация будет отображаться в разделе «Информация о трейдере». Текст можно форматировать с помощью " ". Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объекта «Ресторан» в формате метки времени ISO, но с типом String. Пример: |
В следующем примере показан элемент Restaurant
:
Пример
{ "@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 }
Иметь дело
Виды скидок, которые можно применить к корзине.
В следующей таблице перечислены свойства типа Deal
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Стоимость: | |
@id | Нить | Необходимый. Уникальный идентификатор сделки. Пример: | |
dealCode | Нить | Необходимый. Уникальный идентификатор сделки для каждой сделки каждого партнера. Этот идентификатор должен однозначно идентифицировать сделку в вашей системе продвижения. Google отправляет вам этот идентификатор в поле Пример: | |
applicableServiceType | Список < ServiceType > | Услуга, к которой применимо данное предложение. По умолчанию предполагается, что сделка применима ко всем. | |
eligibleMaxOrders | Целое число | Эта сделка действительна только в том случае, если количество прошлых успешных заказов пользователя меньше или равно этому числу. | |
availabilityId | Список<Строка> | Значения @id объектов доступности, которые предоставляют подробную информацию о том, когда раздел меню доступен. Пример: | |
isDisabled | логическое значение | Это переопределяет другие проверки достоверности. | |
dealType | DealType | Необходимый. Категория сделки, к которой применяется скидка. Категория может включать общую сумму корзины, плату за обслуживание или стоимость доставки. | |
priceCurrency | Нить | Требуется, если Требуется, если Валюта (в трехбуквенном формате ISO 4217) скидки. Пример: | |
eligibleTransactionVolumeMin | Число | Объем транзакции, в денежной единице, для которого действует данная акция. | |
termsOfServiceUrl | URL | Необходимый. Удобная для чтения документация об условиях обслуживания. | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объектов сделки в формате метки времени ISO, но с типом String. Пример: | |
Требуется ровно одна из следующих групп свойств. | |||
discount | Группа 1 | Число | Значение скидки в виде числа. |
discountPercentage | Группа 2 | Число | Величина скидки в процентах от первоначальной цены. |
В следующем примере показан элемент Deal
:
Пример 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" }
Пример 2
{ "@type": "Deal", "@id": "10PERCOFF", "dealCode": "10PERCOFF", "dealType": "CART_OFF", "availabilityId": [ "availability_weekdays_evening" ], "termsOfServiceUrl": "http://www.provider.com/deal", "discountPercentage": 10, "priceCurrency": "USD" }
Пример 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" }
Сервисные данные
Сервис (обязательно)
Описывает детали услуги заказа еды для ресторана. Service
— это обязательный объект для реализации.
В следующей таблице перечислены свойства типа Service
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Стоимость: | |
@id | Нить | Необходимый. Идентификатор службы выполнения. Пример: | |
serviceType | ServiceType | Необходимый. Тип предлагаемой услуги. Возможные значения: «ДОСТАВКА» или «ВЫНОС». Пример: | |
restaurantId | Нить | Необходимый. Значение @id сущности «Ресторан», связанное с этой сущностью «Сервис». Пример: | |
menuId | Нить | Необходимый. Значение @id сущности «Меню», связанное с этой сущностью «Сервис». Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объекта службы в формате метки времени ISO. Пример: | |
isDisabled | логическое значение | Указывает, отключен ли объект. Используйте этот тип только в том случае, если вам необходимо отключить объект из-за непредвиденного события и вы не знаете, когда служба будет восстановлена (например, не используйте в праздничные дни). Пример: | |
servingConfig | ServingConfig | Обслуживание конфигурации службы, используемой для управления различными функциями. например, отключение промо-виджета и т. д. | |
actionLinkUrl | Нить | Содержит URL-адрес службы доставки/вынос, который будет использоваться при переходе от сквозного заказа еды к перенаправлению. |
В следующем примере показан элемент Service
:
Пример 1
{ "@type": "Service", "@id": "10824/takeout", "serviceType": "TAKEOUT", "menuId": "10824", "restaurantId": "10824", "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderpickup/merchant_foepa_3" }
Пример 2
{ "@type": "Service", "@id": "10824/delivery", "serviceType": "DELIVERY", "menuId": "10824", "restaurantId": "10824", "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderdelivery/merchant_foepa_3" }
Область обслуживания
Описывает географический регион, в который может быть доставлена еда. Этот объект необходимо реализовать, если для связанного объекта Service
serviceType
установлен на «ДОСТАВКА».
В следующей таблице перечислены свойства типа ServiceArea
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Значение: | |
@id | Нить | Необходимый. Уникальный идентификатор территории обслуживания. Пример: | |
serviceId | Список<Строка> | Необходимый. Значение @id объекта Service соотносится с этим объектом ServiceArea. Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объектов ServiceArea в формате метки времени ISO, но с типом String. Пример: | |
exclude | логическое значение | Исключите эту зону обслуживания из общего региона доставки. Например, почтовый индекс можно исключить из большей площади полигона. | |
Требуется ровно одна из следующих групп свойств. | |||
polygon | Группа 1 | Список<Строка> | Многоугольник или мультиполигон, выраженный как серия из трех или более точек, разделенных пробелами. Рекомендуется, чтобы первая и последняя точки были одинаковыми, но это не обязательно. Каждая точка в многоугольнике или мультиполигоне определяется точкой широты, за которой следует точка долготы. Вы также должны указать точки в направлении против часовой стрелки. Пример: |
geoMidpointLatitude | Группа 2 | Число | Указывает координату широты в центре области КРУГА. Пример: |
geoMidpointLongitude | Группа 2 | Число | Указывает координату долготы в центре области КРУГА. Пример: |
geoRadius | Группа 2 | Целое число | Указывает приблизительный радиус (в метрах) области КРУГА. Пример: |
postalCode | Группа 3 | Нить | Указывает почтовый индекс. Пример: |
addressCountry | Группа 3 | Нить | Обозначает двухбуквенный код страны ISO 3166-1 альфа-2. Пример: |
В следующем примере показан элемент ServiceArea
:
Пример
{ "@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" ] }
Часы работы (обязательно)
Описывает окно заказа, в котором пользователи могут получить доступ к потоку и разместить заказы как можно скорее или в будущем. Реализация OperationHours
является обязательной и по умолчанию представляет работу в любое время во все дни.
Атрибуты OperationHours
opens
и closes
определяют время открытия и закрытия онлайн-системы, которая позволяет пользователям размещать заказы. В пределах этих онлайн-системных часов используйте ServiceHours
, чтобы указать часы открытия и закрытия, когда заказы пользователей могут быть выполнены.
Время должно быть указано по местному времени для услуги. Не включайте часовой пояс в значение opens
. Если указан часовой пояс, Google игнорирует эту информацию. Дополнительные сведения см. в разделе Форматы DateTime и времени .
В следующей таблице перечислены свойства типа OperationHours
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Значение: | |
@id | Нить | Необходимый. Уникальный идентификатор объекта, описывающий окно заказа, к которому пользователи могут получить доступ и разместить заказы как можно скорее или в будущем. Пример: | |
serviceId | Список<Строка> | Необходимый. Значение @id сущности Service коррелирует с этой сущностью OperationHours. Пример: | |
opens | Время ISO (местное) | Указывает конкретное время суток в формате ISO, начиная с которого можно размещать заказы пользователей. Пример: | |
closes | Время ISO (местное) | Указывает конкретное время суток в формате ISO, после которого заказы пользователей не могут быть размещены. Пример: | |
dayOfWeek | Список< DayOfWeek > | Список дней недели, для которых действительны эти часы работы. Допустимые значения: «ПОНЕДЕЛЬНИК», «ВТОРНИК», «СРЕДА», «ЧЕТВЕРГ», «ПЯТНИЦА», «СУББОТА» и «ВОСКРЕСЕНЬЕ». Пример: | |
validFrom | Временная метка ISO | Требуется, если Временная метка ISO, указывающая время начала окна заказа, к которому пользователи могут получить доступ и разместить заказы как можно скорее или в будущем. Пример: | |
validThrough | Временная метка ISO | Требуется, если Временная метка ISO, указывающая время окончания окна заказа, после которого пользователи не могут получить доступ к потоку и размещать заказы как можно скорее или в будущем. Пример: | |
isSpecialHour | логическое значение | Логическое значение, указывающее, относится ли OperationHours к особым часам. Допустимые значения: «ложь» и «истина». Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объектов OperationHours в формате метки времени ISO, но с типом String. Пример: |
В следующем примере показан элемент OperationHours
:
Пример 1
{ "@type": "OperationHours", "@id": "10824/deliveryOh", "serviceId": [ "10824/delivery" ], "isSpecialHour": false }
Пример 2
{ "@type": "OperationHours", "@id": "10824/takeoutOh", "serviceId": [ "10824/takeout" ], "isSpecialHour": false }
Часы обслуживания (обязательно)
Описывает окно выполнения, в котором пользователи могут выбирать интервалы выполнения (как можно скорее или будущие интервалы). Требуется реализация ServiceHours
.
Атрибуты OperationHours
opens
и closes
определяют время открытия и закрытия онлайн-системы, которая позволяет пользователям размещать заказы. В пределах этих онлайн-системных часов используйте ServiceHours
, чтобы указать часы открытия и закрытия, когда заказы пользователей могут быть выполнены.
Время должно быть указано по местному времени для услуги. Не включайте часовой пояс в значение opens
. Если указан часовой пояс, Google игнорирует эту информацию. Дополнительные сведения см. в разделе Форматы DateTime и времени .
В следующей таблице перечислены свойства типа ServiceHours
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Значение: | |
@id | Нить | Необходимый. Уникальный идентификатор объекта, описывающий окно выполнения, в котором пользователи могут выбирать интервалы выполнения, т. е. как можно скорее или будущие интервалы. Пример: | |
orderType | OrderType | Необходимый. Строка, указывающая, применяются ли часы обслуживания к заказам как можно скорее или к предварительным заказам. Допустимые значения: «ASAP» и «ADVANCE». Пример: | |
serviceId | Список<Строка> | Необходимый. Значение @id сущности Service соотносится с этой сущностью ServiceHours. Пример: | |
operationHoursId | Список<Строка> | Требуется, если Значение @id сущности OperationHours, связанное с этой сущностью ServiceHours. Пример: | |
opens | Время ISO (местное) | Указывает конкретное время суток в формате ISO, начиная с которого могут выполняться заказы пользователей. Пример: | |
closes | Время ISO (местное) | Указывает конкретное время суток в формате ISO, после которого заказы пользователей не могут быть выполнены. Пример: | |
dayOfWeek | Список< DayOfWeek > | Список дней недели, для которых действительны эти часы работы. Пример: | |
validFrom | Временная метка ISO | Требуется, если Временная метка ISO, указывающая время начала окна заказа, к которому пользователи могут получить доступ и разместить заказы как можно скорее или в будущем. Пример: | |
validThrough | Временная метка ISO | Требуется, если Временная метка ISO, указывающая время окончания окна заказа, после которого пользователи не могут получить доступ к потоку и размещать заказы как можно скорее или в будущем. Пример: | |
isSpecialHour | логическое значение | Логическое значение, указывающее, относится ли OperationHours к особым часам. Допустимые значения: «ложь» и «истина». Пример: | |
leadTimeMin | Целое число | Минимальное расчетное время доставки/вывоза в минутах после размещения заказа ASAP. Мы настоятельно рекомендуем вам установить это свойство. Пример: | |
leadTimeMax | Целое число | Максимальное расчетное время доставки/вывоза в минутах после размещения заказа ASAP. Мы настоятельно рекомендуем вам установить это свойство. Пример: | |
advanceBookingRequirementMin | Целое число | Требуется, если Минимальное количество минут с момента заказа, в течение которого предварительный заказ может быть выполнен. Например, если для выполнения предварительного заказа требуется не менее 60 минут, то заранееBookingRequirementMin будет равен 60. Пример: | |
advanceBookingRequirementMax | Целое число | Требуется, если Максимальное количество минут с момента оформления заказа, в течение которого предварительный заказ может быть выполнен. Например, если предварительный заказ не может быть выполнен более чем через 2 дня, то значение заранееBookingRequirementMax равно 2880. Пример: | |
advanceBookingSlotInterval | Нить | Требуется, если Интервал между двумя последовательными интервалами предварительного бронирования. Например: если открытие и закрытие приходится на 8:00 и 20:00, а заранееBookingSlotInterval составляет 15 минут, то пользователь может выбрать время выполнения: 8:00, 8:15, 8:30, 8:45 и так далее до 20:00. Продолжительность должна быть указана как продолжительность периода ISO. Например: «PT15M» означает 15-минутные интервалы. Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объектов ServiceHours в формате метки времени ISO, но с типом String. Пример: |
В следующем примере показан элемент ServiceHours
:
Пример 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" }
Пример 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 }
Платеж
Описывает плату. Если для связанного объекта Service
для serviceType
установлено значение «DELIVERY», тогда требуется Fee
с feeType
установленным в «DELIVERY».
В следующей таблице перечислены свойства типа Fee
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Стоимость: | |
@id | Нить | Необходимый. Уникальный идентификатор объекта, описывающего комиссию. Пример: | |
serviceId | Список<Строка> | Необходимый. Значение @id сущности «Услуга», связанное с этой сущностью «Комиссия». Пример: | |
feeType | FeeType | Необходимый. Строка, указывающая, применяется ли комиссия к заказам на доставку или обслуживание. Допустимые значения: «ДОСТАВКА» и «СЕРВИС». Пример: | |
priceCurrency | Нить | Необходимый. Трехбуквенный код валюты ISO 4217. Пример: | |
basePrice | Число | Базовая цена комиссии, применимая при использовании Пример: | |
minPrice | Число | Минимальная комиссия, максимальное значение комиссии при использовании Пример: | |
maxPrice | Число | Максимальная комиссия, максимальное значение комиссии при использовании Пример: | |
eligibleRegion | Список<Строка> | @id ServiceArea для геополитических регионов, для которых действительна плата. Используйте это свойство, только если стоимость доставки зависит от региона. Пример: | |
eligibleTransactionVolumeMin | Число | Минимальный объем транзакции в денежной единице, для которого действительна данная спецификация комиссии. Пример: | |
eligibleTransactionVolumeMax | Число | Максимальный объем транзакции в денежной единице, для которого действительна данная спецификация комиссии. Например, комиссия не взимается, если объем заказа превышает определенный. Пример: | |
validFrom | Временная метка ISO | Временная метка ISO, указывающая время начала действия комиссии. Пример: | |
validThrough | Временная метка ISO | Временная метка ISO, указывающая время окончания, после которого плата становится недействительной. Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объекта «Комиссия» в формате метки времени ISO, но с типом String. Пример: | |
priority | Число | Положительное, ненулевое значение. Если к корзине пользователя применяется более 1 комиссии, комиссия с наивысшим приоритетом будет иметь приоритет над более низкой комиссией. Если это поле указано, приоритет всегда будет иметь приоритет над рассчитанным приоритетом. Пример: | |
Требуется ровно одна из следующих групп свойств. | |||
price | Группа 1 | Число | Цена платы. Если цена не фиксирована, вместо цены можно указать minPrice и maxPrice. Пример: |
percentageOfCart | Группа 2 | Число | Комиссия в процентах от стоимости корзины. Допустимыми значениями являются значения с плавающей запятой от 0 до 100 включительно. Пример: |
pricePerMeter | Группа 3 | Число | Плата за метр радиального расстояния от пользователя. Например, если расстояние до пользователя составляет 5 км, а тариф составляет 0,001 доллара США, то плата за пользование составит 5 долларов США. Пример: |
В следующем примере показан элемент Fee
:
Пример 1
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "price": 5 }
Пример 2
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "pricePerMeter": 0.0005, "basePrice": 4 }
Пример 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 }
Пример 4
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "percentageOfCart": 5, "basePrice": 4 }
Пример 5
{ "@type": "Fee", "@id": "28427", "serviceId": [ "10824/delivery" ], "feeType": "DELIVERY", "priceCurrency": "USD", "eligibleRegion": [ "28427" ], "eligibleTransactionVolumeMin": 20, "percentageOfCart": 5, "basePrice": 4, "minPrice": 5, "maxPrice": 50 }
Данные меню
Меню (обязательно)
Необходимая сущность для реализации. Описывает меню.
В следующей таблице перечислены свойства типа Menu
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Значение: | |
@id | Нить | Необходимый. Уникальный идентификатор меню. Пример: | |
name | Нить | Текст, который может идентифицировать меню, когда пользователь просматривает меню. Пример: | |
disclaimer | Нить | Отказ от ответственности за меню. Например, раскрытие информации о пищевой ценности и раскрытие аллергенов. Пример: | |
disclaimerUrl | URL | URL-адрес, указывающий на страницу с более подробной информацией об отказе от ответственности. | |
dateModified | Временная метка ISO | Дата и время последнего изменения канала сущности меню в формате метки времени ISO, но с типом String. Пример: |
В следующем примере показан элемент Menu
:
Пример
{ "@type": "Menu", "@id": "10824" }
МенюРаздел
Необязательная сущность для реализации. Описывает конкретный раздел меню.
В следующей таблице перечислены свойства типа MenuSection
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Значение: | |
@id | Нить | Необходимый. Уникальный идентификатор раздела меню. Пример: | |
menuId | Список< ReverseReference > | Значение @id сущности Menu связано с этой сущностью Пример: | |
menuSectionId | Список<Строка> | Список значений @id дочерних объектов Важно: вы должны использовать только одну ссылку: Пример: | |
parentMenuSectionId | Список< ReverseReference > | Значение @id родительского объекта Важно: вы должны использовать только одну ссылку: Пример: | |
name | Нить | Необходимый. Текст, который может идентифицировать Пример: | |
description | Нить | Описание раздела меню. Пример: | |
image | URL | URL-адрес изображения раздела меню. Пример: | |
menuItemId | Список<Строка> | Список значений @id сущностей Важно: необходимо использовать только одну ссылку: Пример: | |
parentMenuItemId | Список< ReverseReference > | Список значений @id родительских сущностей Важно: вы должны использовать только одну ссылку: Пример: | |
parentMenuItemOptionId | Список< ReverseReference > | Список значений @id родительских сущностей Важно: необходимо использовать только одну ссылку: Пример: | |
eligibleQuantityMax | Целое число | Максимальное количество аддонов, которые можно выбрать в разделе аддонов. Пример: | |
eligibleQuantityMin | Целое число | Минимальное количество аддонов, которое необходимо выбрать в разделе аддонов. Пример: | |
defaultItemId | Список<Строка> | Список @id, ссылающихся на сущности Пример: | |
availabilityId | Список<Строка> | Значения @id объектов доступности, которые предоставляют подробную информацию о том, когда раздел меню доступен. Пример: | |
numberOfFreeAddOns | Целое число | Указывает количество надстроек, которые пользователь может выбрать бесплатно. Действует только для дополнительных разделов меню. Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объектов Пример: | |
applicableServiceType | Список < ServiceType > | Служба, к которой применим этот | |
offeredById | Список<Строка> | Значения @id объектов Пример: |
В следующем примере показан элемент MenuSection
:
Пример 1
{ "@type": "MenuSection", "@id": "853705", "menuId": [ { "@id": "10824", "displayOrder": 853705 } ], "menuSectionId": [ 12345, 43645 ], "name": "Pasta", "applicableServiceType": [ "TAKEOUT" ], "offeredById": [ "italian_restaurant_location_1" ] }
Пример 2
{ "@type": "MenuSection", "@id": "427484", "menuId": [ { "@id": "4287", "displayOrder": 964376 } ], "menuItemId": [ 46784, 42728 ], "name": "Burger", "applicableServiceType": [ "TAKEOUT", "DELIVERY" ] }
Пример 3
{ "@type": "MenuSection", "@id": "3138486", "name": "Choose a side:", "parentMenuItemId": [ { "@id": "6680295", "displayOrder": 3138486 } ], "eligibleQuantityMax": "5", "numberOfFreeAddOns": "2" }
Пример 4
{ "@type": "MenuSection", "@id": "3138482", "name": "Additional Pizza Toppings", "parentMenuItemId": [ { "@id": "6680246", "displayOrder": 3138482 } ], "eligibleQuantityMax": "3" }
Доступность
Необязательная сущность для реализации. Описывает период времени, в течение которого обслуживается сущность MenuSection
.
В следующей таблице перечислены свойства типа Availability
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Ценность: | |
@id | Нить | Необходимый. Уникальный идентификатор сущности, описывающей доступность раздела меню. Пример: | |
availabilityStarts | Время ISO (местное) | Временная метка ISO, указывающая время начала, в течение которого действителен раздел меню. Пример: | |
availabilityEnds | Время ISO (местное) | Временная метка ISO, указывающая время окончания, после которого доступность раздела меню становится недействительной. Пример: | |
availableDay | Список< DayOfWeek > | Список дней недели, для которых действителен доступ к разделу меню. Пример: | |
validFrom | Временная метка ISO | Временная метка ISO, указывающая время начала доступности раздела меню. Пример: | |
validThrough | Временная метка ISO | Временная метка ISO, указывающая время окончания, после которого доступность раздела меню становится недействительной. Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида объектов доступности в формате метки времени ISO, но с типом String. Пример: |
В следующем примере показан элемент Availability
:
Пример
{ "@type": "Availability", "@id": "85343705", "availabilityStarts": "06:00", "availabilityEnds": "22:30", "availableDay": [ "SATURDAY", "SUNDAY" ] }
Пункт меню (обязательно)
Необходимая сущность для реализации. Описывает элемент в сущности Menu
.
В следующей таблице перечислены свойства типа MenuItem
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Значение: | |
@id | Нить | Необходимый. Уникальный идентификатор пункта меню. Пример: | |
name | Нить | Необходимый. Текст, который может идентифицировать Пример: | |
description | Нить | Описание пункта меню. Пример: | |
image | URL | URL-адрес изображения пункта меню. Пример: | |
parentMenuSectionId | Список< ReverseReference > | Список значений @id родительских сущностей Важно: необходимо использовать только одну ссылку: Пример: | |
menuAddOnId | Список<Строка> | Список значений @id объектов Важно: необходимо использовать только одну ссылку: Пример: | |
nutrition | NutritionInformation | Информация о пищевой ценности блюда, особенно о калориях. Пример: | |
allergen | Список < Allergen > | Аллергены этого пункта меню. Пример: | |
additive | Список < Additive > | Дополнения этого MenuItem. Пример: | |
suitableDiet | Список RestrictedDiet | Блюдо соответствует описанному диетическому ограничению. Пример: | |
depositInfo | DepositInfo | Информация об упаковке и переработке этого элемента меню. Пример: | |
numberOfServings | Целое число | Количество порций, доступных в данном пункте меню. Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида сущности Пример: |
В следующем примере показан элемент MenuItem
:
Пример 1
{ "@type": "MenuItem", "@id": "18931508", "name": "Sauteed Baby Spinach", "parentMenuSectionId": [ { "@id": "3138479", "displayOrder": 18931508 } ] }
Пример 2
{ "@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" ] }
Менюитемопция
Необязательная сущность для реализации. Описывает варианты, которые пользователь должен будет сделать при выборе блюда/комбо. Пользователь должен выбрать вариант, в противном случае заказ считается недействительным (например, пользователь должен выбрать маленькую, среднюю или большую пиццу).
В следующей таблице перечислены свойства типа MenuItemOption
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Значение: | |
@id | Нить | Необходимый. Уникальный идентификатор опции пункта меню. Пример: | |
menuItemId | ReverseReference | Необходимый. Значение @id сущности Пример: | |
optionType | OptionType | Строка, указывающая, относится ли опция пункта меню к категории по размеру, опции или стороне пиццы. Допустимые значения: «SIZE», «OPTION» и «PIZZA_SIDE». «РАЗМЕР»: размер MenuItemOption. Например, маленький, средний или большой. «ВАРИАНТ»: Любое изменение, кроме размера (например, блюдо в виде салата или сэндвича). Если вы не можете отличить «РАЗМЕР» от «ОПЦИИ», используйте «ОПЦИИ». «PIZZA_SIDE»: специфично для пиццы: например, этот Пример: | |
value | Строка или PizzaSide | Требуется, если Строковое значение или значение перечисления. Значения перечисления относятся к типу опции PIZZA_SIDE. | |
applicableParentOptionValue | Нить | Строка, содержащая значение параметра родительского элемента, для которого доступен этот параметр. Пример: | |
menuAddOnId | Список<Строка> | Список значений @id объектов Важно: необходимо использовать только одну ссылку: Пример: | |
nutrition | NutritionInformation | Информация о пищевой ценности блюда, особенно о калориях. Пример: | |
allergen | Список < Allergen > | Аллергены этого пункта меню. Пример: | |
additive | Список < Additive > | Дополнения этого MenuItem. Пример: | |
depositInfo | DepositInfo | Информация об упаковке и переработке этого MenuItem. Пример: | |
numberOfServings | Целое число | Количество порций, доступных в данном пункте меню. Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида сущности MenuItemOption в формате метки времени ISO, но с типом String. Пример: |
В следующем примере показан элемент MenuItemOption
:
Пример 1
{ "@type": "MenuItemOption", "@id": "56177944", "menuItemId": { "@id": "18930213", "displayOrder": 1234 }, "optionType": "PIZZA_SIDE", "value": "PIZZA_SIDE_LEFT" }
Пример 2
{ "@type": "MenuItemOption", "@id": "56177944", "menuItemId": { "@id": "18930213", "displayOrder": 1234 }, "applicableParentOptionValue": "Small Pizza" }
MenuItemOffer (обязательно)
Необходимая сущность для реализации. Описывает предложение для сущности MenuItem
или MenuItemOption
.
В следующей таблице перечислены свойства типа MenuItemOffer
:
Свойство | Тип | Описание | |
---|---|---|---|
@type | Конст | Необходимый. Значение: | |
@id | Нить | Необходимый. Уникальный идентификатор предложения пункта меню. Пример: | |
sku | Нить | Необходимый. Идентификатор предложения пункта меню. Значения SKU могут быть разными или одинаковыми для нескольких объектов предложений пунктов меню. Значение sku будет установлено по порядку, когда мы сделаем вам вызов API. Пример: | |
price | Число | Необходимый. Цена предложения позиции меню. Пример: | |
priceCurrency | Нить | Необходимый. Трехбуквенный код валюты ISO 4217. Пример: | |
availabilityId | Список<Строка> | Значения @id объектов доступности, которые предоставляют подробную информацию о том, когда предложение пункта меню доступно. Пример: | |
eligibleQuantityMin | Число | Минимальный объем заказа, для которого действует Пример: | |
eligibleQuantityMax | Число | Максимальный объем заказа, для которого действует Пример: | |
inventoryLevel | Число | Текущий приблизительный уровень запасов для предмета или предметов, соответствующих этому MenuItemOffer. Пример: | |
dateModified | Временная метка ISO | Дата и время последнего изменения фида сущности Пример: | |
applicableServiceType | Список < ServiceType > | Служба, к которой применим этот | |
offeredById | Список<Строка> | Значения @id объектов Пример: | |
Требуется ровно одна из следующих групп свойств. | |||
menuItemId | Группа 1 | Нить | Значение @id сущности Пример: |
menuItemOptionId | Группа 2 | Нить | Значение @id сущности Пример: |
В следующем примере показан элемент MenuItemOffer
:
Пример
{ "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "896532", "price": 15.5, "priceCurrency": "USD", "applicableServiceType": [ "DELIVERY" ], "offeredById": [ "bagel_shop_location_5" ] }
Общий
Обратная ссылка
В следующей таблице перечислены свойства типа ReverseReference
:
Свойство | Тип | Описание | |
---|---|---|---|
@id | Нить | Необходимый. @id родительской сущности. | |
displayOrder | Целое число | Необходимый. Порядок отображения элементов внутри родителя. |
Информация о питании
В следующей таблице перечислены свойства типа NutritionInformation
:
Свойство | Тип | Описание | |
---|---|---|---|
description | Нить | Информация о питании в свободном тексте. Например «Содержит консерванты». | |
calories | Нить | Количество калорий в кал, ккал или кДж в следующем формате: значение Cal или мин-макс Cal. Пример: | |
sodiumContent | Нить | Количество мг или г натрия в следующем формате: значение г или мин-макс г. Пример: |
В следующем примере показан элемент NutritionInformation
:
Пример
{ "calories": "120-150 Cal", "sodiumContent": "100 mg" }
Аллерген
В следующей таблице перечислены свойства типа Allergen
:
Свойство | Тип | Описание | |
---|---|---|---|
allergenType | AllergenType | Необходимый. Тип аллергена. | |
levelOfContainment | ContainmentLevel | Уровень данного аллергена в пункте меню. |
В следующем примере показан элемент Allergen
:
Пример
{ "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }
Добавка
В следующей таблице перечислены свойства типа Additive
:
Свойство | Тип | Описание | |
---|---|---|---|
additiveName | Нить | Необходимый. Название добавки. | |
levelOfContainment | ContainmentLevel | Уровень данной добавки в пункте меню. |
В следующем примере показан элемент Additive
:
Пример
{ "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }
ДепозитИнфо
В следующей таблице перечислены свойства типа DepositInfo
:
Свойство | Тип | Описание | |
---|---|---|---|
depositCode | DepositCode | Депозитный код. | |
depositValue | Число | Числовое значение залога предмета, например, при переработке. | |
depositValueCurrency | Нить | Валюта суммы вклада |
В следующем примере показан элемент DepositInfo
:
Пример
{ "depositCode": "RECYCLABLE", "depositValue": 0.05, "depositValueCurrency": "USD" }
Конфигурация обслуживания
Обслуживание конфигурации для службы, используемой для управления различными функциями. например, отключение промо-виджета и т. д.
В следующей таблице перечислены свойства типа ServingConfig
:
Свойство | Тип | Описание | |
---|---|---|---|
disableOrderInstructions | логическое значение | Скрывает возможность указать инструкции по заказу. | |
disableMenuItemSpecialInstructions | логическое значение | Скрывает возможность указать специальные инструкции для пункта меню. | |
disableTipWidget | логическое значение | Скрывает виджет подсказки на странице «Размещение заказа» процесса оформления заказа. | |
disablePromoWidget | логическое значение | Скрывает промо-виджет на странице «Размещение заказа» процесса оформления заказа. | |
menuItemSpecialInstructionsMaxLength | Число | Указывает максимальное количество символов, которое может содержать специальная инструкция пункта меню. | |
orderInstructionsMaxLength | Число | Указывает максимальное количество символов, которое может содержать инструкция заказа. |
В следующем примере показан элемент ServingConfig
:
Пример 1
{ "disableMenuItemSpecialInstructions": true }
Пример 2
{ "disableTipWidget": true, "disablePromoWidget": true }
Пример 3
{ "menuItemSpecialInstructionsMaxLength": 250, "orderInstructionsMaxLength": 1000 }
Перечисления
ДеньНедели
Тип DayOfWeek
имеет следующие возможные значения:
-
MONDAY
-
TUESDAY
-
WEDNESDAY
-
THURSDAY
-
FRIDAY
-
SATURDAY
-
SUNDAY
Тип сервиса
Тип ServiceType
имеет следующие возможные значения:
-
DELIVERY
-
TAKEOUT
Тип заказа
Тип OrderType
имеет следующие возможные значения:
-
ASAP
-
ADVANCE
Тип комиссии
Тип FeeType
имеет следующие возможные значения:
-
DELIVERY
-
SERVICE
Тип параметра
Тип OptionType
имеет следующие возможные значения:
-
SIZE
-
OPTION
-
PIZZA_SIDE
Пиццасайд
Тип PizzaSide
имеет следующие возможные значения:
-
PIZZA_SIDE_LEFT
-
PIZZA_SIDE_RIGHT
-
PIZZA_SIDE_WHOLE
Тип аллергена
Тип аллергенов согласно gs1:AllergenTypeCode .
Тип AllergenType
имеет следующие возможные значения:
-
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
SancementLevel
Тип ContainmentLevel
имеет следующие возможные значения:
-
CONTAINS
-
FREE_FROM
-
MAY_CONTAIN
Депозитный код
Тип DepositCode
имеет следующие возможные значения:
-
REUSABLE
-
RECYCLABLE
Dealtype
Категория сделки, чтобы применить скидку. Категория может быть всей корзиной или платой за доставку.
Тип DealType
имеет следующие возможные значения:
-
CART_OFF
-
DELIVERY_OFF
Ограниченная
Тип ограниченных диет по схеме .
Тип RestrictedDiet
имеет следующие возможные значения:
-
DIABETIC
-
GLUTEN_FREE
-
HALAL
-
HINDU
-
KOSHER
-
LOW_CALORIE
-
LOW_FAT
-
LOW_LACTOSE
-
LOW_SALT
-
VEGAN
-
VEGETARIAN