일반 요구사항
항목은 피드의 항목당 한 줄로 구성되어야 합니다 (항목은 줄바꿈 문자로 구분됨). 가독성을 위해 이 페이지의 JSON 예시는 이러한 구조를 따르지 않습니다. 그러나 피드를 전송할 때는 이 구조를 따라야 합니다. 예를 들어 메뉴 항목은 다음 코드와 같이 구조화되어야 합니다.
{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}
각 `Restaurant` 항목에는 두 개의 서비스 항목이 있을 수 있습니다('DELIVERY' 및 'TAKEOUT' 서비스 유형에 각각 하나씩). 각 `Service` 항목에는 하나의 `Menu` 항목만 있을 수 있습니다.
모든 하위 항목은 여러 레스토랑에서 재사용할 수 있습니다.
JSON 값 가이드라인
유형 강제 변환
JSON 값 유형은 값을 필수 유형으로 강제 변환할 수 있는 경우 스키마에 정의된 유형과 다를 수 있습니다. 예를 들어 문자열 속성은 문자열과 정수 값을 모두 입력으로 사용할 수 있습니다. 마찬가지로 정수 속성은 문자열을 유효한 정수로 파싱할 수 있는 한 문자열 값을 허용할 수 있습니다.
유형 강제는 반복되는 속성에도 사용할 수 있습니다. 반복되는 속성은 대괄호 []
로 묶지 않고 값을 입력으로 허용할 수 있습니다. 예를 들어 OperationHours.serviceId
속성은 "service_id"
및 ["service_id"]
를 모두 유효한 입력으로 허용합니다.
DateTime 및 Time 값
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은 다음 구문을 사용합니다.
// Time format: THH:MM:SS
예를 들면 다음과 같습니다.
T08:08:00 // 8:08 AM
DateTime
또는 Time
를 지정할 때마다 다음 사항에 유의하세요.
- 시간 앞의 'T' 접두사는 형식에 포함되므로 필수입니다.
DATETIME
에 시간대를 지정해야 합니다.TIME
에는 필요하지 않습니다.- 시간은 식당 또는 서비스의 현지 시간으로 지정해야 합니다.
식당 데이터
음식점 (필수 항목)
구현해야 하는 필수 항목입니다. 음식점에 대해 설명합니다.
다음 표에는 Restaurant
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 식당 또는 배달 업체의 고유 식별자입니다. 예: |
|
name |
String | 필수 항목입니다. 식당 이름입니다. 예: |
|
description |
String |
식당에 대한 설명입니다. 예: |
|
url |
URL |
레스토랑을 나타내는 URL입니다. 애그리게이터 도메인보다 식당 도메인을 선호합니다. 예: |
|
sameAs |
URL |
식당의 공식 웹사이트입니다. 예: |
|
telephone |
String |
식당의 전화번호입니다. 예: |
|
streetAddress |
String | 필수 항목입니다. 식당의 상세 주소입니다. 예: |
|
addressLocality |
String | 필수 항목입니다. 지역 또는 도시입니다. 예: |
|
addressRegion |
String | 필수 항목입니다. 지역 또는 주입니다. 예: |
|
postalCode |
String | 필수 항목입니다. 우편번호입니다. 예: |
|
addressCountry |
String | 필수 항목입니다. 두 글자로 된 ISO 3166-1 alpha-2 국가 코드입니다. 예: |
|
latitude |
Number |
위도입니다. 값은 [[-90, 90]] 범위로 제한됩니다. 최소한 소수점 이하 5자리까지 정확해야 합니다. 예: |
|
longitude |
Number |
경도입니다. 값은 [[-180, 180]] 범위로 제한됩니다. 최소한 소수점 이하 5자리까지 정확해야 합니다. 예: |
|
dealId |
List<String> |
식당의 적용 가능한 |
|
imprint |
String |
식당 임프린트는 법적 이름, 법적 주소, 등록 번호 등 레스토랑에 대한 추가 정보를 표시하는 섹션입니다. 이 정보는 ' '를 사용하여 형식을 지정할 수 있습니다. 예: |
|
economicOperator |
String |
레스토랑과 관련된 경제 사업자 정보입니다(해당하는 경우). 이 정보는 Trader Info(판매자 정보) 섹션에 표시됩니다. ' ' 기호를 사용하여 텍스트의 형식을 지정할 수 있습니다. 예: |
|
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 |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 거래의 고유 식별자입니다. 예: |
|
dealCode |
String | 필수 항목입니다. 파트너별 거래당 고유한 거래 ID입니다. 이 ID는 프로모션 시스템에서 특가를 고유하게 식별해야 합니다. Google은 유효성 검사를 위해 예: |
|
applicableServiceType |
목록<ServiceType > |
이 거래가 적용되는 서비스입니다. 기본값은 모든 사용자에게 적용되는 거래를 가정합니다. |
|
eligibleMaxOrders |
정수 |
이 특가는 사용자의 이전 주문 수가 이 금액보다 적거나 같을 때만 적용됩니다. |
|
availabilityId |
List<String> |
메뉴 섹션을 사용할 수 있는 경우에 대한 세부정보를 제공하는 이용 가능 여부 항목의 @id 값입니다. 예: |
|
isDisabled |
Boolean |
이는 다른 유효성 검사보다 우선합니다. |
|
dealType |
DealType |
필수 항목입니다. 할인을 적용할 거래 카테고리입니다. 카테고리는 전체 장바구니 금액, 서비스 수수료, 배송료일 수 있습니다. |
|
priceCurrency |
String |
할인 통화 (3자리 ISO 4217 형식)입니다. 예: |
|
eligibleTransactionVolumeMin |
Number |
이 프로모션이 유효한 통화 단위의 거래량입니다. |
|
termsOfServiceUrl |
URL | 필수 항목입니다. 사람이 읽을 수 있는 서비스 약관 문서입니다. |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식이지만 문자열 유형의 거래 항목 피드의 마지막으로 수정된 날짜와 시간입니다. 예: |
|
다음 속성 그룹 중 하나만 필요합니다. | |||
discount |
그룹 1 | Number |
숫자로 표시한 할인 값입니다. |
discountPercentage |
그룹 2 | Number |
원래 가격의 백분율로 표시되는 할인 금액입니다. |
다음 예는 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 |
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 |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 서비스 지역의 고유 식별자입니다. 예: |
|
serviceId |
List<String> | 필수 항목입니다. 이 ServiceArea 항목과 연결된 서비스 항목의 @id 값입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ServiceArea 항목 피드의 최종 수정 날짜 및 시간(ISO 타임스탬프 형식이지만 문자열 유형임)입니다. 예: |
|
exclude |
Boolean |
총 배송 지역에서 이 서비스 지역을 제외합니다. 예를 들어 더 큰 다각형 영역에서 우편번호를 제외할 수 있습니다. |
|
다음 속성 그룹 중 하나만 필요합니다. | |||
polygon |
그룹 1 | List<String> |
3개 이상의 공백으로 구분된 일련의 점으로 표현된 다각형 또는 다중 다각형입니다. 첫 번째와 마지막 점이 같은 것이 좋지만 필수사항은 아닙니다. 다각형 또는 다중 다각형의 각 지점은 위도 지점과 경도 지점으로 정의됩니다. 또한 시계 반대 방향으로 지점을 지정해야 합니다. 예: |
geoMidpointLatitude |
그룹 2 | Number |
CIRCLE 영역 중심에 있는 위도 좌표를 나타냅니다. 예: |
geoMidpointLongitude |
그룹 2 | Number |
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
opens
및 closes
속성은 사용자가 주문할 수 있는 온라인 시스템의 영업 시작 및 종료 시간을 지정합니다. 이러한 온라인 시스템 시간 내에서 ServiceHours
를 사용하여 사용자의 주문을 처리할 수 있는 영업시간을 지정합니다.
시간은 서비스의 현지 시간으로 지정해야 합니다. opens
값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 이 정보를 무시합니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.
다음 표에는 OperationHours
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 사용자가 흐름에 액세스하고 최대한 빨리/향후 주문을 할 수 있는 주문 기간을 설명하는 항목의 고유 식별자입니다. 예: |
|
serviceId |
List<String> | 필수 항목입니다. 이 OperationHours 항목과 연결된 서비스 항목의 @id 값입니다. 예: |
|
opens |
ISO 시간 (현지) |
사용자의 주문을 시작할 수 있는 ISO 형식의 특정 시간을 나타냅니다. 예: |
|
closes |
ISO 시간 (현지) |
사용자의 주문을 받을 수 없는 ISO 형식의 특정 시간을 나타냅니다. 예: |
|
dayOfWeek |
목록<DayOfWeek > |
이 영업시간이 유효한 요일 목록입니다. 허용되는 값은 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'입니다. 예: |
|
validFrom |
ISO 타임스탬프 |
사용자가 흐름에 액세스하고 최대한 빨리/향후 주문을 할 수 있는 주문 기간의 시작 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
validThrough |
ISO 타임스탬프 |
사용자가 구매 절차에 액세스하여 최대한 빨리/향후 주문을 할 수 없는 주문 기간의 종료 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
isSpecialHour |
Boolean |
OperationHours가 특별 영업시간인지 여부를 나타내는 부울입니다. 사용 가능한 값은 'false' 및 'true'입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식이지만 유형이 문자열인 OperationHours 항목 피드의 최종 수정 날짜 및 시간입니다. 예: |
다음 예는 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은 이 정보를 무시합니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.
다음 표에는 ServiceHours
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 사용자가 처리 슬롯(예: 최대한 빨리 또는 향후 슬롯)을 선택할 수 있는 처리 기간을 설명하는 항목의 고유 식별자입니다. 예: |
|
orderType |
OrderType |
필수 항목입니다. 서비스 시간이 ASAP(ASAP) 또는 고급(Advanced Order)에 적용되는지 여부를 나타내는 문자열입니다. 사용 가능한 값은 'ASAP' 및 'ADVANCE'입니다. 예: |
|
serviceId |
List<String> | 필수 항목입니다. 이 ServiceHours 항목과 연결된 서비스 항목의 @id 값입니다. 예: |
|
operationHoursId |
List<String> |
이 ServiceHours 항목과 연결된 OperationHours 항목의 @id 값입니다. 예: |
|
opens |
ISO 시간 (현지) |
사용자의 주문을 처리할 수 있는 ISO 형식의 특정 시간을 나타냅니다. 예: |
|
closes |
ISO 시간 (현지) |
사용자의 주문을 처리할 수 없는 ISO 형식의 특정 시간을 나타냅니다. 예: |
|
dayOfWeek |
목록<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시이고 AdvancedBookingSlotInterval이 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 |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 수수료를 설명하는 항목의 고유 식별자입니다. 예: |
|
serviceId |
List<String> | 필수 항목입니다. 이 수수료 항목과 연결된 서비스 항목의 @id 값입니다. 예: |
|
feeType |
FeeType |
필수 항목입니다. 해당 수수료가 배송 또는 서비스 주문에 적용되는지 여부를 나타내는 문자열입니다. 사용 가능한 값은 'DELIVERY' 및 'SERVICE'입니다. 예: |
|
priceCurrency |
String | 필수 항목입니다. 3글자 ISO 4217 통화 코드입니다. 예: |
|
basePrice |
Number |
예: |
|
minPrice |
Number |
최소 수수료이며 예: |
|
maxPrice |
Number |
예: |
|
eligibleRegion |
List<String> |
수수료가 유효한 지정학적 지역의 ServiceArea의 @id입니다. 이 숙박 시설은 지역별로 배송료가 다른 경우에만 사용하세요. 예: |
|
eligibleTransactionVolumeMin |
Number |
이 수수료 사양이 유효한 통화 단위의 최소 거래량입니다. 예: |
|
eligibleTransactionVolumeMax |
Number |
이 수수료 사양이 유효한 통화 단위의 최대 거래량입니다. 예를 들어 특정 주문량을 초과하면 수수료가 적용되지 않습니다. 예: |
|
validFrom |
ISO 타임스탬프 |
수수료가 유효한 시작 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
validThrough |
ISO 타임스탬프 |
수수료가 유효하지 않은 종료 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식이지만 문자열 유형이 있는 수수료 항목 피드의 최종 수정 날짜 및 시간입니다. 예: |
|
priority |
Number |
0이 아닌 양의 값입니다. 사용자의 장바구니에 적용되는 수수료가 1개를 초과하는 경우 우선순위가 가장 높은 수수료가 낮은 수수료보다 우선합니다. 이 필드가 제공되면 우선순위가 계산된 우선순위보다 항상 우선합니다. 예: |
|
다음 속성 그룹 중 하나만 필요합니다. | |||
price |
그룹 1 | Number |
수수료의 가격입니다. 가격이 고정되어 있지 않으면 가격 대신 minPrice 및 maxPrice를 제공할 수 있습니다. 예: |
percentageOfCart |
그룹 2 | Number |
장바구니 금액 대비 수수료(%)입니다. 허용되는 값은 0 이상 100 이하의 부동 소수점 값입니다. 예: |
pricePerMeter |
그룹 3 | Number |
사용자와의 반경 거리에 대한 미터당 요금입니다. 예를 들어 사용자와의 거리가 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 |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴의 고유 식별자입니다. 예: |
|
name |
String |
사용자가 메뉴를 탐색할 때 메뉴를 식별할 수 있는 텍스트입니다. 예: |
|
disclaimer |
String |
메뉴 면책조항. 예: 영양 정보 공개, 알레르기 유발 물질 공개 예: |
|
disclaimerUrl |
URL |
면책 조항에 대한 세부정보를 제공하는 페이지로 연결되는 URL입니다. |
|
dateModified |
ISO 타임스탬프 |
메뉴 항목 피드의 마지막으로 수정된 날짜 및 시간(ISO 타임스탬프 형식이지만 문자열 유형은 있음)입니다. 예: |
다음 예는 Menu
요소를 보여줍니다.
예
{ "@type": "Menu", "@id": "10824" }
MenuSection
구현할 선택적 항목입니다. 메뉴의 특정 섹션을 설명합니다.
다음 표에는 MenuSection
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴 섹션의 고유 식별자입니다. 예: |
|
menuId |
목록<ReverseReference > |
이 예: |
|
menuSectionId |
List<String> |
이 중요: 예: |
|
parentMenuSectionId |
목록<ReverseReference > |
이 중요: 예: |
|
name |
String | 필수 항목입니다. 사용자가 메뉴를 탐색할 때 예: |
|
description |
String |
메뉴 섹션에 관한 설명입니다. 예: |
|
image |
URL |
메뉴 섹션 이미지의 URL입니다. 예: |
|
menuItemId |
List<String> |
이 중요: 예: |
|
parentMenuItemId |
목록<ReverseReference > |
이 중요: 예: |
|
parentMenuItemOptionId |
목록<ReverseReference > |
이 중요: 예: |
|
eligibleQuantityMax |
정수 |
부가기능 섹션에서 선택할 수 있는 최대 부가기능 수입니다. 예: |
|
eligibleQuantityMin |
정수 |
부가기능 섹션에서 선택해야 하는 최소 부가기능 수입니다. 예: |
|
defaultItemId |
List<String> |
부가기능 예: |
|
availabilityId |
List<String> |
메뉴 섹션을 사용할 수 있는 경우에 대한 세부정보를 제공하는 이용 가능 여부 항목의 @id 값입니다. 예: |
|
numberOfFreeAddOns |
정수 |
사용자가 무료로 선택할 수 있는 부가기능 수를 나타냅니다. 부가기능 메뉴 섹션에서만 유효합니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식이지만 문자열 유형이 있는 예: |
|
applicableServiceType |
목록<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 |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴 섹션 이용 가능 여부를 설명하는 항목의 고유 식별자입니다. 예: |
|
availabilityStarts |
ISO 시간 (현지) |
메뉴 섹션의 이용 가능 여부가 유효한 시작 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
availabilityEnds |
ISO 시간 (현지) |
메뉴 섹션 이용 가능 여부가 무효화되는 종료 시간을 나타내는 ISO 타임스탬프입니다. 예: |
|
availableDay |
목록<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 |
대비 | 필수 항목입니다. 값: |
|
@id |
String | 필수 항목입니다. 메뉴 항목의 고유 식별자입니다. 예: |
|
name |
String | 필수 항목입니다. 사용자가 메뉴를 탐색할 때 예: |
|
description |
String |
메뉴 항목에 대한 설명입니다. 예: |
|
image |
URL |
메뉴 항목 이미지의 URL입니다. 예: |
|
parentMenuSectionId |
목록<ReverseReference > |
이 중요: 예: |
|
menuAddOnId |
List<String> |
이 중요: 예: |
|
nutrition |
NutritionInformation |
요리의 영양 정보, 특히 칼로리입니다. 예: |
|
allergen |
목록<Allergen > |
이 MenuItem의 알레르기 유발 물질입니다. 예: |
|
additive |
목록<Additive > |
이 MenuItem의 추가입니다. 예: |
|
suitableDiet |
목록<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
구현할 선택적 항목입니다. 사용자가 요리/콤보를 선택할 때 선택해야 하는 사항을 설명합니다. 사용자가 옵션을 선택해야 하며, 그러지 않으면 주문이 유효하지 않은 것으로 간주됩니다 (예: 사용자가 피자의 경우 S, M 또는 L 사이즈를 선택해야 함).
다음 표에는 MenuItemOption
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
@type |
대비 |
값: |
|
@id |
String | 필수 항목입니다. 메뉴 항목 옵션의 고유 식별자입니다. 예: |
|
menuItemId |
ReverseReference |
필수 항목입니다. 이 예: |
|
optionType |
OptionType |
메뉴 항목 옵션이 크기, 옵션 또는 피자 쪽으로 분류되는지 여부를 나타내는 문자열입니다. 사용 가능한 값은 'SIZE', 'OPTION', 'PIZZA_SIDE'입니다. 'SIZE': MenuItemOption의 크기입니다. 예: 작음, 보통, 큼 '옵션': 크기가 아닌 다른 옵션 (예: 샐러드 또는 샌드위치와 함께 제공되는 요리)입니다. 'SIZE'와 'OPTION'을 구별할 수 없는 경우 'OPTION'을 사용합니다. 'PIZZA_SIDE': 피자에만 적용됩니다. 예를 들어 이 예: |
|
value |
문자열 또는
PizzaSide |
문자열 값 또는 enum 값입니다. enum 값은 PIZZA_SIDE 옵션 유형에 따라 다릅니다. |
|
applicableParentOptionValue |
String |
이 옵션을 사용할 수 있는 상위 항목의 옵션 값 값이 포함된 문자열입니다. 예: |
|
menuAddOnId |
List<String> |
이 중요: 예: |
|
nutrition |
NutritionInformation |
요리의 영양 정보, 특히 칼로리입니다. 예: |
|
allergen |
목록<Allergen > |
이 MenuItem의 알레르기 유발 물질입니다. 예: |
|
additive |
목록<Additive > |
이 MenuItem의 추가입니다. 예: |
|
depositInfo |
DepositInfo |
이 MenuItem의 포장 및 재활용 정보입니다. 예: |
|
numberOfServings |
정수 |
특정 메뉴 항목 옵션에서 사용할 수 있는 분량입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식이지만 String 유형이 있는 MenuItemOption 항목 피드의 마지막으로 수정된 날짜와 시간입니다. 예: |
다음 예는 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 |
String | 필수 항목입니다. 메뉴 항목 상품의 고유 식별자입니다. 예: |
|
sku |
String | 필수 항목입니다. 메뉴 항목 식별자. SKU 값은 여러 메뉴 항목 제품 항목에서 다르거나 같을 수 있습니다. SKU 값은 Google에서 API를 호출할 때 순서대로 설정됩니다. 예: |
|
price |
Number | 필수 항목입니다. 메뉴 항목의 가격입니다. 예: |
|
priceCurrency |
String | 필수 항목입니다. 3글자 ISO 4217 통화 코드입니다. 예: |
|
availabilityId |
List<String> |
메뉴 항목 혜택을 이용할 수 있는 시기에 대한 세부정보를 제공하는 이용 가능 여부 항목의 @id 값입니다. 예: |
|
eligibleQuantityMin |
Number |
예: |
|
eligibleQuantityMax |
Number |
예: |
|
inventoryLevel |
Number |
이 MenuItemOffer에 해당하는 항목의 현재 대략적인 인벤토리 수준입니다. 예: |
|
dateModified |
ISO 타임스탬프 |
ISO 타임스탬프 형식이지만 문자열 유형이 있는 예: |
|
applicableServiceType |
목록<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 |
Cal 또는 최소-최대 Cal 형식의 칼로리(칼로리, kcal 또는 kJ) 예: |
|
sodiumContent |
String |
값 g 또는 최소-최대 g 형식을 사용하는 나트륨 mg 또는 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 |
Number |
제품 보증금의 숫자입니다(예: 재활용할 경우). |
|
depositValueCurrency |
String |
입금 금액의 통화 |
다음 예는 DepositInfo
요소를 보여줍니다.
예
{ "depositCode": "RECYCLABLE", "depositValue": 0.05, "depositValueCurrency": "USD" }
ServingConfig
다양한 기능을 제어하는 데 사용되는 서비스의 서빙 구성입니다(예: 프로모션 위젯 사용 중지 등).
다음 표에는 ServingConfig
유형의 속성이 나와 있습니다.
속성 | 유형 | 설명 | |
---|---|---|---|
disableOrderInstructions |
Boolean |
주문 지침을 지정하는 기능을 숨깁니다. |
|
disableMenuItemSpecialInstructions |
Boolean |
메뉴 항목에 특별 안내를 지정하는 기능을 숨깁니다. |
|
disableTipWidget |
Boolean |
주문 흐름의 '주문하기' 페이지에서 팁 위젯을 숨깁니다. |
|
disablePromoWidget |
Boolean |
주문 흐름의 '주문하기' 페이지에서 프로모션 위젯을 숨깁니다. |
|
menuItemSpecialInstructionsMaxLength |
Number |
메뉴 항목 특별 지침에 포함할 수 있는 최대 문자 수를 지정합니다. |
|
orderInstructionsMaxLength |
Number |
주문 명령에 포함할 수 있는 최대 문자 수를 지정합니다. |
다음 예는 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