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

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

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

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

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

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

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

على سبيل المثال:

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

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

// Time format:
THH:MM:SS

على سبيل المثال:

T08:08:00 // 8:08 AM

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

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

ظرف

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

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

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

آخر تعديل على DateTime لخلاصة البيانات، وفقًا لمعيار ISO 8601 .

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

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

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

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

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

مثال

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

AdditiveDetails

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

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

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

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

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

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

AddOnMenuItem

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

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

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

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

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

عرض واحد أو أكثر لتقديم AddOn MenuItem هذا

تصف هذه السمة وقت وسعر توفُّر AddOn MenuItem هذا. يجب أن يكون عرض واحد فقط صالحًا في كل مرة. يمكنك الحصول على من العروض الصالحة إذا كان من الممكن أن يتغيّر السعر أو مدى التوفّر استنادًا إلى الوقت من اليوم. عند اختلاف الإضافة أو العنصر من خلال سمة أساسية أو شكل مختلف على عنصر الإضافة نفسه (مثل صغير ومتوسط وكبير بطاطس مقلية كإضافة)، استخدم 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 (GlutenFreeDiet) أو "VeganDiet"). هذه قائمة معدّة للاحتمالات القيم.
nutrition NutritionInformation اختياري تمثّل هذه السمة معلومات التغذية الخاصة بالطبق، وبالأخص السعرات الحرارية.
menuAddOn مصفوفة AddOnMenuSection اختياري يمكن أن يتضمّن AddOn MenuItem قسم قائمة مكوّن من العناصر المسموح بها. التي يمكن إضافتها كإضافة.

يوضّح المثال التالي السمة 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 النص مطلوب يكون هذا دائمًا هو "AddOnقائمة التطبيق".
@id عنوان URL مطلوب معرّف فريد لقسم القائمة
name النص مطلوب نص يمكن من خلاله تحديد AddOnقائمة التطبيق عندما يتصفح المستخدم القائمة.
description النص اختياري وصف قسم القائمة.
eligibleQuantity QuantitativeValue اختياري يشير إلى عدد العناصر المسموح بها كإضافة لهذه القائمة . يمكنك استخدام هذا الحقل لتقييد عدد الإضافات، مثل الحد الأدنى والحد الأقصى لعدد الإضافات التي يمكنك اختيارها على البيتزا.
image عنوان URL اختياري صورة لقسم قائمة الطعام
hasMenuItem مصفوفة AddOnMenuItem مطلوب* عناصر قائمة الوظائف الإضافية المضمنة في AddOn Menu Section
offers مصفوفة Offer اختياري

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

توضّح القائمة أدناه أماكن الفنادق في Offer. المستخدم في AddOnقائمة التطبيق.

  • 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 مع "Swiss" و"موزاريلا" تم اختياره مسبقًا كخيار تلقائي.

{
  "@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:15 صباحًا و8:30 صباحًا و8:45 صباحًا. وهكذا حتى الساعة 8 مساءً.

يجب تحديد Duration كمدة ISO 8601. بالنسبة مثال: تعني "P15M" فواصل زمنية مدتها 15 دقيقة.

advanceBookingRequirement QuantitativeValue مطلوب

عدد الدقائق التي تبدأ من وقت الطلب الذي يمكن فيه إجراء الطلب المُسبق تحقق.

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

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

مثال 1

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

مثال 2

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

مثال 3

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

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

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

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

الموقع النوع ضرورة الوصف
referenceQuantity QuantitativeValue مطلوب كمية المرجع التي ينطبق عليها سعر معيّن على سبيل المثال: referenceQuantity من القيمة 10 مع unitCode من "P1" ينتج عنه 10% من قيمة طلب الشراء. فقط unitCode "P1" CANNOT TRANSLATE حاليًا.
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 دولار أمريكي لكل مسافة إضافية تبلغ كيلومتر واحد

مثال 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 النص اختياري لغة محتوى القائمة، كرمز لغة من معيار IETF BCP 47 على سبيل المثال، "en-US".

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

مثال 1

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

مثال 2

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

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

مثال 3

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

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

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

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

الموقع النوع ضرورة الوصف
@type النص مطلوب ويكون هذا دائمًا "إخلاء المسؤولية عن القائمة".
@id عنوان URL مطلوب معرّف فريد لبيان إخلاء المسؤولية للقائمة
text النص مطلوب نص بيان إخلاء المسؤولية على سبيل المثال، "متوسط الطاقة اليومية للبالغين مقدار استهلاكه 8700 كيلوجول".
url عنوان URL اختياري عنوان 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
  • الحد الأدنى لدرجة الدقة: 600x400 بكسل، 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.listingAddOn.
suitableForDiet مصفوفة RestrictedDiet اختياري قائمة مرقمة تشير إلى الأنظمة الغذائية التي يتوافق معها هذا الطبق القيود الغذائية الموضحة (مثل "http://schema.org/GlutenFreeDiet" أو "http://schema.org/VeganDiet").
nutrition NutritionInformation اختياري تشمل هذه السمة المعلومات الغذائية للطبق، وبالأخص السعرات الحرارية.
hasAllergen AllergenDetails اختياري المواد المسببة للحساسية في الطبق لكل gs1:AllergenDetails. أضِف سياق gs1 لاستخدام هذه السمة: "@context": ["http://gs1.org/voc/", "http://schema.org"]. وأضِف FoodBeverageTobaccoProduct إلى نوع MenuItemOption
additive مصفوفة AdditiveDetails اختياري مضافات الطبق لكل gs1:AdditiveDetails هذه قائمة معدودة من القيم المحتملة. إضافة سياق gs1 لاستخدامه هذه السمة: "@context": ["http://gs1.org/voc/", "http://schema.org"]. وأضِف FoodBeverageTobaccoProduct إلى نوع MenuItemOption
packaging PackagingDetails اختياري معلومات التغليف وإعادة التدوير لـ MenuItem هذا وفقًا gs1:PackagingDetails أضِف سياق gs1 لاستخدام هذه السمة: "@context": ["http://gs1.org/voc/", "http://schema.org"]. وأضِف FoodBeverageTobaccoProduct إلى نوع MenuItemOption

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

مثال 1

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

مثال 2

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

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

الموقع النوع ضرورة الوصف
@type النص مطلوب يكون هذا هو "قائمة الأقسام" دائمًا.
@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 النص اختياري

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

number Cal_kcal_OR_kJ

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

carbohydrateContent النص اختياري

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

number g_OR_mg

على سبيل المثال، "7 g".

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 عن طريق الخطأ. القيم المحتملة هي "DELIVERY" أو "TakeOUT".

إذا لم يتم تحديد قيمة، سيتم تنفيذ 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:

الموقع النوع ضرورة الوصف
@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 أنّ المطعم أو الخدمة يوميًا.

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

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

إنّ وقت 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:

الموقع النوع ضرورة الوصف
@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" CANNOT TRANSLATE المدعومة حاليًا.
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:

الموقع النوع ضرورة الوصف
@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"، ثم استخدم "OPTION".

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

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

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

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

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.someRestaurant.com".
email النص اختياري البريد الإلكتروني لجهة الاتصال بالمطعم.
description النص اختياري وصف المطعم.
telephone النص مطلوب

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

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

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

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

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

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

The following examples show the usage of the Restaurant type:

Example 1

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

مثال 2

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

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

ReturnablePackageDepositDetails

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

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

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

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

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

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

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

الخدمة

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

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

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

نوع الخلاصة

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

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

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

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

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

السمة 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