v1 인벤토리 스키마

음식 카탈로그 피드는 schema.org DataFeed 항목을 기반으로 합니다. 음식 카탈로그 피드는 식당 주소, 메뉴, 위치와 같은 레스토랑 지역 세부정보와 배달 비용, 배달 지역, 아래에 지정된 기타 항목과 같은 식당 서비스 세부정보로 구성됩니다.

DataFeed에는 요소 모음이 포함되며, 각 요소는 schema.org 용어로 표현된 단일 항목을 나타냅니다. DataFeed 유형을 사용하여 모든 구조화된 데이터를 JSON-LD 형식으로 게시할 수 있습니다.

이 사양을 사용하여 피드를 만드는 방법에 관한 자세한 내용은 인벤토리 통합 개요를 참고하세요.

날짜 및 시간 형식

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에는 필요하지 않습니다.
  • 시간은 식당 또는 서비스의 현지 시간으로 지정해야 합니다.

봉투

식품 카탈로그 피드의 시작 코드에는 '봉투' 섹션이 있어야 합니다.

'봉투'는 각 피드의 최상위 구조이며 다음 속성이 포함된 DataFeed이어야 합니다.

속성 유형 필요성 설명
@context URL 필수 사용 중인 컨텍스트(일반적으로 'http://schema.googleapis.com')
@type 텍스트 필수 항상 'DataFeed'입니다.
dateModified DateTime 필수

데이터 피드의 마지막으로 수정된 DateTime입니다(ISO 8601 형식).

이 피드의 상품이 수정된 ISO_OFFSET_DATE_TIME 형식의 날짜 및 시간입니다. 이 필드가 없으면 업데이트 시간이 Google 서버에서 푸시 메시지가 수신되거나 크롤링이 발생하는 시간으로 간주됩니다.

푸시와 크롤링을 함께 사용하는 경우 이를 구현하는 것이 좋습니다. 이 타임스탬프는 시간대와 밀리초 단위로 지정해야 합니다(예: '2016-12-28T06:30:00:123-07:00').

일괄 피드에서 항목 버전 관리는 피드 봉투의 dateModified 필드를 통해 결정됩니다.

dataFeedElement Menu, Restaurant 또는 Service의 배열 필수 이 피드에 포함된 하나 이상의 항목입니다. 자세한 내용은 아래를 참조하세요.

다음 예는 봉투를 보여줍니다.

{
  "@context": "http://schema.googleapis.com",
  "dateModified": "2016-12-28T06:30:00:123-07:00",
  "@type": "DataFeed",
  "dataFeedElement": [
    /* All items that are part of this feed go here */
  ]
}

AdditiveDetails

이 유형을 사용하려면 gs1 컨텍스트를 추가합니다. "@context": ["http://gs1.org/voc/", "http://schema.org"]

그런 다음 FoodBeverageTobaccoProduct를 적절한 MenuItem 또는 MenuItemOption 유형에 추가합니다.

다음 표에서는 AdditiveDetails 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'AdditiveDetails'입니다.
additiveName 텍스트 선택사항 첨가제의 이름입니다.
additiveLevelOfContainment 텍스트 선택사항 gs1:LevelOfContainmentCode에 따른 격리 코드. 예를 들면 http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM 또는 http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN입니다.

다음 예는 AdditiveDetails 유형의 사용법을 보여줍니다.

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/8",
  "name": "Energy Drink",
  "description": "A 0.25l can of energy drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-energy-drink",
    "price": "3.49",
    "priceCurrency": "USD"
  },
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AdditiveDetails",
      "additiveName": "phosphate",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

AddOnMenuItem

MenuItem의 부가기능 메뉴 항목에 나열된 식음료 항목

다음 표에는 AddOnMenuItem 유형의 속성이 나와 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'AddOnMenuItem'입니다.
@id URL 필수 부가기능 메뉴 항목의 고유 식별자입니다.
name 텍스트 필수 사용자가 메뉴를 탐색할 때 AddOnMenuItem을 식별하는 텍스트입니다.
description 텍스트 선택사항 부가기능 메뉴 항목의 설명입니다.
image URL 선택사항

다음 가이드라인에 맞는 부가기능 메뉴 항목 이미지

  • 가로세로 비율 3:2
  • >
  • 최소 해상도 600x400픽셀, 72dpi
  • >
  • 권장 해상도 1400x960픽셀, 72dpi
offers Offer의 배열 필수*

이 AddOnMenuItem을 제공할 하나 이상의 혜택입니다.

이 AddOnMenuItem을 구매할 수 있는 시기와 가격을 설명합니다. 특정 시점에 하나의 혜택만 유효해야 합니다. 가격 또는 재고가 시간에 따라 변경될 수 있다면 유효한 혜택이 여러 개 있을 수 있습니다. 부가기능이나 항목이 기본 속성 또는 부가기능 항목 자체의 변형을 통해 다른 경우 (예: 부가기능으로 소량, 중형, 대형 감자튀김) hasMenuItemOption 속성을 사용합니다.

Offer.eligibleQuantity의 기본값은 최소 0, 최대 1입니다.

다음 Offer 속성은 AddOnMenuItem에서 사용됩니다.

  • Offer.sku 필요
  • Offer.price 필요
  • Offer.priceCurrency 필요
  • Offer.availabilityStarts 선택사항
  • Offer.availabilityEnds 선택사항
  • Offer.availableDay 선택사항
  • Offer.validFrom 선택사항
  • Offer.validThrough 선택사항
  • Offer.eligibleQuantity 선택사항
  • Offer.inventoryLevel 선택사항
hasMenuItemOptions MenuItemOption의 배열 필수*

이 부가기능 메뉴 항목의 부가기능 항목 자체 (예: 부가기능인 소형, 중형, 대형 감자튀김)의 변형을 설명하는 기본 속성의 배열입니다. 옵션을 사용하여 이 부가기능 메뉴 항목에 사용할 수 있는 다양한 변형을 지정합니다. 여기에는 두 가지 상황이 있습니다.

  • 기본 변형은 부가기능 항목 자체 (예: 부가기능으로 소량, 중형, 대형 감자튀김)입니다.
  • 이 부가기능과 관련된 메뉴 항목의 기본 변형 (예: 커다란 피자의 부가기능으로 여분의 치즈)
suitableForDiet RestrictedDiet의 배열 선택사항 요리가 설명된 식단 제한 (예: 'GlutenFreeDiet' 또는 'VeganDiet')을 준수합니다. 가능한 값의 열거형 목록입니다.
nutrition NutritionInformation 선택사항 요리의 영양 정보, 특히 칼로리입니다.
menuAddOn AddOnMenuSection의 배열 선택사항 AddOnMenuItem에는 부가기능으로 추가할 수 있는 허용된 항목으로 구성된 메뉴 섹션이 있을 수 있습니다.

다음 예는 AddOnMenuItem를 보여줍니다.

예시 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

예 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small-pepperoni-pizza",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large-pepperoni-pizza",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ],
  "menuAddOn": [
    {
      "@type": "AddOnMenuSection",
      "name": "Choice of toppings",
      "@id": "https://www.example.com/1089/addon/1",
      "hasMenuItem": [
        {
          "@type": "AddOnMenuItem",
          "@id": "https://www.example.com/1089/addon/1/a",
          "name": "Shrimp",
          "hasMenuItemOptions": [
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],
              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-small",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-left-large",
                "price": "2.00",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Small" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-small",
                "price": "1.50",
                "priceCurrency": "USD"
              }
            },
            {
              "@type": "MenuItemOption",
              "value": [
                {
                  "@type": "PropertyValue",
                  "name": "PIZZA_SIDE",
                  "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side.
                },
                {
                  "@type": "PropertyValue",
                  "name": "APPLICABLE_ITEM_OPTION",
                  "value": "Large" // Value should be same as mentioned in item's options.
                }
              ],

              "offers": {
                "@type": "Offer",
                "sku": "offer-topping-shrimp-whole-large",
                "price": "2.50",
                "priceCurrency": "USD"
              }
            }
          ]
        }
      ]
    }
  ]
}

AddOnMenuSection

메뉴 항목의 부가기능 메뉴 섹션으로 사용되는 식음료 항목의 하위 그룹입니다.

다음 표에는 AddOnMenuSection 유형의 속성이 나와 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'AddOnMenuSection'입니다.
@id URL 필수 메뉴 섹션의 고유 식별자입니다.
name 텍스트 필수 사용자가 메뉴를 탐색할 때 AddOnMenuSection을 식별할 수 있는 텍스트입니다.
description 텍스트 선택사항 메뉴 섹션에 대한 설명입니다.
eligibleQuantity QuantitativeValue 선택사항 이 메뉴 섹션에서 부가기능으로 허용되는 항목의 수를 나타냅니다. 이 필드를 사용하여 피자에서 선택할 수 있는 최소 및 최대 토핑 수와 같은 부가기능 수를 제한할 수 있습니다.
image URL 선택사항 메뉴 섹션 이미지
hasMenuItem AddOnMenuItem의 배열 필수* AddOnMenuSection에 포함된 부가기능 메뉴 항목.
offers Offer의 배열 선택사항

Offer.availabilityStartsOffer.availabilityEnds를 사용하여 이 AddOnMenuSection을 사용할 수 있는 기간을 표시합니다.

아래 목록은 AddOnMenuSection에서 사용되는 Offer 속성을 보여줍니다.

  • Offer.availabilityStarts 선택사항
  • Offer.availabilityEnds 선택사항
  • Offer.availableDay 선택사항
  • Offer.validFrom 선택사항
  • Offer.validThrough 선택사항
hasMenuSection AddOnMenuSection의 배열 필수* 부가기능 메뉴의 논리적인 하위 그룹 (예: 저녁 식사, 애피타이저, 생선 요리)입니다.
defaultOption AddOnMenuItem의 배열 선택사항

AddOnMenuSection의 사용자에게 기본적으로 미리 선택되는 부가기능 메뉴 항목 사용자는 최종 선택을 변경할 수 있습니다. defaultOption을 지정하지 않으면 AddOnMenuItem이 미리 선택되지 않습니다.

AddOnMenuItem 객체는 AddOnMenuSectionhasMenuItem에 있어야 합니다.

defaultOption 수는 AddOnMenuSection의 최대 eligibleQuantity 이하여야 합니다.

numberOfFreeAddOns 숫자 선택사항 사용자가 무료로 선택할 수 있는 부가기능 수를 나타냅니다.

다음 예에는 AddOnMenuSection 객체가 포함됩니다.

예시 1

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

예시 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

예시 3

'치즈 샌드위치' 메뉴 항목에 기본적으로 '스위스'와 '모차렐라'가 사전 선택된 'Choice of Cheese' AddOnMenuSection가 있습니다.

{
  "@type": "AddOnMenuSection",
  "@id": "https://www.example.com/1089/addon/1",
  "name": "AddOnCheese",
  "defaultOption": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a"
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b"
    }
  ],
  "hasMenuItem": [
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/a",
      "name": "Swiss",
      "offers": {
        "@type": "Offer",
        "sku": "offer-swiss",
        "price": "2.99",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "AddOnMenuItem",
      "@id": "https://www.example.com/1089/addon/b",
      "name": "Mozzarella",
      "offers": {
        "@type": "Offer",
        "sku": "offer-mozzarella",
        "price": "1.99",
        "priceCurrency": "USD"
      }
    }
  ]
}

AdvanceServiceDeliveryHoursSpecification

사용자가 배달 및 테이크아웃을 위한 사전 주문을 예약할 수 있는 처리 시간을 나타냅니다.

일반적으로 opens 값은 closes 값보다 작습니다. 다음 가이드라인은 openscloses 속성 사용에 적용됩니다.

  • openscloses 속성은 AdvanceServiceDeliveryHoursSpecification의 선택사항이지만 포함하는 것이 좋습니다.
  • 시간은 서비스의 현지 시간으로 지정해야 합니다. opens 또는 closes 값에 시간대를 포함하지 마세요. 지정된 시간대는 무시됩니다.
  • openscloses를 명시적으로 지정하지 않으면 Google에서는 항상 사전 주문을 사용할 수 있다고 가정합니다.
  • openscloses가 같으면 사전 순서를 사용할 수 없다고 가정합니다.
  • openscloses보다 크면 종료 시간은 다음 날로 해석됩니다. 예를 들어 영업시간이 1월 1일 오후 5시로 설정되어 있고 영업 종료 시간이 오전 2시인 경우 레스토랑은 1월 2일 오전 2시 영업 종료로 해석됩니다.
  • openscloses는 미래 시간대를 나타냅니다. closes는 제외됩니다. 예를 들어 opens이 오전 10시이고 closes이 오후 4시이고 serviceTimeInterval이 15분이면 첫 번째 시간대는 오전 10시에 시작되고 마지막 시간대는 오후 3시 45분에 시작됩니다.

다음 표에서는 AdvanceServiceDeliveryHoursSpecification 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'AdvanceServiceDeliveryHoursSpecification'입니다.
validFrom DateTime 조건부

사용자의 사전 주문을 처리할 수 있는 시작일입니다. 예: '2017-05-01T00:00:00-07:00'

이 속성을 설정하지 않으면 매일 유효한 것으로 간주됩니다. validFrom 속성과 validThrough 속성이 없거나 함께 있어야 합니다.

Service 수준에서 이 유형이 specialOpeningHoursSpecification로 지정되면 AdvanceServiceDeliveryHoursSpecification의 이 validFrom 속성이 필요합니다.

자세한 내용은 날짜/시간 및 시간 형식을 참조하세요.

validThrough DateTime 선택사항

사용자의 사전 주문을 더 이상 처리할 수 없는 종료일입니다. 예: '2018-12-01T00:00:00-07:00'

이 속성을 설정하지 않으면 매일 유효한 것으로 간주됩니다. validFrom 속성과 validThrough 속성이 없거나 함께 있어야 합니다.

이 유형이 Service 수준에서 specialOpeningHoursSpecification로 지정되면 AdvanceServiceDeliveryHoursSpecificationvalidThrough 속성이 필요합니다.

validThrough의 시간은 배타적입니다. 예를 들어 시간이 오후 6시로 설정된 경우 오후 5시 59분 59초까지 유효합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

opens Time 선택사항

배달 또는 테이크아웃 슬롯에 적용됩니다.

사용자의 사전 주문을 처리할 수 있는 특정 시간입니다. 예를 들어 6:30 AM은 'T06:30:00'으로 주어집니다.

시간은 서비스를 위한 현지 시간으로 지정해야 합니다. opens 값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 이 정보를 무시합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

closes Time 선택사항

배달 또는 테이크아웃 슬롯에 적용됩니다.

사용자의 사전 주문을 처리할 수 없는 특정 시간입니다. 예를 들어 9:00 PM은 'T21:00:00'으로 지정됩니다. closes>는 배타적이므로 serviceTimeInterval 15분의 오후 9시로 설정하면 예약 가능한 마지막 시간대가 오후 8시 45분에 시작된다는 의미입니다.

시간은 서비스를 위한 현지 시간으로 지정해야 합니다. closes 값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 이 정보를 무시합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

dayOfWeek DayOfWeek의 배열 선택사항

사전 배송이 가능한 요일입니다. 유효한 값은 다음과 같습니다.

  • '월요일'
  • '화요일'
  • '수요일'
  • '목요일'
  • '금요일'
  • "토요일"
  • "일요일"

요일을 지정하지 않으면 AdvanceServiceDeliveryHoursSpecification이 모든 요일에 적용됩니다.

serviceTimeInterval Duration 필수

연속되는 두 서비스 시간 사이의 간격입니다.

예를 들어 openscloses이 오전 8시와 오후 8시이고 serviceTimeInterval가 15분인 경우 사용자는 오후 8시까지의 처리 시간을 오전 8시, 오전 8시 15분, 오전 8시 30분, 오전 8시 45분 등의 중에서 선택할 수 있습니다.

Duration은(는) ISO 8601 기간으로 지정해야 합니다. 예를 들어 "P15M"은 15분 간격을 의미합니다.

advanceBookingRequirement QuantitativeValue 필수

사전 주문을 처리할 수 있는 주문 시간으로부터 경과된 시간(분)입니다.

QuantitativeValueminmax 값은 분 단위로, unitCode는 'MIN'으로 설정되어야 합니다.

예를 들어 사전 주문이 처리되기까지 최소 60분이 필요하지만 처리까지 2일 넘게 걸리는 경우 min 값은 60, max 값은 2,880입니다.

다음 예는 AdvanceServiceDeliveryHoursSpecification 유형의 사용법을 보여줍니다.

예시 1

{
  "@type": "AdvanceServiceDeliveryHoursSpecification",
  "opens": "T10:00:00",  // Delivery between 10AM and 7:59:59PM
  "closes": "T20:00:00",
  "serviceTimeInterval": "PT15M", // in slots spaced 15 minutes apart (ISO8601)
  "advanceBookingRequirement": {
    "minValue": 60,   // The slot should be at least 60 mins away
    "maxValue": 8640, // but not more than 6 days away
    "unitCode": "MIN"
  }
}

AllergenDetails

이 유형을 사용하려면 gs1 컨텍스트를 추가합니다. "@context": ["http://gs1.org/voc/", "http://schema.org"]

그런 다음 FoodBeverageTobaccoProduct를 적절한 MenuItem 또는 MenuItemOption 유형에 추가합니다.

다음 표에서는 AllergenDetails 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'AllergenDetails'입니다.
allergenType 텍스트 선택사항 gs1:AllergenTypeCode 에 따른 알레르기 유발 물질 유형입니다. 예: http://gs1.org/voc/AllergenTypeCode-PEANUTS
allergenLevelOfContainmentCode 텍스트 선택사항 gs1:LevelOfContainmentCode에 따른 격리 코드. 예를 들면 http://gs1.org/voc/LevelOfContainmentCode-CONTAINS, http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM 또는 http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN입니다.

다음 예는 AllergenDetails 유형의 사용법을 보여줍니다.

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/6",
  "name": "Strawberry joghurt drink",
  "description": "A 0.5l bottle of strawberry joghurt drink.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-joghurt-drink",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-GLUTEN",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ]
},

DeliveryChargeSpecification

다음 표에서는 DeliveryChargeSpecification 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'DeliveryChargeSpecification'입니다.
@id URL 선택사항 배송 요금 사양의 식별자입니다.
price 숫자 필수 숫자값으로만 나타낸 총 배달 비용입니다. priceCurrency 속성을 사용하여 통화 기호 대신 통화 유형을 표시합니다. 예를 들어 '6.00'(통화 기호 제외)
priceCurrency 텍스트 필수 3글자 ISO 4217 통화 코드입니다. 예: 'USD'
eligibleTransactionVolume PriceSpecification 선택사항 이 배송비 사양이 유효한 통화 단위의 거래량입니다. 예를 들어 최소 구매량을 나타내거나 특정 주문량을 초과하면 추가 비용 없이 배송이 가능하다고 표시할 수 있습니다.
eligibleQuantity QuantitativeValue 선택사항 배송비가 유효한 주문 수량의 측정 간격 및 단위입니다. 이를 통해 예를 들어 특정 운임 요금이 특정 수량에만 유효하도록 지정할 수 있습니다.
eligibleRegion GeoShape, Place 또는 GeoCircle의 배열 선택사항 제품 또는 배송비 사양이 유효한 장소 또는 지정학적 지역의 경우 GeoShape/GeoCircle입니다. 이 속성은 지역마다 배송비가 다른 경우에만 사용하세요.
validFrom DateTime 선택사항 지정된 배송비가 유효한 날짜 및 시간 (시간대 포함)입니다. 예: '2017-05-01T06:30:00-07:00' 자세한 내용은 날짜 및 시간 형식을 참조하세요.
validThrough DateTime 선택사항 지정된 배송료가 유효하지 않은 날짜 및 시간 (시간대 포함)입니다. 예: '2017-05-01T06:30:00-07:00' validThrough 시간은 제외됩니다. 예를 들어 이 시간이 오후 6시로 설정된 경우 시간은 오후 5시 59분 59초까지 유효합니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.

다음 예는 DeliveryChargeSpecification 요소를 보여줍니다.

예시 1

"offers": {
  "@type":"Offer",
  "priceSpecification":[
    {
      "@type": "DeliveryChargeSpecification",
      "price": "5.0",
      "priceCurrency": "USD"
    }
  ]
}

예시 2

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

예시 3

"priceSpecification": [{
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
    "price": "8.00", // Charges $8 for area5
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00",
      "priceCurrency": "USD"
    },
    "eligibleRegion": [ // area5
      {
        "@type": "GeoCircle",
        "geoMidpoint": {
          "@type": "GeoCoordinates",
          "latitude": "37.7392607",
          "longitude": "-122.3895522"
        },
        "geoRadius": "4505"
      }
    ]
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
    "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
    "priceCurrency": "USD",
    "eligibleTransactionVolume": {
      "@type": "PriceSpecification",
      "minPrice": "20.00", // Minimum order price for delivery is $20
      "priceCurrency": "USD"
    }
  }
]

"@type": ["DeliveryChargeSpecification"] 외에도 UnitPriceSpecification을 사용하여 객체를 확장할 수 있습니다.

"@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"]

확장 프로그램은 백분율로 계산된 배송료에 필요한 두 가지 추가 속성을 제공합니다.

속성 유형 필요성 설명
referenceQuantity QuantitativeValue 필수 특정 가격이 적용되는 참조 수량입니다. 예를 들어 값 10의 referenceQuantityunitCode가 'P1'이면 주문값의 10% 가 됩니다. 지금은 unitCode 'P1'만 지원됩니다.
basePrice 숫자 선택사항 referenceQuantity 외의 기본 요금 예를 들어 referenceQuantity이 10이고 unitCode가 'P1'이고 basePrice가 USD인 경우 $5 + 주문값의 10% 가 됩니다. 기본값은 0입니다.

배송비 예시

Google에서는 서비스 항목의 Offer.PriceSpecification를 사용하여 사용자에게 다양한 수수료를 미리 지정할 수 있도록 허용합니다.

엔드 투 엔드 정렬은 현재 하나의 DeliveryChargeSpecification만 지원합니다. 모든 유형의 수수료를 단일 DeliveryChargeSpecification로 결합합니다.

지역, 거리, 주문 값을 기준으로 배송료를 지정하는 방법은 서비스 피드 예시를 참고하세요.

수수료가 없으면 Offer.PriceSpecification는 생략됩니다.

  • 예 1: 배송비가 장바구니 소계의 5% 인 경우
  • 예 2: 배송비 $5
  • 예 3: 배송비가 5,000원 + 장바구니 소계의 10% 인 경우
  • 예 4: 배송비 $5, 수하물 요금 $0.1
  • 예 5: 배송료는 5% 이고 수수료는 장바구니 소계의 2% 임
  • 예시 6: 추가 1km 거리당 배송비 $5, $1

예시 1

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

예시 2

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

예시 3

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "10.00", // 10%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "5.00" // User always pays $5 in addition to 10%
  }
]

예시 4

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.10" //$5 + $0.1
  }

예시 5

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "7.00", // 5% + 2%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  },
]

예시 6

priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "basePrice": 5.00, // User always pays $5
    "price": 1.00, // An additional $1.00 is added per 1km
    "priceCurrency": "USD",
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "unitCode": "MTR", // MTR == meter
      "value": "1000.0" // 1km
    }
  }
]

GeoCircle

다음 표에서는 GeoCircle 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'GeoCircle'입니다.
geoMidpoint GeoCoordinates 필수 GeoCircle의 중앙에 있는 GeoCoordinates를 나타냅니다.
geoRadius 숫자 필수 GeoCircle의 대략적인 반경 (미터 단위)을 나타냅니다.

다음 예는 GeoCircle 요소를 보여줍니다.

{
  "@type": "GeoCircle",
  "geoMidpoint": {
    "@type": "GeoCoordinates",
    "latitude": "37.7392607",
    "longitude": "-122.3895522"
  },
  "geoRadius": "4505"
}

GeoCoordinates

다음 표에서는 GeoCoordinates 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'GeoCoordinates'입니다.
latitude 숫자 필수

위도입니다. 값은 -90에서 90까지의 범위로 제한됩니다. 지정된 값이 -90보다 작으면 -90으로 설정되고, 값이 90보다 크면 90으로 설정됩니다.

최소한 소수점 이하 5자리까지 정확해야 합니다.

longitude 숫자 필수

경도입니다. -180에서 180 사이의 범위를 벗어나는 값은 범위에 속하도록 래핑됩니다. 예를 들어 -190 값은 170으로 변환됩니다. 190은 -170으로 변환됩니다. 이는 경도가 지구 둘레를 둘러싸고 있다는 사실을 반영합니다.

최소한 소수점 이하 5자리까지 정확해야 합니다.

다음 예는 GeoCoordinates 요소를 보여줍니다.

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "35.7392607",
  "longitude": "-120.3895522"
}

GeoShape

다음 표에서는 GeoShape 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'GeoShape'입니다.
polygon 텍스트 배열 필수

3개 이상의 공백으로 구분된 일련의 점으로 표현된 다각형 또는 다중 다각형입니다. 첫 번째와 마지막 점은 동일한 것이 좋지만 필수사항은 아닙니다.

다각형 또는 다중 다각형의 각 지점은 위도 지점과 경도 지점으로 정의됩니다. 또한 시계 반대 방향으로 지점을 지정해야 합니다.

대부분의 경우 단일 다각형을 사용합니다. 더 복잡한 사용 사례는 배송 서비스 지역 문서를 참조하세요.

다음 예는 GeoShape 요소를 보여줍니다.

예시 1

{
  "@type": "GeoShape", // area4
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
},

예시 2

{
  "@type": "GeoShape", // A service area with a hole.
  // Specify latitude first (i.e., lat long lat long ...)
  "polygon": [ “37.771535 -122.506881 37.764289 -122.506669 37.766497 -122.453058”,
               “37.791707 -122.447987 37.746676 -122.449433 37.736150 -122.505944 37.780924 -122.509729”]
},

예시 3

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "areaServed": [
    {
      "@type": "GeoShape",  // Richmond District delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.785847 -122.484851 37.772757 -122.483983 37.774442 -122.458563 37.786876 -122.459474"
    },
    {
      "@type": "GeoShape",  // Haight-Ashbury delivery area.
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.774804 -122.454774 37.766224 -122.452881 37.769087 -122.436043 37.773087 -122.437417"
    }  ],
...
},

다음 표에는 Menu 유형의 속성이 나와 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 '메뉴'입니다.
@id URL 필수 메뉴의 고유 식별자입니다.
name 텍스트 선택사항 사용자가 메뉴를 탐색할 때 Menu를 식별할 수 있는 텍스트입니다.
description 텍스트 선택사항 메뉴 설명입니다.
disclaimer MenuDisclaimer 선택사항 메뉴 면책조항. 예를 들어 영양 정보 공개, 알레르기 유발 물질 공개가 있습니다.
hasMenuSection MenuSection의 단일 객체 또는 배열 선택사항 메뉴의 논리적 하위 그룹 (예: 저녁 식사, 애피타이저, 생선 요리)입니다.
hasMenuItem MenuItem의 단일 객체 또는 배열 선택사항 Menu에 포함된 MenuItem 객체로, 일반적으로 MenuMenuSections로 세분화되지 않는 경우에 한합니다.
inLanguage 텍스트 선택사항 메뉴 콘텐츠의 언어로, IETF BCP 47 표준의 언어 코드입니다. 예: 'en-US'.

다음 예는 Menu 유형의 사용법을 보여줍니다.

예시 1

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "hasMenuSection": {
    "@type": "MenuSection",
    "@id": "http://www.provider.com/somerestaurant/menusection/1",
    "name": "Tacos",
    "description": "Tacos inspired by India cuisine.",
    "offers": {
      "@type": "Offer",
      "availabilityStarts": "T08:00:00", // Starts at 8:00AM
      "availabilityEnds": "T22:00:00" // Ends at 10:00PM. Available 8AM-9:59:59PM
    },
    "hasMenuItem": {
      "@type": "MenuItem",
      "@id": "http://www.provider.com/somerestaurant/menuitem/1",
      "name": "Aloo Gobi Taco",
      "description": "Mexico City-style street corn tortilla taco filled with a flavorful mixture of mildly south Indian spiced cauliflower, potato, tomato, onions and bell peppers.",
      "offers": {
        "@type": "Offer",
        "sku": "offer-aloo-gobi-taco",
        "price": "3.50",
        "priceCurrency": "USD"
      },
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "170 Cal",
        "fatContent": "3 g",
        "fiberContent": "2 g",
        "proteinContent": "4 g"
      },
      "suitableForDiet": "http://schema.org/GlutenFreeDiet"
    }
  },
  "inLanguage": "English"
}

예 2

이 예에서는 hasMenuItem를 배열로 보여줍니다.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Main",
      "description": "Main course",
      "image": "http://www.provider.com/somerestaurant/main_dishes.jpg",
      "hasMenuItem": [
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/1",
          "name": "Pizza",
          "description": "Pizza",
          "offers": {
            "@type": "Offer",
            "sku": "offer-pizza",
            "price": "7.49",
            "priceCurrency": "USD",
            "availabilityStarts": "T08:00:00", // Starts at 8:00AM
            "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
          }
        },
        {
          "@type": "MenuItem",
          "@id": "http://www.provider.com/somerestaurant/menuitem/2",
          "name": "Pasta",
          "description": "Pasta",
          "offers": [
            {
              "@type": "Offer",
              "sku": "offer-pasta-lunch",
              "price": "7.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T08:00:00", // Starts at 8:00AM
              "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM
            },
            {
              "@type": "Offer",
              "sku": "offer-pasta-dinner",
              "price": "10.49",
              "priceCurrency": "USD",
              "availabilityStarts": "T18:00:00", // Starts at 6:00PM
              "availabilityEnds": "T21:00:00" // Ends at 9:00PM, last order at 8:59:59PM
            }
          ]
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/2",
      "name": "Soups & Salads",
      "description": "Salads and a few choices of soup",
      "image": "https://www.provider.com/somerestaurant/soup_and_salad_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/3",
        "name": "Pea Soup",
        "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-pea-soup",
          "price": "3.49",
          "priceCurrency": "USD"
        },
        "suitableForDiet": "http://schema.org/GlutenFreeDiet"
      }
    }
  ]
}

예시 3

이 예에서는 hasMenuSection를 배열로 보여줍니다.

{
  "@type": "Menu",
  "@id": "http://www.provider.com/somerestaurant/menu/1",
  "name": "Dine-In Menu",
  "description": "Menu for in-restaurant dining only.",
  "hasMenuSection": [
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/1",
      "name": "Dinner",
      "description": "Dinner dishes",
      "hasMenuSection": [
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/2",
          "name": "Starters",
          "description": "Appetizers and such",
          "image": "https://www.provider.com/somerestaurant/starter_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/1",
            "name": "Potato Skins",
            "description": "Small serving of stuffed potato skins.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-potato-skins",
              "price": "7.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/3",
          "name": "Soups & Salads",
          "description": "Salads and a few choices of soup",
          "image": "https://thisisarestaurant.com/soup_and_salad_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/2",
            "name": "Pea Soup",
            "description": "Creamy pea soup topped with melted cheese and sourdough croutons.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-pea-soup",
              "price": "3.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        },
        {
          "@type": "MenuSection",
          "@id": "http://www.provider.com/somerestaurant/menusection/4",
          "name": "Steak",
          "description": "Steak Dishes",
          "image": "https://steak.com/steak_dishes.jpg",
          "hasMenuItem": {
            "@type": "MenuItem",
            "@id": "http://www.provider.com/somerestaurant/menuitem/3",
            "name": "Sirloin",
            "description": "Sirloin steak dish.",
            "offers": {
              "@type": "Offer",
              "sku": "offer-sirloin-steak",
              "price": "15.49",
              "priceCurrency": "USD"
            },
            "suitableForDiet": "http://schema.org/GlutenFreeDiet"
          }
        }
      ]
    },
    {
      "@type": "MenuSection",
      "@id": "http://www.provider.com/somerestaurant/menusection/5",
      "name": "Desserts",
      "description": "Dessert dishes.",
      "image": "http://www.provider.com/somerestaurant/dessert_dishes.jpg",
      "hasMenuItem": {
        "@type": "MenuItem",
        "@id": "http://www.provider.com/somerestaurant/menuitem/4",
        "name": "Chocolate Pie",
        "description": "A slice of chocolate pie.",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chocolate-pie",
          "price": "3.49",
          "priceCurrency": "USD"
        }
      }
    }
  ]
}

Menu 항목의 더 많은 예는 음식점 및 메뉴 피드 예시를 참고하세요.

다음 표에는 MenuDisclaimer 유형의 속성이 나와 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'MenuDisclaimer'입니다.
@id URL 필수 메뉴 면책 조항의 고유 식별자입니다.
text 텍스트 필수 면책 조항의 텍스트입니다. 예를 들어 '성인의 일일 평균 에너지 섭취량은 8,700kJ입니다.'
url URL 선택사항 면책 조항에 대한 세부정보를 제공하는 페이지로 연결되는 URL입니다.

다음 예는 MenuDisclaimer 유형의 사용법을 보여줍니다.

{
    "@type": "Menu",
    "@id": "menu_1",
    "disclaimer": {
        "@type": "MenuDisclaimer",
        "@id": "menu_1_disclaimer_1",
        "text": "The average adult daily energy intake is 8700 kJ",
        "url": "https://partner.domain.com/menu/provider/disclaimer/more-info.html"
    }
}

메뉴의 항목을 나타내는 메뉴 항목. 다음 표에는 MenuItem 유형의 속성이 나와 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'MenuItem'입니다.
@id URL 필수 메뉴 항목의 고유 식별자입니다.
name 텍스트 필수 사용자가 메뉴를 탐색할 때 MenuItem를 식별할 수 있는 텍스트입니다.
description 텍스트 선택사항 메뉴 항목의 설명입니다.
image URL 선택사항

메뉴 항목 이미지입니다. 아래 이미지 가이드라인을 사용하세요.

  • 가로세로 비율 3:2
  • 최소 해상도 600x400픽셀, 72dpi
  • 권장 해상도 1400x960픽셀 72dpi
menuAddOn AddOnMenuSection의 배열 선택사항 메뉴 섹션에 있는 항목으로 메뉴 항목에 부가기능으로 추가할 수 있습니다.
offers Offer의 배열 필수*

MenuItem를 제공하는 하나 이상의 오퍼입니다. 이 MenuItem의 구입 가능 시기 및 가격을 설명합니다. 특정 시점에 하나의 오퍼만 유효해야 합니다. 시간대에 따라 가격/재고가 달라지는 경우 여러 제품을 제공할 수 있습니다. 음식 항목이 기본 속성(예: 피자 크기)을 통해 다른 경우 menuItemOption를 사용합니다. Offer.eligibleQuantity의 기본값은 상한 없이 최소 0입니다.

아래 목록은 MenuItem에서 사용되는 Offer 속성을 보여줍니다.

  • Offer.sku 필요
  • Offer.price 필요
  • Offer.priceCurrency 필요
  • Offer.availabilityStarts 선택사항
  • Offer.availabilityEnds 선택사항
  • Offer.availableDay 선택사항
  • Offer.validFrom 선택사항
  • Offer.validThrough 선택사항
  • Offer.eligibleQuantity 선택사항
  • Offer.inventoryLevel 선택사항
hasMenuItemOptions MenuItemOption의 배열 필수 이 메뉴 항목의 기본 옵션/변형 목록입니다. 옵션은 항목에 사용할 수 있는 다양한 기본 변형(예: S, M, L)을 지정하는 데 사용해야 합니다.
suitableForDiet RestrictedDiet의 배열 선택사항 요리가 설명된 식단 제한 (예: 'http://schema.org/GlutenFreeDiet' 또는 'http://schema.org/VeganDiet')을 준수합니다. 다음은 가능한 값의 열거형 목록입니다.
nutrition NutritionInformation 선택사항 요리의 영양 정보, 특히 칼로리입니다.
hasAllergen AllergenDetails 선택사항 gs1:AllergenDetails당 음식의 알레르기 유발 물질입니다. 이 속성("@context": ["http://gs1.org/voc/", "http://schema.org"])을 사용하려면 gs1 컨텍스트를 추가하세요. 그리고 MenuItem의 유형에 FoodBeverageTobaccoProduct를 추가합니다.
additive AdditiveDetails 배열 선택사항 gs1:AdditiveDetails당 요리의 첨가물입니다. 가능한 값의 열거형 목록입니다. 이 속성("@context": ["http://gs1.org/voc/", "http://schema.org"])을 사용하려면 gs1 컨텍스트를 추가하세요. 그리고 MenuItem의 유형에 FoodBeverageTobaccoProduct를 추가합니다.
packaging PackagingDetails 선택사항 gs1:PackagingDetails에 따른 이 MenuItem의 포장 및 재활용 정보. 이 속성("@context": ["http://gs1.org/voc/", "http://schema.org"])을 사용하려면 gs1 컨텍스트를 추가하세요. 그리고 MenuItem의 유형에 FoodBeverageTobaccoProduct를 추가합니다.

다음 예는 MenuItem 요소를 보여줍니다.

예시 1

"hasMenuItem": {
  "@type": "MenuItem",
  "@id": "http://www.provider.com/bar/menuitem/1",
  "name": "Potato Skins",
  "description": "Small serving of stuffed potato skins.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-potato-skins",
    "price": "7.49",
    "priceCurrency": "USD"
  },
  "suitableForDiet": "http://schema.org/GlutenFreeDiet"
}

예시 2

"hasMenuItem": [
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170067",
    "name": "Veg Grill Burrito",
    "offers": {
      "@type": "Offer",
      "sku": "offer-veg-grill-burrito",
      "price": "12.99",
      "priceCurrency": "USD"
    },
    "menuAddOn": {
      "@type": "AddOnMenuSection",
      "name": "Cheese",
      "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
      "eligibleQuantity":
        "@type": "QuantitativeValue",
        "minValue": 0,
        "maxValue": 2 // Maximum of 2 cheeses are allowed
      }
    }
  },
  {
    "@type": "MenuItem",
    "@id": "https://www.example.com/1089/product/170018",
    "name": "Chicken Taco",
    "offers": {
      "@type": "Offer",
      "sku": "offer-chicken-taco",
      "price": "6.99",
      "priceCurrency": "USD"
    }
  }
]

예시 3

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

예시 4

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

예시 5

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/9",
  "name": "Ice Coffee",
  "offers": {
    "@type": "Offer",
    "sku": "offer-ice-coffee",
    "price": "3.99",
    "priceCurrency": "USD"
  },
  "nutrition": {
    "@type": "NutritionInformation",
    "description": "Contains preservatives and artificial flavor"
  },
  "hasAllergen": [
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    },
    {
      "@type": "AllergenDetails",
      "allergenType": "http://gs1.org/voc/AllergenTypeCode-PEANUTS",
      "allergenLevelOfContainmentCode":
        "http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN"
    }
  ],
  "additive": [
    {
      "@type": "AdditiveDetails",
      "additiveName": "caffeine",
      "additiveLevelOfContainment":
        "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS"
    }
  ],
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.10",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
}

MenuItem 항목의 더 많은 예는 음식점 및 메뉴 피드 예시를 참고하세요.

사용자가 요리나 콤보를 선택할 때 선택해야 하는 옵션을 나타내는 옵션입니다. 사용자가 옵션을 선택해야 하며, 그러지 않으면 주문이 무효한 것으로 간주됩니다. 예를 들어 피자의 경우 S, M 또는 L을 선택할 수 있습니다.

MenuItemOption의 샘플 사용 사례는 MenuItemOption를 사용한 맞춤설정 가이드를 참고하세요.

다음 표에는 MenuItemOption 유형의 속성이 나와 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'MenuItemOption'입니다.
value PropertyValue 필수 옵션을 나타내는 이름/값 쌍을 포함하는 PropertyValue입니다.
offers Offer의 배열 필수

MenuItemOption 제공 항목이 하나 이상 있습니다. 이 메뉴 항목 옵션을 이용할 수 있는 시기와 가격을 설명합니다. 특정 시점에 하나의 혜택만 유효해야 합니다. 가격/재고가 시간에 따라 변경될 수 있는 경우 유효한 제품이 여러 개 있을 수 있습니다. Offer.eligibleQuantity를 사용하지 마세요. MenuItemOption는 상호 배타적이므로 Offer.eligibleQuantity이 제공되는 경우 무시됩니다.

아래 목록은 MenuItemOption에서 사용되는 Offer 속성을 보여줍니다.

  • Offer.sku 필요
  • Offer.price 필요
  • Offer.priceCurrency 필요
  • Offer.availabilityStarts 선택사항
  • Offer.availabilityEnds 선택사항
  • Offer.availableDay 선택사항
  • Offer.validFrom 선택사항
  • Offer.validThrough 선택사항
  • Offer.eligibleQuantity 선택사항
  • Offer.inventoryLevel 선택사항
menuAddOn Array of AddOnMenuSection 선택사항 부가기능으로 추가할 수 있는 허용된 항목의 메뉴 섹션 부가기능이 특정 메뉴 항목 옵션과 관련이 있는 경우에만 사용하세요. 그렇지 않은 경우 MenuItem.menuAddOn 속성을 사용하여 부가기능을 제공하세요.
suitableForDiet RestrictedDiet의 배열 선택사항 이 요리가 설명된 식단 제한 (예: 'http://schema.org/GlutenFreeDiet' 또는 'http://schema.org/VeganDiet')을 준수하는 식단을 나타내는 열거된 목록입니다.
nutrition NutritionInformation 선택사항 요리의 영양 정보, 특히 칼로리입니다.
hasAllergen AllergenDetails 선택사항 gs1:AllergenDetails당 음식의 알레르기 유발 물질입니다. 이 속성("@context": ["http://gs1.org/voc/", "http://schema.org"])을 사용하려면 gs1 컨텍스트를 추가하세요. 그리고 MenuItemOption의 유형에 FoodBeverageTobaccoProduct를 추가합니다.
additive AdditiveDetails 배열 선택사항 gs1:AdditiveDetails당 요리 첨가물입니다. 가능한 값의 열거형 목록입니다. 이 속성("@context": ["http://gs1.org/voc/", "http://schema.org"])을 사용하려면 gs1 컨텍스트를 추가하세요. 그리고 MenuItemOption의 유형에 FoodBeverageTobaccoProduct를 추가합니다.
packaging PackagingDetails 선택사항 gs1:PackagingDetails별 이 MenuItem의 패키징 및 재활용 정보. "@context": ["http://gs1.org/voc/", "http://schema.org"] 속성을 사용하려면 gs1 컨텍스트를 추가합니다. 그리고 MenuItemOption의 유형에 FoodBeverageTobaccoProduct를 추가합니다.

다음 예는 MenuItemOption 요소를 보여줍니다.

예시 1

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Pepperoni Pizza",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Small"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-small",
        "price": "10.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Medium"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-medium",
        "price": "15.00",
        "priceCurrency": "USD"
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "SIZE",
        "value": "Large"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-large",
        "price": "20.00",
        "priceCurrency": "USD"
      }
    }
  ]
}

예 2

{
  "@type": "MenuItem",
  "@id": "https://www.example.com/1089/product/170067",
  "name": "Meat Combo",
  "hasMenuItemOptions": [
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Plate",
        "offers": {
          "@type": "Offer",
          "sku": "offer-meat-combo-plate",
          "price": "12.00",
          "priceCurrency": "USD"
        },
        "menuAddOn": [
          {
            "@type": "AddOnMenuSection",
            "name": "Toppings for Plate",
            "@id": "https://www.example.com/1089/addon/1",
            "eligibleQuantity": {
              "@type": "QuantitativeValue",
              "minValue": 0,
              "maxValue": 3
            },
            "hasMenuItem": [
              {
                "@type": "AddOnMenuItem",
                "@id": "https://www.example.com/1089/addon/1/a",
                "name": "Hummus",
                "offers": {
                  "@type": "Offer",
                  "sku": "offer-meat-combo-topping-hummus",
                  "price": "1.00",
                  "priceCurrency": "USD"
                }
              }
              // -- Other Items --
            ]
          }
        ]
      }
    },
    {
      "@type": "MenuItemOption",
      "value": {
        "@type": "PropertyValue",
        "name": "OPTION",
        "value": "Sandwich"
      },
      "offers": {
        "@type": "Offer",
        "sku": "offer-meat-combo-sandwich",
        "price": "10.00",
        "priceCurrency": "USD"
      },
      "menuAddOn": [
        {
          "@type": "AddOnMenuSection",
          "name": "Toppings for Sandwich",
          "@id": "https://www.example.com/1089/addon/1",
          "eligibleQuantity": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2
          },
          "hasMenuItem": [
            {
              "@type": "AddOnMenuItem",
              "@id": "https://www.example.com/1089/addon/1/a",
              "name": "Hummus",
              "offers": {
                "@type": "Offer",
                "sku": "offer-meat-combo-topping-hummus",
                "price": "1.00",
                "priceCurrency": "USD"
              }
            }
            // -- Other Items --
          ]
        }
      ]
    }
  ]
}

메뉴 섹션: 메뉴의 특정 섹션을 나타냅니다. 다음 표에는 MenuSection 유형의 속성이 나열되어 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'MenuSection'입니다.
@id URL 필수 메뉴 섹션의 고유 식별자입니다.
name 텍스트 필수 사용자가 메뉴를 탐색할 때 MenuSection를 식별할 수 있는 텍스트입니다.
description 텍스트 선택사항 메뉴 섹션에 대한 설명입니다.
hasMenuSection MenuSection의 배열 선택사항 MenuSection의 논리적 하위 그룹입니다. 예를 들어 저녁 메뉴 섹션에는 '가금류 요리'나 '채식주의자'와 같은 하위 메뉴 섹션이 여러 개 있을 수 있습니다.
hasMenuItem MenuItem의 배열 선택사항 MenuSection에 포함된 메뉴 항목
offers Offer의 배열 선택사항

Offer.availabilityStartsOffer.availabilityEnds를 사용하여 이 MenuSection가 제공되는 기간을 나타냅니다. Offer.eligibleQuantity를 사용하지 마세요.

다음 목록은 MenuSection에서 사용되는 Offer 속성을 보여줍니다.

  • Offer.availabilityStarts 선택사항
  • Offer.availabilityEnds 선택사항
  • Offer.availableDay 선택사항
  • Offer.validFrom 선택사항
  • Offer.validThrough 선택사항
image URL 선택사항 메뉴 섹션 이미지

다음 예는 MenuSection 항목을 보여줍니다.

예시 1

{
  "@type": "MenuSection",
  "@id": "http://www.provider.com/bar/menusection/4",
  "name": "Steak",
  "description": "Steak Dishes",
  "image": "https://steak.com/steak_dishes.jpg",
  "hasMenuItem": {
    "@type": "MenuItem",
    "@id": "http://www.provider.com/bar/menuitem/3",
    "name": "Sirloin",
    "description": "Sirloin steak dish.",
    "offers": {
      "@type": "Offer",
      "sku": "offer-sirloin-steak",
      "price": "15.49",
      "priceCurrency": "USD"
    },
    "suitableForDiet": "http://schema.org/GlutenFreeDiet"
  }
}

예 2

"hasMenuSection": [
  {
    "@type": "MenuSection",
    "@id": "https://www.example.com/1089/categorization/25114480",
    "name": "Main Items",
    "hasMenuItem": [
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170067",
        "name": "Veg Grill Burrito",
        "offers": {
          "@type": "Offer",
          "sku": "offer-veg-grill-burrito",
          "price": "12.99",
          "priceCurrency": "USD"
        },
        "menuAddOn": {
          "@type": "AddOnMenuSection",
          "name": "Cheese",
          "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
          "eligibleQuantity":
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 2 // Maximum of 2 cheeses are allowed
          }
        }
      },
      {
        "@type": "MenuItem",
        "@id": "https://www.example.com/1089/product/170018",
        "name": "Chicken Taco",
        "offers": {
          "@type": "Offer",
          "sku": "offer-chicken-taco",
          "price": "6.99",
          "priceCurrency": "USD"
        }
      }
    ]
  },
  {
    "@type": "AddOnMenuSection",
    "@id": "https://www.example.com/1089/addon/1",
    "name": "AddOnCheese",
    "hasMenuItem": [
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/a",
        "name": "Swiss",
        "offers": {
          "@type": "Offer",
          "sku": "offer-swiss",
          "price": "2.99",
          "priceCurrency": "USD"
        }
      },
      {
        "@type": "AddOnMenuItem",
        "@id": "https://www.example.com/1089/addon/b",
        "name": "Mozarella",
        "offers": {
          "@type": "Offer",
          "sku": "offer-mozzarella",
          "price": "1.99",
          "priceCurrency": "USD"
        }
      }
    ]
  }
]

MenuSection 항목의 더 많은 예는 음식점 및 메뉴 피드 예시를 참고하세요.

NutritionInformation

다음 표는 NutritionInformation 유형의 속성을 설명합니다. 측정 단위는 대소문자를 구분합니다. 예를 들어 'Cal'은 허용되지만 'cal'은 허용되지 않습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 '영양 정보'입니다.
description 텍스트 선택사항 무료 텍스트로 된 영양 정보 예: '보존제 함유'
calories 텍스트 선택사항

다음 형식을 사용한 칼로리, kcal, kJ로 표시되는 칼로리입니다.

number Cal_kcal_OR_kJ

예: "240칼로리"

carbohydrateContent 텍스트 선택사항

다음 형식을 사용하는 탄수화물 양(일반적으로 g)입니다.

number g_OR_mg

예: '7g'

cholesterolContent 텍스트 선택사항

다음 형식을 사용하는 콜레스테롤 양(일반적으로 mg)입니다.

number g_OR_mg

예: '12mg'

fatContent 텍스트 선택사항

다음 형식을 사용하는 지방 함량(일반적으로 g)입니다.

number g_OR_mg

예: '42g'

fiberContent 텍스트 선택사항

다음 형식을 사용한 섬유질 g 또는 mg 수입니다.

number g_OR_mg
proteinContent 텍스트 선택사항

다음 형식을 사용하는 단백질 g 또는 mg 수입니다.

number g_OR_mg
saturatedFatContent 텍스트 선택사항

다음 형식을 사용하는 포화 지방의 g 또는 mg 수입니다.

number g_OR_mg
servingSize 텍스트 선택사항 부피 또는 질량으로 표시한 1회 제공량(mL, L, g, kg)입니다.
sodiumContent 텍스트 선택사항

다음 형식을 사용하는 나트륨 mg 또는 g입니다.

number g_OR_mg
sugarContent 텍스트 선택사항

다음 형식을 사용한 당분 g 또는 mg 양입니다.

number g_OR_mg
transFatContent 텍스트 선택사항

다음 형식에 따른 트랜스지방 g 또는 mg 수치:

number g_OR_mg
unsaturatedFatContent 텍스트 선택사항

다음 형식을 사용하는 불포화지방 함량(일반적으로 g)입니다.

number g_OR_mg

다음 예는 NutritionInformation 요소를 보여줍니다.

예시 1

"nutrition": {
  "@type": "NutritionInformation",
  "calories": "170 Cal",
  "fatContent": "3 g",
  "fiberContent": "2 g",
  "proteinContent": "4 g"
},

예 2

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/7",
  "name": "Peach Ice Tea",
  "description": "A 0.5l bottle of peach ice tea.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-peach-ice-tea",
    "price": "2.49",
    "priceCurrency": "USD"
  },
  "nutrition": {
              "@type": "NutritionInformation",
              "description": "Contains preservatives and artificial flavor"
  }
},

제안

메뉴 항목을 제공합니다. 다음 표에서는 Offer 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'Offer'입니다.
sku 텍스트 조건부

혜택의 고유 식별자입니다. Offer 내에서 고유한 모든 텍스트 값일 수 있습니다. sku 값은 결제 및 제출에서 lineitemofferId로 참조됩니다.

이 속성은 다음 혜택 유형에만 사용됩니다.

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price 텍스트 조건부

판매 상품의 가격입니다. 예를 들어 통화 기호가 없는 '6.00'입니다.

이 속성은 다음 혜택 유형에만 필요합니다.

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

다음 혜택 유형에서는 사용되지 않습니다.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceCurrency 텍스트 조건부

PriceSpecification 및 하위유형에 연결된 경우 가격 또는 가격 구성요소의 통화 (3자리 ISO 4217 형식)입니다.

이 속성은 다음 혜택 유형에만 필요합니다.

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

다음 혜택 유형에서는 사용되지 않습니다.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
availabilityStarts DateTime 또는 Time 선택사항 오퍼를 이용할 수 있는 날짜 및 시간 또는 시간입니다. 예를 들어 팬케이크가 오전 7시에 제공되는 경우 이 필드의 값은 '2017-05-01T07:00:00-07:00'과 같을 수 있습니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.
availabilityEnds DateTime 또는 Time 선택사항 날짜 및 시간 또는 쿠폰을 사용할 수 없는 시간입니다. 이 시간은 제외됩니다. 예를 들어 팬케이크의 이용 가능 시간이 오전 10시에 끝나면 마지막 팬케이크를 오전 9시 59분 59초에 제공할 수 있습니다. 이 필드의 값은 '2017-05-01T10:00:00-07:00'과 같이 표시될 수 있습니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.
availableDay DayOfWeek 배열 선택사항

이 항목을 사용할 수 있는 요일입니다. 유효한 값은 다음과 같습니다.

  • '월요일'
  • '화요일'
  • '수요일'
  • '목요일'
  • '금요일'
  • "토요일"
  • "일요일"

요일별로 가용성이 다르다면 아래 예와 같이 Offer 객체를 두 개 이상 사용합니다.

validFrom DateTime 선택사항

지정된 가격이 유효한 날짜 및 시간 (시간대 포함)입니다. 예를 들어 파스타가 점심에는 8달러, 저녁에는 10달러입니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.

이 속성은 다음 혜택 유형에서 사용할 수 있습니다.

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • AddOnMenuSection.Offer
  • MenuSection.Offer

이 속성은 다음 혜택 유형에서 사용되지 않습니다.

  • Service.Offer
validThrough DateTime 선택사항

지정된 가격이 더 이상 유효하지 않은 날짜 및 시간 (시간대 포함)입니다. 예를 들어 파스타가 점심에는 8달러, 저녁에는 10달러입니다. validThrough의 시간은 제외됩니다. 예를 들어 이 시간을 오후 6시로 설정하면 시간은 오후 5시 59분 59초까지 유효합니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.

이 속성은 다음 혜택 유형에서 사용할 수 있습니다.

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • AddOnMenuSection.Offer
  • MenuSection.Offer

이 속성은 다음 혜택 유형에서 사용되지 않습니다.

  • Service.Offer
eligibleQuantity QuantitativeValue 선택사항

이 항목이 허용되는 주문 수량입니다. 예를 들어 식당에서 배달 주문으로 피자를 10개 이상 주문하도록 요구할 수 있습니다.

이 값은 선택사항입니다. 기본적으로 최대 한도는 없지만 음식점에서 지정할 수 있습니다. 최소 한도는 사용자가 항목을 선택할 때만 적용됩니다.

이 속성은 다음 혜택 유형에서 사용할 수 있습니다.

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer

이 속성은 다음 혜택 유형에서 사용되지 않습니다.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
aggregateRating AggregateRating 선택사항

항목의 리뷰 모음 또는 평점을 기반으로 한 전체 평점입니다.

이 속성은 다음 혜택 유형에서 사용할 수 있습니다.

  • AddOnMenuItem.Offer
  • MenuItem.Offer

이 속성은 다음 유형에서 사용되지 않습니다.

  • AddOnMenuSection.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer
  • Service.Offer
inventoryLevel QuantitativeValue 선택사항

상품의 대략적인 현재 인벤토리 수준입니다.

이 속성은 다음 혜택 유형에서 사용할 수 있습니다.

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer

이 속성은 다음 혜택 유형에서 사용되지 않습니다.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification DeliveryChargeSpecification 배열 또는 PaymentChargeSpecification 배열 선택사항

Service.Offer에서 사용하면 배송 가격에 대한 세부정보를 나타냅니다. 적용할 수 있는 DeliveryChargeSpecification 객체가 여러 개인 경우 가장 구체적인 객체가 적용됩니다. 상호 배타적인 DeliveryChargeSpecification 객체를 사용하여 모호성을 방지합니다.

이 속성은 다음 혜택 유형에서 사용할 수 있습니다.

  • Service.Offer

이 속성은 다음 혜택 유형에서 사용되지 않습니다.

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy Restaurant ID의 배열 선택사항

Offer가 제공되는 레스토랑을 나타냅니다.

지정하지 않으면 이 Offer이 모든 음식점에 제공됩니다.

이 속성은 다음 혜택 유형에서 사용할 수 있습니다.

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer

이 속성은 다음 혜택 유형에서 사용되지 않습니다.

  • Service.Offer
applicableFulfillmentMethod 텍스트 배열 선택사항

Offer가 처리되는 서비스 유형을 나타냅니다. 가능한 값은 'DELIVERY' 또는 'TAKEOUT'입니다.

지정하지 않으면 Offer이 배달 및 테이크아웃으로 처리됩니다.

이 속성은 다음 혜택 유형에서 사용할 수 있습니다.

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer

이 속성은 다음 혜택 유형에서 사용되지 않습니다.

  • Service.Offer
@id URL 지원 중단됨 혜택의 고유 식별자입니다. 2019년 4월 25일부터 지원 중단되었으므로 위에서 설명한 대로 sku로 교체합니다.

다음 예는 Offer 요소를 보여줍니다.

예시 1

다음 예는 간단한 혜택을 보여줍니다.

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD"
}

예 2

다음 예시 오퍼는 주말 오전 8시부터 10시까지 이용 가능 여부를 보여줍니다.

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",  // Only available from 8-9:59:59 AM
  "availabilityEnds": "T10:00:00-07:00",
  "availableDay": ["Saturday", "Sunday"]  // Only on weekends.
}

예시 3

다음 예시는 월요일, 수요일, 금요일에는 오전 9시~10시 59분 59초, 화요일과 목요일 오전 8~11시 59분 59초의 이용 가능 여부를 보여줍니다.

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/140/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T09:00:00-07:00",
  "availabilityEnds": "T11:00:00-07:00",
  "availableDay": ["Monday", "Wednesday", "Friday"]
}, {
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/141/offer",
  "price": "10",
  "priceCurrency": "USD",
  "availabilityStarts": "T08:00:00-07:00",
  "availabilityEnds": "T12:00:00-07:00",
  "availableDay": ["Tuesday", "Thursday"]
}

예 4

다음 예는 사용자가 해당 항목의 최대 2부를 주문할 수 있도록 하는 부가기능 메뉴 항목의 대상 수량 설정을 보여줍니다.

{
  "@type": "AddOnMenuItem",
  "@id": "https://www.example.com/1089/addon/a",
  "name": "Ranch",
  "offers": {
    "@type": "Offer",
    "@id": "https://www.example.com/1089/addon/a/offer",
    "price": "2.99",
    "priceCurrency": "USD"
    "eligibleQuantity": {
         "@type": "QuantitativeValue",
         "maxValue": 2
     }
  }
}

예시 5

다음 예는 특정 위치의 배송 서비스를 보여줍니다.

{
  "@type": "Offer",
  "@id": "https://www.provider.com/menu/74962/139/offer",
  "price": "10",
  "priceCurrency": "USD",
  "applicableFulfillmentMethods": ["DELIVERY"],
  "offeredBy": [
    {
      "@type": "Restaurant",
      "@id": "https://www.provider.com/location/1",
    }
  ]
}

OpeningHoursSpecification

서비스를 주문할 수 있는 시기를 정의합니다. 일반적으로 opens 값은 closes 값보다 작습니다. 다음 가이드라인은 openscloses 속성 사용에 적용됩니다.

  • openscloses 속성은 선택사항이지만 순서가 있을 때 표시하는 것이 좋습니다. 사용 가능한 시간을 정의하는 권장사항은 openscloses 속성이 있는 ServiceDeliveryHoursSpecification가 포함된 deliveryHours 배열을 포함하는 것입니다. 그런 다음 사전 주문에 더 제한된 기간을 제공하려면 deliveryHours에 자체 openscloses 속성과 함께 AdvanceServiceDeliveryHoursSpecification 객체를 포함하면 됩니다.
  • openscloses를 명시적으로 지정하지 않으면 주문 서비스가 매일 모든 시간에 이용 가능하다고 가정합니다.
  • 시간은 서비스의 현지 시간으로 지정해야 합니다. opens 또는 closes 값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 이 정보를 무시합니다.
  • openscloses이 같다면 식당을 0분 동안 영업하는 것으로 가정합니다.
  • openscloses보다 크면 종료 시간은 다음 날로 해석됩니다. 예를 들어 영업시간이 1월 1일 오후 5시로 설정되어 있고 영업 종료 시간이 오전 2시인 경우 레스토랑은 1월 2일 오전 2시에 영업을 종료하는 것으로 해석됩니다.
  • closes의 시간은 배타적입니다. 따라서 이 주문 기간의 영업 시작 시간과 종료 시간이 각각 오전 10시와 오후 4시로 설정된 경우 마지막 주문은 오후 3시 59분 59초입니다.

다음 표에서는 OpeningHoursSpecification 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'OpeningHoursSpecification'입니다.
@id URL 선택사항 OpeningHoursSpecification의 식별자입니다.
dayOfWeek DayOfWeek 배열 선택사항

영업시간이 유효한 요일입니다. 허용되는 값은 '월요일', '화요일', '수요일', '목요일', '금요일', '토요일', '일요일'입니다. 예를 들면 다음과 같습니다.

"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
]

요일을 지정하지 않으면 OpeningHoursSpecification이 모든 요일에 적용됩니다.

opens Time 선택사항

Restaurant 사양에서 사용되는 경우 이 속성은 지정된 요일에 식당의 개점 시간을 나타냅니다. 예를 들어 6:30 AM은 'T06:30:00'으로 제공됩니다.

Service 사양에서 이 속성을 사용하면 사용자가 주문할 수 있는 하루 중 특정 시간을 나타냅니다. 온라인 시스템이 가동되는 시간을 지정하고 사용자가 주문할 수 있도록 합니다. 이러한 온라인 시스템의 영업시간 중에 deliveryHours를 사용하여 사용자가 특별 유형의 배달을 주문할 수 있는 영업시간을 지정할 수 있습니다.

시간은 서비스의 현지 시간으로 지정해야 합니다. opens 값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 이 정보를 무시합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

closes Time 선택사항

Service 사양에서 사용되는 경우 이 속성은 사용자의 주문을 받을 수 없는 특정 시간을 나타냅니다. 온라인 시스템이 가동되는 시간의 영업 종료 시간을 지정하고 사용자가 주문할 수 있도록 합니다. 이러한 온라인 시스템의 영업시간 중에 deliveryHours를 사용하여 사용자가 특별 유형의 배달을 주문할 수 있는 영업시간을 지정할 수 있습니다.

시간은 서비스의 현지 시간으로 지정해야 합니다. closes 값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 이 정보를 무시합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

validFrom DateTime 선택사항

Restaurant 사양에서 사용되는 경우 이 속성은 식당의 openscloses로 지정된 영업시간이 유효한 날짜를 나타냅니다.

예를 들어 주어진 시간이 2017년 전체에 적용되는 경우 validFrom를 '2017-01-01T00:00:00-07:00'으로 설정하고 validThrough을 '2017-12-31T23:59:59-07:00'으로 설정합니다.

Service 사양에서 사용되는 경우 validFrom는 사용자의 주문이 시작되는 시작일을 나타냅니다.

이 속성이 피드에 지정되지 않은 경우 Google은 식당 또는 서비스가 매일 이용 가능한 것으로 가정합니다.

날짜 외에도 값의 시간 및 시간대 부분이 필요합니다.

시간대의 경우 음식점 또는 서비스의 시간대를 사용하세요.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

validThrough DateTime 선택사항

Restaurant에서 사용할 경우 openscloses로 지정된 개점일이 유효하지 않습니다.

예를 들어 주어진 시간이 2017년 전체에 적용되는 경우 validFrom를 '2017-01-01T00:00:00-07:00'으로 설정하고 validThrough을 '2017-12-31T23:59:59-07:00'으로 설정합니다.

Service 사양에서 사용할 경우 validThrough은 사용자의 주문이 더 이상 이루어질 수 없는 종료일을 나타냅니다.

이 속성이 피드에 지정되지 않은 경우 Google은 식당 또는 서비스가 매일 이용 가능한 것으로 가정합니다.

날짜 외에도 DateTime의 시간 및 시간대 부분이 필요합니다.

시간대의 경우 음식점 또는 서비스의 시간대를 사용하세요.

validThrough의 시간은 배타적입니다. 예를 들어 시간이 오후 6시로 설정된 경우 오후 5시 59분 59초까지 유효합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

deliveryHours ServiceDeliveryHoursSpecification의 배열 또는 AdvanceServiceDeliveryHoursSpecification의 배열 조건부

배달 또는 테이크아웃 시간 사양입니다.

이 매개변수는 레스토랑이 폐업한 경우, 즉 openscloses가 설정되어 있고 서로 같지 않은 이상 필수입니다.

  • ServiceDeliveryHoursSpecification: 영업시간 동안 사용자가 최대한 빨리 주문할 수 있는 '영업 시작' 및 '폐점' 시간을 설정할 수 있습니다.
  • AdvanceServiceDeliveryHoursSpecification: 영업시간 동안 사용자가 사전 주문할 수 있는 '영업 시작' 및 '영업 종료' 시간을 설정할 수 있습니다.

다음 예는 OpeningHoursSpecification 요소를 보여줍니다.

예시 1

// Ordering times for Monday through Friday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      "@type": "AdvanceServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T12:00:00", // Advance ordering begins at noon
      "closes": "T23:59:59", // Advance ordering ends at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    },
    {
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "T10:00:00", // ASAP ordering begins at 10AM
      "closes": "T14:00:00", // ASAP ordering ends at 2PM
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
},

예시 2

// Ordering times for Saturday and Sunday
{
  "@type": "OpeningHoursSpecification",
  "deliveryHours": [
    {
      // In this case advance orders are unavailable on Saturday and Sunday
      "@type": "ServiceDeliveryHoursSpecification",
      "deliveryLeadTime": {
        "@type": "QuantitativeValue",
        "value": "60",
        "unitCode": "MIN"
      },
      "dayOfWeek": [
        "Saturday",
        "Sunday"
      ],
      "opens": "T12:00:00", // ASAP orders start at noon
      "closes": "T23:59:59", // ASAP orders end at midnight
      "validFrom": "2017-01-01T00:00:00-07:00",
      "validThrough": "2018-12-31T23:59:59-07:00"
    }
  ]
}

예시 3

"hoursAvailable": {
  "@type": "OpeningHoursSpecification",
  "validFrom": "2016-02-01T00:00:00-07:00",
  "validThrough": "2016-03-01T00:00:00-07:00",
  "opens": "T08:00:00",  // Ordering begins at 8:00AM and ends at 6:00PM.
                         // ASAP and and advance orders are restricted to this
                         // time frame since the user won't be able to place
                         // orders outside of this window.
  "closes": "T18:00:00",
  "deliveryHours": {
    "@type": "ServiceDeliveryHoursSpecification",
    "deliveryLeadTime": {
      "@type": "QuantitativeValue",
      "value": "60",
      "unitCode": "MIN"
    }
  }
},

예 4

// List hours available for 2017 and 2018
"hoursAvailable": [
  {
    "@type": "OpeningHoursSpecification",
    // Array containing advance order hours for each day
    "deliveryHours": [
      {
        // Open 10:00AM to 9:29:59PM on Mondays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Monday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Tuesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Tuesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Wednesdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Wednesday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 9:29:59PM on Thursdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "dayOfWeek": [
          "Thursday"
        ],
        "opens": "T10:00:00",
        "closes": "T21:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Fridays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Friday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 10:00AM to 11:29:59PM on Saturdays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Saturday"
        ],
        "opens": "T10:00:00",
        "closes": "T23:30:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      },
      {
        // Open 11:00AM to 6:59:59PM on Sundays
        "@type": "AdvanceServiceDeliveryHoursSpecification",
        "deliveryLeadTime": {
          "@type": "QuantitativeValue",
          "value": "60",
          "unitCode": "MIN"
        },
        "dayOfWeek": [
          "Sunday"
        ],
        "opens": "T11:00:00",
        "closes": "T19:00:00",
        "validFrom": "2017-01-01T00:00:00-07:00",
        "validThrough": "2018-12-31T23:59:59-07:00"
      }
    ]
  }
],

PackagingDetails

"@context": ["http://gs1.org/voc/", "http://schema.org"] 유형을 사용하려면 gs1 컨텍스트를 추가하세요. FoodBeverageTobaccoProductMenuItem 또는 MenuItemOption 유형에 추가합니다.

다음 표에서는 PackagingDetails 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'PackagingDetails'입니다.
packagingRecyclingProcessType 텍스트 선택사항 gs1:PackagingRecyclingProcessTypeCode에 따른 패키징 재활용 프로세스 유형입니다. 예를 들면 http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE 또는 http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE입니다.
hasReturnablePackageDeposit ReturnablePackageDepositDetails 선택사항 gs1:ReturnablePackageDepositDetails에 따른 반품 가능한 패키지 보증금 세부정보. 예를 들어 병이나 캔에는 반품 가능한 택배가 있습니다.

다음 예는 PackagingDetails 유형의 사용법을 보여줍니다.

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

PaymentChargeSpecification

다음 표에서는 PaymentChargeSpecification 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'PaymentChargeSpecification'입니다.
@id URL 선택사항 PaymentChargeSpecification의 식별자입니다.
price 숫자 필수 총 청구 금액입니다. 예를 들어 '6.00'(통화 기호 제외)
priceCurrency 텍스트 필수 가격의 3자리 ISO 4217 통화 코드입니다. 예: 'USD'
eligibleTransactionVolume PriceSpecification 선택사항 최소 구매량을 표시하는 경우와 같이 이 결제 청구 사양이 유효한 거래량(통화 단위)입니다.
eligibleQuantity QuantitativeValue 선택사항 결제 청구가 유효한 주문 수량입니다. 예를 들어 이 속성을 사용하여 주문에 최소 항목 수를 요구할 수 있습니다.
validFrom DateTime 선택사항 지정된 결제 청구 금액이 유효한 날짜 및 시간 (시간대 포함)입니다. 예: '2017-05-01T07:00:00-07:00' 자세한 내용은 날짜 및 시간 형식을 참조하세요.
validThrough DateTime 선택사항 지정된 결제 요금이 유효하지 않은 날짜 및 시간 (시간대 포함)입니다. 예: '2017-05-01T07:30:00-07:00' validThrough의 시간은 제외됩니다. 예를 들어 이 시간이 오후 6시로 설정된 경우 시간은 오후 5시 59분 59초까지 유효합니다. 자세한 내용은 날짜 및 시간 형식을 참조하세요.

다음 예는 PaymentChargeSpecification 요소를 보여줍니다.

"priceSpecification": [{
  "@type": "PaymentChargeSpecification",
  "@id": "http://www.provider.com/paymentCharge/bar",
  "priceCurrency": "USD",
  "price": "6.00", // Charges $6 for processing fee
  "eligibleQuantity": {
    "@type": "QuantitativeValue",
    "minValue": 2 // Minimum of two items required
  }
}]

"@type": ["PaymentChargeSpecification"] 외에도 UnitPriceSpecification("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"])을 사용하여 객체를 확장할 수 있습니다. 이 확장 프로그램은 백분율로 계산된 서비스 수수료에 필요한 두 가지 속성을 추가로 제공합니다.

속성 유형 필요성 설명
referenceQuantity QuantitativeValue 필수 특정 가격이 적용되는 참조 수량입니다. 예를 들어 값 10의 referenceQuantityunitCode가 'P1'이면 주문값의 10% 가 됩니다. 현재 unitCode 'P1'만 지원됩니다.
basePrice 숫자 선택사항 referenceQuantity 외의 기본 요금 예를 들어 referenceQuantity가 10이고 unitCode가 'P1'이고 basePrice가 USD인 경우 $5 + 주문값의 10% 가 됩니다. 기본값은 0입니다.

테이크아웃 수수료 예시

Google에서는 서비스 항목의 Offer.PriceSpecification를 사용하여 사용자에게 다양한 수수료를 미리 지정할 수 있도록 허용합니다.

현재 PaymentChargeSpecification는 하나만 지원됩니다. 모든 유형의 수수료를 단일 PaymentChargeSpecification로 결합합니다.

수수료가 없으면 Offer.PriceSpecification는 생략됩니다.

  • 예시 1: 서비스 수수료가 장바구니 소계의 5% 인 경우
  • 예시 2: 서비스 수수료 5달러
  • 예 3: 수하물 수수료가 0.1달러이고 서비스 수수료가 장바구니 소계의 5% 인 경우
  • 예 4: 수하물 요금은 $0.1이고 서비스 수수료는 $1입니다.
  • 예 5: 서비스 수수료: 5%, 필수 팁: 장바구니 소계의 10%

예시 1

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

예시 2

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]

예시 3

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "0.10" // Bag fee $0.1
  }
]

예시 4

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "1.10" //$1 + $0.1
  }
]

예시 5

priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "15.00", // 5% + 10%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

순위

다음 표에서는 Place 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'Place'입니다.
address PostalAddress 필수 장소의 주소입니다.

다음 예는 장소 요소를 보여줍니다.

{
  "@type": "Place", // area2
  "address": {
    "@type": "PostalAddress",
    "postalCode": "94041",
    "addressCountry": "US"
  }
},

PostalAddress

다음 표에서는 PostalAddress 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'PostalAddress'입니다.
addressLocality 텍스트 필수* 지역 또는 도시입니다. 예: '서울'
addressRegion 텍스트 필수* 지역 또는 주입니다. 예: 'CA'
postalCode 텍스트 필수* 우편번호입니다. 예: '94102'
streetAddress 텍스트 선택사항 상세 주소입니다. 예: '1600 Amphitheatre Pkwy'.
addressCountry 텍스트 필수 두 글자로 된 ISO 3166-1 alpha-2 국가 코드입니다 . 예: 'US'

배송 제공업체는 이러한 속성을 나열하여 서비스가 제공되는 Service.areaServed를 지정할 수 있습니다.

Restaurant.address에서 사용할 경우 PostalAddress에 나열된 모든 속성이 필수입니다.

다음 예는 PostalAddress 요소를 보여줍니다.

"address": {
  "@type": "PostalAddress",
  "streetAddress": "12345 Bar Avenue",
  "addressLocality": "San Francisco",
  "addressRegion": "CA",
  "postalCode": "94124",
  "addressCountry": "US"
},

PriceSpecification

다음 표에서는 PriceSpecification 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'PriceSpecification'입니다.
@id URL 선택사항 PriceSpecification의 식별자입니다.
minPrice 숫자 선택사항 가격이 범위인 경우 최저 가격입니다.
maxPrice 숫자 선택사항 가격이 범위인 경우 최고 가격입니다.
priceCurrency 텍스트 필수 가격의 3자리 ISO 4217 통화 코드입니다. 예: 'USD'
eligibleQuantity QuantitativeValue 선택사항 가격 사양이 유효한 주문 수량입니다. 예를 들어 가격은 파운드당 2달러 또는 1달러에 상품 2개입니다.

다음 예는 PriceSpecification 요소를 보여줍니다.

예시 1

"eligibleTransactionVolume": {
  "@type": "PriceSpecification",
  "minPrice": "20.00", // Minimum order price for delivery is $20
  "priceCurrency": "USD"
}

PropertyValue

MenuItemOption의 옵션을 설명하는 데 사용되는 속성 값 쌍입니다.

다음 표에는 PropertyValue 유형의 속성이 나와 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'PropertyValue'입니다.
name 텍스트 필수

옵션의 이름 또는 유형입니다.

다음은 MenuItem에서 사용될 때 유효한 이름입니다.

  • "SIZE": MenuItem의 크기입니다. 예를 들어 S, M 또는 L이 있습니다.
  • 'OPTION': 크기가 아닌 다른 변형 (예: 샐러드 또는 샌드위치와 함께 제공되는 요리) 'SIZE'와 'OPTION'을 구별할 수 없다면 'OPTION'을 사용합니다.

AddOnMenuItem에서 사용될 경우 유효한 이름:

  • 'APPLICABLE_ITEM_OPTION': 각 'SIZE/OPTION'으로 MenuItem와 함께 사용될 때만 적용되는 부가기능 옵션입니다.
  • 'PIZZA_SIDE': 피자에 한해 이 부가기능은 피자의 일부/전체 (예: 왼쪽, 오른쪽 또는 피자 전체의 버섯 토핑)에만 유효합니다.
  • 'SIZE': 부가기능의 크기를 지정하는 옵션입니다(예: 식사 콤보의 부가기능으로 큰 감자튀김).
  • "OPTION": 사이즈를 제외한 모든 변형 'SIZE'와 'OPTION'을 구별할 수 없다면 'OPTION'을 사용합니다.
value 텍스트 필수

옵션의 값입니다. 값은 임의의 문자열일 수 있으며 그대로 표시됩니다. 유효한 값은 다음과 같습니다.

  • 'PIZZA_SIDE': 상응하는 값은 'PIZZA_SIDE_LEFT', 'PIZZA_SIDE_RIGHT' 또는 피자의 경우 'PIZZA_SIDE_WHOLE'이어야 합니다.
  • 'APPLICABLE_ITEM_OPTION': 이 값은 상위 MenuItem의 MenuItemOptions에 해당하는 'OPTION/SIZE' 선택 항목 중 하나에 있어야 합니다.

QuantitativeValue

다음 표에서는 QuantitativeValue 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'QuantitativeValue'입니다.
value 숫자 선택사항 양적 값 또는 속성 값 노드의 값입니다.
unitCode 텍스트 또는 URL 선택사항

UN/CEFACT 일반 코드 또는 URL로 표시되는 측정 단위입니다.

UN/CEFACT 공통 코드 이외의 코드는 프리픽스 다음에 콜론이 오는 것과 함께 사용할 수 있습니다.

maxValue 숫자 선택사항 특성 또는 속성의 상한값입니다.
minValue 숫자 선택사항 일부 특성 또는 속성의 낮은 값입니다.

다음 예는 QuantitativeValue 유형의 사용법을 보여줍니다.

예시 1

"deliveryLeadTime": {
  "@type": "QuantitativeValue",
  "value": "60",
  "unitCode": "MIN"
}

예시 2

"menuAddOn": {
  "@type": "AddOnMenuSection",
  "name": "Cheese",
  "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection
  "eligibleQuantity":
    "@type": "QuantitativeValue",
    "minValue": 0,
    "maxValue": 2 // Maximum of 2 cheeses are allowed
  }
}

예시 3

"priceSpecification": [
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/defaultdeliveryfee/foo",
    "price": "10.0",
    "priceCurrency": "USD",
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  },
  {
    "@type": "DeliveryChargeSpecification",
    "@id": "http://www.provider.com/deliveryfee/foo/1",
    "price": "20.0",
    "priceCurrency": "USD",
    "validFrom":"T18:00:00", // Valid from 6:00PM
    "validThrough":"T22:00:00", // Valid to 9:59:59PM
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 3  // Minimum of 3 items required for delivery
    }
  }
]

음식점

다음 표에는 Restaurant 유형의 속성이 나와 있습니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 '음식점'입니다.
@id URL 필수 식당 또는 배달 업체의 고유 식별자입니다. 예를 들어 'http://www.provider.com/326'입니다. 여기서 '326'은 식당의 고유 식별자입니다.
name 텍스트 필수 주문 프로세스 중에 Restaurant를 식별할 수 있는 텍스트입니다.
url URL 필수 음식점을 나타내는 도메인의 URL입니다. 예: 'http://www.provider.com/some레스'
sameAs URL 선택사항 식당의 공식 웹사이트입니다. 예: 'http://www.some 명확하게.com'
email 텍스트 선택사항 식당의 연락처 이메일입니다.
description 텍스트 선택사항 식당에 대한 설명입니다.
telephone 텍스트 필수

다음 형식의 전화번호:

"[+][country_code][phone_#_with_area_code]"

예: '+16501234567'

priceRange 텍스트 선택사항 다양한 가격대. 예: "$$" ($-Inexpensive, $$-Moderate, $$$-Expensive, $$$$-Very Expensive).
logo URL Optional Logo of the restaurant in PNG, JPG, or GIF format. For example, "http://www.somerestaurant.com/logo.png".
image URL Optional Image of the restaurant.
servesCuisine Array of Text Optional Food types that are served at the restaurant. For example, ["sushi","Asian fusion"].
address PostalAddress Required* Address of the restaurant.
geo GeoCoordinates Optional* Geographic coordinates of the restaurant.
suitableForDiet Array of RestrictedDiet Optional Dietary restrictions this restaurant accommodates (like kosher, vegan, or gluten-free diets). It is an enumerated list.
aggregateRating AggregateRating Optional Overall rating, based on a collection of reviews or ratings of the restaurant.
additionalProperty Array of name value string pairs Optional

A restaurant imprint is a section of additional information about the restaurant, such as legal name, legal address, and registration number. This information can be formatted using "\n".

For example "additionalProperty": [{"name": "imprint", "value": "first row\nsecondrow\n"},]

The following examples show the usage of the Restaurant type:

Example 1

{
  "@type": "Restaurant",
  "@id": "http://www.provider.com/somerestaurant",
  "url": "www.provider.com/somerestaurant",
  "name": "Some Restaurant",
  "sameAs": "http://www.somerestaurant.com",
  "image": "http://www.somerestaurant.com/image-of-some-restaurant.jpg",
  "description": "This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94105",
    "streetAddress": "345 Spear St",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "37.391115",
    "longitude": "-122.081099"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
  "priceRange": "$$",
  "telephone": "+16501234567", // 국가 코드 (+1)는 필수 항목입니다.
  "servesCuisine": [
    "인도-멕시코 퓨전"
  ]
},
  
  

예 2

{
  "@type": "Restaurant",
  "@id": "http://www.example.com/threebrotherstacos",
  "name": "Three Brothers Tacos",
  "address": {
        "@type": "PostalAddress",
        "addressLocality": "Mountain View",
        "addressRegion": "CA",
        "postalCode": "94041",
        "streetAddress": "123 Foo St",
        "addressCountry": "US"
  },
  "additionalProperty": [
    {"name": "imprint", "value": "Three Brothers Tacos\n123 FooSt\nMountain View\nCA 94041, United States\nemail: contact@threebrotherstacos.com\n\nCommercial Register: 123456789"}
  ]
}

Restaurant 항목의 더 많은 예는 음식점 및 메뉴 피드 예시를 참고하세요.

ReturnablePackageDepositDetails

이 유형을 사용하려면 gs1 컨텍스트 '@context'를 추가하세요.

["http://gs1.org/voc/", "http://schema.org"]

그런 다음 FoodBeverageTobaccoProduct를 적절한 MenuItem 또는 MenuItemOption 유형에 추가합니다.

다음 표에서는 ReturnablePackageDepositDetails 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'ReturnablePackageDepositDetails'입니다.
returnablePackageDepositAmount gs1:PriceSpecification 선택사항 gs1:PriceSpecification당 이 상품의 보증금입니다. 예를 들어 캔당 0.25달러의 보증금이 있습니다.

다음 예는 ReturnablePackageDepositDetails 유형의 사용법을 보여줍니다.

{
  "@type": ["MenuItem", "FoodBeverageTobaccoProduct"],
  "@id": "http://www.example.com/bar/menuitem/5",
  "name": "Sparkling Water",
  "description": "A 0.5l bottle of sparking water.",
  "offers": {
    "@type": "Offer",
    "sku": "offer-sparkling-water",
    "price": "1.49",
    "priceCurrency": "USD"
  },
  "packaging": {
    "@type": "PackagingDetails",
    "packagingRecyclingProcessType" :
      "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE",
    "hasReturnablePackageDeposit": {
      "@type": "ReturnablePackageDepositDetails",
      "returnablePackageDepositAmount": {
        "@type": "http://gs1.org/voc/PriceSpecification",
        "http://gs1.org/voc/price": "0.05",
        "http://gs1.org/voc/priceCurrency": "USD"
      }
    }
  }
},

서비스

배달 조직이 음식점에서 지리적 위치로 주문 엔드 투 엔드 작업을 전달하는 과정을 설명합니다.

다음 표에서는 Service 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수

피드 유형입니다.

  • Service: 모든 활성 서비스 피드에 이 유형을 사용합니다.
  • DisabledService: 예기치 않은 이벤트로 인해 서비스 항목을 사용 중지해야 하고 서비스가 다시 설정될 시점을 알 수 없는 경우에만 이 유형을 사용합니다.
@id URL 필수 처리 서비스의 식별자입니다. 예: 'http://www.provider.com/service/1'
description 텍스트 선택사항 항목 설명입니다.
serviceType 텍스트 필수 제공하는 서비스의 유형입니다. 가능한 값은 'DELIVERY' 또는 'TAKEOUT'입니다.
provider Restaurant 필수 식당의 고유 식별자에 대한 참조입니다. 예: 'http://www.provider.com/some레스'
areaServed GeoShape, Place, GeoCircle의 배열 조건부 서비스가 제공되는 지역입니다. 이 필드는 기본적으로 선택사항이지만 serviceType가 'DELIVERY'인 경우 필수입니다.
hoursAvailable OpeningHoursSpecification의 배열 필수 이 서비스를 사용할 수 있는 시간입니다.
specialOpeningHoursSpecification OpeningHoursSpecification, ServiceDeliveryHoursSpecification, AdvanceServiceDeliveryHoursSpecification의 배열 선택사항

더 일반적인 OpeningHoursSpecification 또는 처리 시간을 재정의하는 시간입니다. 일반적으로 이 필드는 휴일 및 기타 유형의 임시 휴업 또는 영업시간 변경을 정의하는 데 사용합니다.

validFromvalidThrough 속성을 사용하여 특별한 기간을 정의합니다. 이러한 속성을 지정할 때는 시간과 시간대가 필요합니다.

offers Offer의 배열 조건부

지정된 레스토랑의 배달 제공에 대한 세부정보입니다. 이 필드는 기본적으로 선택사항이지만 serviceType가 'DELIVERY'인 경우 필수입니다.

Offer.priceSpecification 속성은 서비스에서 선택사항입니다. 여기서는 다른 Offer 속성을 사용하지 않습니다.

hasOfferCatalog [Menu, OfferCatalog] 필수

이 서비스의 메뉴를 지정합니다. 서비스마다 다른 메뉴 (예: 테이크아웃, 배달, 케이터링)를 사용할 수 있습니다.

유형에 MenuOfferCatalog를 모두 지정해야 합니다. 예를 들면 다음과 같습니다.

"hasOfferCatalog": {
"@type": ["Menu", "OfferCatalog"],
"@id": "https://www.provider.com/restaurant/menu/1"
}
additionalProperty {name, value}의 배열 선택사항

서비스 구성 정보(선택사항) 항목은 선택적 필드 이름에 해당하는 name 키가 있는 객체여야 합니다. value 키는 상황에 맞는 필드 값입니다.

특정 이름과 값에 대한 자세한 내용은 ServingConfig 참조를 확인하세요.

"additionalProperty": [{
  "name": "disableOrderInstructions",
  "value": false
}, {
  "name": "disableMenuItemSpecialInstructions",
  "value": false
}, {
  "name": "disableTipWidget",
  "value": false
}, {
  "name": "disablePromoWidget",
  "value": false
}, {
  "name": "menuItemSpecialInstructionsMaxLength",
  "value": 256
}, {
  "name": "orderInstructionsMaxLength",
  "value": 256
}]
potentialAction URL 선택사항

엔드 투 엔드 음식 주문 환경에서 리디렉션할 때 사용될 배달/테이크아웃 서비스 URL을 포함합니다. 예: { "url": "https://fopatestagent.com/ordering/레스토랑-1/delivery" }

다음 예시에서는 서비스 유형의 사용법을 보여줍니다.

{
  "@type": "Service",
  "@id": "http://www.provider.com/service/1",
  "serviceType": "DELIVERY",
  "provider": {
    "@type": "Restaurant",
    "@id": "http://www.provider.com/threebrotherstacos"
  },
  "potentialAction": {
    "url": "https://foprovider.com/ordering/restaurant-1/delivery"
  },
  "hoursAvailable": [
    // Ordering times for Monday through Friday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          "@type": "AdvanceServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T12:00:00", // Advance ordering begins at noon
          "closes": "T23:59:59", // Advance ordering ends at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        },
        {
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "T10:00:00", // ASAP ordering begins at 10AM
          "closes": "T14:00:00", // ASAP ordering ends at 2PM
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    },
    // Ordering times for Saturday and Sunday
    {
      "@type": "OpeningHoursSpecification",
      "deliveryHours": [
        {
          // In this case advance orders are unavailable on Saturday and Sunday
          "@type": "ServiceDeliveryHoursSpecification",
          "deliveryLeadTime": {
            "@type": "QuantitativeValue",
            "value": "60",
            "unitCode": "MIN"
          },
          "dayOfWeek": [
            "Saturday",
            "Sunday"
          ],
          "opens": "T12:00:00", // ASAP orders start at noon
          "closes": "T23:59:59", // ASAP orders end at midnight
          "validFrom": "2017-01-01T00:00:00-07:00",
          "validThrough": "2018-12-31T23:59:59-07:00"
        }
      ]
    }
  ],
  "hasOfferCatalog": {
    "@type": ["Menu", "OfferCatalog"],
    "@id": "https://www.provider.com/menu/1"
  },
  "areaServed": [{
      "@type": "GeoCircle", // area1
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "42.362757",
        "longitude": "-71.087109"
      },
      "geoRadius": "10000"
    },
    {
      "@type": "Place", // area2
      "address": {
        "@type": "PostalAddress",
        "postalCode": "94041",
        "addressCountry": "US"
      }
    },
    {
      "@type": "GeoShape", // area3
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.418128 -122.098167 37.382755 -122.118968 37.368551 -122.047978 37.400949 -122.048106 37.418128 -122.098167"
    },
    {
      "@type": "GeoShape", // area4
      // Specify latitude first (i.e., lat long lat long ...)
      "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"
    },
    {
      "@type": "GeoCircle", // area5
      "geoMidpoint": {
        "@type": "GeoCoordinates",
        "latitude": "37.7392607",
        "longitude": "-122.3895522"
      },
      "geoRadius": "4505"
    }
  ],
  "offers": {
    "@type": "Offer",
    "priceSpecification": [{
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1",
        "price": "8.00", // Charges $8 for area5
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00",
          "priceCurrency": "USD"
        },
        "eligibleRegion": [ // area5
          {
            "@type": "GeoCircle",
            "geoMidpoint": {
              "@type": "GeoCoordinates",
              "latitude": "37.7392607",
              "longitude": "-122.3895522"
            },
            "geoRadius": "4505"
          }
        ]
      },
      {
        "@type": "DeliveryChargeSpecification",
        "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee",
        "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge)
        "priceCurrency": "USD",
        "eligibleTransactionVolume": {
          "@type": "PriceSpecification",
          "minPrice": "20.00", // Minimum order price for delivery is $20
          "priceCurrency": "USD"
        }
      }
    ]
  }
},

서비스 항목의 더 많은 예시를 보려면 서비스 피드 예시를 참고하세요.

ServiceDeliveryHoursSpecification

사용자가 최대한 빨리 배달 및 테이크아웃 주문을 예약할 수 있는 처리 시간을 나타냅니다.

일반적으로 opens 값은 closes 값보다 작습니다. 다음 가이드라인은 openscloses 속성 사용에 적용됩니다.

  • openscloses 속성은 ServiceDeliveryHoursSpecification의 선택사항이지만 포함하는 것이 좋습니다.
  • 시간은 서비스의 현지 시간으로 지정해야 합니다. opens 또는 closes 값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 시간대 정보를 무시합니다.
  • openscloses를 명시적으로 지정하지 않으면 최대한 빨리 주문을 언제든지 이용할 수 있다고 가정합니다.
  • openscloses가 같으면 최대한 빨리 주문을 이용할 수 없는 것으로 가정합니다.
  • openscloses보다 크면 종료 시간은 다음 날로 해석됩니다. 예를 들어 영업시간이 1월 1일 오후 5시로 설정되어 있고 영업 종료 시간이 오전 2시인 경우 레스토랑은 1월 2일 오전 2시에 영업을 종료하는 것으로 해석됩니다.

다음 표에서는 ServiceDeliveryHoursSpecification 유형의 속성을 설명합니다.

속성 유형 필요성 설명
@type 텍스트 필수 항상 'ServiceDeliveryHoursSpecification'입니다.
validFrom DateTime 선택사항

사용자의 최대한 빨리 주문을 처리할 수 있는 날짜 및 시간 (시간대 포함)입니다. 예: '2017-05-01T07:00:00-07:00' 이 속성을 설정하지 않으면 매일 유효한 것으로 간주됩니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

validThrough DateTime 선택사항

사용자의 최대한 빨리 주문을 처리할 수 없는 날짜 및 시간 (시간대 포함)입니다. 예: '2017-05-01T07:00:00-07:00' 이 속성을 설정하지 않으면 매일 유효한 것으로 간주됩니다.

validThrough의 시간은 배타적입니다. 예를 들어 시간이 오후 6시로 설정된 경우 오후 5시 59분 59초까지 유효합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

opens Time 선택사항

사용자의 최대한 빨리 주문을 처리하기 위한 배송 서비스가 시작되는 시간입니다. 예: 'T10:30:00'

시간은 서비스의 현지 시간으로 지정해야 합니다. opens 값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 이 정보를 무시합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

closes Time 선택사항

사용자의 '최대한 빨리' 주문에 대한 배송 서비스가 더 이상 제공되지 않는 시간입니다. 예: 'T23:59:59'

closes의 시간은 배타적입니다. 따라서 이 ServiceDeliveryHoursSpecification의 개점/폐점 시간을 오전 10시와 오후 4시로 설정하면 마지막 주문은 오후 3시 59분 59초입니다.

시간은 서비스의 현지 시간으로 지정해야 합니다. closes 값에 시간대를 포함하지 마세요. 시간대가 지정되면 Google은 이 정보를 무시합니다.

자세한 내용은 날짜 및 시간 형식을 참조하세요.

dayOfWeek DayOfWeek의 배열 선택사항

사용자의 최대한 빨리 주문에 대해 이 서비스를 사용할 수 있는 요일입니다. 유효한 값은 다음과 같습니다.

  • '월요일'
  • '화요일'
  • '수요일'
  • '목요일'
  • '금요일'
  • "토요일"
  • "일요일"

요일을 지정하지 않으면 ServiceDeliveryHoursSpecification이 모든 요일에 적용됩니다.

deliveryLeadTime QuantitativeValue 선택사항 주문 완료 후 예상 배송 시간(분)입니다. 이 속성을 설정하는 것이 좋습니다. QuantitativeValuevalue 필드를 분으로 설정하고 unitCode를 'MIN'으로 설정합니다.

다음 예는 ServiceDeliveryHoursSpecification 요소를 보여줍니다.

예시 1

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "value": "60", // If no exact deliveryLeadTime, put a maximum time
    "unitCode": "MIN"
  }
},

예 2

{
  "@type": "ServiceDeliveryHoursSpecification",
  "opens": "T08:00:00",
  "closes": "T17:00:00",
  "deliveryLeadTime": {
    "@type": "QuantitativeValue",
    "minValue": "30",
    "maxValue": "50",
    "unitCode": "MIN"
  }
}
    

열거형

RestrictedDiet

RestrictedDiet 유형에 사용할 수 있는 값은 다음과 같습니다.

  • http://schema.org/DiabeticDiet
  • http://schema.org/GlutenFreeDiet
  • http://schema.org/HalalDiet
  • http://schema.org/HinduDiet
  • http://schema.org/KosherDiet
  • http://schema.org/LowCalorieDiet
  • http://schema.org/LowFatDiet
  • http://schema.org/LowLactoseDiet
  • http://schema.org/LowSaltDiet
  • http://schema.org/VeganDiet
  • http://schema.org/VegetarianDiet