طرح موجودی 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 را نشان می دهد:

{
  "@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"
      }
    }
  ]
}
{
  "@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 هستند:

{
  "@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"
      }
    }
  ]
}
"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
  }
}

یک آیتم منوی "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 را نشان می‌دهند:

"offers": {
  "@type":"Offer",
  "priceSpecification":[
    {
      "@type": "DeliveryChargeSpecification",
      "price": "5.0",
      "priceCurrency": "USD"
    }
  ]
}
"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
    }
  }
]
"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 کیلومتر مسافت اضافی است
priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]
priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]
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%
  }
]
priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.10" //$5 + $0.1
  }
priceSpecification [
  {
    "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "7.00", // 5% + 2%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  },
]
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 را نشان می‌دهند:

{
  "@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": "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]
},
{
  "@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 را نشان می دهد:

{
  "@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"
}

این مثال 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"
      }
    }
  ]
}

این مثال 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 را نشان می‌دهند:

"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"
}
"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": "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 --
          ]
        }
      ]
    }
  ]
}
{
  "@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"
      }
    }
  ]
}
{
  "@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 را نشان می دهد:

{
  "@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"
      }
    }
  ]
}
{
  "@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 را نشان می‌دهند:

{
  "@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"
  }
}
"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 را نشان می‌دهند:

"nutrition": {
  "@type": "NutritionInformation",
  "calories": "170 Cal",
  "fatContent": "3 g",
  "fiberContent": "2 g",
  "proteinContent": "4 g"
},
{
  "@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 نشان می‌دهند:

مثال زیر یک پیشنهاد ساده را نشان می دهد:

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

پیشنهاد نمونه زیر در دسترس بودن را از ساعت 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.
}

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

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

مثال زیر پیشنهاد تحویل را در یک مکان خاص نشان می دهد:

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

بازپرداخت

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

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

در جدول زیر خواص نوع OpeningHoursSpecification است:

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

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

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

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

opens Time اختیاری

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

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

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

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

closes Time اختیاری

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

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

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

validFrom DateTime اختیاری

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

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

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

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

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

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

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

validThrough DateTime اختیاری

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

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

در صورت استفاده در مشخصات Service ، validThrough نشانگر تاریخ پایان فراتر از آن است که دیگر سفارشات کاربران را نمی توان قرار داد.

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

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

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

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

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

deliveryHours مجموعه ای از ServiceDeliveryHoursSpecification یا مجموعه ای از AdvanceServiceDeliveryHoursSpecification مشروط

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

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

  • ServiceDeliveryHoursSpecification : در ساعت های افتتاحیه و بسته شدن ، می توانید ساعت ها را "باز" ​​و "بسته شدن" تنظیم کنید که کاربران بتوانند سفارشات ASAP را قرار دهند.
  • AdvanceServiceDeliveryHoursSpecification : در ساعات افتتاح/بسته شدن ، می توانید ساعت ها را "باز" ​​و "بسته شدن" تنظیم کنید که کاربران بتوانند سفارشات پیش رو را تنظیم کنند.

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

// 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"
    }
  ]
}
"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"
    }
  }
},
// 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 متن مورد نیاز این همیشه "PackagingDetails" است.
packagingRecyclingProcessType متن اختیاری بسته بندی نوع فرآیند بازیافت در هر GS1: PackageGrecyclingProcessTypecode . به عنوان مثال http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE یا http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
hasReturnablePackageDeposit ReturnablePackageDepositDetails اختیاری جزئیات سپرده بسته قابل برگشت در هر GS1: بازگرداندن packagedepositdetails . به عنوان مثال ، بطری ها و قوطی ها دارای سپرده بسته قابل برگشت هستند.

مثال زیر استفاده از نوع 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 پرداخت شده است:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "پرداخت هزینه" است.
@id URL اختیاری شناسه PaymentChargeSpecification .
price شماره مورد نیاز مقدار کل هزینه. به عنوان مثال ، "6.00" ، بدون نماد ارز.
priceCurrency متن مورد نیاز کد ارز ISO 4217 3 حرف از قیمت. به عنوان مثال ، "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 مراجعه کنید.

مثال زیر یک عنصر تخفیف پرداخت را نشان می دهد:

مثال
"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"] ، می توان شیء را با تصحیح واحد ( "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"] ). این پسوند به دو خاصیت اضافی مورد نیاز برای هزینه خدمات محاسبه شده در درصد می دهد.

دارایی تایپ کنید ضرورت توضیحات
referenceQuantity QuantitativeValue مورد نیاز مقدار مرجع که قیمت خاصی برای آن اعمال می شود. به عنوان مثال ، referenceQuantity ارزش 10 با unitCode "P1" منجر به 10 ٪ از مقدار سفارش می شود. فقط unitCode "P1" در حال حاضر پشتیبانی می شود.
basePrice شماره اختیاری هزینه پایه علاوه بر referenceQuantity . به عنوان مثال ، referenceQuantity 10 با unitCode "P1" و basePrice 5 در USD منجر به 5 + 10 ٪ از مقدار سفارش می شود. مقدار پیش فرض 0 است.

نمونه های هزینه دریافت

Google به شما امکان می دهد انواع مختلفی از هزینه ها را برای کاربران پیش فرض با استفاده از Offer.PriceSpecification از خدمات سرویس مشخص کنید.

توجه داشته باشید که ما در حال حاضر فقط از یک PaymentChargeSpecification پشتیبانی می کنیم. همه نوع هزینه ها را در یک PaymentChargeSpecification واحد ترکیب کنید

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

  • مثال 1: هزینه خدمات 5 ٪ از سبد سبد خرید است
  • مثال 2: هزینه خدمات 5 دلار است
  • مثال 3: هزینه کیسه 0.1 دلار و هزینه خدمات 5 ٪ از سبد خرید است
  • مثال 4: هزینه کیسه 0.1 دلار و هزینه خدمات 1 دلار است
  • مثال 5: هزینه خدمات 5 ٪ و نکته مورد نیاز 10 ٪ از سبد سبد خرید است
priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]
priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "5.00"
  }
]
priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "5.00", // 5%
      "unitCode": "P1", // P1 == %
    },
    "priceCurrency": "USD",
    "basePrice": "0.10" // Bag fee $0.1
  }
]
priceSpecification [
  {
    "@type": ["PaymentChargeSpecification"],
    "priceCurrency": "USD",
    "price": "1.10" //$1 + $0.1
  }
]
priceSpecification [
  {
    "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"],
    "referenceQuantity": {
      "@type": "QuantitativeValue",
      "value": "15.00", // 5% + 10%
      "unitCode": "P1" // P1 == %
    },
    "priceCurrency": "USD"
  }
]

مکان

جدول زیر خصوصیات نوع Place را شرح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "مکان" است.
address PostalAddress مورد نیاز آدرس یک مکان

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

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

پست

جدول زیر خصوصیات نوع PostalAddress را شرح می دهد:

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "postaladdress" است.
addressLocality متن الزامی* محل یا شهر. به عنوان مثال ، "سان فرانسیسکو".
addressRegion متن الزامی* منطقه یا ایالت به عنوان مثال ، "CA".
postalCode متن الزامی* کد پستی به عنوان مثال ، "94102".
streetAddress متن اختیاری آدرس خیابان به عنوان مثال ، "1600 آمفی تئاتر PKWY".
addressCountry متن مورد نیاز کد کشور ISO 3166-1 ALPHA-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 متن مورد نیاز این همیشه "تأمین اعتبار" است.
@id URL اختیاری شناسه برای PriceSpecification .
minPrice شماره اختیاری اگر قیمت محدوده باشد ، کمترین قیمت.
maxPrice شماره اختیاری بالاترین قیمت اگر قیمت محدوده باشد.
priceCurrency متن مورد نیاز کد ارز ISO 4217 3 حرف از قیمت. به عنوان مثال ، "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 متن مورد نیاز این همیشه "PropertValue" است.
name متن مورد نیاز

نام یا نوع گزینه.

موارد زیر در هنگام استفاده در MenuItem نام های معتبر هستند:

  • "اندازه": اندازه MenuItem . به عنوان مثال ، کوچک ، متوسط ​​یا بزرگ.
  • "گزینه": هرگونه تغییر غیر از اندازه (مانند ظرف که به عنوان سالاد یا ساندویچ می آید). اگر نمی توانید بین "اندازه" و "گزینه" تمایز قائل شوید ، از "گزینه" استفاده کنید.

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

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

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

  • "Pizza_side": مقدار مربوطه باید "pizza_side_left" ، "pizza_side_right" یا "pizza_side_whole" برای پیتزا باشد.
  • "Applicable_Item_Option": این مقدار باید در یکی از گزینه های مربوط به "گزینه/اندازه" مربوطه برای MenuItem والدین وجود داشته باشد.

مقدار کمی

در جدول زیر خصوصیات نوع QuantitativeValue :

اموال تایپ کنید ضرورت توضیحات
@type متن مورد نیاز این همیشه "کمی Value" است.
value شماره اختیاری مقدار مقدار کمی یا گره مقدار خاصیت.
unitCode متن یا URL اختیاری

واحد اندازه گیری به عنوان کد مشترک UN/CEFACT یا URL.

کدهای غیر از کد مشترک UN/CEFACT ممکن است با پیشوند و به دنبال آن یک روده بزرگ استفاده شود.

maxValue شماره اختیاری ارزش بالایی برخی از ویژگی ها یا خاصیت.
minValue شماره اختیاری مقدار پایین برخی از ویژگی ها یا خاصیت.

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

"deliveryLeadTime": {
  "@type": "QuantitativeValue",
  "value": "60",
  "unitCode": "MIN"
}
"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
  }
}
"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:

{
  "@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 " : [    " هندی - مکزیکی همجوشی "  ] } ، 
{
  "@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 متن مورد نیاز این همیشه "بازگرداندن packagedepositdetails" است.
returnablePackageDepositAmount gs1:PriceSpecification اختیاری مقدار سپرده برای این مورد در هر GS1: Pricespection . به عنوان مثال ، سپرده 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 "تحویل" باشد ، لازم است.
hoursAvailable آرایه ای از OpeningHoursSpecification مورد نیاز ساعاتی که در طی آن این سرویس در دسترس است.
specialOpeningHoursSpecification آرایه ای از OpeningHoursSpecification ، ServiceDeliveryHoursSpecification ، یا AdvanceServiceDeliveryHoursSpecification اختیاری

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

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

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

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

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

hasOfferCatalog [ Menu ، ارائه دهنده] مورد نیاز

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

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

"hasOfferCatalog": {
"@type": ["Menu", "OfferCatalog"],
"@id": "https://www.provider.com/restaurant/menu/1"
}
additionalProperty آرایه {نام ، مقدار} اختیاری

اطلاعات پیکربندی خدمات اختیاری. انتظار می رود موارد با name کلید مربوط به نام فیلد اختیاری یک شی باشد. value کلیدی یک مقدار مرتبط با متن برای این زمینه است.

برای اطلاعات بیشتر در مورد نام ها و مقادیر خاص ، به مرجع ServingConfig مراجعه کنید.

"additionalProperty": [{
  "name": "disableOrderInstructions",
  "value": false
}, {
  "name": "disableMenuItemSpecialInstructions",
  "value": false
}, {
  "name": "disableTipWidget",
  "value": false
}, {
  "name": "disablePromoWidget",
  "value": false
}, {
  "name": "menuItemSpecialInstructionsMaxLength",
  "value": 256
}, {
  "name": "orderInstructionsMaxLength",
  "value": 256
}]
potentialAction URL اختیاری

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

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

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

برای نمونه های بیشتر از اشخاص خدماتی ، به نمونه های خوراک خدمات مراجعه کنید.

ServiceLiveryHoursSpection

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

به طور معمول ، مقدار opens کمتر از مقدار closes است. دستورالعمل های زیر برای استفاده از خواص opens و closes اعمال می شود:

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

در جدول زیر خواص نوع ServiceDeliveryHoursSpecification :

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

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

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

validThrough DateTime اختیاری

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

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

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

opens Time اختیاری

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

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

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

closes Time اختیاری

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

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

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

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

dayOfWeek مجموعه ای از DayOfWeek اختیاری

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

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

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

deliveryLeadTime QuantitativeValue اختیاری زمان تحویل تخمین زده می شود ، در عرض چند دقیقه ، پس از قرار دادن سفارش. ما اکیداً توصیه می کنیم که این ویژگی را تنظیم کنید. میدان value QuantitativeValue را روی تعداد دقیقه ها و unitCode قرار دهید.

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

{
  "@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"
  }
},
{
  "@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