تستند خلاصات كتالوج الأغذية إلى 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 |
مطلوب |
آخر تعديل على التاريخ والوقت بتنسيق ISO_OFFSET_DATE_TIME الذي يتم فيه إدراج العناصر تم تعديل في هذه الخلاصة. وفي غياب هذا الحقل، يُفترض أن وأن وقت التحديث هذا هو الوقت الذي يتم فيه تلقي رسالة الدفع عملية الزحف) في خوادم Google. ننصحك بشدة بتنفيذ ذلك إذا كنت تستخدم الإجراءَين معًا. والزحف معًا. يجب تحديد هذا الطابع الزمني بمنطقة زمنية ودرجة الدقة بالمللي ثانية على سبيل المثال "2016-12-28T06:30:00:123-07:00". في الخلاصات المجمعة،
الكيان
تحديد الإصدارات من خلال |
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 | اختياري |
صورة عنصر قائمة الإضافة الذي يتطابق مع الإرشادات التالية:
|
offers |
مصفوفة Offer |
مطلوب* |
عرض واحد أو أكثر لتقديم AddOn MenuItem هذا تصف هذه السمة وقت وسعر توفُّر AddOn MenuItem هذا.
يجب أن يكون عرض واحد فقط صالحًا في كل مرة. يمكنك الحصول على
من العروض الصالحة إذا كان من الممكن أن يتغيّر السعر أو مدى التوفّر استنادًا إلى
الوقت من اليوم. عند اختلاف الإضافة أو العنصر من خلال سمة أساسية
أو شكل مختلف على عنصر الإضافة نفسه (مثل صغير ومتوسط وكبير
بطاطس مقلية كإضافة)، استخدم القيمة التلقائية لـ يتم استخدام سمات
|
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 |
اختياري |
استخدام توضّح القائمة أدناه أماكن الفنادق في
|
hasMenuSection |
مصفوفة AddOnMenuSection |
مطلوب* | التجميع الفرعي المنطقي لقائمة الإضافات (مثل العشاء أو المقبلات أو أطباق السمك). |
defaultOption |
مصفوفة AddOnMenuItem |
اختياري |
عناصر قائمة الإضافات التي سيتم تحديدها مسبقًا بشكل تلقائي للمستخدمين في
يجب أن يتوفّر لا يمكن أن يتجاوز عدد |
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". إذا لم يتم ضبط هذه السمة، يُفترض أن تكون صالحة كل يوم.
يجب أن تكون السمتان إذا تم تحديد هذا النوع على أنه
لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
validThrough |
DateTime |
اختياري |
تاريخ الانتهاء الذي يتجاوز تاريخ انتهاء الطلبات المسبقة لم يعد من الممكن تحقق. على سبيل المثال، "2018-12-01T00:00:00-07:00". إذا لم يتم ضبط هذه السمة، يُفترض أن تكون صالحة كل يوم.
يجب أن تكون السمتان إذا تم تحديد هذا النوع على أنه
إنّ وقت لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
opens |
Time |
اختياري |
ينطبق ذلك على خانات التوصيل أو طلب الوجبات الجاهزة لتناولها خارج المطعم. الوقت المحدد من اليوم الذي يبدأ منه سلوك للطلبات المسبقة يمكن تحققه. على سبيل المثال، يتم التعبير عن الساعة 6:30 صباحًا على النحو التالي "T06:30:00". يجب تحديد الوقت بالتوقيت المحلي للخدمة. يُرجى عدم تضمين
المنطقة الزمنية بقيمة لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
closes |
Time |
اختياري |
ينطبق ذلك على خانات التوصيل أو طلب الوجبات الجاهزة لتناولها خارج المطعم. الوقت المحدد من اليوم الذي بعده لا يمكن للطلبات المسبقة
تحققه. على سبيل المثال، يتم التعبير عن الساعة 9:00 مساءً على النحو التالي: "T21:00:00".
يجب تحديد الوقت بالتوقيت المحلي للخدمة. لا تفعل
أدرِج منطقة زمنية في قيمة لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
dayOfWeek |
مصفوفة DayOfWeek |
اختياري |
أيام الأسبوع التي تتوفر فيها ساعات التسليم المسبَقة. صالحة القيم هي:
إذا لم تحدد أي أيام من الأسبوع، فسيتم
ينطبق |
serviceTimeInterval |
Duration |
مطلوب |
الفاصل بين وقتي الخدمة المتتاليين. على سبيل المثال: إذا كانت قيمة يجب تحديد |
advanceBookingRequirement |
QuantitativeValue |
مطلوب |
عدد الدقائق التي تبدأ من وقت الطلب الذي يمكن فيه إجراء الطلب المُسبق تحقق.
على سبيل المثال، إذا كان الطلب المسبق يحتاج إلى 60 دقيقة على الأقل
توصيل الطلب، ولا يُسمح بتنفيذه لأكثر من يومَين
لاحقًا، تكون قيمة |
يوضح المثال التالي استخدام
نوع 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
ويسرد الجدول التالي سمات النوع 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
تمثّل هذه السمة الصنف في القائمة لتمثيل العنصر في القائمة. يسرد الجدول التالي
الخصائص للنوع MenuItem
:
الموقع | النوع | ضرورة | الوصف |
---|---|---|---|
@type |
النص | مطلوب | يكون هذا العنصر دائمًا "قائمة الطعام". |
@id |
عنوان URL | مطلوب | معرّف فريد لعنصر في القائمة. |
name |
النص | مطلوب | نص يمكن أن يحدّد MenuItem عندما يتصفّح المستخدم
القائمة. |
description |
النص | اختياري | وصف عنصر القائمة. |
image |
عنوان URL | اختياري |
صورة صنف في القائمة يُرجى اتّباع إرشادات الصور التالية:
|
menuAddOn |
مصفوفة AddOnMenuSection |
اختياري | عناصر في قسم قائمة يمكن إضافتها كإضافات إلى عنصر قائمة. |
offers |
مصفوفة Offer |
مطلوب* |
عرض واحد أو أكثر لتقديم هذا توضّح القائمة أدناه أماكن الفنادق في
|
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
.
ويسرد الجدول التالي سمات النوع MenuItemOption
:
الموقع | النوع | ضرورة | الوصف |
---|---|---|---|
@type |
النص | مطلوب | تكون هذه القيمة دائمًا " MenuItemOption". |
value |
PropertyValue |
مطلوب | PropertyValue تحتوي على زوج اسم/قيمة يمثل
الخيار. |
offers |
مصفوفة Offer |
مطلوب |
يمكنك تقديم عرض واحد أو أكثر لتوفير
توضّح القائمة أدناه أماكن الفنادق في
|
menuAddOn |
Array of |
اختياري | قسم القائمة الذي يتضمن العناصر المسموح بها التي يمكن إضافتها كإضافة. استخدام فقط
هذا إذا كانت الوظائف الإضافية خاصة بخيار عنصر قائمة معين. أو
توفير الإضافات باستخدام السمة 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
قسم "القائمة" لتمثيل قسم معيّن في القائمة يعرض الجدول التالي
خصائص النوع MenuSection
:
الموقع | النوع | ضرورة | الوصف |
---|---|---|---|
@type |
النص | مطلوب | يكون هذا هو "قائمة الأقسام" دائمًا. |
@id |
عنوان URL | مطلوب | معرّف فريد لقسم القائمة |
name |
النص | مطلوب | نص يمكن أن يحدّد MenuSection عندما يتصفّح المستخدم
القائمة. |
description |
النص | اختياري | وصف قسم القائمة. |
hasMenuSection |
مصفوفة MenuSection |
اختياري | التجميع الفرعي المنطقي للسمة MenuSection . على سبيل المثال،
يمكن أن يتضمّن قسم قائمة العشاء عدة أقسام قائمة فرعية، مثل "دواجن.
أطباق" أو "نباتي". |
hasMenuItem |
مصفوفة MenuItem |
اختياري | عناصر القائمة المضمّنة في MenuSection |
offers |
مصفوفة Offer |
اختياري |
استخدام تعرض القائمة التالية خصائص
|
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 |
النص | الجملة الشرطية |
المعرّف الفريد للعرض. يمكن أن يكون أي قيمة نصية فريدة
داخل لا تُستخدَم هذه السمة إلّا في أنواع العروض التالية:
|
price |
النص | الجملة الشرطية |
تمثّل هذه السمة سعر المنتج المعروض. على سبيل المثال: "6.00" بدون العملة الرمز. هذه السمة مطلوبة فقط في أنواع العروض التالية:
ولا يتم استخدامه في أنواع العروض التالية:
|
priceCurrency |
النص | الجملة الشرطية |
عملة السعر أو السعر (بتنسيق ISO 4217 المكوَّن من 3 أحرف) عند إرفاقها بـPriceSpecification وأنواعه الفرعية. هذه السمة مطلوبة فقط في أنواع العروض التالية:
ولا يتم استخدامه في أنواع العروض التالية:
|
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 | اختياري |
أيام الأسبوع التي تتوفّر فيها هذه السلعة. القيم الصالحة هي:
إذا كان لديك أوقات توفر مختلفة في أيام مختلفة من الأسبوع،
استخدام أكثر من عنصر |
validFrom |
DateTime |
اختياري |
التاريخ والوقت (بما في ذلك المنطقة الزمنية) اللذين يتم فيهما السعر صالح. على سبيل المثال، يكون سعر المعكرونة 8 دولار أمريكي خلال الغداء و10 دولارات أمريكية (أو ما يعادل ذلك بالعملة المحلية) وقت العشاء. لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: يمكن استخدام هذا الموقع في أنواع العروض التالية:
لا يُستخدم هذا الموقع في أنواع العروض التالية:
|
validThrough |
DateTime |
اختياري | التاريخ والوقت (بما في ذلك المنطقة الزمنية) اللذان تم تحديده بعد ذلك
لم يعد السعر صالحًا. على سبيل المثال، يكون سعر المعكرونة 8 دولار أمريكي خلال الغداء
و10 دولارات على العشاء. حان وقت يمكن استخدام هذا الموقع في أنواع العروض التالية:
لا يُستخدم هذا الموقع في أنواع العروض التالية.
|
eligibleQuantity |
QuantitativeValue | اختياري |
تمثّل هذه السمة كميات الطلب المسموح بها لهذه السلعة. على سبيل المثال: قد يطلب أحد المطاعم أن يتم طلب 10 بيتزا على الأقل التسليم. هذه القيمة اختيارية. بشكل افتراضي، لا يوجد حد أقصى، ولكن يمكن للمطعم تحديد واحد. لا تنطبق الحدود الدنيا إلا عندما يكون المستخدم يحدد العنصر. يمكن استخدام هذا الموقع في أنواع العروض التالية:
لا يُستخدم هذا الموقع في أنواع العروض التالية.
|
aggregateRating |
AggregateRating | اختياري |
يعتمد التقييم العام على مجموعة من المراجعات أو التقييمات الخاصة عنصر واحد. يمكن استخدام هذا الموقع في أنواع العروض التالية:
لا تُستخدم هذه السمة في الأنواع التالية.
|
inventoryLevel |
QuantitativeValue | اختياري |
مستوى المستودع التقريبي الحالي للسلعة أو السلع يمكن استخدام هذا الموقع في أنواع العروض التالية:
لا يُستخدم هذا الموقع في أنواع العروض التالية:
|
priceSpecification |
مصفوفة DeliveryChargeSpecification أو مصفوفة PaymentChargeSpecification | اختياري |
عند استخدامها في يمكن استخدام هذا الموقع في أنواع العروض التالية:
لا يُستخدم هذا الموقع في أنواع العروض التالية:
|
offeredBy |
مصفوفة معرّفات Restaurant |
اختياري | لتمثيل المطاعم إذا لم يتم تحديده، سيتم عرض يمكن استخدام هذا الموقع في أنواع العروض التالية:
لا يُستخدم هذا الموقع في أنواع العروض التالية:
|
applicableFulfillmentMethod |
مصفوفة نصوص | اختياري | يُمثِّل نوع الخدمة هذا إذا لم يتم تحديد قيمة، سيتم تنفيذ يمكن استخدام هذا الموقع في أنواع العروض التالية:
لا يُستخدم هذا الموقع في أنواع العروض التالية:
|
@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" ] إذا لم تحدد أي أيام من الأسبوع، فسيتم
ينطبق |
opens |
Time |
اختياري |
عند استخدام هذه السمة في مواصفات وعند استخدامها في مواصفات يجب تحديد وقت الخدمة بالتوقيت المحلي. لا تفعل
أدرِج منطقة زمنية في قيمة لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
closes |
Time |
اختياري |
وعند استخدامها في مواصفات يجب تحديد وقت الخدمة بالتوقيت المحلي. لا تفعل
أدرِج منطقة زمنية في قيمة لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
validFrom |
DateTime |
اختياري |
عند استخدام هذه السمة في مواصفات على سبيل المثال، إذا كانت ساعات العمل المحدّدة تنطبق على عام 2017 بأكمله، ينبغي لك
ضبط عند استخدامها في مواصفات إذا لم يتم تحديد هذه السمة في خلاصتك، يفترض محرّك بحث Google أنّ المطعم أو الخدمة يوميًا. بالإضافة إلى التاريخ، وأجزاء الوقت والمنطقة الزمنية من مطلوبة. بالنسبة إلى المنطقة الزمنية، استخدم المنطقة الزمنية للمطعم أو الخدمة. لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
validThrough |
DateTime |
اختياري |
عند استخدامها في على سبيل المثال، إذا كانت ساعات العمل المحدّدة تنطبق على عام 2017 بأكمله، ينبغي لك
ضبط عند استخدامها في مواصفات إذا لم يتم تحديد هذه السمة في خلاصتك، يفترض محرّك بحث Google أنّ المطعم أو الخدمة يوميًا. بالإضافة إلى التاريخ، وأجزاء الوقت والمنطقة الزمنية من يجب إدخال التاريخ والوقت. بالنسبة إلى المنطقة الزمنية، استخدم المنطقة الزمنية للمطعم أو الخدمة. إنّ وقت لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
deliveryHours |
مصفوفة 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 |
النص | مطلوب |
اسم الخيار أو نوعه في ما يلي أسماء صالحة للاستخدام في
الأسماء الصالحة عند استخدامها في
|
value |
النص | مطلوب |
قيمة الخيار يمكن أن تكون القيم أي سلسلة ويتم عرضها على شكل الموجودة. في ما يلي القيم الصالحة:
|
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 |
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 |
النص | مطلوب |
نوع الخلاصة
|
@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 |
اختياري |
الأوقات التي تلغي السمة حدِّد النطاق الزمني الخاص باستخدام سمة |
offers |
مصفوفة Offer |
الجملة الشرطية |
تفاصيل حول عرض التوصيل لمطعم معيّن. هذا النمط
يكون الحقل اختياريًا بشكل تلقائي، ولكنه مطلوب في حال اختيار السمة |
hasOfferCatalog |
[Menu ، OfferCatalog] |
مطلوب |
تحدِّد هذه السياسة قائمة لهذه الخدمة. يمكنك الحصول على قائمة مختلفة لكل خدمة من خدماتك (مثل طلب الوجبات لتناولها في الخارج، وخدمة التوصيل، وتقديم الطعام). يجب تحديد كل من "hasOfferCatalog": { "@type": ["Menu", "OfferCatalog"], "@id": "https://www.provider.com/restaurant/menu/1" } |
additionalProperty |
مصفوفة {name, value} | اختياري |
معلومات اختيارية حول ضبط الخدمة من المتوقع أن تكون العناصر
كائن بالمفتاح
يمكنك الاطّلاع على "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". في حال حذف لم يتم تعيين هذه السمة، فمن المفترض أن تكون صالحة كل يوم. إنّ وقت لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
opens |
Time |
اختياري |
وقت بدء خدمة التسليم للمستخدمين في أقرب وقت ممكن تحقق. على سبيل المثال، "T10:30:00". يجب تحديد وقت الخدمة بالتوقيت المحلي. لا تفعل
أدرِج منطقة زمنية في قيمة لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
closes |
Time |
اختياري |
الوقت الذي ستستغرقه خدمة التوصيل للمستخدمين لم تعُد الطلبات في أقرب وقت ممكن المتوفرة. على سبيل المثال، "T23:59:59". إنّ وقت يجب تحديد وقت الخدمة بالتوقيت المحلي. لا تفعل
أدرِج منطقة زمنية في قيمة لمزيد من المعلومات، يُرجى مراجعة تنسيقات التاريخ والوقت: |
dayOfWeek |
مصفوفة DayOfWeek |
اختياري |
أيام الأسبوع التي تتوفر فيها هذه الخدمة للمستخدمين تقديم الطلبات في أقرب وقت ممكن. في ما يلي القيم الصالحة:
إذا لم تحدد أي أيام من الأسبوع،
ينطبق |
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
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2024-08-21 (حسب التوقيت العالمي المتفَّق عليه)