일반 요구사항
엔터티는 피드의 엔터티당 한 줄에 있도록 구성되어야 합니다 (엔터티는 줄바꿈 문자로 구분됨). 읽기 쉬운 페이지를 위해 이 페이지의 JSON 예시는 이 구조를 따르지 않습니다. 하지만 피드를 보낼 때는 이 구조를 따라야 합니다. 예를 들어 메뉴 항목은 다음 코드와 같이 구조화되어야 합니다.
{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}
각 `Restaurant` 항목에는 두 개의 Service 항목이 있을 수 있습니다 (`DELIVERY` 및 `TAKEOUT` 서비스 유형에 각각 하나씩). 각 `Service` 항목에는 `Menu` 항목이 하나만 있을 수 있습니다.
모든 하위 개체는 여러 레스토랑에서 재사용할 수 있습니다.
JSON 값 가이드라인
유형 변환
JSON 값 유형은 값을 필수 유형으로 강제 변환할 수 있는 한 스키마에 정의된 유형과 다를 수 있습니다. 예를 들어 문자열 속성은 문자열 값과 정수 값을 모두 입력으로 허용할 수 있습니다. 마찬가지로 정수 속성은 문자열을 유효한 정수로 파싱할 수 있는 한 문자열 값을 허용할 수 있습니다.
유형 변환은 반복되는 속성에도 작동합니다. 반복되는 속성은 대괄호 []
로 묶이지 않고도 값을 입력으로 허용할 수 있습니다. 예를 들어 OperationHours.serviceId
속성은 "service_id"
와 ["service_id"]
를 모두 유효한 입력으로 허용합니다.
날짜/시간 및 시간 값
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 |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 식당 또는 배달업체의 고유 식별자입니다. 예: |
|
name |
String | 필수 항목입니다. 레스토랑 이름입니다. 예: |
|
description |
String |
식당에 대한 설명입니다. 예: |
|
url |
URL |
레스토랑을 나타내는 URL입니다. 레스토랑 도메인이 애그리게이터 도메인보다 우선 적용됩니다. 예: |
|
sameAs |
URL |
식당의 공식 웹사이트입니다. 예: |
|
telephone |
String |
레스토랑의 전화번호입니다. 예: |
|
streetAddress |
String | 필수 항목입니다. 레스토랑의 상세 주소입니다. 예: |
|
addressLocality |
String | 필수 항목입니다. 지역명 또는 도시명입니다. 예: |
|
addressRegion |
String | 필수 항목입니다. 시/도입니다. 예: |
|
postalCode |
String | 필수 항목입니다. 우편번호입니다. 예: |
|
addressCountry |
String | 필수 항목입니다. 2자리 ISO 3166-1 alpha-2 국가 코드입니다. 예: |
|
latitude |
숫자 |
위도(도)입니다. 값의 범위는 [[-90, 90]]으로 제한됩니다. 최소한 소수점 이하 5자리까지 정확해야 합니다. 예: |
|
longitude |
숫자 |
경도입니다. 값은 [[-180, 180]] 범위로 제한됩니다. 최소한 소수점 이하 5자리까지 정확해야 합니다. 예: |
|
dealId |
List<String> |
레스토랑의 관련 |
|
imprint |
String |
식당 임프린트는 법적 이름, 법적 주소, 등록 번호 등 레스토랑에 대한 추가 정보가 나와 있는 섹션입니다. 이 정보는 ' '을 사용하여 형식을 지정할 수 있습니다. 예:
|
|
economicOperator |
String |
음식점과 연결된 경제 운영자 정보(해당하는 경우) 이 정보는 판매자 정보 섹션 내에 표시됩니다. ' '를 사용하여 텍스트 형식을 지정할 수 있습니다. 예:
|
|
dateModified |
ISO 타임스탬프 |
음식점 항목 피드의 마지막 수정 날짜 및 시간(ISO 타임스탬프 형식이지만 문자열 유형임). 예: |
다음 예는 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 |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 거래의 고유 식별자입니다. 예: |
|
dealCode |
String | 필수 항목입니다. 파트너별 거래당 고유한 거래 ID입니다. 이 ID는 프로모션 시스템에서 특정 특가를 고유하게 식별해야 합니다. Google에서는 유효성 검사를 위해 예: |
|
applicableServiceType |
List<ServiceType > |
이 거래가 적용되는 서비스입니다. 기본값은 모든 사용자에게 적용되는 특가를 가정합니다. |
|
eligibleMaxOrders |
정수 |
이 특가는 사용자가 이전에 완료한 주문 수가 이 수보다 작거나 같은 경우에만 사용할 수 있습니다. |
|
availabilityId |
List<String> |
메뉴 섹션을 사용할 수 있는 시점에 관한 세부정보를 제공하는 어베일러빌리티 항목의 @id 값입니다. 예: |
|
isDisabled |
Boolean |
이는 다른 유효성 검사를 재정의합니다. |
|
dealType |
DealType |
필수 항목입니다. 할인을 적용할 특가 상품의 카테고리입니다. 카테고리는 장바구니 전체 금액, 서비스 수수료 또는 배송비일 수 있습니다. |
|
priceCurrency |
String |
할인의 통화 (3글자 ISO 4217 형식)입니다. 예: |
|
eligibleTransactionVolumeMin |
숫자 |
이 프로모션이 유효한 거래 수량(통화 단위)입니다. |
|
termsOfServiceUrl |
URL | 필수 항목입니다. 사람이 읽을 수 있는 서비스 약관 문서 |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식의 거래 항목 피드 최종 수정 날짜 및 시간으로, 유형은 문자열입니다. 예: |
|
다음 속성 그룹 중 정확히 하나가 필요합니다. | |||
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 |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 처리 서비스의 식별자입니다. 예: |
|
serviceType |
ServiceType |
필수 항목입니다. 제공되는 서비스 유형입니다. 가능한 값은 'DELIVERY' 또는 'TAKEOUT'입니다. 예: |
|
restaurantId |
String | 필수 항목입니다. 이 서비스 개체와 연결된 레스토랑 개체의 @id 값입니다. 예: |
|
menuId |
String | 필수 항목입니다. 이 서비스 항목과 관련된 메뉴 항목의 @id 값입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
서비스 항목 피드가 마지막으로 수정된 날짜와 시간입니다. ISO 타임스탬프 형식입니다. 예: |
|
isDisabled |
Boolean |
항목이 사용 중지되었는지 여부를 나타냅니다. 예기치 않은 이벤트로 인해 항목을 사용 중지해야 하고 서비스가 언제 다시 설정될지 모르는 경우에만 이 유형을 사용하세요 (예: 공휴일에는 사용하지 않음). 예: |
|
servingConfig |
ServingConfig |
다양한 기능을 제어하는 데 사용되는 서비스의 서빙 구성입니다(예: 프로모션 위젯 사용 중지). |
|
actionLinkUrl |
String |
엔드 투 엔드 음식 주문 환경에서 리디렉션으로 이전하는 동안 사용되는 배달/식사 테이크아웃 서비스의 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" }
ServiceArea
음식을 배송할 수 있는 지리적 지역을 설명합니다. 연결된 Service
항목의 serviceType
가 'DELIVERY'로 설정된 경우 이 항목을 구현해야 합니다.
다음 표에는 ServiceArea
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 서비스 지역의 고유 식별자입니다. 예: |
|
serviceId |
List<String> | 필수 항목입니다. 이 ServiceArea 항목과 연결된 Service 항목의 @id 값입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ServiceArea 항목 피드의 마지막 수정 날짜 및 시간(ISO 타임스탬프 형식이지만 문자열 유형임). 예: |
|
exclude |
Boolean |
전체 배송 지역에서 이 서비스 지역을 제외합니다. 예를 들어 우편번호는 더 큰 다각형 영역에서 제외될 수 있습니다. |
|
다음 속성 그룹 중 정확히 하나가 필요합니다. | |||
polygon |
그룹 1 | List<String> |
3개 이상의 공백으로 구분된 점으로 표현되는 다각형 또는 다중 다각형입니다. 첫 번째와 마지막 지점이 동일한 것이 좋지만 필수는 아닙니다. 다각형 또는 다중 다각형의 각 점은 위도 점이 경도 점을 따라오는 것으로 정의됩니다. 또한 점을 시계 반대 방향으로 지정해야 합니다. 예: |
geoMidpointLatitude |
그룹 2 | 숫자 |
CIRCLE 영역 중심의 위도 좌표를 나타냅니다. 예: |
geoMidpointLongitude |
그룹 2 | 숫자 |
CIRCLE 영역의 중심에 있는 경도 좌표를 나타냅니다. 예: |
geoRadius |
그룹 2 | 정수 |
CIRCLE 영역의 대략적인 반지름 (미터)을 나타냅니다. 예: |
postalCode |
그룹 3 | String |
우편번호를 나타냅니다. 예: |
addressCountry |
그룹 3 | String |
두 글자로 된 ISO 3166-1 alpha-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
구현이 필요하며 기본적으로 모든 날짜의 모든 시간에 운영을 나타냅니다.
OperationHours
opens
및 closes
속성은 사용자가 주문할 수 있는 온라인 시스템의 개점 및 폐점 시간을 지정합니다. 온라인 시스템 운영 시간 내에 ServiceHours
를 사용하여 사용자의 주문을 처리할 수 있는 영업시간과 휴무시간을 지정합니다.
시간은 서비스의 현지 시간으로 지정해야 합니다. opens
값에 시간대를 포함하지 마세요. 시간대를 지정하면 Google에서 이 정보를 무시합니다. 자세한 내용은 날짜/시간 및 시간 형식을 참고하세요.
다음 표에는 OperationHours
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 사용자가 흐름에 액세스하여 최대한 빨리/향후 주문할 수 있는 주문 기간을 설명하는 항목의 고유 식별자입니다. 예: |
|
serviceId |
List<String> | 필수 항목입니다. 이 OperationHours 항목과 연관된 서비스 항목의 @id 값입니다. 예: |
|
opens |
ISO 시간 (현지) |
사용자가 주문할 수 있는 시간을 ISO 형식의 특정 시간으로 나타냅니다. 예: |
|
closes |
ISO 시간 (현지) |
사용자가 주문할 수 없는 시간을 ISO 형식으로 나타냅니다. 예: |
|
dayOfWeek |
List<DayOfWeek > |
이 운영 시간이 유효한 요일 목록입니다. 허용되는 값은 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'입니다. 예: |
|
validFrom |
ISO 타임스탬프 |
사용자가 절차에 액세스하여 최대한 빨리/향후 주문할 수 있는 주문 기간의 시작 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
validThrough |
ISO 타임스탬프 |
사용자가 절차에 액세스하여 최대한 빨리/향후 주문할 수 없는 주문 기간의 종료 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
isSpecialHour |
Boolean |
OperationHours가 특별 영업시간인지 나타내는 불리언입니다. 허용되는 값은 'false', 'true'입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
OperationHours 항목 피드의 마지막 수정 날짜 및 시간입니다. ISO 타임스탬프 형식이지만 문자열 유형입니다. 예: |
다음 예는 OperationHours
요소를 보여줍니다.
예 1
{ "@type": "OperationHours", "@id": "10824/deliveryOh", "serviceId": [ "10824/delivery" ], "isSpecialHour": false }
예 2
{ "@type": "OperationHours", "@id": "10824/takeoutOh", "serviceId": [ "10824/takeout" ], "isSpecialHour": false }
ServiceHours (필수)
사용자가 처리 슬롯(ASAP 또는 향후 슬롯)을 선택할 수 있는 처리 기간을 설명합니다. ServiceHours
구현이 필요합니다.
OperationHours
opens
및 closes
속성은 사용자가 주문할 수 있는 온라인 시스템의 개점 및 폐점 시간을 지정합니다. 온라인 시스템 운영 시간 내에 ServiceHours
를 사용하여 사용자의 주문을 처리할 수 있는 영업시간과 휴무 시간을 지정합니다.
시간은 서비스의 현지 시간으로 지정해야 합니다. opens
값에 시간대를 포함하지 마세요. 시간대를 지정하면 Google에서 이 정보를 무시합니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.
다음 표에는 ServiceHours
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 사용자가 처리 슬롯(예: 최대한 빨리 또는 향후 슬롯)을 선택할 수 있는 처리 기간을 설명하는 항목의 고유 식별자입니다. 예: |
|
orderType |
OrderType |
필수 항목입니다. 서비스 시간이 ASAP 주문 또는 사전 주문에 적용되는지 나타내는 문자열입니다. 허용되는 값은 'ASAP' 및 'ADVANCE'입니다. 예: |
|
serviceId |
List<String> | 필수 항목입니다. 이 ServiceHours 항목과 연관된 서비스 항목의 @id 값입니다. 예: |
|
operationHoursId |
List<String> |
이 ServiceHours 항목과 상관관계가 있는 OperationHours 항목의 @id 값입니다. 예: |
|
opens |
ISO 시간 (현지) |
사용자의 주문을 처리할 수 있는 구체적인 시간을 ISO 형식으로 나타냅니다. 예: |
|
closes |
ISO 시간 (현지) |
사용자가 주문한 제품을 처리할 수 없는 시간을 ISO 형식으로 나타냅니다. 예: |
|
dayOfWeek |
List<DayOfWeek > |
이 운영 시간이 유효한 요일 목록입니다. 예: |
|
validFrom |
ISO 타임스탬프 |
사용자가 절차에 액세스하여 최대한 빨리/향후 주문할 수 있는 주문 기간의 시작 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
validThrough |
ISO 타임스탬프 |
사용자가 절차에 액세스하여 최대한 빨리/향후 주문할 수 없는 주문 기간의 종료 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
isSpecialHour |
Boolean |
OperationHours가 특별 영업시간인지 나타내는 불리언입니다. 허용되는 값은 'false', 'true'입니다. 예: |
|
leadTimeMin |
정수 |
최대한 빨리 주문이 접수된 후 예상 배송/수령 시간(분)입니다. 이 속성을 설정하는 것이 좋습니다. 예: |
|
leadTimeMax |
정수 |
최대 예상 배송/수령 시간(분)으로, 최대한 빨리 주문한 경우입니다. 이 속성을 설정하는 것이 좋습니다. 예: |
|
advanceBookingRequirementMin |
정수 |
선주문을 처리할 수 있는 주문 시간으로부터의 최소 분입니다. 예를 들어 사전 주문이 처리되기까지 60분 이상 소요되면 AdvancedBookingRequirementMin은 60입니다. 예: |
|
advanceBookingRequirementMax |
정수 |
선주문을 처리할 수 있는 주문 시간으로부터의 최대 분입니다. 예를 들어 사전 주문이 2일 이후에 처리되지 않도록 제한되는 경우 advancedBookingRequirementMax 값은 2880입니다. 예: |
|
advanceBookingSlotInterval |
String |
연속된 두 개의 사전 예약 슬롯 시간 간격입니다. 예를 들어 영업 시간이 오전 8시에서 오후 8시이고 advanceBookingSlotInterval이 15분인 경우 사용자는 오전 8시, 오전 8시 15분, 오전 8시 30분, 오전 8시 45분 등의 처리 시간을 오후 8시까지 선택할 수 있습니다. 기간은 ISO 기간으로 지정해야 합니다. 예를 들어 'PT15M'은 15분 간격을 의미합니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ServiceHours 항목 피드의 마지막 수정 날짜 및 시간입니다(ISO 타임스탬프 형식, 유형은 문자열). 예: |
다음 예는 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'로 설정된 경우 feeType
가 'DELIVERY'로 설정된 Fee
가 필요합니다.
다음 표에는 Fee
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 수수료를 설명하는 항목의 고유 식별자입니다. 예: |
|
serviceId |
List<String> | 필수 항목입니다. 이 수수료 항목과 연관된 서비스 항목의 @id 값입니다. 예: |
|
feeType |
FeeType |
필수 항목입니다. 배송 또는 서비스 주문에 수수료가 적용되는지를 나타내는 문자열입니다. 허용되는 값은 'DELIVERY' 및 'SERVICE'입니다. 예: |
|
priceCurrency |
String | 필수 항목입니다. 3글자 ISO 4217 통화 코드입니다. 예: |
|
basePrice |
숫자 |
수수료의 기본 가격으로, 예: |
|
minPrice |
숫자 |
예: |
|
maxPrice |
숫자 |
Max fee(최대 수수료): 예: |
|
eligibleRegion |
List<String> |
요금이 적용되는 지정학적 지역의 ServiceArea의 @id입니다. 배달 수수료가 지역에 따라 다른 경우에만 이 속성을 사용하세요. 예: |
|
eligibleTransactionVolumeMin |
숫자 |
이 수수료 사양이 유효한 최소 거래 금액(통화 단위)입니다. 예: |
|
eligibleTransactionVolumeMax |
숫자 |
이 수수료 사양이 유효한 최대 거래 금액(통화 단위)입니다. 예를 들어 주문량이 일정 수준을 초과하면 수수료가 적용되지 않습니다. 예: |
|
validFrom |
ISO 타임스탬프 |
수수료가 유효해지는 시작 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
validThrough |
ISO 타임스탬프 |
수수료가 무효화되는 종료 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
수수료 항목 피드의 최종 수정 날짜 및 시간입니다. ISO 타임스탬프 형식이지만 유형은 문자열입니다. 예: |
|
priority |
숫자 |
0이 아닌 양수 값입니다. 사용자의 장바구니에 2개 이상의 수수료가 적용되는 경우 우선순위가 가장 높은 수수료가 낮은 수수료보다 우선 적용됩니다. 이 필드가 제공되면 계산된 우선순위보다 항상 우선순위가 적용됩니다. 예: |
|
다음 속성 그룹 중 정확히 하나가 필요합니다. | |||
price |
그룹 1 | 숫자 |
수수료 가격입니다. 가격이 고정되어 있지 않으면 price 대신 minPrice 및 maxPrice를 제공할 수 있습니다. 예: |
percentageOfCart |
그룹 2 | 숫자 |
장바구니 금액의 비율에 해당하는 수수료입니다. 허용되는 값은 0~100 사이의 부동 소수점 값입니다. 예: |
pricePerMeter |
그룹 3 | 숫자 |
사용자와의 거리에 대한 미터당 요금입니다. 예를 들어 사용자와의 거리가 5km이고 요금이 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 |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴의 고유 식별자입니다. 예: |
|
name |
String |
사용자가 메뉴를 탐색할 때 메뉴를 식별할 수 있는 텍스트입니다. 예: |
|
disclaimer |
String |
메뉴 면책 조항. 예: 영양 정보 공개 및 알레르기 유발 물질 공개 예: |
|
disclaimerUrl |
URL |
면책 조항에 대한 자세한 내용을 제공하는 페이지를 가리키는 URL입니다. |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식의 메뉴 항목 피드 최종 수정 날짜 및 시간으로, 유형은 문자열입니다. 예: |
다음 예는 Menu
요소를 보여줍니다.
예
{ "@type": "Menu", "@id": "10824" }
MenuSection
구현할 선택적 항목입니다. 메뉴의 특정 섹션을 설명합니다.
다음 표에는 MenuSection
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴 섹션의 고유 식별자입니다. 예: |
|
menuId |
List<ReverseReference > |
이 예: |
|
menuSectionId |
List<String> |
이 중요: 예: |
|
parentMenuSectionId |
List<ReverseReference > |
이 중요: 예: |
|
name |
String | 필수 항목입니다. 사용자가 메뉴를 탐색할 때 예: |
|
description |
String |
메뉴 섹션에 대한 설명입니다. 예: |
|
image |
URL |
메뉴 섹션 이미지의 URL입니다. 예: |
|
menuItemId |
List<String> |
이 중요: 예: |
|
parentMenuItemId |
List<ReverseReference > |
이 중요: 예: |
|
parentMenuItemOptionId |
List<ReverseReference > |
이 중요: 예: |
|
eligibleQuantityMax |
정수 |
부가기능 섹션에서 선택할 수 있는 최대 부가기능 수입니다. 예: |
|
eligibleQuantityMin |
정수 |
부가기능 섹션에서 선택해야 하는 최소 부가기능 수입니다. 예: |
|
defaultItemId |
List<String> |
예: |
|
availabilityId |
List<String> |
메뉴 섹션을 사용할 수 있는 시점에 관한 세부정보를 제공하는 어베일러빌리티 항목의 @id 값입니다. 예: |
|
numberOfFreeAddOns |
정수 |
사용자가 무료로 선택할 수 있는 부가기능의 수를 나타냅니다. 부가기능 메뉴 섹션에만 유효합니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식의 예: |
|
applicableServiceType |
List<ServiceType > |
이 |
|
offeredById |
List<String> |
이 예: |
다음 예는 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 |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴 섹션 이용 가능 여부를 설명하는 항목의 고유 식별자입니다. 예: |
|
availabilityStarts |
ISO 시간 (현지) |
메뉴 섹션 이용 가능 여부가 유효한 시작 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
availabilityEnds |
ISO 시간 (현지) |
메뉴 섹션 사용 가능 여부가 무효화되는 종료 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
availableDay |
List<DayOfWeek > |
메뉴 섹션 이용 가능 여부가 유효한 요일 목록입니다. 예: |
|
validFrom |
ISO 타임스탬프 |
메뉴 섹션 이용 가능 여부가 유효한 시작 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
validThrough |
ISO 타임스탬프 |
메뉴 섹션 사용 가능 여부가 무효화되는 종료 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식의 어베일러빌리티 항목 피드의 최종 수정 날짜 및 시간으로, 유형은 문자열입니다. 예: |
다음 예는 Availability
요소를 보여줍니다.
예
{ "@type": "Availability", "@id": "85343705", "availabilityStarts": "06:00", "availabilityEnds": "22:30", "availableDay": [ "SATURDAY", "SUNDAY" ] }
MenuItem (필수)
구현해야 하는 필수 항목입니다. Menu
항목을 설명합니다.
다음 표에는 MenuItem
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴 항목의 고유 식별자입니다. 예: |
|
name |
String | 필수 항목입니다. 사용자가 메뉴를 탐색할 때 예: |
|
description |
String |
메뉴 항목에 대한 설명입니다. 예: |
|
image |
URL |
메뉴 항목 이미지의 URL입니다. 예: |
|
parentMenuSectionId |
List<ReverseReference > |
이 중요: 예: |
|
menuAddOnId |
List<String> |
이 중요: 예: |
|
nutrition |
NutritionInformation |
요리의 영양 정보(특히 칼로리)입니다. 예: |
|
allergen |
List<Allergen > |
이 MenuItem의 알레르기 유발원입니다. 예: |
|
additive |
List<Additive > |
이 MenuItem의 가수입니다. 예: |
|
suitableDiet |
List<RestrictedDiet > |
음식이 설명된 식이 제한을 준수합니다. 예: |
|
depositInfo |
DepositInfo |
이 MenuItem의 포장 및 재활용 정보입니다. 예: |
|
numberOfServings |
정수 |
특정 메뉴 항목에서 사용할 수 있는 분량입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
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
구현할 수 있는 선택사항 항목입니다. 사용자가 음식/콤보를 선택할 때 선택해야 하는 항목을 설명합니다. 사용자는 옵션을 선택해야 합니다. 그렇지 않으면 주문이 무효로 간주됩니다 (예: 피자의 경우 소형, 중형, 대형 중 하나를 선택해야 함).
다음 표에는 MenuItemOption
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
Const |
값: |
|
@id |
String | 필수 항목입니다. 메뉴 항목 옵션의 고유 식별자입니다. 예: |
|
menuItemId |
ReverseReference |
필수 항목입니다. 이 예: |
|
optionType |
OptionType |
메뉴 항목 옵션이 크기, 옵션 또는 피자 사이드로 분류되는지 나타내는 문자열입니다. 허용되는 값은 'SIZE', 'OPTION', 'PIZZA_SIDE'입니다. 'SIZE': MenuItemOption의 크기입니다. 예를 들어 작음, 보통, 큼 'OPTION': 크기 이외의 변형입니다 (예: 샐러드나 샌드위치로 제공되는 요리). 'SIZE'와 'OPTION'을 구분할 수 없는 경우 'OPTION'을 사용하세요. 'PIZZA_SIDE': 피자 관련: 이 예: |
|
value |
문자열 또는
PizzaSide |
문자열 값 또는 열거형 값입니다. 열거형 값은 PIZZA_SIDE 옵션 유형에 따라 다릅니다. |
|
applicableParentOptionValue |
String |
이 옵션을 사용할 수 있는 상위 항목의 옵션 값을 포함하는 문자열입니다. 예: |
|
menuAddOnId |
List<String> |
이 중요: 예: |
|
nutrition |
NutritionInformation |
요리의 영양 정보(특히 칼로리) 예: |
|
allergen |
List<Allergen > |
이 MenuItem의 알레르기 유발원입니다. 예: |
|
additive |
List<Additive > |
이 메뉴 항목의 첨가 항목입니다. 예: |
|
depositInfo |
DepositInfo |
이 메뉴 항목의 포장 및 재활용 정보입니다. 예: |
|
numberOfServings |
정수 |
지정된 메뉴 항목 옵션에서 사용할 수 있는 인분 수입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
MenuItemOption 항목 피드의 마지막 수정 날짜 및 시간입니다. ISO 타임스탬프 형식이지만 유형은 문자열입니다. 예: |
다음 예는 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 |
Const | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴 항목의 고유 식별자입니다. 예: |
|
sku |
String | 필수 항목입니다. 메뉴 상품 혜택의 식별자입니다. SKU 값은 여러 메뉴 항목 제품 항목 항목에서 다를 수도 있고 동일할 수도 있습니다. sku 값은 Google에서 API를 호출할 때 순서대로 설정됩니다. 예: |
|
price |
숫자 | 필수 항목입니다. 메뉴 항목 제공 항목의 가격입니다. 예: |
|
priceCurrency |
String | 필수 항목입니다. 3글자 ISO 4217 통화 코드입니다. 예: |
|
availabilityId |
List<String> |
Availability 항목의 @id 값으로, 메뉴 항목 혜택을 언제 사용할 수 있는지에 대한 세부정보를 제공합니다. 예: |
|
eligibleQuantityMin |
숫자 |
예: |
|
eligibleQuantityMax |
숫자 |
예: |
|
inventoryLevel |
숫자 |
이 MenuItemOffer에 해당하는 상품의 현재 대략적인 인벤토리 수준입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식의 예: |
|
applicableServiceType |
List<ServiceType > |
이 |
|
offeredById |
List<String> |
이 예: |
|
다음 속성 그룹 중 정확히 하나가 필요합니다. | |||
menuItemId |
그룹 1 | String |
이 예: |
menuItemOptionId |
그룹 2 | String |
이 예: |
다음 예는 MenuItemOffer
요소를 보여줍니다.
예
{ "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "896532", "price": 15.5, "priceCurrency": "USD", "applicableServiceType": [ "DELIVERY" ], "offeredById": [ "bagel_shop_location_5" ] }
일반
ReverseReference
다음 표에는 ReverseReference
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@id |
String | 필수 항목입니다. 상위 항목의 @id입니다. |
|
displayOrder |
정수 | 필수 항목입니다. 상위 항목 내 항목의 순서를 표시합니다. |
NutritionInformation
다음 표에는 NutritionInformation
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
description |
String |
일반 텍스트로 된 영양 정보입니다. 예를 들어 '방부제가 함유되어 있습니다'. |
|
calories |
String |
칼로리, kcal 또는 kJ의 칼로리로서 값 Cal 또는 최소-최대 칼로리 형식을 사용합니다. 예: |
|
sodiumContent |
String |
나트륨의 mg 또는 g(값 g 또는 최소-최대 g 형식) 예: |
다음 예는 NutritionInformation
요소를 보여줍니다.
예
{ "calories": "120-150 Cal", "sodiumContent": "100 mg" }
알레르기 유발원
다음 표에는 Allergen
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
allergenType |
AllergenType |
필수 항목입니다. 알레르기 유발 물질의 유형입니다. |
|
levelOfContainment |
ContainmentLevel |
메뉴 항목의 특정 알레르기 유발 항원 수준입니다. |
다음 예는 Allergen
요소를 보여줍니다.
예
{ "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }
소조
다음 표에는 Additive
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
additiveName |
String | 필수 항목입니다. 첨가제의 이름입니다. |
|
levelOfContainment |
ContainmentLevel |
메뉴 항목에 있는 특정 가수의 수준입니다. |
다음 예는 Additive
요소를 보여줍니다.
예
{ "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }
DepositInfo
다음 표에는 DepositInfo
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
depositCode |
DepositCode |
입금 코드 |
|
depositValue |
숫자 |
재활용 시 상품의 보증금 금액입니다. |
|
depositValueCurrency |
String |
입금액의 통화 |
다음 예는 DepositInfo
요소를 보여줍니다.
예
{ "depositCode": "RECYCLABLE", "depositValue": 0.05, "depositValueCurrency": "USD" }
ServingConfig
다양한 기능을 제어하는 데 사용되는 서비스의 서빙 구성입니다(예: 프로모션 위젯 사용 중지).
다음 표에는 ServingConfig
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
disableOrderInstructions |
Boolean |
주문 안내를 지정하는 기능을 숨깁니다. |
|
disableMenuItemSpecialInstructions |
Boolean |
메뉴 항목에 특수 안내를 지정하는 기능을 숨깁니다. |
|
disableTipWidget |
Boolean |
주문 흐름의 '주문하기' 페이지에서 팁 위젯을 숨깁니다. |
|
disablePromoWidget |
Boolean |
주문 흐름의 '주문하기' 페이지에서 프로모션 위젯을 숨깁니다. |
|
menuItemSpecialInstructionsMaxLength |
숫자 |
메뉴 항목 특수 안내에 포함할 수 있는 최대 문자 수를 지정합니다. |
|
orderInstructionsMaxLength |
숫자 |
주문 안내에 포함할 수 있는 최대 문자 수를 지정합니다. |
다음 예는 ServingConfig
요소를 보여줍니다.
예 1
{ "disableMenuItemSpecialInstructions": true }
예 2
{ "disableTipWidget": true, "disablePromoWidget": true }
예시 3
{ "menuItemSpecialInstructionsMaxLength": 250, "orderInstructionsMaxLength": 1000 }
열거형
DayOfWeek
DayOfWeek
유형은 다음과 같은 값을 가질 수 있습니다.
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
ServiceType
ServiceType
유형은 다음과 같은 값을 가질 수 있습니다.
DELIVERY
TAKEOUT
OrderType
OrderType
유형은 다음과 같은 값을 가질 수 있습니다.
ASAP
ADVANCE
FeeType
FeeType
유형은 다음과 같은 값을 가질 수 있습니다.
DELIVERY
SERVICE
OptionType
OptionType
유형은 다음과 같은 값을 가질 수 있습니다.
SIZE
OPTION
PIZZA_SIDE
PizzaSide
PizzaSide
유형에 사용 가능한 값은 다음과 같습니다.
PIZZA_SIDE_LEFT
PIZZA_SIDE_RIGHT
PIZZA_SIDE_WHOLE
AllergenType
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
ContainmentLevel
ContainmentLevel
유형은 다음과 같은 값을 가질 수 있습니다.
CONTAINS
FREE_FROM
MAY_CONTAIN
DepositCode
DepositCode
유형은 다음과 같은 값을 가질 수 있습니다.
REUSABLE
RECYCLABLE
DealType
할인을 적용할 특가 상품의 카테고리입니다. 카테고리는 전체 장바구니 총액 또는 배송료가 될 수 있습니다.
DealType
유형은 다음과 같은 값을 가질 수 있습니다.
CART_OFF
DELIVERY_OFF
RestrictedDiet
schema.org:RestrictedDiet에 따른 제한된 식단 유형입니다.
RestrictedDiet
유형은 다음과 같은 값을 가질 수 있습니다.
DIABETIC
GLUTEN_FREE
HALAL
HINDU
KOSHER
LOW_CALORIE
LOW_FAT
LOW_LACTOSE
LOW_SALT
VEGAN
VEGETARIAN