الإصدار 1 من مخطط المستودع

تستند خلاصات كتالوجات المأكولات إلى كيانات DataFeed على schema.org. تتكون خلاصة كتالوج الطعام من تفاصيل منطقة المطعم مثل عنوان المطعم وقائمة الطعام والموقع، بالإضافة إلى تفاصيل خدمة المطعم مثل رسوم التوصيل ومناطق التوصيل والعناصر الأخرى على النحو المحدّد أدناه.

تحتوي السمة DataFeed على مجموعة من العناصر، ويمثّل كل عنصر عنصرًا واحدًا يتم التعبير عنه في مفردات schema.org. يمكنك استخدام النوع DataFeed لنشر كل بياناتك المنظَّمة بتنسيق JSON-LD.

للحصول على معلومات عن كيفية استخدام هذه المواصفات لإنشاء خلاصاتك، يمكنك الاطّلاع على المقالة نظرة عامة على دمج المستودع.

تنسيقات التاريخ والوقت

يستند الترميز DateTime إلى نوع schema.org، ويجب أن يتّبع تنسيق ISO 8601، ما لم يُذكر خلاف ذلك، ويتضمن التاريخ والوقت والمنطقة الزمنية. استخدم البنية التالية لـ DateTime:

// DateTime format:
YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]

مثال:

2017-05-01T06:30:00-07:00 // UTC minus 7 hours
2017-05-01T06:30:00Z  // UTC time zone. The optional "Z" suffix represents the UTC time zone.

Time هو التوقيت المحلي للمنطقة الزمنية لمطعم أو خدمة معيّنة، ويستند أيضًا إلى نوع schema.org، ويجب أيضًا اتّباع تنسيق ISO 8601. يستخدم الوقت الصيغة التالية:

// Time format:
THH:MM:SS

مثال:

T08:08:00 // 8:08 AM

عليك مراعاة ما يلي عند تحديد DateTime أو Time:

  • وتكون البادئة "T" قبل الوقت جزءًا من التنسيق وهي مطلوبة.
  • يجب تحديد المنطقة الزمنية لـ DATETIME. وهي ليست مطلوبة للسمة TIME.
  • يجب تحديد الوقت بالتوقيت المحلي للمطعم أو الخدمة.

ظرف

يجب أن يتضمّن رمز البدء لأي خلاصة لكتالوج الطعام قسم "مغلف".

"المغلف" هو بنية المستوى الأعلى لكل خلاصة، ويجب أن يكون DataFeed مع السمات التالية:

الموقع النوع ضرورة الوصف
@context عنوان URL مطلوبة السياق قيد الاستخدام، ويكون عادةً "http://schema.googleapis.com".
@type النص مطلوبة وتكون دائمًا "DataFeed" (خلاصة البيانات).
dateModified DateTime مطلوبة

تمثّل هذه السمة آخر تعديل DateTime لخلاصة البيانات، بالتنسيق ISO 8601.

التاريخ والوقت بتنسيق ISO_OFFSET_DATE_TIME تم تعديل العناصر فيه في هذه الخلاصة. في حال عدم توفّر هذا الحقل، يُفترض أن يكون وقت التحديث هو الوقت الذي يتم فيه استلام الرسالة الفورية (أو يتم الزحف إليها) على خوادم Google.

ننصحك بشدة بتنفيذ هذا الإجراء إذا كنت تستخدم وظيفتَي الدفع والزحف معًا. ويجب تحديد هذا الطابع الزمني باستخدام منطقة زمنية ودقة بالمللي ثانية، على سبيل المثال "2016-12-28T06:30:00:123-07:00".

في الخلاصات المجمّعة، يتم تحديد إصدارات الكيان من خلال الحقل dateModified في غلاف الخلاصة.

dataFeedElement مصفوفة Menu أو Restaurant أو Service مطلوبة يشكّل عنصر واحد أو أكثر جزءًا من هذه الخلاصة. انظر أدناه للاطّلاع على التفاصيل.

يوضح المثال التالي المغلف:

مثال

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

AdditiveDetails

لاستخدام هذا النوع، أضِف السياق gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

بعد ذلك، أضِف FoodBeverageTobaccoProduct إلى نوع MenuItem أو MenuItemOption المناسب.

يوضّح الجدول التالي سمات النوع AdditiveDetails:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويكون دائمًا "AdditiveDetails".
additiveName النص اختياري اسم المضاف.
additiveLevelOfContainment النص اختياري رمز الاحتواء لكل gs1:LevelOfContainmentCode. على سبيل المثال، http://gs1.org/voc/LevelOfContainmentCode-CONTAINS أو http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM أو http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN.

يوضّح المثال التالي استخدام النوع AdditiveDetails:

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

AddOnMenuItem

صنف طعام أو مشروب مُدرَج في عنصر قائمة إضافي في MenuItem

يعرض الجدول التالي سمات النوع AddOnMenuItem:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويكون دائمًا هو "AddOnالقائمةItem".
@id عنوان URL مطلوبة معرّف فريد لعنصر قائمة الإضافة
name النص مطلوبة نص يحدِّد AddOnالقائمةItem عند تصفّح المستخدم للقائمة.
description النص اختياري وصف عنصر قائمة الإضافة
image عنوان URL اختياري

صورة عنصر قائمة الإضافة التي تتوافق مع الإرشادات التالية:

  • نسبة العرض إلى الارتفاع 3:2
  • >
  • الحد الأدنى لدرجة الدقة 600 × 400 بكسل، 72 نقطة لكل بوصة
  • >
  • درجة الدقة الموصى بها 1400 × 960 بكسل، 72 نقطة لكل بوصة
offers مصفوفة Offer مطلوب*

عرض واحد أو أكثر لتقديم عنصر AddOnالقائمة هذا.

يصف هذا الحقل متى وسعر العنصر الإضافي AddOnالقائمة. يجب أن يكون عرض واحد فقط صالحًا في كل مرة. يمكنك تقديم العديد من العروض الصالحة إذا تغيّر السعر أو مدى التوفّر استنادًا إلى الوقت من اليوم. عندما تختلف الإضافة أو السلعة من خلال سمة أساسية أو صيغة مختلفة لعنصر الإضافة نفسه (مثل البطاطا المقلية الصغيرة والمتوسطة والكبيرة كإضافة)، يمكنك استخدام السمة hasMenuItemOption.

القيمة التلقائية للسمة Offer.eligibleQuantity هي 0 كحد أدنى و1 كحد أقصى.

يتم استخدام سمات Offer التالية في AddOnالقائمةItem:

  • العدد المطلوب: 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 اختياري يمكن أن يشتمل AddOnقائمةItem على قسم قائمة يتكوّن من العناصر المسموح بها والتي يمكن إضافتها كإضافة.

يوضّح المثال التالي AddOnMenuItem:

مثال 1

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

مثال 2

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

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

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

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

AddOnMenuSection

مجموعة فرعية من عناصر الطعام أو المشروبات كقسم قائمة إضافي لعنصر القائمة.

يعرض الجدول التالي سمات النوع AddOnMenuSection:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويكون هذا دائمًا "AddOnListSection".
@id عنوان URL مطلوبة المعرّف الفريد لقسم القائمة
name النص مطلوبة نص يمكن أن يتعرّف على AddOnListSection في أثناء تصفّح المستخدم للقائمة.
description النص اختياري تمثّل هذه السمة وصف قسم القائمة.
eligibleQuantity QuantitativeValue اختياري تشير هذه السمة إلى عدد العناصر المسموح باستخدامها كإضافة لقسم القائمة هذا. يمكنك استخدام هذا الحقل لفرض قيود على عدد الإضافات، مثل الحد الأدنى والأقصى لعدد الإضافات التي يمكنك اختيارها للبيتزا.
image عنوان URL اختياري صورة قسم القائمة
hasMenuItem مصفوفة AddOnMenuItem مطلوب* عناصر قائمة الوظائف الإضافية الموجودة في AddOn Menusection.
offers مصفوفة Offer اختياري

استخدِم Offer.availabilityStarts وOffer.availabilityEnds للإشارة إلى الفترة الزمنية التي تتوفّر خلالها هذه الميزة في AddOnالقائمة.

تعرض القائمة أدناه سمات Offer التي يتم استخدامها في AddOnListSection.

  • Offer.availabilityStarts اختياري
  • Offer.availabilityEnds اختياري
  • Offer.availableDay اختياري
  • Offer.validFrom اختياري
  • Offer.validThrough اختياري
hasMenuSection مصفوفة AddOnMenuSection مطلوب* التجميع المنطقي لقائمة الإضافات (مثل العشاء أو المقبلات أو أطباق السمك)
defaultOption مصفوفة AddOnMenuItem اختياري

عناصر قائمة الإضافات التي سيتم اختيارها تلقائيًا للمستخدمين في AddOnMenuSection. يمكن للمستخدمين تغيير الاختيارات النهائية. إذا لم يتم تحديد defaultOption، لن يتم اختيار AddOnMenuItem مسبقًا.

يجب أن تتوفر عناصر AddOnMenuItem في hasMenuItem من AddOnMenuSection.

لا يمكن أن يتجاوز عدد defaultOption الحدّ الأقصى eligibleQuantity من AddOnMenuSection.

numberOfFreeAddOns العدد اختياري يشير إلى عدد الإضافات التي يمكن للمستخدم اختيارها بدون أي رسوم.

تتضمّن الأمثلة التالية كائنات AddOnMenuSection:

مثال 1

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

مثال 2

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

مثال 3

يحتوي أحد أصناف القائمة "ساندويتش الجبن" على "خيار الجبنة" AddOnMenuSection مع اختيار "السويسري" و "موزاريلا" مسبقًا كإعداد تلقائي.

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

AdvanceServiceDeliveryHoursSpecification

يمثل ساعات التنفيذ للمستخدمين لجدولة الطلبات المسبقة للتوصيل والتصدير.

عادةً ما تكون قيمة opens أقل من قيمة closes. وتسري الإرشادات التالية على استخدام السمتَين opens وcloses:

  • السمتان opens وcloses اختياريتان للسمة AdvanceServiceDeliveryHoursSpecification، ولكنّنا ننصحك بتضمينهما بشدة.
  • يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تُدرِج منطقة زمنية في القيمة opens أو closes. ويتم تجاهل المناطق الزمنية المحدّدة.
  • إذا لم يتم تحديد opens وcloses بشكل صريح، نفترض أنّ الطلب المسبق متاح في جميع الأيام وفي جميع الأوقات.
  • إذا كان opens وcloses متطابقَين، نفترض أنّ الطلب المسبق غير متاح.
  • وإذا كانت قيمة السمة opens أكبر من closes، يتم تفسير ساعة الإغلاق على أنّها في اليوم التالي. على سبيل المثال، إذا تم ضبط ساعة الفتح على 1 يناير الساعة 5 مساءً وساعة الإغلاق هي 2 صباحًا، سيتم تفسير المطعم على أنّه يغلق في 2 يناير الساعة 2 صباحًا.
  • يشير opens وcloses إلى الخانة الزمنية المستقبلية. closes حصرية. على سبيل المثال، إذا كانت مدّة opens هي 10 صباحًا وcloses 4 مساءً وتبلغ مدّة serviceTimeInterval 15 دقيقة، ستبدأ خانة الوقت الأولى في الساعة 10 صباحًا وآخر خانة الوقت تبدأ في الساعة 3:45 بعد الظهر.

ويوضّح الجدول التالي سمات النوع AdvanceServiceDeliveryHoursSpecification:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويكون دائمًا خيار "AdvanceServiceDeliveryHoursSpecification".
validFrom DateTime الجملة الشرطية

تمثّل هذه السمة تاريخ البدء الذي يمكن من خلاله توصيل الطلبات المسبقة المقدّمة للمستخدمين. على سبيل المثال، "2017-05-01T00:00:00-07:00".

إذا لم يتم ضبط هذه السمة، سيُفترض أنّها صالحة كل يوم. يجب أن تكون السمتان validFrom وvalidThrough غير متوفّرتَين أو متضمّنتَين معًا.

إذا تم تحديد هذا النوع على أنّه specialOpeningHoursSpecification على مستوى Service، يجب استخدام سمة validFrom في AdvanceServiceDeliveryHoursSpecification.

لمزيد من المعلومات، يُرجى الاطّلاع على تنسيقات التاريخ والوقت.

validThrough DateTime اختياري

تاريخ الانتهاء الذي يتعذّر بعده تنفيذ الطلبات المسبقة المقدّمة للمستخدمين على سبيل المثال، "2018-12-01T00:00:00-07:00".

إذا لم يتم ضبط هذه السمة، سيُفترض أنّها صالحة كل يوم. يجب أن تكون السمتان validFrom وvalidThrough غير متوفّرتَين أو متضمّنتَين معًا.

إذا تم تحديد هذا النوع على أنّه specialOpeningHoursSpecification على مستوى Service، يجب استخدام السمة validThrough في AdvanceServiceDeliveryHoursSpecification.

موعد validThrough حصري. مثلاً، إذا تم ضبط ذلك الوقت على 6 مساءً، يكون الوقت صالحًا حتى 5:59:59 مساءً.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

opens Time اختياري

ينطبق هذا الإعداد على خانات التوصيل أو التصدير.

تمثّل هذه السمة الوقت المحدّد من اليوم الذي يمكن من خلاله توصيل الطلبات المسبقة التي يجريها المستخدمون. مثلاً، تكون الساعة 6:30 صباحًا على النحو التالي: "T06:30:00".

يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تضمِّن منطقة زمنية في القيمة opens. في حال تحديد منطقة زمنية، يتجاهل محرّك بحث Google هذه المعلومات.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

closes Time اختياري

ينطبق هذا الإعداد على خانات التوصيل أو التصدير.

تمثّل هذه السمة الوقت المحدّد من اليوم الذي يتعذّر بعده تنفيذ الطلبات المسبقة الخاصة بالمستخدمين. مثلاً، يتم تحديد الساعة 9:00 مساءً على النحو التالي: "T21:00:00". إنّ توقيت closes> حصري، وبالتالي فإنّ ضبطه على الساعة 9:00 مساءً لمدة serviceTimeInterval من 15 دقيقة يعني أنّ آخر خانة زمنية متاحة تبدأ في الساعة 8:45 مساءً.

يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تضمِّن منطقة زمنية في القيمة closes. في حال تحديد منطقة زمنية، يتجاهل محرّك بحث Google هذه المعلومات.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

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 دقيقة على الأقل لتنفيذه وتم حظر توصيله بعد أكثر من يومَين، تكون قيمة 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"
  }
}

AllergenDetails

لاستخدام هذا النوع، أضِف السياق gs1: "@context": ["http://gs1.org/voc/", "http://schema.org"]

بعد ذلك، أضِف FoodBeverageTobaccoProduct إلى نوع MenuItem أو MenuItemOption المناسب.

يوضّح الجدول التالي سمات النوع AllergenDetails:

الموقع النوع ضرورة الوصف
@type النص مطلوبة دائمًا ما يكون العنوان "AllergenDetails".
allergenType النص اختياري نوع مسبب الحساسية وفقًا لكل gs1:AllergenTypeCode . مثلاً: http://gs1.org/voc/AllergenTypeCode-PEANUTS
allergenLevelOfContainmentCode النص اختياري رمز الاحتواء لكل gs1:LevelOfContainmentCode. على سبيل المثال، http://gs1.org/voc/LevelOfContainmentCode-CONTAINS أو http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM أو http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN.

يوضّح المثال التالي استخدام النوع AllergenDetails:

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

DeliveryChargeSpecification

ويوضّح الجدول التالي سمات النوع DeliveryChargeSpecification:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويجب أن يكون دائمًا اسم "DeliveryChargeSpecification".
@id عنوان URL اختياري معرّف لمواصفات رسوم التسليم
price العدد مطلوبة تمثل هذه الخاصية التكلفة الإجمالية للتوصيل كقيمة عددية فقط. استخدِم السمة priceCurrency للدلالة على نوع العملة بدلاً من رموز العملات. على سبيل المثال، "6.00"، بدون رمز العملة.
priceCurrency النص مطلوبة تمثّل هذه السمة رمز العملة بالتنسيق ISO 4217 المكوَّن من 3 أحرف. على سبيل المثال، "SAR".
eligibleTransactionVolume PriceSpecification اختياري حجم المعاملات في الوحدة النقدية التي تكون مواصفات رسوم التسليم هذه صالحة لها. على سبيل المثال، للإشارة إلى حدّ أدنى من حجم الشراء أو للإشارة إلى أنّ الشحن متاح بدون رسوم إضافية يتخطّى حجم طلب معيّن.
eligibleQuantity QuantitativeValue اختياري الفاصل الزمني ووحدة قياس طلبات الكميات التي تكون رسوم التسليم صالحة لها. ويتيح لك ذلك، على سبيل المثال، تحديد أنّ رسوم شحن معيّنة صالحة لكمية محدّدة فقط.
eligibleRegion مصفوفة GeoShape أو Place أو GeoCircle اختياري المكان، أو GeoShape/GeoCircle للمنطقة أو المناطق الجغرافية السياسية التي تكون مواصفات رسوم العرض أو التسليم فيها صالحة. لا تستخدِم هذه السمة إلا إذا كانت رسوم التوصيل تختلف حسب المنطقة.
validFrom DateTime اختياري التاريخ والوقت (بما في ذلك المنطقة الزمنية) الذي تصبح فيه رسوم التسليم المحدّدة صالحة. على سبيل المثال، "2017-05-01T06:30:00-07:00". للحصول على مزيد من المعلومات، يمكنك الاطّلاع على تنسيقات التاريخ والوقت.
validThrough DateTime اختياري التاريخ والوقت (بما في ذلك المنطقة الزمنية) اللذَين لا تكون رسوم التسليم المحدّدة بعدهما صالحة. على سبيل المثال، "2017-05-01T06:30:00-07:00". يكون الوقت في validThrough حصريًا: على سبيل المثال، إذا كان الوقت مضبوطًا على 6 مساءً، يكون الوقت صالحًا حتى 5:59:59 مساءً. لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

تعرض الأمثلة التالية عناصر DeliveryChargeSpecification:

مثال 1

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

مثال 2

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

مثال 3

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

بالإضافة إلى "@type": ["DeliveryChargeSpecification"]، يمكن تمديد الكائن باستخدام UnitPriceSpecification:

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

يوفّر الامتداد خاصيتَين إضافيتَين مطلوبتَين لرسوم التسليم التي يتم احتسابها بالنسب المئوية.

الموقع النوع ضرورة الوصف
referenceQuantity QuantitativeValue مطلوبة الكمية المرجعية التي ينطبق عليها سعر معيّن على سبيل المثال، إذا كانت قيمة referenceQuantity للسمة 10 مع قيمة unitCode للقيمة P1، هي% 10 من قيمة طلب الشراء. لا يمكن استخدام سوى unitCode "P1" في الوقت الحالي.
basePrice العدد اختياري الرسوم الأساسية بالإضافة إلى referenceQuantity. على سبيل المثال، إذا كانت قيمة referenceQuantity من 10 مع unitCode للقيمة "P1" وbasePrice من 5 بالدولار الأمريكي، تكون النتيجة 5 دولار أمريكي + 10% من قيمة طلب الشراء. القيمة التلقائية هي 0.

أمثلة على رسوم التسليم

تسمح لك Google بتحديد مجموعة متنوعة من الرسوم للمستخدمين مقدمًا باستخدام Offer.PriceSpecification لكيان الخدمة.

تجدر الإشارة إلى أنّ وضع الطلب التام بين الأطراف يتيح حاليًا استخدام نوع DeliveryChargeSpecification واحد فقط. يجب أن تجمع كل أنواع الرسوم في DeliveryChargeSpecification واحدة.

راجِع أمثلة على خلاصات الخدمة لمعرفة كيفية تحديد رسوم التسليم استنادًا إلى المنطقة والمسافة وقيمة طلب الشراء.

إذا لم تكن هناك أي رسوم، يتم حذف السمة Offer.PriceSpecification.

  • المثال 1: رسوم التسليم هي 5% من الإجمالي الفرعي لسلة التسوّق
  • المثال 2: رسوم التسليم هي 5 دولار أمريكي
  • المثال 3: رسوم التسليم هي 5 دولار أمريكي +% 10 من الإجمالي الفرعي لسلة التسوّق
  • المثال 4: رسوم التسليم 5 دولار أمريكي ورسوم الحقائب 0.1 دولار
  • المثال 5: رسوم التسليم هي 5% ورسوم الراحة هي 2% من الإجمالي الفرعي لسلة التسوق.
  • المثال 6: تبلغ رسوم التسليم 5 دولار أمريكي ودولار أمريكي واحد لكل مسافة إضافية تبلغ كيلومتر واحد.

مثال 1

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

مثال 2

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

مثال 3

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

مثال 4

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

المثال الخامس

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

مثال 6

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

GeoCircle

يوضّح الجدول التالي سمات النوع GeoCircle:

الموقع النوع ضرورة الوصف
@type النص مطلوبة وهي دائمًا "GeoCircle".
geoMidpoint GeoCoordinates مطلوبة تشير هذه السمة إلى الرمز GeoCoordinates في منتصف GeoCircle.
geoRadius العدد مطلوبة يشير إلى نصف القطر التقريبي (بالمتر) لجهاز GeoCircle.

يعرض المثال التالي عنصر GeoCircle:

مثال

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

GeoCoordinates

يوضّح الجدول التالي سمات النوع GeoCoordinates:

الموقع النوع ضرورة الوصف
@type النص مطلوبة وهذا هو دائمًا "GeoCoordinates".
latitude العدد مطلوبة

خط العرض بالدرجات. تقتصر القيم على النطاق الذي يتراوح بين -90 و90، بشكل شامل. إذا كانت القيمة المحددة أقل من -90، يتم ضبطها على -90، وإذا كانت القيمة أكبر من 90، يتم ضبطها على 90.

يجب ألا تقل الدقة عن 5 خانات عشرية.

longitude العدد مطلوبة

خط الطول بالدرجات. ويتم لفّ القيم التي تقع خارج النطاق الذي يتراوح بين -180 و180 بحيث تندرج ضمن النطاق. على سبيل المثال، يتم تحويل القيمة -190 إلى 170. يتم تحويل القيمة 190 إلى -170. ويعكس ذلك التفاف خطوط الطول حول العالم.

يجب ألا تقل الدقة عن 5 خانات عشرية.

يعرض المثال التالي عنصر GeoCoordinates:

مثال

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

GeoShape

يوضّح الجدول التالي سمات النوع GeoShape:

الموقع النوع ضرورة الوصف
@type النص مطلوبة يكون هذا دائمًا "GeoShape".
polygon مصفوفة نص مطلوبة

مضلّع أو مضلّع متعدد المضلعات كسلسلة من ثلاث نقاط أو أكثر مفصولة بمسافات. من المستحسن أن تكون النقطتان الأولى والأخيرة متطابقتَين، ولكنّ ذلك ليس إلزاميًا.

تُحدَّد كل نقطة في المضلّع أو المضلّع المتعدد بنقطة خط عرض متبوعة بنقطة خط طول. ويجب أيضًا تحديد النقاط في اتجاه عكس عقارب الساعة.

في معظم الحالات، سيكون لديك مضلّع واحد. وبالنسبة إلى حالات الاستخدام الأكثر تعقيدًا، يمكنك الاطّلاع على مستندات منطقة خدمة التوصيل.

تعرض الأمثلة التالية عناصر GeoShape:

مثال 1

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

مثال 2

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

مثال 3

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

يعرض الجدول التالي سمات النوع Menu:

الموقع النوع ضرورة الوصف
@type النص مطلوبة يكون دائمًا خيار "القائمة".
@id عنوان URL مطلوبة المعرّف الفريد للقائمة.
name النص اختياري نصّ يمكنه التعرّف على Menu أثناء تصفّح المستخدِم للقائمة.
description النص اختياري وصف القائمة
disclaimer MenuDisclaimer اختياري إخلاء المسؤولية عن القائمة على سبيل المثال، الإفصاح عن المعلومات الغذائية والإفصاح عن مسببات الحساسية.
hasMenuSection كائن واحد أو مصفوفة من MenuSection اختياري التجميع المنطقي لقائمة الطعام (مثل وجبة العشاء أو المقبلات أو أطباق السمك)
hasMenuItem كائن واحد أو مصفوفة من MenuItem اختياري كائنات MenuItem المضمّنة في Menu، عادةً عندما لا يتم تقسيم Menu فرعيًا على MenuSections.
inLanguage النص اختياري لغة محتوى القائمة، كرمز لغة من معيار ITF BCP 47 على سبيل المثال، "en-US".

توضِّح الأمثلة التالية استخدام النوع Menu:

مثال 1

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

مثال 2

يعرض هذا المثال hasMenuItem كمصفوفة.

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

مثال 3

يعرض هذا المثال hasMenuSection كمصفوفة.

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

للاطّلاع على مزيد من الأمثلة حول كيانات Menu، يُرجى الاطّلاع على أمثلة على المطاعم وخلاصات القوائم.

يعرض الجدول التالي سمات النوع MenuDisclaimer:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويكون دائمًا خيار "إخلاء المسؤولية عن القائمة".
@id عنوان URL مطلوبة معرّف فريد لبيان إخلاء المسؤولية للقائمة
text النص مطلوبة نص بيان إخلاء المسؤولية. على سبيل المثال، "متوسط استهلاك الطاقة اليومي للبالغين هو 8,700 كيلوجول".
url عنوان URL اختياري عنوان URL يشير إلى صفحة تقدّم المزيد من التفاصيل حول بيان إخلاء المسؤولية

يوضّح المثال التالي استخدام النوع MenuDisclaimer:

مثال

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

عنصر في القائمة لتمثيل العنصر في القائمة يعرض الجدول التالي خصائص النوع MenuItem:

الموقع النوع ضرورة الوصف
@type النص مطلوبة يكون هذا العنوان دائمًا "قائمة العناصر".
@id عنوان URL مطلوبة المعرّف الفريد لعنصر القائمة
name النص مطلوبة نص يمكن من خلاله التعرّف على MenuItem عندما يتصفّح المستخدم القائمة.
description النص اختياري تمثّل هذه السمة وصف الصنف في القائمة.
image عنوان URL اختياري

صورة صنف في القائمة اتّبِع الإرشادات التالية المتعلّقة بالصور:

  • نسبة العرض إلى الارتفاع 3:2
  • الحد الأدنى لدرجة الدقة 600 × 400 بكسل، 72 نقطة لكل بوصة
  • درجة الدقة الموصى بها 1400 × 960 بكسل و72 نقطة لكل بوصة
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 اختياري معلومات التعبئة وإعادة التدوير الخاصة بعنصر MenuItem هذا لكل gs1:PackagingDetails أضِف سياق gs1 لاستخدام هذه السمة: "@context": ["http://gs1.org/voc/", "http://schema.org"]. وأضِف السمة FoodBeverageTobaccoProduct إلى نوع MenuItem.

تعرض الأمثلة التالية عناصر MenuItem:

مثال 1

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

مثال 2

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

مثال 3

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

مثال 4

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

المثال الخامس

{
  "@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 اختياري معلومات التغليف وإعادة التدوير لهذا العنصر في القائمة gs1:PackagingDetails أضِف السياق gs1 لاستخدام هذه السمة: "@context": ["http://gs1.org/voc/", "http://schema.org"]. وأضِف السمة FoodBeverageTobaccoProduct إلى نوع MenuItemOption.

يعرض المثال التالي عناصر MenuItemOption:

مثال 1

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

مثال 2

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

قسم القائمة لتمثيل قسم معين في القائمة. يعرض الجدول التالي سمات النوع MenuSection:

الموقع النوع ضرورة الوصف
@type النص مطلوبة يكون دائمًا قسم "قائمة الطعام" ( Menusection).
@id عنوان URL مطلوبة المعرّف الفريد لقسم القائمة
name النص مطلوبة نص يمكن من خلاله التعرّف على MenuSection عندما يتصفّح المستخدم القائمة.
description النص اختياري تمثّل هذه السمة وصف قسم القائمة.
hasMenuSection مصفوفة MenuSection اختياري التجميع الفرعي المنطقي للدالة MenuSection. على سبيل المثال، يمكن أن يتضمّن قسم قائمة العشاء عدة أقسام قوائم فرعية، مثل "أطباق دواجن" أو "أطباق نباتية".
hasMenuItem مصفوفة MenuItem اختياري عناصر القائمة الموجودة في MenuSection.
offers مصفوفة Offer اختياري

استخدِم Offer.availabilityStarts وOffer.availabilityEnds للإشارة إلى الفترة الزمنية التي يتم خلالها عرض MenuSection هذا. ولا تستخدم Offer.eligibleQuantity.

تعرض القائمة التالية سمات Offer التي يتم استخدامها في MenuSection:

  • Offer.availabilityStarts اختياري
  • Offer.availabilityEnds اختياري
  • Offer.availableDay اختياري
  • Offer.validFrom اختياري
  • Offer.validThrough اختياري
image عنوان URL اختياري صورة قسم القائمة

تعرض الأمثلة التالية كيانات MenuSection:

مثال 1

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

مثال 2

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

للاطّلاع على مزيد من الأمثلة حول كيانات MenuSection، يُرجى الاطّلاع على أمثلة على المطاعم وخلاصات القوائم.

NutritionInformation

ويوضّح الجدول التالي خصائص النوع NutritionInformation. تكون وحدات القياس حسّاسة لحالة الأحرف. على سبيل المثال، يتم قبول "Cal"، ولكن "cal" غير مقبول.

الموقع النوع ضرورة الوصف
@type النص مطلوبة وهذه القيمة دائمًا هي "Nutrition Information".
description النص اختياري معلومات التغذية في نص حر. على سبيل المثال، "يحتوي على مواد حافظة".
calories النص اختياري

عدد السعرات الحرارية في السعرات الحرارية أو kcal أو kJ باستخدام التنسيق التالي:

number Cal_kcal_OR_kJ

على سبيل المثال، "240 سعر حراري".

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 النص اختياري تمثّل هذه السمة حجم الوجبة بالملتر أو لتر أو غرام أو كيلوغرام، من حيث عدد الحجم أو الكتلة.
sodiumContent النص اختياري

عدد مليغرام أو غرام من الصوديوم، بالتنسيق التالي:

number g_OR_mg
sugarContent النص اختياري

عدد الغرام أو الملغ من السكر باستخدام الصيغة التالية:

number g_OR_mg
transFatContent النص اختياري

عدد الغرام أو المليغرام من الدهون المتحوّلة، بالتنسيق التالي:

number g_OR_mg
unsaturatedFatContent النص اختياري

كمية الدهون غير المشبَّعة، عادةً ما تكون بالجرام، بالتنسيق التالي:

number g_OR_mg

تعرض الأمثلة التالية عنصرًا NutritionInformation:

مثال 1

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

مثال 2

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

العرض الترويجي

عرض لصنف في قائمة الطعام ويوضّح الجدول التالي سمات النوع Offer:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويمثل هذا دائمًا "عرض".
sku النص الجملة الشرطية

المعرّف الفريد للعرض الترويجي يمكن أن تكون أي قيمة نصية فريدة ضمن Offer. تتم الإشارة إلى قيم sku في صفحة الدفع والإرسال على أنّها offerId في lineitem.

لا يتم استخدام هذه السمة إلا في أنواع العروض التالية:

  • AddOnMenuItem.Offer
  • MenuItem.Offer
  • MenuOption.Offer
price النص الجملة الشرطية

تمثّل هذه السمة سعر السلعة المعروضة. على سبيل المثال، "6.00" بدون رمز العملة.

هذه السمة مطلوبة فقط في أنواع العروض التالية:

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

ولا يتم استخدامه في أنواع العروض التالية:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceCurrency النص الجملة الشرطية

تمثّل هذه السمة العملة (بتنسيق ISO 4217 المكوَّن من 3 أحرف) للسعر أو المكوّن للسعر عند إرفاقها بسمة priceSpecification وأنواعها الفرعية.

هذه السمة مطلوبة فقط في أنواع العروض التالية:

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

ولا يتم استخدامه في أنواع العروض التالية:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
availabilityStarts DateTime أو Time اختياري التاريخ والوقت أو الوقت الذي يصبح فيه العرض متاحًا فقط على سبيل المثال، إذا كان يتم تقديم الفطائر المحلّاة بدءًا من الساعة 7:00 صباحًا، يمكن أن تبدو قيمة هذا الحقل على النحو التالي: "2017-05-01T07:00:00-07:00". لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.
availabilityEnds DateTime أو Time اختياري التاريخ والوقت أو الوقت الذي يكون فيه العرض غير متوفّر هذه الفترة حصرية. على سبيل المثال، إذا كان مدى توفّر الفطائر المحلّاة ينتهي في الساعة 10 صباحًا، يمكن تقديم آخر فطيرة كيك في الساعة 9:59:59 صباحًا. ويمكن أن تبدو قيمة هذا الحقل على النحو التالي: "2017-05-01T10:00:00-07:00". لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.
availableDay مصفوفة DayOfWeek اختياري

أيام الأسبوع التي يتوفّر فيها هذا العنصر القيم الصالحة هي:

  • "الاثنين"
  • "الثلاثاء"
  • "الأربعاء"
  • "الخميس"
  • "الجمعة"
  • "السبت"
  • "الأحد"

وإذا كان مدى التوفّر مختلفًا في أيام مختلفة من الأسبوع، استخدِم أكثر من عنصر Offer واحد، كما هو موضّح في الأمثلة أدناه.

validFrom DateTime اختياري

التاريخ والوقت (بما في ذلك المنطقة الزمنية) الذي يكون فيه السعر المحدّد صالحًا. على سبيل المثال، تبلغ تكلفة المعكرونة 8 دولار أمريكي خلال وجبة الغداء و10 دولار أمريكي في العشاء. لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

يمكن استخدام هذه السمة في أنواع العروض التالية:

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

لا يتم استخدام هذه السمة في أنواع العروض التالية:

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

التاريخ والوقت (بما في ذلك المنطقة الزمنية) اللذين يصبح بهما السعر المحدّد غير صالح. على سبيل المثال، تبلغ تكلفة المعكرونة 8 دولار أمريكي خلال الغداء و10 دولار أمريكي على العشاء. يكون الوقت في validThrough حصريًا: على سبيل المثال، إذا تم ضبط الوقت على 6 مساءً، يكون الوقت صالحًا حتى 5:59:59 مساءً. لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

يمكن استخدام هذه السمة في أنواع العروض التالية:

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

لا يتم استخدام هذه السمة في أنواع العروض التالية.

  • Service.Offer
eligibleQuantity QuantitativeValue اختياري

تمثّل هذه السمة الكميات التي يمكن طلبها من أجل شراء هذه السلعة. على سبيل المثال، قد يطلب المطعم خدمة توصيل 10 بيتزا على الأقل.

هذه القيمة اختيارية. حسب الإعدادات التلقائية، لا يوجد حد أقصى لهذا الحدّ، ولكن يمكن للمطعم تحديد حدّ أقصى. لا تسري الحدود الدنيا المسموح بها إلا عندما يختار المستخدم العنصر.

يمكن استخدام هذه السمة في أنواع العروض التالية:

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

لا يتم استخدام هذه السمة في أنواع العروض التالية.

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
aggregateRating AggregateRating اختياري

تمثّل هذه السمة التقييم العام استنادًا إلى مجموعة من المراجعات أو التقييمات الخاصة بالعنصر.

يمكن استخدام هذه السمة في أنواع العروض التالية:

  • AddOnMenuItem.Offer
  • MenuItem.Offer

لا يتم استخدام هذه السمة في الأنواع التالية.

  • AddOnMenuSection.Offer
  • MenuItemOption.Offer
  • MenuSection.Offer
  • Service.Offer
inventoryLevel QuantitativeValue اختياري

مستوى المستودع التقريبي الحالي للسلعة أو السلع.

يمكن استخدام هذه السمة في أنواع العروض التالية:

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

لا يتم استخدام هذه السمة في أنواع العروض التالية:

  • AddOnMenuSection.Offer
  • MenuSection.Offer
  • Service.Offer
priceSpecification مصفوفة DeliveryChargeSpecification أو مصفوفة PaymentChargeSpecification اختياري

وعند استخدامها في السمة Service.Offer، تشير إلى تفاصيل سعر التسليم. في حال توفُّر عناصر DeliveryChargeSpecification متعددة، يتم تطبيق العنصر الأكثر تحديدًا. استخدِم كائنات DeliveryChargeSpecification التبادلية لتجنُّب أي غموض.

يمكن استخدام هذه السمة في أنواع العروض التالية:

  • Service.Offer

لا يتم استخدام هذه السمة في أنواع العروض التالية:

  • AddOnMenuItem.Offer
  • AddOnMenuSection.Offer
  • MenuItem.Offer
  • MenuOption.Offer
  • MenuSection.Offer
offeredBy مصفوفة من أرقام تعريف Restaurant اختياري

يمثّل هذا النوع المطاعم التي تُقدَّم فيها 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 منهي العمل به المعرّف الفريد للعرض الترويجي تم إيقافها نهائيًا اعتبارًا من 25/4/19، ويمكنك استبدالها بـ sku كما هو موضّح أعلاه.

تعرض الأمثلة التالية عناصر Offer:

مثال 1

يوضّح المثال التالي عرضًا بسيطًا:

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

مثال 2

يوضّح المثال التالي مدى توفّر العرض من الساعة 8 إلى 10 صباحًا في عطلات نهاية الأسبوع:

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

مثال 3

يوضّح المثال التالي مدى التوفّر من الساعة 9:10:59:59 صباحًا أيام الاثنين والأربعاء والجمعة، من الساعة 8 إلى 11:59:59 صباحًا أيام الثلاثاء والخميس:

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

مثال 4

يوضّح المثال التالي مجموعة الكمية المؤهّلة لعنصر قائمة الإضافة لكي يتمكن المستخدم من طلب جزأين كحد أقصى من هذا العنصر:

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

OpeningHoursSpecification

تحدّد هذه السمة الأوقات التي تتوفّر فيها الخدمات. عادةً ما تكون قيمة 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 النص مطلوبة ويمثل هذا دائمًا "OpeningHoursSpecification".
@id عنوان URL اختياري معرِّف OpeningHoursSpecification.
dayOfWeek مصفوفة DayOfWeek اختياري

اليوم من الأسبوع الذي تسري فيه ساعات العمل هذه. والقيم المقبولة هي "الاثنين" و"الثلاثاء" و"الأربعاء" و"الخميس" و"الجمعة" و"السبت" و "الأحد". مثال:

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

إذا لم تحدّد أي أيام من الأسبوع، سيتم تطبيق OpeningHoursSpecification على جميع الأيام.

opens Time اختياري

عند استخدامها في مواصفات Restaurant، تشير هذه السمة إلى وقت عمل المطعم في الأيام المحدّدة من الأسبوع. على سبيل المثال، تكون قيمة الساعة 6:30 صباحًا على النحو التالي "T06:30:00".

وعند استخدامها في مواصفات Service، تشير إلى الوقت المحدّد من اليوم الذي يمكن تقديم طلبات المستخدمين منه. وتحدّد هذه السمة وقت فتح النظام على الإنترنت ويسمح للمستخدمين بتقديم الطلبات. خلال ساعات العمل/الإغلاق الخاصة بالأنظمة على الإنترنت، يمكنك استخدام deliveryHours لتحديد ساعات العمل/الإغلاق عندما يمكن للمستخدمين طلب أنواع خاصة من عمليات التسليم.

يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تضمِّن منطقة زمنية في القيمة opens. في حال تحديد منطقة زمنية، يتجاهل محرّك بحث Google هذه المعلومات.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

closes Time اختياري

وعند استخدامها في مواصفات Service، تشير هذه السمة إلى الوقت المحدّد من اليوم الذي لا يمكن تقديم طلبات المستخدمين بعده. وتحدّد هذه السمة وقت الإغلاق عندما يكون النظام على الإنترنت مفعَّلاً، وتتيح للمستخدمين تقديم الطلبات. خلال ساعات العمل/الإغلاق الخاصة بالأنظمة على الإنترنت، يمكنك استخدام deliveryHours لتحديد ساعات العمل/الإغلاق عندما يمكن للمستخدمين طلب أنواع خاصة من عمليات التسليم.

يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تضمِّن منطقة زمنية في القيمة closes. في حال تحديد منطقة زمنية، يتجاهل محرّك بحث Google هذه المعلومات.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

validFrom DateTime اختياري

وعند استخدامها في مواصفات Restaurant، تشير هذه السمة إلى التاريخ الذي تكون فيه ساعات العمل المحدّدة في opens وcloses للمطعم صالحة.

على سبيل المثال، إذا كانت الساعات المحدّدة تنطبق على كل العام 2017، اضبط validFrom على "2017-01-01T00:00:00-07:00" وvalidThrough على "2017-12-31T23:59:59-07:00".

وعند استخدامها في مواصفات Service، تشير السمة validFrom إلى تاريخ البدء الذي يمكن تقديم طلبات المستخدمين بدءًا منه.

إذا لم يتم تحديد هذه السمة في خلاصتك، يَفترض محرّك بحث Google أنّ المطعم أو الخدمة متاحان يوميًا.

بالإضافة إلى التاريخ، يجب إدخال أجزاء الوقت والمنطقة الزمنية من القيمة.

بالنسبة إلى المنطقة الزمنية، استخدِم المنطقة الزمنية للمطعم أو الخدمة.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

validThrough DateTime اختياري

عند استخدامها في Restaurant، فإنّ التاريخ الذي بعده لا تكون ساعات العمل المحدّدة في opens وcloses صالحة.

على سبيل المثال، إذا كانت الساعات المحدّدة تنطبق على كل العام 2017، اضبط validFrom على "2017-01-01T00:00:00-07:00" وvalidThrough على "2017-12-31T23:59:59-07:00".

وعند استخدامها في مواصفات Service، تشير السمة validThrough إلى تاريخ الانتهاء الذي لا يمكن تقديم طلبات المستخدمين بعده.

إذا لم يتم تحديد هذه السمة في خلاصتك، يَفترض محرّك بحث Google أنّ المطعم أو الخدمة متاحان يوميًا.

بالإضافة إلى التاريخ، يجب إدخال أجزاء الوقت والمنطقة الزمنية في DateTime.

بالنسبة إلى المنطقة الزمنية، استخدِم المنطقة الزمنية للمطعم أو الخدمة.

موعد validThrough حصري. على سبيل المثال، إذا تم ضبط الوقت على 6 مساءً، يكون الوقت صالحًا حتى 5:59:59 مساءً.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

deliveryHours مصفوفة ServiceDeliveryHoursSpecification أو مصفوفة AdvanceServiceDeliveryHoursSpecification الجملة الشرطية

تمثّل هذه السمة مواصفات وقت التوصيل أو طلب الوجبات الجاهزة لتناولها خارج المطعم.

ويجب استخدام هذه المَعلمة ما لم يكن المطعم مغلقًا (ما يعني ضبط opens وcloses بحيث يكونا متساويين لبعضهما البعض.

  • ServiceDeliveryHoursSpecification: خلال ساعات العمل/الإغلاق، يمكنك ضبط ساعات العمل "مفتوح" و "يغلق" عندما يتمكّن المستخدمون من تقديم الطلبات في أقرب وقت ممكن.
  • AdvanceServiceDeliveryHoursSpecification: خلال ساعات العمل/الإغلاق، يمكنك ضبط ساعات العمل "مفتوح" و "يغلق" عندما يتمكّن المستخدمون من تقديم طلبات مُسبقة.

تعرض الأمثلة التالية عناصر OpeningHoursSpecification:

مثال 1

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

مثال 2

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

مثال 3

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

مثال 4

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

PackagingDetails

أضِف سياق gs1 لاستخدام هذا النوع: "@context": ["http://gs1.org/voc/", "http://schema.org"]. وأضِف FoodBeverageTobaccoProduct إلى نوع MenuItem أو MenuItemOption.

يوضّح الجدول التالي سمات النوع PackagingDetails:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويمثل هذا دائمًا "PackagingDetails".
packagingRecyclingProcessType النص اختياري نوع عملية إعادة تدوير التغليف وفقًا لـ gs1:PackagingRecyclingProcessTypeCode. على سبيل المثال http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE أو http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
hasReturnablePackageDeposit ReturnablePackageDepositDetails اختياري تفاصيل إيداع الطرد القابل للإرجاع حسب gs1:ReturnablePackageDepositDetails على سبيل المثال، قد يتم إيداع طرود يمكن إرجاعها من الزجاجات والعلبات.

يوضّح المثال التالي استخدام النوع PackagingDetails:

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

PaymentChargeSpecification

ويوضّح الجدول التالي خصائص النوع PaymentChargeSpecification:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويمثل هذا دائمًا "PaymentChargeSpecification".
@id عنوان URL اختياري معرِّف PaymentChargeSpecification.
price العدد مطلوبة إجمالي مبلغ الرسوم على سبيل المثال، "6.00"، بدون رمز العملة.
priceCurrency النص مطلوبة تمثّل هذه السمة رمز العملة بالتنسيق ISO 4217 المكوَّن من 3 أحرف للسعر. على سبيل المثال، "USD".
eligibleTransactionVolume PriceSpecification اختياري حجم المعاملات في وحدة نقدية تكون مواصفات رسوم الدفع هذه صالحة لها، مثل الإشارة إلى الحدّ الأدنى لحجم الشراء.
eligibleQuantity QuantitativeValue اختياري كميات الطلبات التي تكون رسوم الدفع صالحة لها. على سبيل المثال، يمكنك استخدام هذه السمة لطلب الحدّ الأدنى من عدد السلع في الطلب.
validFrom DateTime اختياري التاريخ والوقت (بما في ذلك المنطقة الزمنية) عندما تصبح رسوم الدفع المحدّدة صالحة. على سبيل المثال، "2017-05-01T07:00:00-07:00". للحصول على مزيد من المعلومات، يمكنك الاطّلاع على تنسيقات التاريخ والوقت.
validThrough DateTime اختياري التاريخ والوقت (بما في ذلك المنطقة الزمنية) عندما تكون رسوم الدفع المحدّدة غير صالحة على سبيل المثال، "2017-05-01T07:30:00-07:00". يكون الوقت في validThrough حصريًا: على سبيل المثال، إذا كان الوقت مضبوطًا على 6 مساءً، يكون الوقت صالحًا حتى 5:59:59 مساءً. لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

يوضح المثال التالي عنصر PaymentChargeSpecification:

مثال

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

بالإضافة إلى "@type": ["PaymentChargeSpecification"]، يمكن تمديد العنصر باستخدام UnitPriceSpecification ("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]). يمنحك الإضافة خاصيتين إضافيتين مطلوبتين لرسوم الخدمة يتم حسابهما بالنسب المئوية.

سمة النوع ضرورة الوصف
referenceQuantity QuantitativeValue مطلوبة الكمية المرجعية التي ينطبق عليها سعر معيّن على سبيل المثال، إذا كانت قيمة referenceQuantity للسمة 10 مع قيمة unitCode للقيمة P1، هي% 10 من قيمة طلب الشراء. لا يتوافق سوى unitCode من النوع "P1" في الوقت الحالي.
basePrice العدد اختياري الرسوم الأساسية بالإضافة إلى referenceQuantity. على سبيل المثال، إذا كانت قيمة referenceQuantity من 10 مع unitCode للقيمة "P1" وbasePrice من 5 بالدولار الأمريكي، تكون النتيجة 5 دولار أمريكي + 10% من قيمة طلب الشراء. القيمة التلقائية هي 0.

أمثلة على رسوم الطعام السفري

تسمح لك Google بتحديد مجموعة متنوعة من الرسوم للمستخدمين مقدمًا باستخدام Offer.PriceSpecification لكيان الخدمة.

تجدر الإشارة إلى أنّنا نتيح حاليًا استخدام سمة PaymentChargeSpecification واحدة فقط. دمج كل أنواع الرسوم في PaymentChargeSpecification واحدة

إذا لم تكن هناك أي رسوم، يتم حذف السمة Offer.PriceSpecification.

  • المثال 1: رسوم الخدمة هي 5% من الإجمالي الفرعي لسلة التسوّق
  • المثال 2: رسوم الخدمة هي 5 دولار أمريكي
  • المثال 3: رسوم الحقائب هي 0.1 دولار أمريكي ورسوم الخدمة تبلغ 5% من الإجمالي الفرعي لسلة التسوق
  • المثال 4: رسوم الحقائب 0.1 دولار أمريكي ورسوم الخدمة 1 دولار أمريكي
  • المثال 5: رسوم الخدمة هي 5% والنصيحة المطلوبة هي 10% من الإجمالي الفرعي لسلة التسوق

مثال 1

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

مثال 2

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

مثال 3

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

مثال 4

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

المثال الخامس

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

يوضّح الجدول التالي سمات النوع PostalAddress:

الموقع النوع ضرورة الوصف
@type النص مطلوبة يكون العنوان دائمًا "PostalAddress".
addressLocality النص مطلوب* تمثّل هذه السمة المنطقة المحلية أو المدينة. على سبيل المثال، "القاهرة".
addressRegion النص مطلوب* المنطقة أو الولاية. على سبيل المثال، "CA".
postalCode النص مطلوب* تمثّل هذه السمة الرمز البريدي. على سبيل المثال، "94102".
streetAddress النص اختياري تمثّل هذه السمة عنوان الشارع. على سبيل المثال، "1600 Amphitheatre Pkwy".
addressCountry النص مطلوبة رمز البلد المكوّن من حرفين وفقًا لمعيار ISO 3166-1 alpha-2 . على سبيل المثال، "US".

ويمكن لمقدّمي خدمات التوصيل إدراج هذه السمات لتحديد Service.areaServed حيث يتم تقديم الخدمة.

عند استخدامها في Restaurant.address، تكون جميع السمات المدرَجة في PostalAddress مطلوبة.

يعرض المثال التالي عنصر PostalAddress:

مثال

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

PriceSpecification

ويوضّح الجدول التالي خصائص النوع PriceSpecification:

الموقع النوع ضرورة الوصف
@type النص مطلوبة يكون التنسيق دائمًا "PriceSpecification".
@id عنوان URL اختياري معرِّف PriceSpecification.
minPrice العدد اختياري تمثّل هذه السمة أقل سعر إذا كان السعر ضمن نطاق معيّن.
maxPrice العدد اختياري تمثّل هذه السمة أعلى سعر إذا كان السعر ضمن نطاق معيّن.
priceCurrency النص مطلوبة تمثّل هذه السمة رمز العملة بالتنسيق ISO 4217 المكوَّن من 3 أحرف للسعر. على سبيل المثال، "USD".
eligibleQuantity QuantitativeValue اختياري كميات الطلبات التي تكون مواصفات سعرها صالحة. على سبيل المثال، قد يكون السعر دولارين أمريكيَين لكل جنيه أو سلعتَين مقابل دولار أمريكي.

يعرض المثال التالي عنصر PriceSpecification:

مثال 1

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

PropertyValue

يُستخدَم زوج قيمة السمة لوصف الخيارات في MenuItemOption.

يعرض الجدول التالي سمات النوع PropertyValue:

الموقع النوع ضرورة الوصف
@type النص مطلوبة وتكون هذه القيمة دائمًا "PropertyValue".
name النص مطلوبة

اسم الخيار أو نوعه

فيما يلي أسماء صالحة عند استخدامها في MenuItem:

  • "الحجم": مقاس MenuItem. على سبيل المثال، صغير أو متوسط أو كبير.
  • "الخيار": أي خيار غير المقاس (مثل الطبق الذي يتم تقديمه على شكل سلطة أو شطيرة). إذا لم تتمكن من التمييز بين "الحجم" و"OPTION"، استخدِم "OPTION".

الأسماء الصالحة عند استخدامها في AddOnMenuItem:

  • "APPLICABLE_ITEM_OPTION": خيار للإضافة لا ينطبق إلا عند استخدامه مع MenuItem مع "الحجم/الخيار" المعني.
  • "PIZZA_SIDE": خاصة بالبيتزا، ويمكن استخدام هذه الإضافة فقط لجزء من البيتزا كاملةً (مثل إضافات الفطر على الجانب الأيسر أو على الجانب الأيمن أو البيتزا الكاملة).
  • "الحجم": خيار لتحديد حجم الإضافة (مثل البطاطس المقلية الكبيرة كإضافة لتناول الوجبات).
  • "OPTION": أي خيار بخلاف المقاس. إذا لم تتمكن من التمييز بين "الحجم" و"OPTION"، استخدِم "OPTION".
value النص مطلوبة

قيمة الخيار يمكن أن تكون القيم أي سلسلة ويتمّ عرضها كما هي. وفي ما يلي القيم الصالحة:

  • "PIZZA_SIDE": يجب أن تكون القيمة المطابقة "PIZZA_SIDE_LEFT" أو "PIZZA_SIDE_RIGHT" أو "PIZZA_SIDE_WHOLE" للبيتزا.
  • "APPLICABLE_ITEM_OPTION": يجب أن تكون هذه القيمة موجودة في أحد خيارات "OPTION/الحجم" المقابلة لخيار القائمة الرئيسية MenuItem.

QuantitativeValue

يوضّح الجدول التالي سمات النوع QuantitativeValue:

الموقع النوع ضرورة الوصف
@type النص مطلوبة وهي دائمًا "QuantitativeValue".
value العدد اختياري قيمة القيمة الكمية أو عقدة قيمة الخاصية.
unitCode نص أو عنوان URL اختياري

تمثّل هذه السمة وحدة القياس باعتبارها رمزًا مشتركًا لمنظمة UN/CEFACT أو عنوان URL.

ويمكن استخدام رموز أخرى غير الرمز المشترك UN/CEFACT Common Code مع بادئة متبوعة بنقطتين.

maxValue العدد اختياري القيمة العليا لبعض الخصائص أو الخصائص.
minValue العدد اختياري القيمة الأقل لبعض الخصائص أو الخصائص.

توضِّح الأمثلة التالية استخدام النوع QuantitativeValue:

مثال 1

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

مثال 2

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

مثال 3

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

مطعم

يعرض الجدول التالي سمات النوع Restaurant:

الموقع النوع ضرورة الوصف
@type النص مطلوبة يكون هذا العنوان دائمًا "مطعم".
@id عنوان URL مطلوبة معرّف فريد للمطعم أو مقدّم خدمة التوصيل. على سبيل المثال، "http://www.provider.com/326"، حيث يكون "326" هو المعرّف الفريد للمطعم.
name النص مطلوبة نص يمكنه تحديد Restaurant أثناء عملية الطلب.
url عنوان URL مطلوبة عنوان URL على نطاقك يمثّل المطعم. على سبيل المثال، "http://www.provider.com/someRestaurant".
sameAs عنوان URL اختياري الموقع الإلكتروني الرسمي للمطعم. على سبيل المثال، "http://www.someمطاعم.com".
email النص اختياري عنوان البريد الإلكتروني للتواصل مع المطعم.
description النص اختياري وصف المطعم.
telephone النص مطلوبة

رقم الهاتف بالتنسيق التالي:

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

على سبيل المثال، " +16501234567".

priceRange النص اختياري مجموعة من الأسعار على سبيل المثال، "$$" ($-Inexpensive, $$-معتدل، $$$-Expensive, $$$$-Very Expensive).
logo URL Optional Logo of the restaurant in PNG, JPG, or GIF format. For example, "http://www.somerestaurant.com/logo.png".
image URL Optional Image of the restaurant.
servesCuisine Array of Text Optional Food types that are served at the restaurant. For example, ["sushi","Asian fusion"].
address PostalAddress Required* Address of the restaurant.
geo GeoCoordinates Optional* Geographic coordinates of the restaurant.
suitableForDiet Array of RestrictedDiet Optional Dietary restrictions this restaurant accommodates (like kosher, vegan, or gluten-free diets). It is an enumerated list.
aggregateRating AggregateRating Optional Overall rating, based on a collection of reviews or ratings of the restaurant.
additionalProperty Array of name value string pairs Optional

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

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

The following examples show the usage of the Restaurant type:

Example 1

{
  "@type": "Restaurant",
  "@id": "http://www.provider.com/somerestaurant",
  "url": "www.provider.com/somerestaurant",
  "name": "Some Restaurant",
  "sameAs": "http://www.somerestaurant.com",
  "image": "http://www.somerestaurant.com/image-of-some-restaurant.jpg",
  "description": "This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94105",
    "streetAddress": "345 Spear St",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "37.391115",
    "longitude": "-122.081099"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  },
  "priceRange": "$$",
  "telephone": " +16501234567", // رمز البلد (+1) مطلوب
  "servesCuisine": [
    "Indian-Mexican Fusion"
  ]
},
  
  

مثال 2

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

للاطّلاع على مزيد من الأمثلة حول كيانات Restaurant، يُرجى الاطّلاع على أمثلة على المطاعم وخلاصات القوائم.

ReturnablePackageDepositDetails

لاستخدام هذا النوع، أضِف السياق gs1: "@context":

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

بعد ذلك، أضِف FoodBeverageTobaccoProduct إلى نوع MenuItem أو MenuItemOption المناسب.

ويوضّح الجدول التالي سمات النوع ReturnablePackageDepositDetails:

الموقع النوع ضرورة الوصف
@type النص مطلوبة ويمثل هذا دائمًا "ReturnablePackageDepositDetails".
returnablePackageDepositAmount gs1:PriceSpecification اختياري مبلغ الإيداع لهذا العنصر وفقًا لـ gs1:PriceSpecification. على سبيل المثال، إيداع 0.25 دولار لكل علبة.

يوضّح المثال التالي استخدام النوع ReturnablePackageDepositDetails:

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

خدمة

تصف تسليم إجراء الطلب الشامل من مطعم إلى موقع جغرافي من قبل مؤسسة التوصيل.

يوضّح الجدول التالي سمات النوع Service:

الموقع النوع ضرورة الوصف
@type النص مطلوبة

نوع الخلاصة

  • Service: استخدِم هذا النوع لجميع خلاصات "الخدمة" النشطة.
  • DisabledService: لا تستخدِم هذا النوع إلا إذا كان عليك إيقاف كيان "خدمة" بسبب حدث غير متوقّع، وإذا كنت لا تعرف متى ستتم إعادة إنشاء الخدمة.
@id عنوان URL مطلوبة معرّف خدمة توصيل الطلبات. على سبيل المثال، "http://www.provider.com/service/1".
description النص اختياري وصف السلعة.
serviceType النص مطلوبة نوع الخدمة المقدَّمة. القيم المحتملة هي "التسليم" أو "التصدير".
provider Restaurant مطلوبة مرجع إلى المعرّف الفريد للمطعم. على سبيل المثال، "http://www.provider.com/someRestaurant".
areaServed مصفوفة GeoShape أو Place أو GeoCircle الجملة الشرطية المنطقة الجغرافية التي يتم تقديم الخدمة فيها. يكون هذا الحقل اختياريًا تلقائيًا، ولكنّه مطلوب في حال تم ضبط قيمة serviceType على "التسليم".
hoursAvailable مصفوفة OpeningHoursSpecification مطلوبة تمثّل هذه السمة ساعات عمل هذه الخدمة.
specialOpeningHoursSpecification مصفوفة OpeningHoursSpecification أو ServiceDeliveryHoursSpecification أو AdvanceServiceDeliveryHoursSpecification اختياري

الأوقات التي تلغي OpeningHoursSpecification الأكثر عمومية أو أوقات توصيل الطلبات. ويمكنك عادةً استخدام هذا الحقل لتحديد العطلات وغيرها من أنواع حالات الإغلاق المؤقت أو التغييرات في ساعات العمل.

حدِّد النطاق الزمني الخاص باستخدام السمتَين validFrom وvalidThrough. يكون الوقت والمنطقة الزمنية مطلوبَين عند تحديد هذه السمات.

offers مصفوفة Offer الجملة الشرطية

تفاصيل حول عرض التوصيل لمطعم محدّد. يكون هذا الحقل اختياريًا تلقائيًا، ولكنّه مطلوب في حال تم ضبط قيمة serviceType على "التسليم".

وتُعدّ السمة Offer.priceSpecification اختيارية في الخدمة. لا تُستخدم خصائص Offer أخرى هنا.

hasOfferCatalog [Menu، OfferCatalog] مطلوبة

تحدِّد هذه السمة قائمة لهذه الخدمة. يمكنك استخدام قائمة مختلفة لكل خدمة من خدماتك (مثل خدمة الطعام السفري وخدمة التوصيل وخدمة تقديم الطعام).

يجب تحديد كل من Menu وOfferCatalog للنوع. مثال:

"hasOfferCatalog": {
"@type": ["Menu", "OfferCatalog"],
"@id": "https://www.provider.com/restaurant/menu/1"
}
additionalProperty مصفوفة {name, value} اختياري

معلومات اختيارية بشأن إعدادات الخدمة. ويُتوقّع أن تكون العناصر كائنًا يحتوي على المفتاح name المقابل لاسم الحقل الاختياري. المفتاح value هو قيمة ذات صلة بالسياق للحقل.

اطّلِع على المرجع ServingConfig لمزيد من المعلومات عن الأسماء والقيم المحدّدة.

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

يحتوي على عنوان URL لخدمة توصيل الطعام أو طلبه لتناوله خارج المطعم التي سيتم استخدامها أثناء الانتقال من تجربة طلب الطعام الشاملة إلى عملية إعادة التوجيه. على سبيل المثال، "potentialAction": { "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"
        }
      }
    ]
  }
},

للاطّلاع على المزيد من الأمثلة على كيانات الخدمة، راجِع أمثلة على خلاصة الخدمة.

ServiceDeliveryHoursSpecification

يمثل ساعات التنفيذ للمستخدمين لجدولة طلبات التوصيل والطعام السفري في أقرب وقت ممكن.

عادةً ما تكون قيمة opens أقل من قيمة closes. وتسري الإرشادات التالية على استخدام السمتَين opens وcloses:

  • السمتان opens وcloses اختياريتان للسمتَين ServiceDeliveryHoursSpecification، ولكننا ننصحك بشدة بتضمينهما.
  • يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تُدرِج منطقة زمنية في القيمة opens أو closes. إذا تم تحديد منطقة زمنية، يتجاهل Google معلومات المنطقة الزمنية.
  • إذا لم يتم تحديد opens وcloses بشكل صريح، نفترض أنّ الطلب في أقرب وقت ممكن متاح كل يوم وفي جميع الأوقات.
  • إذا كانت السمة opens وcloses متطابقتَين، نفترض أنّ الطلب في أقرب وقت ممكن غير متوفّر.
  • وإذا كانت قيمة السمة opens أكبر من closes، يتم تفسير ساعة الإغلاق على أنّها في اليوم التالي. على سبيل المثال، إذا تم ضبط ساعة الفتح على 1 يناير الساعة 5 مساءً وساعة الإغلاق 2 صباحًا، سيتم تفسير المطعم على أنّه مغلق في 2 يناير الساعة 2 صباحًا.

ويوضّح الجدول التالي سمات النوع ServiceDeliveryHoursSpecification:

الموقع النوع ضرورة الوصف
@type النص مطلوبة وتكون هذه القيمة دائمًا "ServiceDeliveryHoursSpecification".
validFrom DateTime اختياري

التاريخ والوقت (بما في ذلك المنطقة الزمنية) الذي يمكن فيه توصيل طلبات المستخدمين في أقرب وقت ممكن على سبيل المثال، "2017-05-01T07:00:00-07:00". إذا لم يتم ضبط هذه السمة، يُفترض أنّها صالحة كل يوم.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

validThrough DateTime اختياري

التاريخ والوقت (بما في ذلك المنطقة الزمنية) اللذَين يتعذّر بعدهما تنفيذ طلبات المستخدمين في أقرب وقت ممكن على سبيل المثال، "2017-05-01T07:00:00-07:00". إذا لم يتم ضبط هذه السمة، يُفترض أنّها صالحة كل يوم.

موعد validThrough حصري. مثلاً، إذا تم ضبط ذلك الوقت على 6 مساءً، يكون الوقت صالحًا حتى 5:59:59 مساءً.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

opens Time اختياري

تمثّل هذه السمة الوقت الذي تبدأ فيه خدمة التوصيل حتى يتم توصيل طلبات المستخدمين في أقرب وقت ممكن. على سبيل المثال، "T10:30:00".

يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تضمِّن منطقة زمنية في القيمة opens. في حال تحديد منطقة زمنية، يتجاهل محرّك بحث Google هذه المعلومات.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

closes Time اختياري

الوقت الذي لم تعُد فيه خدمة تسليم طلبات المستخدمين في أقرب وقت ممكن متوفرة. على سبيل المثال، "T23:59:59".

موعد closes حصري. وبالتالي، إذا ضبطت تاريخ الفتح/الإغلاق في ServiceDeliveryHoursSpecification على الساعة 10 صباحًا و4 مساءً، سيكون هذا الطلب الأخير الساعة 3:59:59 مساءً.

يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تضمِّن منطقة زمنية في القيمة closes. في حال تحديد منطقة زمنية، يتجاهل محرّك بحث Google هذه المعلومات.

لمزيد من المعلومات، راجِع تنسيقات التاريخ والوقت.

dayOfWeek مصفوفة DayOfWeek اختياري

أيام الأسبوع التي تتوفر فيها هذه الخدمة لطلبات المستخدمين في أقرب وقت ممكن. في ما يلي قيم صالحة:

  • "الاثنين"
  • "الثلاثاء"
  • "الأربعاء"
  • "الخميس"
  • "الجمعة"
  • "السبت"
  • "الأحد"

إذا لم تحدّد أي أيام من الأسبوع، سيتم تطبيق ServiceDeliveryHoursSpecification على جميع الأيام.

deliveryLeadTime QuantitativeValue اختياري الوقت المقدَّر للتسليم بالدقائق بعد تقديم الطلب ننصحك بشدة بضبط هذه السمة. اضبط الحقل value في QuantitativeValue على عدد الدقائق، واضبط الحقل unitCode على "MIN".

يعرض المثال التالي عنصر ServiceDeliveryHoursSpecification:

مثال 1

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

مثال 2

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

عمليات التعداد

RestrictedDiet

يحتوي النوع RestrictedDiet على القيم المحتملة التالية:

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