طرح موجودی v1

فیدهای کاتالوگ غذا بر اساس نهادهای DataFeed schema.org هستند. فید کاتالوگ غذا شامل جزئیات محلی رستوران مانند آدرس رستوران، منو، و مکان، و همچنین جزئیات خدمات رستوران مانند هزینه های تحویل، مناطق تحویل، و موارد دیگر است که در زیر مشخص شده است.

یک DataFeed شامل مجموعه‌ای از عناصر است که هر کدام یک آیتم را نشان می‌دهند که در واژگان schema.org بیان شده است. می توانید از نوع DataFeed برای انتشار تمام داده های ساختاریافته خود در قالب JSON-LD استفاده کنید.

برای اطلاعات در مورد استفاده از این مشخصات برای ساخت فیدهای خود، به نمای کلی یکپارچه سازی موجودی مراجعه کنید.

فرمت های 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 لازم نیست.
  • زمان رستوران یا سرویس باید به وقت محلی مشخص شود.

پاکت نامه

کد شروع برای هر خوراک کاتالوگ مواد غذایی باید دارای بخش "پاکت" باشد.

"پاکت" ساختار سطح بالای هر فید است و باید یک 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 */
  ]
}

جزئیات افزودنی

برای استفاده از این نوع، زمینه 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 پیکسل، 72 نقطه در اینچ
  • >
  • وضوح پیشنهادی 1400x960 پیکسل، 72 نقطه در اینچ
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 .availabilityStarts و Offer .availabilityEnds برای نشان دادن دوره زمانی که این AddOnMenuSection در دسترس است استفاده کنید.

فهرست زیر نشان می دهد که کدام ویژگی های Offer در AddOnMenuSection استفاده می شود.

  • Offer.availabilityStarts اختیاری است
  • Offer.availabilityEnds اختیاری است
  • Offer.availableDay اختیاری است
  • Offer.validFrom اختیاری است
  • Offer.validThrough اختیاری است
hasMenuSection آرایه AddOnMenuSection الزامی* زیر گروه بندی منطقی منوی افزودنی (مانند شام، پیش غذا، یا غذاهای ماهی).
defaultOption آرایه AddOnMenuItem اختیاری

آیتم های منوی افزودنی به طور پیش فرض برای کاربران در بخش AddOnMenuSection از پیش انتخاب می شوند. کاربران می توانند انتخاب های نهایی را تغییر دهند. اگر هیچ defaultOption مشخص نشده باشد، هیچ AddOnMenuItem از پیش انتخاب نشده است.

اشیاء AddOnMenuItem باید در hasMenuItem از AddOnMenuSection وجود داشته باشد.

تعداد defaultOption نمی تواند از حداکثر eligibleQuantity در بخش AddOnMenuSection بیشتر شود.

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

یک آیتم منوی "Sandwich پنیر" دارای یک AddOnMenuSection "Choice of Cheese" است که "Swiss" و "Mozzarella" از قبل به عنوان پیش‌فرض انتخاب شده‌اند.

{
  "@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 است. دستورالعمل های زیر برای استفاده از ویژگی های opens و closes می شود:

  • ویژگی های opens و closes برای AdvanceServiceDeliveryHoursSpecification اختیاری هستند، اما ما قویاً توصیه می کنیم که آنها را اضافه کنید.
  • زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار opens یا closes وارد نکنید. مناطق زمانی مشخص نادیده گرفته می شوند.
  • اگر opens و closes به طور صریح مشخص نشده باشد، فرض می کنیم که سفارش از قبل در همه روزها در همه زمان ها در دسترس است.
  • اگر opens و closes یکسان باشد، فرض می کنیم که سفارش از قبل در دسترس نیست.
  • اگر opens بیشتر از closes باشد، ساعت بسته شدن به روز بعد تعبیر می شود. به عنوان مثال، اگر ساعت کار روی 1 ژانویه ساعت 5 بعد از ظهر و ساعت بسته شدن ساعت 2 بامداد تنظیم شده باشد، رستوران به عنوان بسته شدن در 2 ژانویه در ساعت 2 بامداد تعبیر می شود.
  • opens و closes اشاره به شکاف زمانی آینده دارد. closes انحصاری است. به عنوان مثال، اگر ساعت 10 صبح opens و ساعت 4 بعد از ظهر closes با serviceTimeInterval 15 دقیقه، اولین شکاف زمانی از ساعت 10 صبح و آخرین زمان در ساعت 3:45 بعد از ظهر شروع می شود.

جدول زیر ویژگی های نوع AdvanceServiceDeliveryHoursSpecification را توضیح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "AdvanceServiceDeliveryHoursSpecification" است.
validFrom DateTime مشروط

تاریخ شروعی که از آن زمان می‌توان سفارشات قبلی کاربران را انجام داد. به عنوان مثال، "2017-05-01T00:00:00-07:00".

اگر این ویژگی تنظیم نشده باشد، فرض می شود که هر روز معتبر است. خواص validFrom و validThrough باید با هم وجود نداشته باشند یا وجود داشته باشند.

اگر این نوع به عنوان specialOpeningHoursSpecification در سطح Service مشخص شده باشد، این ویژگی validFrom در AdvanceServiceDeliveryHoursSpecification مورد نیاز است.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

validThrough DateTime اختیاری

تاریخ پایانی که پس از آن سفارش‌های قبلی کاربران دیگر قابل انجام نیست. به عنوان مثال، "2018-12-01T00:00:00-07:00".

اگر این ویژگی تنظیم نشده باشد، فرض می شود که هر روز معتبر است. خواص validFrom و validThrough باید با هم وجود نداشته باشند یا وجود داشته باشند.

اگر این نوع به عنوان specialOpeningHoursSpecification در سطح Service مشخص شود، ویژگی validThrough در AdvanceServiceDeliveryHoursSpecification مورد نیاز است.

زمان validThrough انحصاری است. به عنوان مثال، اگر آن زمان روی 6 بعد از ظهر تنظیم شده باشد، زمان تا 5:59:59 بعد از ظهر معتبر است.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

opens Time اختیاری

برای اسلات تحویل یا بیرون‌بر اعمال می‌شود.

زمان مشخصی از روز که از آن زمان می‌توان سفارش‌های پیش‌روی کاربران را انجام داد. به عنوان مثال، 6:30 صبح به عنوان "T06:30:00" داده می شود.

زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار opens لحاظ نکنید. اگر منطقه زمانی مشخص شده باشد، گوگل این اطلاعات را نادیده می گیرد.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

closes Time اختیاری

برای اسلات تحویل یا بیرون‌بر اعمال می‌شود.

زمان مشخصی از روز که پس از آن نمی‌توان سفارش‌های قبلی کاربران را انجام داد. به عنوان مثال، ساعت 9:00 به عنوان "T21:00:00" داده می شود. closes> انحصاری است، بنابراین تنظیم آن بر روی 9:00 بعد از ظهر برای serviceTimeInterval 15 دقیقه به این معنی است که آخرین شکاف زمانی موجود در ساعت 8:45 بعد از ظهر شروع می شود.

زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار closes لحاظ نکنید. اگر منطقه زمانی مشخص شده باشد، گوگل این اطلاعات را نادیده می گیرد.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

dayOfWeek آرایه DayOfWeek اختیاری

روزهایی از هفته که ساعت‌های تحویل از قبل در دسترس است. مقادیر معتبر عبارتند از:

  • "دوشنبه"
  • "سه شنبه"
  • "چهارشنبه"
  • "پنجشنبه"
  • "جمعه"
  • "شنبه"
  • "یکشنبه"

اگر هیچ روزی از هفته را مشخص نکنید، AdvanceServiceDeliveryHoursSpecification برای همه روزها اعمال می شود.

serviceTimeInterval Duration مورد نیاز

فاصله بین دو زمان سرویس متوالی.

به عنوان مثال: اگر opens و closes 8 صبح و 8 بعد از ظهر باشد و serviceTimeInterval 15 دقیقه باشد، کاربر می تواند زمان های تکمیل را 8 صبح، 8:15 صبح، 8:30 صبح، 8:45 صبح و غیره انتخاب کند تا اینکه ساعت 8 شب

Duration باید به عنوان مدت زمان ISO 8601 مشخص شود. به عنوان مثال: "P15M" به معنای فواصل 15 دقیقه ای است.

advanceBookingRequirement QuantitativeValue مورد نیاز

تعداد دقیقه از زمان سفارش که می توان سفارش قبلی را انجام داد.

min و max مقدار QuantitativeValue باید روی تعداد دقیقه و unitCode روی "MIN" تنظیم شود.

به عنوان مثال، اگر یک سفارش اولیه حداقل به 60 دقیقه نیاز دارد تا انجام شود و انجام آن بیش از 2 روز بعد محدود شود، min مقدار 60 و max مقدار 2880 است.

مثال زیر استفاده از نوع 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"
  }
}

جزئیات آلرژن

برای استفاده از این نوع، زمینه gs1 را اضافه کنید: "@context": ["http://gs1.org/voc/", "http://schema.org"]

سپس، FoodBeverageTobaccoProduct به نوع MenuItem یا MenuItemOption مناسب اضافه کنید.

جدول زیر ویژگی های نوع AllergenDetails را شرح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "جزئیات آلرژن" است.
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 را توضیح می دهد:

اموال تایپ کنید ضرورت توضیحات
@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". برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.
validThrough DateTime اختیاری تاریخ و ساعت (از جمله منطقه زمانی) که پس از آن هزینه تحویل مشخص شده معتبر نیست. به عنوان مثال، "2017-05-01T06:30:00-07:00". زمان validThrough انحصاری است: برای مثال، اگر آن زمان روی 6 بعد از ظهر تنظیم شود، زمان تا 5:59:59 بعد از ظهر معتبر است. برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

مثال‌های زیر عناصر 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 مورد نیاز مقدار مرجعی که قیمت معینی برای آن اعمال می شود. برای مثال، referenceQuantity از مقدار 10 با unitCode از "P1" منجر به 10٪ از ارزش سفارش می شود. در حال حاضر فقط unitCode "P1" پشتیبانی می شود.
basePrice شماره اختیاری شارژ پایه علاوه بر referenceQuantity . به عنوان مثال، referenceQuantity 10 با unitCode "P1" و basePrice 5 به دلار منجر به 5 دلار + 10٪ از ارزش سفارش می شود. مقدار پیش فرض 0 است.

نمونه هزینه های تحویل

Google به شما اجازه می دهد تا با استفاده از Offer.PriceSpecification موجودیت سرویس، هزینه های مختلفی را از قبل برای کاربران تعیین کنید.

توجه داشته باشید که Ordering End-to-End در حال حاضر فقط از یک DeliveryChargeSpecification پشتیبانی می کند. همه انواع هزینه ها را در یک DeliveryChargeSpecification واحد ترکیب کنید.

برای نحوه تعیین هزینه های تحویل بر اساس مساحت، مسافت و ارزش سفارش، به نمونه های خوراک سرویس مراجعه کنید.

اگر هزینه ای وجود نداشته باشد، Offer.PriceSpecification حذف می شود.

  • مثال 1: هزینه تحویل 5 درصد از کل سبد خرید است
  • مثال 2: هزینه تحویل 5 دلار است
  • مثال 3: هزینه تحویل 5 دلار + 10 درصد از کل سبد خرید است
  • مثال 4: هزینه تحویل 5 دلار و هزینه کیف 0.1 دلار است
  • مثال 5: هزینه تحویل 5 درصد و هزینه تسهیلات 2 درصد از کل سبد خرید است.
  • مثال 6: هزینه تحویل 5 دلار و 1 دلار به ازای هر 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 مورد نیاز GeoCoordinates در مرکز یک GeoCircle نشان می دهد.
geoRadius شماره مورد نیاز شعاع تقریبی (بر حسب متر) یک GeoCircle را نشان می دهد.

مثال زیر یک عنصر GeoCircle را نشان می دهد:

مثال

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

مختصات جغرافیایی

جدول زیر ویژگی های نوع GeoCoordinates را شرح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه «Coordinates» است.
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 آرایه متن مورد نیاز

یک چند ضلعی یا چندضلعی که به صورت مجموعه ای از سه یا چند نقطه با فضای محدود بیان می شود. توصیه می شود نکات اول و آخر یکسان باشد اما الزامی نیست.

هر نقطه در یک چند ضلعی یا چندضلعی با یک نقطه عرض جغرافیایی و یک نقطه طول جغرافیایی تعریف می شود. همچنین باید نقاط را در جهت خلاف جهت عقربه های ساعت مشخص کنید.

در بیشتر موارد شما یک چند ضلعی خواهید داشت. برای موارد استفاده پیچیده تر، به مستندات منطقه خدمات تحویل مراجعه کنید.

مثال‌های زیر عناصر 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 اختیاری اشیاء MenuItem موجود در یک Menu ، معمولاً زمانی که Menu به MenuSections تقسیم نمی شود.
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 متن مورد نیاز این همیشه "منو سلب مسئولیت" است.
@id URL مورد نیاز شناسه منحصر به فرد برای سلب مسئولیت منو.
text متن مورد نیاز متن سلب مسئولیت. به عنوان مثال، "متوسط ​​مصرف انرژی روزانه بزرگسالان 8700 کیلوژول است."
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 پیکسل، 72 نقطه در اینچ
  • وضوح پیشنهادی 1400x960 پیکسل 72 dpi
menuAddOn آرایه AddOnMenuSection اختیاری موارد موجود در بخش منو که می توانند به عنوان افزودنی به آیتم منو اضافه شوند.
offers آرایه Offer الزامی*

یک یا چند پیشنهاد برای ارائه این MenuItem . توضیح می دهد که چه زمانی و با چه قیمتی این MenuItem در دسترس است. فقط یک پیشنهاد باید در یک زمان خاص معتبر باشد. در صورت وجود تغییر در قیمت/در دسترس بودن بر اساس زمان روز، پیشنهادهای متعددی می‌تواند ارائه شود. اگر ماده غذایی از نظر ویژگی پایه متفاوت است (مثلاً اندازه برای پیتزا)، از menuItemOption استفاده کنید. پیش‌فرض برای Offer.eligibleQuantity حداقل 0 بدون محدودیت بالایی است.

فهرست زیر نشان می‌دهد که کدام ویژگی‌های Offer در MenuItem استفاده می‌شوند.

  • Offer.sku مورد نیاز است
  • Offer.price مورد نیاز است
  • Offer.priceCurrency مورد نیاز است
  • Offer.availabilityStarts اختیاری است
  • Offer.availabilityEnds اختیاری است
  • Offer.availableDay اختیاری است
  • Offer.validFrom اختیاری است
  • Offer.validThrough اختیاری است
  • Offer.eligibleQuantity اختیاری است
  • Offer.inventoryLevel اختیاری است
hasMenuItemOptions آرایه MenuItemOption مورد نیاز فهرستی از گزینه‌های پایه/تغییر برای این آیتم منو. از گزینه‌ها باید برای تعیین تغییرات پایه مختلف در دسترس برای آیتم استفاده شود، به عنوان مثال کوچک، متوسط ​​و بزرگ.
suitableForDiet مجموعه ای از RestrictedDiet اختیاری این ظرف با محدودیت غذایی شرح داده شده مطابقت دارد (مانند "http://schema.org/GlutenFreeDiet" یا "http://schema.org/VeganDiet". این لیستی از مقادیر ممکن است.
nutrition NutritionInformation اختیاری اطلاعات تغذیه برای ظرف، به ویژه کالری.
hasAllergen AllergenDetails اختیاری آلرژن های ظرف در هر gs1:AllergenDetails . زمینه gs1 را برای استفاده از این ویژگی اضافه کنید: "@context": ["http://gs1.org/voc/", "http://schema.org"] . و FoodBeverageTobaccoProduct را به نوع MenuItem اضافه کنید.
additive آرایه از AdditiveDetails اختیاری مواد افزودنی ظرف در هر gs1:AdditiveDetails . این یک لیست برشماری از مقادیر ممکن است. زمینه gs1 را برای استفاده از این ویژگی اضافه کنید: "@context": ["http://gs1.org/voc/", "http://schema.org"] . و FoodBeverageTobaccoProduct را به نوع MenuItem اضافه کنید.
packaging PackagingDetails اختیاری اطلاعات بسته بندی و بازیافت این آیتم منو در gs1:PackagingDetails . زمینه gs1 را برای استفاده از این ویژگی اضافه کنید: "@context": ["http://gs1.org/voc/", "http://schema.org"] . و FoodBeverageTobaccoProduct را به نوع MenuItem اضافه کنید.

مثال‌های زیر عناصر 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 ، به نمونه‌های فید رستوران و منو مراجعه کنید.

گزینه ای برای نشان دادن انتخاب هایی که کاربر باید هنگام انتخاب یک ظرف یا ترکیبی انجام دهد. کاربر باید گزینه ای را انتخاب کند، در غیر این صورت سفارش نامعتبر تلقی می شود. به عنوان مثال، انتخاب کوچک، متوسط ​​یا بزرگ در مورد پیتزا.

برای نمونه موارد استفاده از MenuItemOption ، راهنمای ما در مورد سفارشی سازی با استفاده از MenuItemOption ببینید.

جدول زیر ویژگی های نوع MenuItemOption را فهرست می کند:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "MenuItemOption" است.
value PropertyValue مورد نیاز PropertyValue حاوی یک جفت نام/مقدار که گزینه را نشان می دهد.
offers آرایه Offer مورد نیاز

یک یا چند پیشنهاد برای ارائه این MenuItemOption . توضیح می دهد که چه زمانی و با چه قیمتی این گزینه آیتم منو در دسترس است. فقط یک پیشنهاد باید در یک زمان خاص معتبر باشد. اگر قیمت/در دسترس بودن بر اساس زمان روز تغییر کند، می‌توانید پیشنهادهای معتبر زیادی داشته باشید. از Offer.eligibleQuantity استفاده نکنید. MenuItemOption متقابلاً منحصر به فرد است، بنابراین Offer.eligibleQuantity در صورت ارائه نادیده گرفته می شود.

فهرست زیر نشان می‌دهد که کدام ویژگی‌های Offer در MenuItemOption استفاده می‌شوند.

  • 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 . زمینه gs1 را برای استفاده از این ویژگی اضافه کنید: "@context": ["http://gs1.org/voc/", "http://schema.org"] . و FoodBeverageTobaccoProduct را به نوع MenuItemOption اضافه کنید.
additive آرایه از AdditiveDetails اختیاری مواد افزودنی ظرف در هر gs1:AdditiveDetails . این یک لیست برشماری از مقادیر ممکن است. زمینه gs1 را برای استفاده از این ویژگی اضافه کنید: "@context": ["http://gs1.org/voc/", "http://schema.org"] . و FoodBeverageTobaccoProduct را به نوع MenuItemOption اضافه کنید.
packaging PackagingDetails اختیاری اطلاعات بسته بندی و بازیافت این MenuItem در هر gs1:PackagingDetails زمینه gs1 را برای استفاده از این ویژگی اضافه کنید: "@context": ["http://gs1.org/voc/", "http://schema.org"] . و FoodBeverageTobaccoProduct را به نوع MenuItemOption اضافه کنید.

مثال زیر عناصر 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.availabilityStarts و Offer.availabilityEnds برای نشان دادن دوره زمانی استفاده از این MenuSection استفاده کنید. از Offer.eligibleQuantity استفاده نکنید.

لیست زیر نشان می دهد که کدام ویژگی های Offer در MenuSection استفاده می شوند:

  • 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 را شرح می دهد. واحدهای اندازه گیری به حروف بزرگ و کوچک حساس هستند. به عنوان مثال، «کال» پذیرفته می شود، اما «کال» نه.

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "اطلاعات تغذیه" است.
description متن اختیاری اطلاعات تغذیه در متن آزاد. به عنوان مثال "حاوی مواد نگهدارنده".
calories متن اختیاری

تعداد کالری بر حسب کالری، کیلوکالری یا کیلوژول با استفاده از فرمت زیر:

number Cal_kcal_OR_kJ

به عنوان مثال، "240 Cal".

carbohydrateContent متن اختیاری

مقدار کربوهیدرات، معمولاً بر حسب گرم، با استفاده از فرمت زیر:

number g_OR_mg

به عنوان مثال، "7 گرم".

cholesterolContent متن اختیاری

مقدار کلسترول، معمولاً بر حسب میلی گرم، با استفاده از فرمت زیر:

number g_OR_mg

به عنوان مثال، "12 میلی گرم".

fatContent متن اختیاری

مقدار چربی، معمولاً بر حسب گرم، با استفاده از فرمت زیر:

number g_OR_mg

به عنوان مثال، "42 گرم".

fiberContent متن اختیاری

تعداد گرم یا میلی گرم فیبر، با استفاده از فرمت زیر:

number g_OR_mg
proteinContent متن اختیاری

تعداد گرم یا میلی گرم پروتئین با فرمت زیر:

number g_OR_mg
saturatedFatContent متن اختیاری

تعداد گرم یا میلی گرم چربی اشباع شده با فرمت زیر:

number g_OR_mg
servingSize متن اختیاری اندازه سرو بر حسب تعداد حجم یا جرم بر حسب میلی لیتر، L، گرم یا کیلوگرم.
sodiumContent متن اختیاری

تعداد میلی گرم یا گرم سدیم با فرمت زیر:

number g_OR_mg
sugarContent متن اختیاری

تعداد گرم یا میلی گرم شکر با فرمت زیر:

number g_OR_mg
transFatContent متن اختیاری

تعداد گرم یا میلی گرم چربی ترانس با فرمت زیر:

number g_OR_mg
unsaturatedFatContent متن اختیاری

مقدار چربی غیراشباع، معمولا بر حسب گرم، با استفاده از فرمت زیر:

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 متن مورد نیاز این همیشه "پیشنهاد" است.
sku متن مشروط

شناسه منحصر به فرد پیشنهاد. می تواند هر مقدار متنی باشد که در Offer منحصر به فرد است. مقادیر sku در Checkout ارجاع می‌شوند و به عنوان offerId در lineitem ارسال می‌شوند.

این ویژگی فقط در انواع پیشنهاد زیر استفاده می شود:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price متن مشروط

قیمت کالای ارائه شده به عنوان مثال، "6.00" بدون نماد ارز.

این ویژگی فقط در انواع پیشنهادات زیر مورد نیاز است:

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

در انواع پیشنهاد زیر استفاده نمی شود:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceCurrency متن مشروط

واحد پول (در قالب 3 حرف ایزو 4217) قیمت یا جزء قیمت، وقتی به PriceSpecification و انواع فرعی آن پیوست شود.

این ویژگی فقط در انواع پیشنهادات زیر مورد نیاز است:

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

در انواع پیشنهاد زیر استفاده نمی شود:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
availabilityStarts DateTime یا Time اختیاری تاریخ و زمان یا فقط زمانی که از آن پیشنهاد در دسترس است. به عنوان مثال، اگر پنکیک ها از ساعت 7 صبح سرو شوند، مقدار این قسمت می تواند به شکل زیر باشد: "2017-05-01T07:00:00-07:00". برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.
availabilityEnds DateTime یا Time اختیاری تاریخ و زمان یا فقط زمانی که پیشنهاد در دسترس نیست. این بار اختصاصی است به عنوان مثال، اگر زمان دسترسی به پنکیک در ساعت 10 صبح به پایان برسد، آخرین پنکیک را می توان در ساعت 9:59:59 صبح سرو کرد. مقدار این فیلد می تواند به شکل زیر باشد: "2017-05-01T10:00:00-07:00". برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.
availableDay آرایه DayOfWeek اختیاری

روزهای هفته که این مورد در دسترس است. مقادیر معتبر عبارتند از:

  • "دوشنبه"
  • "سه شنبه"
  • "چهارشنبه"
  • "پنجشنبه"
  • "جمعه"
  • "شنبه"
  • "یکشنبه"

اگر برای روزهای مختلف هفته دسترسی متفاوتی دارید، از بیش از یک شیء Offer استفاده کنید، همانطور که در مثال‌های زیر نشان داده شده است.

validFrom DateTime اختیاری

تاریخ و ساعت (از جمله منطقه زمانی) که در آن قیمت مشخص شده معتبر است. به عنوان مثال، پاستا در هنگام ناهار 8 دلار و در شام 10 دلار است. برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

این ملک در انواع پیشنهادی زیر قابل استفاده است:

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

این ملک در انواع پیشنهادی زیر استفاده نمی شود:

  • Service.Offer
validThrough DateTime اختیاری

تاریخ و ساعت (از جمله منطقه زمانی) که پس از آن قیمت مشخص شده دیگر معتبر نیست. به عنوان مثال، پاستا در هنگام ناهار 8 دلار و در شام 10 دلار است. زمان validThrough انحصاری است: برای مثال، اگر آن زمان روی 6 بعد از ظهر تنظیم شود، زمان تا 5:59:59 بعد از ظهر معتبر است. برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

این ملک در انواع پیشنهادی زیر قابل استفاده است:

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

این ویژگی در انواع پیشنهادی زیر استفاده نمی شود.

  • Service.Offer
eligibleQuantity مقدار کمی اختیاری

مقادیر سفارشی که این مورد برای آنها مجاز است. به عنوان مثال، یک رستوران ممکن است نیاز داشته باشد که حداقل 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 مقدار کمی اختیاری

سطح موجودی تقریبی فعلی برای کالا یا اقلام.

این ملک در انواع پیشنهادی زیر قابل استفاده است:

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

این ملک در انواع پیشنهادی زیر استفاده نمی شود:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification Array of DeliveryChargeSpecification یا آرایه PaymentChargeSpecification اختیاری

هنگامی که در Service.Offer استفاده می شود، جزئیات مربوط به قیمت تحویل را نشان می دهد. اگر چندین شیء DeliveryChargeSpecification قابل اجرا باشد، خاص ترین مورد اعمال می شود. برای جلوگیری از هرگونه ابهام، از اشیاء منحصر به فرد DeliveryChargeSpecification استفاده کنید.

این ملک در انواع پیشنهادی زیر قابل استفاده است:

  • Service.Offer

این ملک در انواع پیشنهادی زیر استفاده نمی شود:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy مجموعه ای از شناسه های Restaurant اختیاری

نشان دهنده رستوران هایی است که این Offer در آنها ارائه می شود.

اگر مشخص نشده باشد، این Offer به همه رستوران ها ارائه می شود.

این ملک در انواع پیشنهادی زیر قابل استفاده است:

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

این ملک در انواع پیشنهادی زیر استفاده نمی شود:

  • Service.Offer
applicableFulfillmentMethod آرایه متن اختیاری

نشان دهنده نوع خدماتی است که این Offer توسط آن انجام می شود. مقادیر ممکن "تحویل" یا "برداشت" است.

اگر مشخص نشده باشد، این Offer هم با تحویل و هم با بیرون‌بر انجام می‌شود.

این ملک در انواع پیشنهادی زیر قابل استفاده است:

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

این ملک در انواع پیشنهادی زیر استفاده نمی شود:

  • Service.Offer
@id URL منسوخ شده است شناسه منحصر به فرد پیشنهاد. از تاریخ 4/25/19 منسوخ شده است، همانطور که در بالا توضیح داده شد با 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 است. دستورالعمل های زیر برای استفاده از ویژگی های opens و closes می شود:

  • ویژگی‌های opens و closes اختیاری هستند، اما اکیداً توصیه می‌شود زمانی که سفارش در دسترس است نشان داده شود. بهترین روش برای تعریف ساعات در دسترس، گنجاندن یک آرایه deliveryHours است که حاوی ServiceDeliveryHoursSpecification با ویژگی های opens و closes . اگر می‌خواهید پنجره محدودتری برای سفارش‌های قبلی ارائه دهید، سپس می‌توانید یک شی AdvanceServiceDeliveryHoursSpecification را در deliveryHours با ویژگی‌های opens و closes خود اضافه کنید.
  • اگر opens و closes به صراحت مشخص نشده باشد، فرض می کنیم که خدمات سفارش هر روز در تمام ساعات روز در دسترس است.
  • زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار opens یا closes وارد نکنید. اگر منطقه زمانی مشخص شده باشد، گوگل این اطلاعات را نادیده می گیرد.
  • اگر opens و closes یکسان باشد، فرض می کنیم که رستوران برای 0 دقیقه باز است.
  • اگر opens بیشتر از closes باشد، ساعت بسته شدن به روز بعد تعبیر می شود. به عنوان مثال، اگر ساعت کار روی 1 ژانویه در ساعت 5 بعد از ظهر تنظیم شده باشد و ساعت بسته شدن آن 2 بامداد باشد، رستوران به عنوان بسته شدن در 2 ژانویه در ساعت 2 بامداد تعبیر می شود.
  • زمان closes اختصاصی است. بنابراین اگر زمان باز و بسته شدن این پنجره سفارش به ترتیب 10 صبح و 16 بعد از ظهر تعیین شده باشد، آخرین سفارش ساعت 15:59:59 است.

جدول زیر ویژگی های نوع OpeningHoursSpecification را توضیح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "OpeningHoursSpecification" است.
@id URL اختیاری شناسه برای OpeningHoursSpecification .
dayOfWeek آرایه DayOfWeek اختیاری

روزی از هفته که این ساعات کاری برای آن معتبر است. مقادیر قابل قبول «دوشنبه»، «سه شنبه»، «چهارشنبه»، «پنجشنبه»، «جمعه»، «شنبه» و «یکشنبه» است. به عنوان مثال:

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

اگر هیچ روزی از هفته را مشخص نکنید، OpeningHoursSpecification برای همه روزها اعمال می شود.

opens Time اختیاری

هنگامی که در مشخصات Restaurant استفاده می شود، این ویژگی زمان باز شدن رستوران را در روز(های) معین هفته نشان می دهد. به عنوان مثال، 6:30 صبح به عنوان "T06:30:00" داده می شود.

هنگامی که در مشخصات Service استفاده می شود، زمان خاصی از روز را نشان می دهد که از آنجا می توان سفارشات کاربران را ثبت کرد. زمان باز شدن سیستم آنلاین را مشخص می کند و به کاربران اجازه می دهد تا سفارش دهند. در آن ساعات باز/بسته شدن سیستم آنلاین، می‌توانید deliveryHours برای تعیین ساعات باز/بستن استفاده کنید که کاربران می‌توانند انواع خاصی از تحویل را سفارش دهند.

زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار opens لحاظ نکنید. اگر منطقه زمانی مشخص شده باشد، گوگل این اطلاعات را نادیده می گیرد.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

closes Time اختیاری

هنگامی که در مشخصات Service استفاده می شود، این ویژگی زمان خاصی از روز را نشان می دهد که پس از آن نمی توان سفارشات کاربران را ثبت کرد. زمان بسته شدن سیستم آنلاین را مشخص می کند و به کاربران اجازه می دهد سفارش دهند. در آن ساعات باز/بسته شدن سیستم آنلاین، می‌توانید deliveryHours برای تعیین ساعات باز/بستن استفاده کنید که کاربران می‌توانند انواع خاصی از تحویل را سفارش دهند.

زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار closes لحاظ نکنید. اگر منطقه زمانی مشخص شده باشد، گوگل این اطلاعات را نادیده می گیرد.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

validFrom DateTime اختیاری

وقتی در مشخصات Restaurant استفاده می شود، این ویژگی تاریخی را نشان می دهد که ساعات کاری مشخص شده توسط opens و closes رستوران معتبر است.

برای مثال، اگر ساعات داده شده برای تمام سال 2017 اعمال شود، validFrom روی "2017-01-01T00:00:00-07:00" و validThrough روی "2017-12-31T23:59:59-07" تنظیم کنید. :00".

هنگامی که در مشخصات Service استفاده می شود، validFrom تاریخ شروعی را نشان می دهد که از آن زمان می توان سفارشات کاربران را ثبت کرد.

اگر این ویژگی در فید شما مشخص نشده باشد، Google فرض می‌کند که رستوران یا سرویس روزانه در دسترس است.

علاوه بر تاریخ، بخش‌های زمانی و منطقه زمانی مقدار مورد نیاز است.

برای منطقه زمانی، از منطقه زمانی رستوران یا سرویس استفاده کنید.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

validThrough DateTime اختیاری

زمانی که در Restaurant استفاده می شود، تاریخی که پس از آن ساعات کاری مشخص شده توسط opens و closes معتبر نیست.

برای مثال، اگر ساعات داده شده برای تمام سال 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 بعد از ظهر معتبر است.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

deliveryHours Array of ServiceDeliveryHoursSpecification یا آرایه AdvanceServiceDeliveryHoursSpecification مشروط

مشخصات زمان تحویل یا تحویل

این پارامتر مورد نیاز است مگر اینکه رستوران بسته باشد (به این معنی که opens و closes تنظیم شده و با یکدیگر برابر هستند.

  • 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"
      }
    ]
  }
],

جزئیات بسته بندی

زمینه gs1 را برای استفاده از این نوع اضافه کنید: "@context": ["http://gs1.org/voc/", "http://schema.org"] . و FoodBeverageTobaccoProduct به نوع MenuItem یا MenuItemOption اضافه کنید.

جدول زیر ویژگی های نوع PackagingDetails را توضیح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "جزئیات بسته بندی" است.
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". برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.
validThrough DateTime اختیاری تاریخ و ساعت (از جمله منطقه زمانی) که هزینه پرداخت مشخص شده معتبر نیست. به عنوان مثال، "2017-05-01T07:30:00-07:00". زمان validThrough انحصاری است: برای مثال، اگر آن زمان روی 6 بعد از ظهر تنظیم شود، زمان تا 5:59:59 بعد از ظهر معتبر است. برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

مثال زیر یک عنصر 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 مورد نیاز مقدار مرجعی که قیمت معینی برای آن اعمال می شود. برای مثال، referenceQuantity از مقدار 10 با unitCode از "P1" منجر به 10٪ از ارزش سفارش می شود. در حال حاضر فقط unitCode "P1" پشتیبانی می شود.
basePrice شماره اختیاری شارژ پایه علاوه بر referenceQuantity . به عنوان مثال، referenceQuantity 10 با unitCode "P1" و basePrice 5 به دلار منجر به 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 متن مورد نیاز این همیشه "مکان" است.
address PostalAddress مورد نیاز آدرس یک مکان

مثال زیر یک عنصر Place را نشان می دهد:

مثال

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

آدرس پستی

جدول زیر ویژگی های نوع PostalAddress را توضیح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "PostAddress" است.
addressLocality متن الزامی* محل یا شهر. به عنوان مثال، "سان فرانسیسکو".
addressRegion متن الزامی* منطقه یا ایالت. به عنوان مثال، "CA".
postalCode متن الزامی* کد پستی. به عنوان مثال، "94102".
streetAddress متن اختیاری آدرس خیابان به عنوان مثال، "1600 Amphitheatre Pkwy".
addressCountry متن مورد نیاز کد کشور ISO 3166-1 آلفا-2 دو حرفی. به عنوان مثال، "ایالات متحده".

ارائه دهندگان تحویل می توانند این ویژگی ها را فهرست کنند تا یک Service.areaServed که در آن سرویس ارائه می شود، تعیین کنند.

هنگامی که در Restaurant.address استفاده می شود، همه دارایی های فهرست شده در PostalAddress مورد نیاز است.

مثال زیر یک عنصر PostalAddress را نشان می دهد:

مثال

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

مشخصات قیمت

جدول زیر ویژگی های نوع PriceSpecification را توضیح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "PriceSpecification" است.
@id URL اختیاری شناسه برای PriceSpecification .
minPrice شماره اختیاری کمترین قیمت اگر قیمت یک محدوده باشد.
maxPrice شماره اختیاری بالاترین قیمت اگر قیمت یک محدوده باشد.
priceCurrency متن مورد نیاز کد ارز 3 حرفی ISO 4217 قیمت. به عنوان مثال، "USD".
eligibleQuantity QuantitativeValue اختیاری مقادیر سفارشی که مشخصات قیمت برای آنها معتبر است. به عنوان مثال، قیمت ممکن است 2 دلار در هر پوند یا 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 . مثلاً کوچک، متوسط ​​یا بزرگ.
  • "OPTION": هر تغییری غیر از اندازه (مانند غذایی که به عنوان سالاد یا ساندویچ می آید). اگر نمی توانید بین "SIZE" و "OPTION" تمایز قائل شوید، از "OPTION" استفاده کنید.

نام‌های معتبر هنگام استفاده در AddOnMenuItem :

  • "APPLICABLE_ITEM_OPTION": گزینه ای برای addOn که فقط در صورت استفاده با MenuItem با "SIZE/OPTION" مربوطه قابل استفاده است.
  • "PIZZA_SIDE": مخصوص پیتزاها، این افزودنی فقط برای یک قسمت/کل پیتزا (مانند رویه های قارچ در سمت چپ، سمت راست یا پیتزا کامل) معتبر است.
  • "SIZE": گزینه ای برای تعیین اندازه افزودنی (مانند سیب زمینی سرخ شده بزرگ به عنوان افزودنی برای ترکیب غذا).
  • "OPTION": هر گونه تغییری غیر از اندازه. اگر نمی توانید بین "SIZE" و "OPTION" تمایز قائل شوید، از "OPTION" استفاده کنید.
value متن مورد نیاز

ارزش برای گزینه. مقادیر می توانند هر رشته ای باشند و همانطور که هست نمایش داده می شوند. موارد زیر مقادیر معتبر هستند:

  • "PIZZA_SIDE": مقدار مربوطه باید "PIZZA_SIDE_LEFT"، "PIZZA_SIDE_RIGHT"، یا "PIZZA_SIDE_WHOLE" برای یک پیتزا باشد.
  • "APPLICABLE_ITEM_OPTION": این مقدار باید در یکی از گزینه های مربوط به "OPTION/SIZE" برای menuItemOptions MenuItem والد وجود داشته باشد.

مقدار کمی

جدول زیر ویژگی های نوع QuantitativeValue را شرح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "Value کمی" است.
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/somerestaurant".
sameAs URL اختیاری وب سایت رسمی رستوران. به عنوان مثال، "http://www.somerestaurant.com".
email متن اختیاری ایمیل تماس با رستوران
description متن اختیاری توضیحات رستوران.
telephone متن مورد نیاز

شماره تلفن در قالب زیر:

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

به عنوان مثال، "+16501234567".

priceRange متن اختیاری طیف وسیعی از قیمت گذاری مثلا"$$" ($-Inexpensive, $$-متوسط، $$$-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": "$$" ،  "تلفن" : "+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 متن مورد نیاز نوع خدمات ارائه شده مقادیر ممکن "تحویل" یا "برداشت" است.
provider Restaurant مورد نیاز ارجاع به شناسه منحصر به فرد رستوران. به عنوان مثال، "http://www.provider.com/somerestaurant".
areaServed آرایه GeoShape ، Place یا GeoCircle مشروط منطقه جغرافیایی که در آن خدمات ارائه می شود. این فیلد به طور پیش‌فرض اختیاری است، اما اگر serviceType "DELIVERY" باشد، ضروری است.
hoursAvailable آرایه OpeningHoursSpecification مورد نیاز ساعاتی که این سرویس در دسترس است.
specialOpeningHoursSpecification آرایه OpeningHoursSpecification ، ServiceDeliveryHoursSpecification ، یا AdvanceServiceDeliveryHoursSpecification اختیاری

زمان‌هایی که OpeningHoursSpecification کلی‌تر یا زمان‌های تکمیل را لغو می‌کنند. شما معمولاً از این فیلد برای تعریف تعطیلات و انواع دیگر تعطیلی های موقت یا تغییرات ساعت استفاده می کنید.

محدوده تاریخ ویژه را با استفاده از ویژگی های validFrom و validThrough تعریف کنید. زمان و منطقه زمانی هنگام تعیین این ویژگی ها مورد نیاز است.

offers آرایه Offer مشروط

جزئیات در مورد پیشنهاد تحویل برای یک رستوران مشخص. این فیلد به طور پیش‌فرض اختیاری است، اما اگر serviceType "DELIVERY" باشد، ضروری است.

ویژگی Offer.priceSpecification در Service اختیاری است. هیچ ویژگی Offer دیگری در اینجا استفاده نمی شود.

hasOfferCatalog [ Menu ، کاتالوگ پیشنهاد] مورد نیاز

یک منو برای این سرویس مشخص می کند. می‌توانید برای هر یک از خدمات خود (مانند بیرون‌بر، تحویل، و پذیرایی) منوی متفاوتی داشته باشید.

شما باید هر دو Menu و OfferCatalog برای نوع مشخص کنید. به عنوان مثال:

"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 اختیاری

حاوی یک نشانی وب برای سرویس تحویل/برداشت که هنگام انتقال از تجربه سفارش غذای انتها به انتها برای تغییر مسیر استفاده می‌شود. به عنوان مثال، "potentialAction": { "url": "https://fopatestagent.com/ordering/restaurant-1/delivery" }

مثال زیر استفاده از نوع Service را نشان می دهد:

مثال

{
  "@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 است. دستورالعمل های زیر برای استفاده از ویژگی های opens و closes می شود:

  • ویژگی های opens و closes برای ServiceDeliveryHoursSpecification اختیاری هستند، اما ما قویاً توصیه می کنیم که آنها را اضافه کنید.
  • زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار opens یا closes وارد نکنید. اگر منطقه زمانی مشخص شده باشد، گوگل اطلاعات منطقه زمانی را نادیده می گیرد.
  • اگر opens و closes به صراحت مشخص نشده باشد، فرض می کنیم که سفارش ASAP هر روز و همیشه در دسترس است.
  • اگر opens و closes یکسان باشد، فرض می کنیم که سفارش ASAP در دسترس نیست.
  • اگر opens بیشتر از closes باشد، ساعت بسته شدن به روز بعد تعبیر می شود. به عنوان مثال، اگر ساعت کار روی 1 ژانویه در ساعت 5 بعد از ظهر تنظیم شده باشد و ساعت بسته شدن آن 2 بامداد باشد، رستوران به عنوان بسته شدن در 2 ژانویه در ساعت 2 بامداد تعبیر می شود.

جدول زیر ویژگی های نوع ServiceDeliveryHoursSpecification را توضیح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "ServiceDeliveryHoursSpecification" است.
validFrom DateTime اختیاری

تاریخ و ساعت (از جمله منطقه زمانی) که می‌توان سفارشات کاربران را در اسرع وقت انجام داد. به عنوان مثال، "2017-05-01T07:00:00-07:00". اگر این ویژگی تنظیم نشده باشد، فرض می شود که هر روز معتبر است.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

validThrough DateTime اختیاری

تاریخ و ساعت (از جمله منطقه زمانی) که پس از آن سفارشات کاربران در اسرع وقت انجام نمی شود. به عنوان مثال، "2017-05-01T07:00:00-07:00". اگر این ویژگی تنظیم نشده باشد، فرض می شود که هر روز معتبر است.

زمان validThrough انحصاری است. به عنوان مثال، اگر آن زمان روی 6 بعد از ظهر تنظیم شده باشد، زمان تا 5:59:59 بعد از ظهر معتبر است.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

opens Time اختیاری

زمانی که در آن خدمات تحویل شروع می شود تا سفارشات کاربران در اسرع وقت انجام شود. به عنوان مثال، "T10:30:00".

زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار opens لحاظ نکنید. اگر منطقه زمانی مشخص شده باشد، گوگل این اطلاعات را نادیده می گیرد.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

closes Time اختیاری

زمانی که سرویس تحویل سفارشات ASAP کاربران دیگر در دسترس نیست. به عنوان مثال، "T23:59:59".

زمان closes اختصاصی است. بنابراین، اگر بازها/بسته‌ها را برای این ServiceDeliveryHoursSpecification روی ساعت 10 صبح و 4 بعد از ظهر تنظیم کنید، آنگاه آخرین سفارش 3:59:59 بعد از ظهر است.

زمان سرویس باید در زمان محلی مشخص شود. منطقه زمانی را در مقدار closes لحاظ نکنید. اگر منطقه زمانی مشخص شده باشد، گوگل این اطلاعات را نادیده می گیرد.

برای اطلاعات بیشتر، به قالب‌های DateTime و Time مراجعه کنید.

dayOfWeek آرایه DayOfWeek اختیاری

روزهای هفته که این سرویس برای سفارشات ASAP کاربران در دسترس است. موارد زیر مقادیر معتبر هستند:

  • "دوشنبه"
  • "سه شنبه"
  • "چهارشنبه"
  • "پنجشنبه"
  • "جمعه"
  • "شنبه"
  • "یکشنبه"

اگر هیچ روزی از هفته را مشخص نکنید، ServiceDeliveryHoursSpecification برای همه روزها اعمال می شود.

deliveryLeadTime QuantitativeValue اختیاری زمان تخمینی تحویل، بر حسب دقیقه، پس از ثبت سفارش. ما قویاً توصیه می کنیم که این ویژگی را تنظیم کنید. فیلد value QuantitativeValue را به تعداد دقیقه و 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"
  }
}
    

Enums

رژیم غذایی محدود

نوع 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