مخطّط المستودع الارتباطي

توضّح هذه الصفحة تنسيق خلاصات بيانات "طلب الطعام من البداية إلى النهاية" (مواصفات كتالوج الطعام) التي تقدّمها إلى Google. للحصول على نسخة قابلة للقراءة آليًا من هذه المعلومات، يمكنك تنزيل مخطّط JSON.

المتطلبات العامة

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

{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}

قد يتضمّن كل عنصر من عناصر Restaurant عنصرَي Service (أحدهما لكلّ من نوعَي الخدمة DELIVERY وTAKEOUT). يمكن أن يتضمّن كل كيان من الكيانات من النوع "خدمة" كيانًا واحدًا فقط من الكيانات من النوع "قائمة طعام".

يمكن إعادة استخدام أي كيانات فرعية في عدة مطاعم.

إرشادات حول قيم JSON

إجبار النوع

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

تعمل ميزة فرض النوع أيضًا مع السمات المتكرّرة. يمكن أن تقبل السمات المتكرّرة القيم كمدخلات بدون وضعها بين قوسين []. على سبيل المثال، يقبل السمة OperationHours.serviceId كلاً من "service_id" و ["service_id"] كإدخالات صالحة.

قيم التاريخ والوقت

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

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

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

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

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

// Time format:
THH:MM:SS

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

T08:08:00 // 8:08 AM

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

  • إنّ البادئة "T" قبل الوقت هي جزء من التنسيق ويجب استخدامها.
  • يجب تحديد المنطقة الزمنية لـ DATETIME. ولا يُشترط ذلك في TIME.
  • يجب تحديد الوقت بالتوقيت المحلي للمطعم أو الخدمة.

بيانات المطعم

مطعم (مطلوب)

عنصر مطلوب لتنفيذه. يصف مطعمًا.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: Restaurant

@id String

مطلوب.

معرّف فريد للمطعم أو مقدّم خدمة التوصيل

مثلاً: restaurant_1

name String

مطلوب.

اسم المطعم.

مثلاً: Foo

description String

وصف للمطعم

مثلاً: Best seafood in town

url Url

عنوان URL الذي يمثّل المطعم يُفضّل استخدام نطاق المطعم بدلاً من نطاق المجمّع.

مثلاً: http://www.provider.com/somerestaurant

sameAs Url

الموقع الإلكتروني الرسمي للمطعم

مثلاً: http://www.provider2.com/somerestaurant

telephone String

رقم هاتف المطعم

مثلاً: +12345665898

streetAddress String

مطلوب.

عنوان الشارع للمطعم

مثلاً: 12345 Bar Avenu

addressLocality String

مطلوب.

المنطقة المحلية أو المدينة

مثلاً: San Francisco

addressRegion String

مطلوب.

المنطقة أو الولاية

مثلاً: CA

postalCode String

مطلوب.

تمثّل هذه السمة الرمز البريدي.

مثلاً: 94124

addressCountry String

مطلوب.

رمز البلد المكوّن من حرفَين وفقًا لمعيار ISO 3166-1 alpha-2

مثلاً: US

latitude Number

خط العرض بالدرجات تقتصر القيم على النطاق [[-90, 90]]. يجب ألا تقل الدقة عن 5 خانات عشرية.

مثلاً: 35.7392607

longitude Number

خط الطول بالدرجات تقتصر القيم على النطاق [[-180, 180]]. يجب ألا تقل الدقة عن 5 خانات عشرية.

مثلاً: -120.3895522

dealId List<String>

Deal السارية من المطعم

imprint String

نبذة المطعم هي قسم يتضمّن معلومات إضافية عن المطعم، مثل الاسم القانوني والعنوان القانوني ورقم التسجيل. يمكن تنسيق هذه المعلومات باستخدام " ".

مثلاً:

Three Brothers Tacos
123 FooSt
Mountain View
CA 94041, United States
email: contact@threebrotherstacos.com

Commercial Register: 123456789

economicOperator String

معلومات المشغّل الاقتصادي المرتبطة بالمطعم، إذا كان ذلك منطبقًا ستظهر هذه المعلومات ضمن قسم "معلومات التاجر". يمكن تنسيق النص باستخدام " ".

مثلاً:

XYZ Corp
123 Main Street
555-555-5555

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر المطعم بتنسيق الطابع الزمني ISO ولكن بنوع سلسلة.

مثلاً: 2017-01-02T00:00:00-07:00

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

مثال

{
  "@type": "Restaurant",
  "@id": "10824",
  "name": "Pronto Wood Fired Pizzeria",
  "url": "https://www.provider.com/pronto-wood-fired-pizzeria",
  "telephone": "+16503659978",
  "streetAddress": "2560 El Camino Real",
  "addressLocality": "Palo Alto",
  "addressRegion": "CA",
  "postalCode": "94061",
  "addressCountry": "US",
  "latitude": 37.472842,
  "longitude": -122.217144
}

صفقة

أنواع الخصومات التي يمكن تطبيقها على سلة تسوّق.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: Deal

@id String

مطلوب.

معرّف فريد للصفقة

مثلاً: FREEDELIVERY

dealCode String

مطلوب.

معرّف صفقة فريد لكل صفقة لكل شريك يجب أن يحدِّد هذا المعرّف الصفقة بشكلٍ فريد في نظامك الترويجي. ترسل إليك Google هذا المعرّف في حقل promotions.coupon ضمن CheckoutRequest للتحقّق من صحته.

مثلاً: ADETRE23

applicableServiceType قائمة<ServiceType>

الخدمة التي تنطبق عليها هذه الصفقة. يفترض الإعداد التلقائي أنّ الصفقة تنطبق على الجميع.

eligibleMaxOrders عدد صحيح

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

availabilityId List<String>

قيم @id لكيانات مدى التوفّر التي تقدّم تفاصيل عن وقت توفّر قسم القائمة

مثلاً: [ "availability_1" ]

isDisabled صحيح/خطأ

ويؤدي ذلك إلى إلغاء عمليات التحقّق الأخرى من الصحة.

dealType DealType

مطلوب.

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

priceCurrency String

تكون هذه السمة مطلوبة عند discount is defined.

تكون هذه السمة مطلوبة عند eligibleTransactionVolumeMin is defined.

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

مثلاً: USD

eligibleTransactionVolumeMin Number

حجم المعاملات، بوحدة نقدية، التي ينطبق عليها هذا العرض الترويجي.

termsOfServiceUrl Url

مطلوب.

مستندات بنود الخدمة القابلة للقراءة

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر الصفقة بتنسيق الطابع الزمني ISO ولكن بنوع سلسلة.

مثلاً: 2017-01-02T00:00:00-07:00

يجب استخدام مجموعة واحدة بالضبط من المجموعات التالية من السمات.
discount المجموعة 1 Number

قيمة الخصم كرقم.

discountPercentage المجموعة 2 Number

قيمة الخصم كنسبة مئوية من السعر الأصلي

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

مثال 1

{
  "@type": "Deal",
  "@id": "ONEDOLLARFEE",
  "dealCode": "THREEDOLLARFEE",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_may2020"
  ],
  "termsOfServiceUrl": "http://www.provider.com/onedollardeal",
  "applicableServiceType": [
    "TAKEOUT"
  ],
  "discount": 3,
  "priceCurrency": "USD"
}

مثال 2

{
  "@type": "Deal",
  "@id": "10PERCOFF",
  "dealCode": "10PERCOFF",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_weekdays_evening"
  ],
  "termsOfServiceUrl": "http://www.provider.com/deal",
  "discountPercentage": 10,
  "priceCurrency": "USD"
}

مثال 3

{
  "@type": "Deal",
  "@id": "FREEDELIVERY",
  "dealCode": "FREEDELIVERY",
  "dealType": "DELIVERY_OFF",
  "availabilityId": [
    "availability_may"
  ],
  "applicableServiceType": [
    "DELIVERY"
  ],
  "termsOfServiceUrl": "http://www.provider.com/free_delivery_deal",
  "discountPercentage": 100,
  "eligibleTransactionVolumeMin": 25,
  "priceCurrency": "USD"
}

بيانات الخدمة

الخدمة (مطلوب)

يصف تفاصيل خدمة طلب الطعام في مطعم. Service هو كيان مطلوب لتنفيذه.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: Service

@id String

مطلوب.

معرّف لخدمة الوفاء

مثلاً: service_1

serviceType ServiceType

مطلوب.

نوع الخدمة المقدَّمة القيم المحتمَلة هي "DELIVERY" أو "TAKEOUT".

مثلاً: DELIVERY

restaurantId String

مطلوب.

قيمة @id لكيان المطعم مرتبطة بكيان الخدمة هذا.

مثلاً: restaurant_1

menuId String

مطلوب.

قيمة @id لكيان القائمة مرتبطة بكيان الخدمة هذا.

مثلاً: menu_1

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر الخدمة بتنسيق الطابع الزمني ISO

مثلاً: 2017-01-02T00:00:00-07:00

isDisabled صحيح/خطأ

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

مثلاً: true

servingConfig ServingConfig

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

actionLinkUrl String

يحتوي على عنوان URL لخدمة توصيل/وجبات خارجية سيتم استخدامه أثناء نقل البيانات من تجربة طلب الطعام الشاملة إلى إعادة التوجيه.

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

مثال 1

{
  "@type": "Service",
  "@id": "10824/takeout",
  "serviceType": "TAKEOUT",
  "menuId": "10824",
  "restaurantId": "10824",
  "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderpickup/merchant_foepa_3"
}

مثال 2

{
  "@type": "Service",
  "@id": "10824/delivery",
  "serviceType": "DELIVERY",
  "menuId": "10824",
  "restaurantId": "10824",
  "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderdelivery/merchant_foepa_3"
}

ServiceArea

يصف المنطقة الجغرافية التي يمكن فيها تسليم الطعام. يجب تنفيذ هذا العنصر إذا تم ضبط قيمة serviceType لعنصر Service المرتبط على "DELIVERY".

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: ServiceArea

@id String

مطلوب.

معرّف فريد لمنطقة الخدمة

مثلاً: service_area_1

serviceId List<String>

مطلوب.

قيمة @id لكيان الخدمة مرتبطة بكيان ServiceArea هذا.

مثلاً: [ "service_1" ]

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر ServiceArea بتنسيق طابع زمني ISO ولكن بنوع String.

مثلاً: 2017-01-02T00:00:00-07:00

exclude صحيح/خطأ

استبعِد منطقة نطاق الخدمة هذه من إجمالي منطقة التسليم. على سبيل المثال، يمكن استبعاد رمز بريدي من منطقة مضلّع أكبر.

يجب استخدام مجموعة واحدة بالضبط من المجموعات التالية من السمات.
polygon المجموعة 1 List<String>

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

مثلاً: [ "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747" ]

geoMidpointLatitude المجموعة 2 Number

تشير إلى إحداثيات خط العرض في منتصف منطقة CIRCLE.

مثلاً: 37.806000

geoMidpointLongitude المجموعة 2 Number

يشير إلى إحداثيات خط الطول في وسط منطقة CIRCLE.

مثلاً: -122.425592

geoRadius المجموعة 2 عدد صحيح

يشير إلى نصف القطر التقريبي (بالمتر) لمنطقة "الدائرة".

مثلاً: 10000

postalCode المجموعة 3 String

تشير إلى الرمز البريدي.

مثلاً: 91234

addressCountry المجموعة 3 String

تشير إلى رمز البلد المكوّن من حرفَين وفقًا لمعيار ISO 3166-1 alpha-2

مثلاً: US

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

مثال

{
  "@type": "ServiceArea",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "polygon": [
    "37.4818562 -122.25801303 37.48247836 -122.25801303 37.48434484 -122.25621319 37.48621133 -122.25424681 37.49181077 -122.24704744 37.49305509 -122.24541414 37.49429942 -122.2436143 37.49803238 -122.23821477 37.49803238 -122.21285044 37.49367726 -122.15885517 37.49056645 -122.15722187 37.48621133 -122.15542202 37.48558917 -122.15525548 37.4818562 -122.15525548 37.43191387 -122.17865343 37.43191387 -122.23444854"
  ]
}

ساعات العمل (سمة مطلوبة)

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

تحدّد سمات OperationHours opens وcloses أوقات الفتح والإغلاق للنظام على الإنترنت الذي يسمح للمستخدمين بتقديم الطلبات. خلال هذه الساعات التي يعمل فيها النظام على الإنترنت، استخدِم ServiceHours لتحديد ساعات العمل التي يمكن خلالها تلبية طلبات المستخدمين.

يجب تحديد الأوقات بالتوقيت المحلي للخدمة. لا تُدرِج منطقة زمنًا في قيمة opens. في حال تحديد منطقة زمنية، تتجاهل Google هذه المعلومات. لمزيد من المعلومات، يُرجى الاطّلاع على تنسيقات التاريخ والوقت.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: OperationHours

@id String

مطلوب.

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

مثلاً: operation_hour_1

serviceId List<String>

مطلوب.

قيمة @id لكيان الخدمة مرتبطة بكيان OperationHours هذا.

مثلاً: [ "service_1" ]

opens التوقيت وفقًا لمعيار ISO (التوقيت المحلي)

تشير إلى الوقت المحدّد من اليوم بتنسيق ISO الذي يمكن من خلاله تقديم طلبات المستخدمين.

مثلاً: T00:00

closes التوقيت وفقًا لمعيار ISO (التوقيت المحلي)

تشير إلى الوقت المحدّد من اليوم بتنسيق ISO الذي لا يمكن بعده تقديم طلبات المستخدمين.

مثلاً: T16:00

dayOfWeek قائمة<DayOfWeek>

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

مثلاً: [ "MONDAY", "TUESDAY" ]

validFrom الطابع الزمني وفقًا لمعيار ISO

تكون هذه السمة مطلوبة عند isSpecialHour = true.

طابع زمني وفقًا لمعيار ISO يشير إلى وقت بدء فترة الطلب التي يمكن للمستخدمين من خلالها الوصول إلى المسار وتقديم الطلبات في أقرب وقت ممكن أو في المستقبل

مثلاً: 2017-01-01T00:00:00-07:00

validThrough الطابع الزمني وفقًا لمعيار ISO

تكون هذه السمة مطلوبة عند isSpecialHour = true.

طابع زمني وفقًا لمعيار ISO يشير إلى وقت انتهاء فترة الطلب التي لا يمكن للمستخدمين بعدها الوصول إلى عملية الشراء وتقديم طلبات في أقرب وقت ممكن أو طلبات مستقبلية.

مثلاً: 2017-01-02T00:00:00-07:00

isSpecialHour صحيح/خطأ

قيمة منطقية تشير إلى ما إذا كانت OperationHours تخصّ ساعات العمل الخاصة. القيم المقبولة هي "false" و "true".

مثلاً: False

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر OperationHours بتنسيق الطابع الزمني ISO ولكن بنوع String.

مثلاً: 2017-01-02T00:00:00-07:00

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

مثال 1

{
  "@type": "OperationHours",
  "@id": "10824/deliveryOh",
  "serviceId": [
    "10824/delivery"
  ],
  "isSpecialHour": false
}

مثال 2

{
  "@type": "OperationHours",
  "@id": "10824/takeoutOh",
  "serviceId": [
    "10824/takeout"
  ],
  "isSpecialHour": false
}

ServiceHours (مطلوب)

يصف فترة التسليم التي يمكن للمستخدمين فيها اختيار خانات التسليم (ASAP أو خانات التسليم المستقبلية). يجب تنفيذ ServiceHours.

تحدّد سمات OperationHours opens وcloses أوقات الفتح والإغلاق للنظام على الإنترنت الذي يسمح للمستخدمين بتقديم الطلبات. خلال هذه الساعات التي يعمل فيها النظام على الإنترنت، استخدِم ServiceHours لتحديد ساعات العمل التي يمكن خلالها تلبية طلبات المستخدمين.

يجب تحديد الأوقات بالتوقيت المحلي للخدمة. لا تُدرِج منطقة زمنًا في قيمة opens. في حال تحديد منطقة زمنية، تتجاهل Google هذه المعلومات. لمزيد من المعلومات، يُرجى الاطّلاع على تنسيقات التاريخ والوقت.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: ServiceHours

@id String

مطلوب.

معرّف فريد للكيان يصف فترة التسليم التي يمكن للمستخدمين اختيار خانات التسليم فيها، أي في أقرب وقت ممكن أو خانات مستقبلية.

مثلاً: service_hour_1

orderType OrderType

مطلوب.

سلسلة تشير إلى ما إذا كانت ساعات الخدمة تنطبق على الطلبات العاجلة أو الطلبات المتقدّمة القيم المقبولة هي "ASAP" و "ADVANCE".

مثلاً: ASAP

serviceId List<String>

مطلوب.

ترتبط قيمة @id لكيان الخدمة بكيان ServiceHours هذا.

مثلاً: [ "service_1" ]

operationHoursId List<String>

تكون هذه السمة مطلوبة عند isSpecialHour = false.

ترتبط قيمة @id لكيان OperationHours بكيان ServiceHours هذا.

مثلاً: [ "operation_hour_1" ]

opens التوقيت وفقًا لمعيار ISO (التوقيت المحلي)

تشير إلى الوقت المحدّد من اليوم بتنسيق ISO الذي يمكن من خلاله تنفيذ طلبات المستخدمين.

مثلاً: T00:00

closes التوقيت وفقًا لمعيار ISO (التوقيت المحلي)

يشير إلى الوقت المحدّد من اليوم بتنسيق ISO الذي لا يمكن بعده تنفيذ طلبات المستخدمين.

مثلاً: T16:00

dayOfWeek قائمة<DayOfWeek>

قائمة بأيام الأسبوع التي تكون فيها ساعات العمل هذه صالحة

مثلاً: [ "MONDAY", "TUESDAY" ]

validFrom الطابع الزمني وفقًا لمعيار ISO

تكون هذه السمة مطلوبة عند isSpecialHour = true.

طابع زمني وفقًا لمعيار ISO يشير إلى وقت بدء فترة الطلب التي يمكن للمستخدمين من خلالها الوصول إلى المسار وتقديم الطلبات في أقرب وقت ممكن أو في المستقبل

مثلاً: 2017-01-01T00:00:00-07:00

validThrough الطابع الزمني وفقًا لمعيار ISO

تكون هذه السمة مطلوبة عند isSpecialHour = true.

طابع زمني وفقًا لمعيار ISO يشير إلى وقت انتهاء فترة الطلب التي لا يمكن للمستخدمين بعدها الوصول إلى عملية الشراء وتقديم طلبات في أقرب وقت ممكن أو طلبات مستقبلية.

مثلاً: 2017-01-02T00:00:00-07:00

isSpecialHour صحيح/خطأ

قيمة منطقية تشير إلى ما إذا كانت OperationHours تخصّ ساعات العمل الخاصة. القيم المقبولة هي "false" و "true".

مثلاً: False

leadTimeMin عدد صحيح

الحد الأدنى للوقت المقدَّر للتسليم/الاستلام، بالدقائق، بعد تقديم طلب ASAP ننصحك بشدة بضبط هذه السمة.

مثلاً: 60

leadTimeMax عدد صحيح

الحد الأقصى للوقت المقدَّر للتسليم/الاستلام، بالدقائق، بعد تقديم طلب ASAP ننصحك بشدة بضبط هذه السمة.

مثلاً: 70

advanceBookingRequirementMin عدد صحيح

تكون هذه السمة مطلوبة عند orderType = "ADVANCE".

الحد الأدنى لعدد الدقائق من وقت الطلب الذي يمكن فيه تنفيذ الطلب المُسبَق على سبيل المثال، إذا كان الطلب المُسبَق يحتاج إلى 60 دقيقة على الأقل لتنفيذه، تكون قيمة advanceBookingRequirementMin هي 60.

مثلاً: 15

advanceBookingRequirementMax عدد صحيح

تكون هذه السمة مطلوبة عند orderType = "ADVANCE".

الحد الأقصى لعدد الدقائق من وقت الطلب الذي يمكن فيه تنفيذ الطلب المُسبَق على سبيل المثال، إذا تم حظر تسليم طلب مُسبَق بعد أكثر من يومَين، تكون قيمة advanceBookingRequirementMax هي 2880.

مثلاً: 10080

advanceBookingSlotInterval String

تكون هذه السمة مطلوبة عند orderType = "ADVANCE".

الفاصل الزمني بين وقتَي حجز متتاليين في الفترات الزمنية للحجز المُسبَق على سبيل المثال: إذا كان وقتا الافتتاح والإغلاق هما 8 صباحًا و8 مساءً وكانت المدة الفاصلة بين الحجوزات المُسبَقة هي 15 دقيقة، يمكن للمستخدم اختيار أوقات التسليم التي تبدأ من الساعة 8 صباحًا و8:15 صباحًا و8:30 صباحًا و8:45 صباحًا وما إلى ذلك حتى الساعة 8 مساءً. يجب تحديد المدة على أنّها مدة فترة وفقًا لمعيار ISO. على سبيل المثال، "PT15M" تعني فواصل زمنية مدتها 15 دقيقة.

مثلاً: PT15M

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر ServiceHours بتنسيق الطابع الزمني ISO ولكن بنوع String

مثلاً: 2017-01-02T00:00:00-07:00

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

مثال 1

{
  "@type": "ServiceHours",
  "@id": "613741/delivery",
  "orderType": "ASAP",
  "serviceId": [
    "10824/delivery"
  ],
  "opens": "T00:00",
  "closes": "T00:00",
  "isSpecialHour": true,
  "validFrom": "2017-12-25T00:00:00-07:00",
  "validThrough": "2017-12-25T23:59:00-07:00"
}

مثال 2

{
  "@type": "ServiceHours",
  "@id": "10824/takeoutSh_0",
  "orderType": "ASAP",
  "serviceId": [
    "10824/takeout"
  ],
  "operationHoursId": [
    "10824/takeoutOh"
  ],
  "opens": "11:00",
  "closes": "21:00",
  "dayOfWeek": [
    "MONDAY",
    "TUESDAY",
    "WEDNESDAY",
    "THURSDAY"
  ],
  "isSpecialHour": false
}

رسوم

يصف رسومًا. إذا كان serviceType الخاص بالكيان Service المرتبط مضبوطًا على DELIVERY، يجب إدراج Fee مع feeType مضبوطًا على DELIVERY.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: Fee

@id String

مطلوب.

معرّف فريد للكيان الذي يصف الرسوم

مثلاً: service_fee_1

serviceId List<String>

مطلوب.

قيمة @id لكيان الخدمة مرتبطة بكيان الرسوم هذا.

مثلاً: [ "service_1" ]

feeType FeeType

مطلوب.

سلسلة تشير إلى ما إذا كانت الرسوم تنطبق على طلبات التسليم أو الخدمة القيم المقبولة هي "DELIVERY" و "SERVICE".

مثلاً: DELIVERY

priceCurrency String

مطلوب.

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

مثلاً: USD

basePrice Number

السعر الأساسي للرسوم، الساري عند استخدام percentageOfCart أو pricePerMeter

مثلاً: 2.0

minPrice Number

الحد الأدنى للرسوم، والحد الأقصى لقيمة الرسوم عند استخدام percentageOfCart أو pricePerMeter

مثلاً: 2.0

maxPrice Number

الحد الأقصى للرسوم، يحدّ من قيمة الرسوم عند استخدام percentageOfCart أو pricePerMeter.

مثلاً: 10.0

eligibleRegion List<String>

‏ @id لـ ServiceArea للمناطق الجغرافية السياسية التي تكون الرسوم صالحة فيها. لا تستخدِم هذه السمة إلّا إذا كانت رسوم التسليم تختلف حسب المنطقة.

مثلاً: [ "service_area_1" ]

eligibleTransactionVolumeMin Number

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

مثلاً: 50

eligibleTransactionVolumeMax Number

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

مثلاً: 10

validFrom الطابع الزمني وفقًا لمعيار ISO

طابع زمني وفقًا لمعيار ISO يشير إلى وقت بدء سريان الرسوم

مثلاً: 2017-01-01T00:00:00-07:00

validThrough الطابع الزمني وفقًا لمعيار ISO

طابع زمني وفقًا لمعيار ISO يشير إلى وقت الانتهاء الذي تصبح بعده الرسوم غير صالحة

مثلاً: 2017-01-02T00:00:00-07:00

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر "الرسوم" بتنسيق الطابع الزمني ISO ولكن بنوع سلسلة.

مثلاً: 2017-01-02T00:00:00-07:00

priority Number

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

مثلاً: 3

يجب استخدام مجموعة واحدة بالضبط من المجموعات التالية من السمات.
price المجموعة 1 Number

سعر الرسوم إذا لم يكن السعر ثابتًا، يمكن تقديم minPrice وmaxPrice بدلاً من price.

مثلاً: 1.5

percentageOfCart المجموعة 2 Number

الرسوم كنسبة مئوية من قيمة سلة التسوّق القيم المقبولة هي القيم العائمة بين 0 و100 بشكلٍ شامل.

مثلاً: 9.00

pricePerMeter المجموعة 3 Number

الرسوم لكل متر من المسافة الشعاعية من المستخدم. على سبيل المثال، إذا كانت المسافة إلى المستخدم 5 كيلومترات والسعر 0.001 دولار أمريكي، ستكون رسوم المستخدم 5 دولار أمريكي.

مثلاً: 0.001

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

مثال 1

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "price": 5
}

مثال 2

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "pricePerMeter": 0.0005,
  "basePrice": 4
}

مثال 3

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "pricePerMeter": 0.0005,
  "basePrice": 4,
  "minPrice": 5,
  "maxPrice": 50
}

مثال 4

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "percentageOfCart": 5,
  "basePrice": 4
}

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

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "percentageOfCart": 5,
  "basePrice": 4,
  "minPrice": 5,
  "maxPrice": 50
}

عنصر مطلوب لتنفيذه. يصف قائمة.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: Menu

@id String

مطلوب.

معرّف فريد للقائمة

مثلاً: menu_1

name String

النص الذي يمكنه تحديد القائمة عندما يتصفّح المستخدم القائمة.

مثلاً: Foo

disclaimer String

إخلاء مسؤولية للقائمة على سبيل المثال، بيان الإفصاح عن المعلومات الغذائية وبيان الإفصاح عن مسببات الحساسية

مثلاً: Items may contain peanuts.

disclaimerUrl Url

عنوان URL يشير إلى صفحة تقدّم مزيدًا من التفاصيل حول بيان إخلاء المسؤولية

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر القائمة بتنسيق الطابع الزمني ISO ولكن بنوع سلسلة.

مثلاً: 2017-01-02T00:00:00-07:00

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

{
  "@type": "Menu",
  "@id": "10824"
}

كيان اختياري لتنفيذه يصف قسمًا معيّنًا في القائمة.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: MenuSection

@id String

مطلوب.

معرّف فريد لقسم القائمة

مثلاً: menu_section_1

menuId قائمة<ReverseReference>

قيمة @id لكيان القائمة مرتبطة بكيان MenuSection هذا.

مثلاً: [ { "@id": "menu_id", "displayOrder": 4 } ]

menuSectionId List<String>

قائمة بقيم @id لعناصر MenuSection الثانوية التي تتوافق مع عنصر MenuSection هذا

ملاحظة مهمة: يجب استخدام مرجع واحد فقط من menuSectionId أو parentMenuSectionId(in child).

مثلاً: [ "child_menu_section_1", "child_menu_section_2" ]

parentMenuSectionId قائمة<ReverseReference>

قيمة @id لكيان MenuSection الرئيسي المرتبط بكيان MenuSection هذا

ملاحظة مهمة: يجب استخدام مرجع واحد فقط من parentMenuSectionId أو menuSectionId(in parent).

مثلاً: [ { "@id": "parent_menu_section_id", "displayOrder": 4 } ]

name String

مطلوب.

النص الذي يمكنه تحديد MenuSection عندما يتصفّح المستخدم القائمة

مثلاً: Foo

description String

وصف لقسم القائمة

مثلاً: Example menu section description that helps users.

image Url

عنوان URL لصورة قسم القائمة

مثلاً: https://provider.com/someimage

menuItemId List<String>

قائمة بقيم @id لعناصر MenuItem التي تتوافق مع عنصر MenuSection هذا

ملاحظة مهمة: يجب استخدام مرجع واحد فقط من menuItemId أو MenuItem.parentMenuSectionId.

مثلاً: [ "menu_item1", "menu_item2" ]

parentMenuItemId قائمة<ReverseReference>

قائمة بقيم @id لعناصر MenuItem الأساسية التي تتوافق مع عنصر MenuSection هذا

ملاحظة مهمة: يجب استخدام مرجع واحد فقط من parentMenuItemId أو MenuItem.menuAddOnId.

مثلاً: [ { "@id": "parent_menu_item_id", "displayOrder": 4 } ]

parentMenuItemOptionId قائمة<ReverseReference>

قائمة بقيم @id لعناصر MenuItemOption الأساسية التي تتوافق مع عنصر MenuSection هذا

ملاحظة مهمة: يجب استخدام مرجع واحد فقط من parentMenuItemOptionId أو MenuItemOption.menuAddOnId.

مثلاً: [ { "@id": "parent_menu_item_option_id", "displayOrder": 4 } ]

eligibleQuantityMax عدد صحيح

الحد الأقصى لعدد الإضافات التي يمكن اختيارها في قسم الإضافات

مثلاً: 5

eligibleQuantityMin عدد صحيح

الحد الأدنى لعدد الإضافات التي يجب اختيارها في قسم الإضافات

مثلاً: 1

defaultItemId List<String>

قائمة بقيم @id التي تشير إلى عناصر MenuItem التي سيتم اختيارها مسبقًا تلقائيًا للمستخدمين في الإضافة MenuSection. يمكن للمستخدمين تغيير الاختيارات النهائية. إذا لم يتم تحديد defaultItemId، لن يتم اختيار أي MenuItem مسبقًا.

مثلاً: [ "item1", "item2" ]

availabilityId List<String>

قيم @id لكيانات مدى التوفّر التي تقدّم تفاصيل عن وقت توفّر قسم القائمة

مثلاً: [ "menu_availability_1" ]

numberOfFreeAddOns عدد صحيح

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

مثلاً: 3

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عناصر MenuSection بتنسيق الطابع الزمني ISO ولكن بنوع سلسلة.

مثلاً: 2017-01-02T00:00:00-07:00

applicableServiceType قائمة<ServiceType>

الخدمة التي ينطبق عليها هذا MenuSection. يفترض الإعداد التلقائي أنّ MenuSection تنطبق على الجميع.

offeredById List<String>

قيم @id لعناصر Restaurant التي يتوفّر فيها هذا MenuSection يفترض الإعداد التلقائي أنّ MenuSection متوفّر في جميع المواقع الجغرافية.

مثلاً: [ "restaurant_id_1", "restaurant_id_55" ]

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

{
  "@type": "MenuSection",
  "@id": "853705",
  "menuId": [
    {
      "@id": "10824",
      "displayOrder": 853705
    }
  ],
  "menuSectionId": [
    12345,
    43645
  ],
  "name": "Pasta",
  "applicableServiceType": [
    "TAKEOUT"
  ],
  "offeredById": [
    "italian_restaurant_location_1"
  ]
}
{
  "@type": "MenuSection",
  "@id": "427484",
  "menuId": [
    {
      "@id": "4287",
      "displayOrder": 964376
    }
  ],
  "menuItemId": [
    46784,
    42728
  ],
  "name": "Burger",
  "applicableServiceType": [
    "TAKEOUT",
    "DELIVERY"
  ]
}
{
  "@type": "MenuSection",
  "@id": "3138486",
  "name": "Choose a side:",
  "parentMenuItemId": [
    {
      "@id": "6680295",
      "displayOrder": 3138486
    }
  ],
  "eligibleQuantityMax": "5",
  "numberOfFreeAddOns": "2"
}
{
  "@type": "MenuSection",
  "@id": "3138482",
  "name": "Additional Pizza Toppings",
  "parentMenuItemId": [
    {
      "@id": "6680246",
      "displayOrder": 3138482
    }
  ],
  "eligibleQuantityMax": "3"
}

مدى التوفّر

كيان اختياري لتنفيذه يصف الفترة الزمنية التي يتم خلالها عرض عنصر MenuSection.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: Availability

@id String

مطلوب.

معرّف فريد للكيان الذي يصف مدى توفّر قسم القائمة

مثلاً: menu_section_avail_1

availabilityStarts التوقيت وفقًا لمعيار ISO (التوقيت المحلي)

الطابع الزمني وفقًا لمعيار ISO يشير إلى وقت البدء الذي يكون فيه مدى توفّر قسم القائمة صالحًا.

مثلاً: T00:00

availabilityEnds التوقيت وفقًا لمعيار ISO (التوقيت المحلي)

الطابع الزمني وفقًا لمعيار ISO يشير إلى وقت الانتهاء الذي بعد تجاوزه يصبح مدى توفّر قسم القائمة غير صالح.

مثلاً: T16:00

availableDay قائمة<DayOfWeek>

قائمة بأيام الأسبوع التي يكون فيها قسم القائمة متوفّرًا

مثلاً: [ "MONDAY", "TUESDAY" ]

validFrom الطابع الزمني وفقًا لمعيار ISO

طابع زمني وفقًا لمعيار ISO يشير إلى وقت بدء مدى توفّر قسم القائمة

مثلاً: 2017-01-01T00:00:00-07:00

validThrough الطابع الزمني وفقًا لمعيار ISO

طابع زمني وفقًا لمعيار ISO يشير إلى وقت الانتهاء الذي بعد تجاوزه يصبح مدى توفّر قسم القائمة غير صالح

مثلاً: 2017-01-02T00:00:00-07:00

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عنصر مدى التوفّر بتنسيق الطابع الزمني ISO ولكن بنوع سلسلة.

مثلاً: 2017-01-02T00:00:00-07:00

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

مثال

{
  "@type": "Availability",
  "@id": "85343705",
  "availabilityStarts": "06:00",
  "availabilityEnds": "22:30",
  "availableDay": [
    "SATURDAY",
    "SUNDAY"
  ]
}

عنصر مطلوب لتنفيذه. يصف عنصرًا في عنصر Menu.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: MenuItem

@id String

مطلوب.

معرّف فريد لعنصر القائمة

مثلاً: menu_item_1

name String

مطلوب.

النص الذي يمكنه تحديد MenuItem عندما يتصفّح المستخدم القائمة

مثلاً: Foo

description String

وصف لعنصر القائمة

مثلاً: Foo

image Url

عنوان URL لصورة سلعة في القائمة

مثلاً: http://someprovider.com/someimage

parentMenuSectionId قائمة<ReverseReference>

قائمة بقيم @id لعناصر MenuSection الأساسية التي تتوافق مع عنصر MenuItem هذا

ملاحظة مهمة: يجب استخدام مرجع واحد فقط من parentMenuSectionId أو MenuSection.menuItemId.

مثلاً: { "@id": "menu_section_parent_id", "displayOrder": 4 }

menuAddOnId List<String>

قائمة بقيم @id لكيانات MenuSection من قسم "الإضافات" والتي تتوافق مع عنصر MenuItem هذا.

ملاحظة مهمة: يجب استخدام مرجع واحد فقط من menuAddOnId أو MenuSection.parentMenuItemId.

مثلاً: menu_addon_1

nutrition NutritionInformation

معلومات التغذية للطبق، وأهمها السعرات الحرارية

مثلاً: { "calories": "120-150 Cal" }

allergen قائمة<Allergen>

مسبّبات الحساسية لعنصر القائمة هذا

مثلاً: [ { "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" } ]

additive قائمة<Additive>

المواد المضافة لهذا العنصر من القائمة

مثلاً: [ { "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" } ]

suitableDiet قائمة<RestrictedDiet>

يمتثل الطبق للقيود الغذائية الموضّحة.

مثلاً: [ "DIABETIC", "GLUTEN_FREE" ]

depositInfo DepositInfo

معلومات الحزمة وإعادة التدوير الخاصة بعنصر القائمة هذا

مثلاً: { "depositCode": "RECYCLABLE", "depositValue": "0.05", "depositValueCurrency": "USD" }

numberOfServings عدد صحيح

عدد الحصص المتاحة في عنصر قائمة معيّن

مثلاً: 2

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عناصر MenuItem بتنسيق الطابع الزمني ISO ولكن بنوع سلسلة.

مثلاً: 2017-01-02T00:00:00-07:00

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

{
  "@type": "MenuItem",
  "@id": "18931508",
  "name": "Sauteed Baby Spinach",
  "parentMenuSectionId": [
    {
      "@id": "3138479",
      "displayOrder": 18931508
    }
  ]
}
{
  "@type": "MenuItem",
  "@id": "18931508",
  "name": "Hamburger",
  "parentMenuSectionId": [
    {
      "@id": "4645747",
      "displayOrder": 12345
    }
  ],
  "nutrition": {
    "calories": "400 cal"
  },
  "allergen": [
    {
      "allergenType": "GLUTEN",
      "levelOfContainment": "CONTAINS"
    }
  ],
  "additive": [
    {
      "additiveName": "Sodium nitrite",
      "levelOfContainment": "CONTAINS"
    }
  ],
  "suitableDiet": [
    "DIABETIC",
    "LOW_FAT"
  ]
}

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

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

الموقع النوع الوصف
@type Const

القيمة: MenuItemOption

@id String

مطلوب.

معرّف فريد لخيار عنصر القائمة

مثلاً: menu_item_1_option

menuItemId ReverseReference

مطلوب.

قيمة @id لكيان MenuItem مرتبطة بكيان MenuItemOption هذا.

مثلاً: { "@id": "menu_item_1", "displayOrder": 4 }

optionType OptionType

سلسلة تشير إلى ما إذا كان خيار عنصر القائمة مصنّفًا حسب الحجم أو الخيار أو طبق البيتزا. القيم المقبولة هي "SIZE" و"OPTION" و "PIZZA_SIDE". "الحجم": حجم MenuItemOption. على سبيل المثال، صغير أو متوسط أو كبير. "OPTION": أي خيار آخر غير المقاس (مثل طبق سلطة أو ساندويتش). إذا لم تتمكّن من التمييز بين "SIZE" و"OPTION"، استخدِم "OPTION". "PIZZA_SIDE": خاص بالبيتزا: على سبيل المثال، هذا العنصر MenuItemOption صالح فقط لجزء من البيتزا أو البيتزا بأكملها (مثل حشوة الفطر على الجانب الأيسر أو الأيمن أو البيتزا بأكملها).

مثلاً: SIZE

value سلسلة أو PizzaSide

تكون هذه السمة مطلوبة عند optionType is defined.

قيمة سلسلة أو قيمة تعداد تكون قيم Enum خاصة بنوع الخيار PIZZA_SIDE.

applicableParentOptionValue String

سلسلة تحتوي على قيمة خيار السلعة الرئيسية الذي يتوفّر له هذا الخيار

مثلاً: Small

menuAddOnId List<String>

قائمة بقيم @id لكيانات MenuSection من قسم "الإضافات" والتي تتوافق مع عنصر MenuItemOption هذا.

ملاحظة مهمة: يجب استخدام مرجع واحد فقط من menuAddOnId أو MenuSection.parentMenuItemId.

مثلاً: menuAddOnId

nutrition NutritionInformation

معلومات التغذية للطبق، وأهمها السعرات الحرارية

مثلاً: { "calories": "120-150 Cal" }

allergen قائمة<Allergen>

مسبّبات الحساسية لعنصر القائمة هذا

مثلاً: { "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }

additive قائمة<Additive>

المواد المضافة لهذا العنصر من القائمة

مثلاً: { "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }

depositInfo DepositInfo

معلومات التغليف وإعادة التدوير الخاصة بعنصر القائمة هذا

مثلاً: { "depositCode": "RECYCLABLE", "depositValue": "0.05", "depositValueCurrency": "USD" }

numberOfServings عدد صحيح

عدد الوجبات المتاحة في خيار محدد من عناصر القائمة

مثلاً: 2

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة ملف تعريف العنصر MenuItemOption بتنسيق الطابع الزمني ISO ولكن بنوع String.

مثلاً: 2017-01-02T00:00:00-07:00

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

{
  "@type": "MenuItemOption",
  "@id": "56177944",
  "menuItemId": {
    "@id": "18930213",
    "displayOrder": 1234
  },
  "optionType": "PIZZA_SIDE",
  "value": "PIZZA_SIDE_LEFT"
}
{
  "@type": "MenuItemOption",
  "@id": "56177944",
  "menuItemId": {
    "@id": "18930213",
    "displayOrder": 1234
  },
  "applicableParentOptionValue": "Small Pizza"
}

عنصر مطلوب لتنفيذه. يصف عرضًا لكيان MenuItem أو MenuItemOption.

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

الموقع النوع الوصف
@type Const

مطلوب.

القيمة: MenuItemOffer

@id String

مطلوب.

معرّف فريد لعرض عنصر القائمة

مثلاً: menu_item_offer

sku String

مطلوب.

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

مثلاً: Menu_item_offer_sku

price Number

مطلوب.

سعر عرض قائمة الطعام.

مثلاً: 2.5

priceCurrency String

مطلوب.

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

مثلاً: USD

availabilityId List<String>

قيم @id لكيانات مدى التوفّر التي تقدّم تفاصيل عن وقت توفّر عرض صنف القائمة

مثلاً: [ "menu_availability_1" ]

eligibleQuantityMin Number

الحد الأدنى لكمية السلع في الطلب التي تكون فيها قيمة MenuItemOffer صالحة.

مثلاً: 1

eligibleQuantityMax Number

الحد الأقصى للكمية التي يمكن طلبها وتكون فيها السمة MenuItemOffer صالحة.

مثلاً: 25

inventoryLevel Number

المستوى التقريبي الحالي للمستودع الإعلاني للعنصر أو العناصر المقابلة لـ MenuItemOffer هذا.

مثلاً: 10

dateModified الطابع الزمني وفقًا لمعيار ISO

تاريخ ووقت آخر تعديل على خلاصة عناصر MenuItemOffer بتنسيق الطابع الزمني ISO ولكن بنوع سلسلة.

مثلاً: 2017-01-02T00:00:00-07:00

applicableServiceType قائمة<ServiceType>

الخدمة التي ينطبق عليها هذا MenuItemOffer. يفترض الإعداد التلقائي أنّ MenuItemOffer تنطبق على الجميع.

offeredById List<String>

قيم @id لعناصر Restaurant التي يتوفّر فيها هذا MenuItemOffer يفترض الإعداد التلقائي أنّ MenuItemOffer متوفّر في جميع المواقع الجغرافية.

مثلاً: [ "restaurant_id_5", "restaurant_id_26" ]

يجب استخدام مجموعة واحدة بالضبط من المجموعات التالية من السمات.
menuItemId المجموعة 1 String

قيمة @id لكيان MenuItem مرتبطة بكيان MenuItemOffer هذا.

مثلاً: menu_item_1

menuItemOptionId المجموعة 2 String

قيمة @id لكيان MenuItemOption مرتبطة بكيان MenuItemOffer هذا.

مثلاً: menu_item_option_1

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

{
  "@type": "MenuItemOffer",
  "@id": "6680262",
  "sku": "offer-mediterranean-bagel",
  "menuItemId": "896532",
  "price": 15.5,
  "priceCurrency": "USD",
  "applicableServiceType": [
    "DELIVERY"
  ],
  "offeredById": [
    "bagel_shop_location_5"
  ]
}

الإعدادات الشائعة

ReverseReference

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

الموقع النوع الوصف
@id String

مطلوب.

‫@id للكيان الأصلي

displayOrder عدد صحيح

مطلوب.

ترتيب عرض العنصر ضمن العنصر الرئيسي

NutritionInformation

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

الموقع النوع الوصف
description String

معلومات التغذية في نص حر على سبيل المثال، "يحتوي على مواد حافظة".

calories String

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

مثلاً: 120.34 Cal

sodiumContent String

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

مثلاً: 1200 mg

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

مثال

{
  "calories": "120-150 Cal",
  "sodiumContent": "100 mg"
}

مسبّب الحساسية

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

الموقع النوع الوصف
allergenType AllergenType

مطلوب.

نوع مسبّب الحساسية

levelOfContainment ContainmentLevel

مستوى مسبّب حساسية معيّن في عنصر القائمة

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

مثال

{
  "allergenType": "PEANUTS",
  "levelOfContainment": "MAY_CONTAIN"
}

مادة مضافة

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

الموقع النوع الوصف
additiveName String

مطلوب.

اسم المادة المضافة

levelOfContainment ContainmentLevel

مستوى مادة مضافة معيّنة في عنصر القائمة

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

مثال

{
  "additiveName": "Sodium nitrite",
  "levelOfContainment": "CONTAINS"
}

DepositInfo

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

الموقع النوع الوصف
depositCode DepositCode

رمز الإيداع

depositValue Number

القيمة الرقمية للإيداع المدفوع مقابل السلعة، على سبيل المثال، عند إعادة تدويرها

depositValueCurrency String

عملة قيمة الإيداع

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

مثال

{
  "depositCode": "RECYCLABLE",
  "depositValue": 0.05,
  "depositValueCurrency": "USD"
}

ServingConfig

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

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

الموقع النوع الوصف
disableOrderInstructions صحيح/خطأ

إخفاء إمكانية تحديد تعليمات الطلب

disableMenuItemSpecialInstructions صحيح/خطأ

إخفاء إمكانية تحديد تعليمات خاصة لعنصر قائمة

disableTipWidget صحيح/خطأ

إخفاء التطبيق المصغّر لإضافة معلومات البقشيش في صفحة "تقديم الطلب" ضمن مسار الطلب

disablePromoWidget صحيح/خطأ

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

menuItemSpecialInstructionsMaxLength Number

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

orderInstructionsMaxLength Number

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

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

مثال 1

{
  "disableMenuItemSpecialInstructions": true
}

مثال 2

{
  "disableTipWidget": true,
  "disablePromoWidget": true
}

مثال 3

{
  "menuItemSpecialInstructionsMaxLength": 250,
  "orderInstructionsMaxLength": 1000
}

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

DayOfWeek

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

  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
  • SUNDAY

ServiceType

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

  • DELIVERY
  • TAKEOUT

OrderType

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

  • ASAP
  • ADVANCE

FeeType

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

  • DELIVERY
  • SERVICE

OptionType

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

  • SIZE
  • OPTION
  • PIZZA_SIDE

PizzaSide

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

  • PIZZA_SIDE_LEFT
  • PIZZA_SIDE_RIGHT
  • PIZZA_SIDE_WHOLE

AllergenType

نوع مسبّبات الحساسية وفقًا gs1:AllergenTypeCode

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

  • ALMONDS
  • ALPHA_ISOMETHYL_IONONE
  • ALCOHOL
  • AMYL_CINNAMAL
  • ANISE_ALCOHOL
  • BARLEY
  • BENZYL_ALCOHOL
  • BENZYL_BENZOATE
  • BENZYL_CINNAMATE
  • BENZYL_SALICYLATE
  • BRAZIL_NUTS
  • BUTYLPHENYL_METHYLPROPIONATE
  • CARROTS
  • CASHEW_NUTS
  • CELERY
  • CEREALS_CONTAINING_GLUTEN
  • CINNAMAL
  • CINNAMYL_ALCOHOL
  • CITRAL
  • CITRONELLOL
  • COCOA
  • CORIANDER
  • CORN
  • COUMARIN
  • CRUSTACEANS
  • EGGS
  • EUGENOL
  • EVERNIA_FURFURACEA
  • EVERNIA_PRUNASTRI
  • FARNESOL
  • FISH
  • GERANIOL
  • GLUTEN
  • HAZELNUTS
  • HEXYL_CINNAMAL
  • HYDROXYCITRONELLAL
  • HYDROXYISOHEXYL_3_CYCLOHEXENE_CARBOXALDEHYDE_ISOEUGENOL_LIMONENE_LINAL
  • KAMUT
  • LACTOSE
  • LUPINE
  • MACADAMIA_NUTS
  • METHYL_2_OCTYNOATE
  • MILK
  • MOLLUSCS
  • MUSTARD
  • NO_DECLARED_ALLERGENS
  • OAT
  • PEANUTS
  • PEAS
  • PECAN_NUTS
  • PISTACHIOS
  • POD_FRUITS
  • QUEENSLAND_NUTS
  • RYE
  • SESAME_SEEDS
  • SOYBEANS
  • SPELT
  • SULPHUR_DIOXIDE
  • TREE_NUTS
  • TREE_NUT_TRACES
  • WALNUTS
  • WHEAT

ContainmentLevel

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

  • CONTAINS
  • FREE_FROM
  • MAY_CONTAIN

DepositCode

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

  • REUSABLE
  • RECYCLABLE

DealType

فئة الصفقة التي سيتم تطبيق الخصم عليها. يمكن أن تكون الفئة هي المبلغ الإجمالي في سلة التسوّق أو رسوم التسليم.

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

  • CART_OFF
  • DELIVERY_OFF

RestrictedDiet

نوع الأنظمة الغذائية المحظورة وفقًا لـ schema.org:RestrictedDiet

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

  • DIABETIC
  • GLUTEN_FREE
  • HALAL
  • HINDU
  • KOSHER
  • LOW_CALORIE
  • LOW_FAT
  • LOW_LACTOSE
  • LOW_SALT
  • VEGAN
  • VEGETARIAN