القائمة
يصف عنصر القائمة قائمة الطعام التي يوفّرها مطعم للعملاء. يجب تحديد كيان
قائمة الطعام ضمن كيان مطعم من خلال سمة
menuId
الخاصة بالمطعم.
تشمل العناصر الأخرى التي تحدّد القائمة (مثل الوصف والصورة والإضافات
ومعلومات التغذية) MenuItem
وMenuItemOffer
، بالإضافة إلى العناصر
الاختيارية MenuSection
وAvailability
وMenuItemOption
.
أقسام القائمة
يمكنك استخدام كائنات MenuSection
لتنظيم كائنات MenuItem
متعددة في
فئات منطقية. يُعدّ هذا النهج مفيدًا للمطاعم التي تقدّم عدة ملفّات طعام (مثل الفطور والغداء والعشاء). أضِف كل قائمة على حدة كMenuSection
منفصل.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: القائمة الأساسية | استخدِم MenuItem وMenuItemOffer و
MenuSection (اختياري) |
يتطابق المثال التالي مع حالة استخدام "القائمة الأساسية" مع قسمَين من القائمة ("الطعام طوال اليوم" و "المشروبات")، يحتوي كلّ منهما على صنفَين من القائمة:
JSON
{ "@type": "Menu", "name": "Coffee Shop A", "@id": "1535" } { "@type": "MenuSection", "@id": "4371", "menuId": { "@id": "1535", "displayOrder": 1 }, "name": "All day food", "menuItemId": ["1", "2"] } { "@type": "MenuItem", "@id": "1", "name": "Mediterranean Bagel", "description": "rocket, scrambled egg, tomato relish, bacon ***Gluten free bagel available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "4371", "displayOrder": 1 } } { "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "1", "price": 17.60, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "2", "name": "Club Empire Bagel", "description": "grilled chicken, bacon, rocket, tomato relish ***Gluten Free Bagels Available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "4371", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "428", "sku": "offer-club-empire-bagel", "menuItemId": "2", "price": 18.90, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "27", "menuId": { "@id": "1535", "displayOrder": 2 }, "name": "Drinks", "menuItemId": ["3", "4"] } { "@type": "MenuItem", "@id": "3", "name": "Cold Brew Coffee", "description": "67% less acid & refreshingly good", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "27", "displayOrder": 1 } } { "@type": "MenuItemOffer", "@id": "456", "sku": "offer-cold-brew-coffee", "menuItemId": "3", "price": 8.50, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "4", "name": "English Breakfast Tea", "description": "Not Coffee. Try our tea", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "27", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "4432", "sku": "offer-english-breakfast-tea", "menuItemId": "4", "price": 5.50, "priceCurrency": "AUD" }
قائمة لفترة محدودة
يمكن استخدام عناصر MenuItemOffer
مع Availability
لإنشاء
عناصر قائمة واختيارات قائمة صالحة لفترة محدودة. استخدِم عناصر Availability
ل
إنشاء أقسام قائمة محدودة بوقت معيّن بدلاً من ذلك.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: قسم قائمة محدودة بوقت معيّن | استخدِم Availability لتحديد وقت
availabilityStarts وavailabilityEnds
القسم. |
حالة الاستخدام 2: عنصر قائمة متوفّر لفترة زمنية محدودة | استخدِم menuItemId في MenuItemOffer لتحديدMenuItem المرتبط بالعرض. استخدِم
Availability لتحديد وقت
availabilityStarts وavailabilityEnds و
availabilityDay رمز> العرض. |
حالة الاستخدام 3: عنصر قائمة يتضمّن عروضًا متعددة | استخدِم سمة MenuItemOffer الخاصة بالسمة menuItemId واضبط
السمة availabilityId لتحديد الفترة الزمنية التي
يكون فيها السعر صالحًا. |
JSON
قائمة طعام أساسية تتضمّن أقسام "الطعام طوال اليوم" و"الغداء" و "المشروبات"
تتألّف القائمة من ثلاثة أقسام. لا يتوفّر قسم "الغداء (متاح من الساعة 11:30 صباحًا إلى الساعة 2:30 مساءً)"
إلا من الساعة 11:30 صباحًا إلى الساعة 2:30 مساءً، كما هو موضّح في
عنصر Availability
.
{ "@type": "Menu", "name": "Coffee Shop A", "@id": "1535" } { "@type": "MenuSection", "@id": "4371", "menuId": { "@id": "1535", "displayOrder": 1 }, "name": "All day food", "menuItemId": ["1", "2"] } { "@type": "MenuItem", "@id": "1", "name": "Mediterranean Bagel", "description": "rocket, scrambled egg, tomato relish, bacon ***Gluten free bagel available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "4371", "displayOrder": 1 } } { "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "1", "price": 17.60, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "2", "name": "Club Empire Bagel", "description": "grilled chicken, bacon, rocket, tomato relish ***Gluten Free Bagels Available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "4371", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "428", "sku": "offer-club-empire-bagel", "menuItemId": "2", "price": 18.90, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "27", "menuId": { "@id": "1535", "displayOrder": 3 }, "name": "Drinks", "menuItemId": ["3", "4"] } { "@type": "MenuItem", "@id": "3", "name": "Cold Brew Coffee", "description": "67% less acid & refreshingly good", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "27", "displayOrder": 1 } } { "@type": "MenuItemOffer", "@id": "3", "sku": "offer-cold-brew-coffee", "menuItemId": "3", "price": 8.50, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "4", "name": "English Breakfast Tea", "description": "Not Coffee. Try our tea", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "27", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "4", "sku": "offer-english-breakfast-tea", "menuItemId": "4", "price": 5.50, "priceCurrency": "AUD" } { "@type": "Availability", "@id": "85343705", "availabilityStarts": "11:30", "availabilityEnds": "14:30" } { "@type": "MenuSection", "@id": "53", "menuId": { "@id": "1535", "displayOrder": 2 }, "name": "Lunch (Available 11:30am - 2:30pm)", "menuItemId": ["5", "6"], "availabilityId": ["85343705"] } { "@type": "MenuItem", "@id": "5", "name": "Bibimbap", "description": "pulled pork, julienned carrot, cucumber, spring onions, brown rice, pureed kimchi, fried free-range egg.", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "53", "displayOrder": 1 } } { "@type": "MenuItemOffer", "@id": "753", "sku": "offer-bibimbap", "menuItemId": "5", "price": 24.80, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "6", "name": "The Big Chicken", "description": "WA free range handmade chicken burger, lettuce, avocado, bacon, tomato relish on charcoal brioche bun, sweet potato wedges and house made aioli (vegetarian option – spiced lentil burger, just ask us in the notes)", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "53", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "856", "sku": "offer-big-chicken", "menuItemId": "6", "price": 25.60, "priceCurrency": "AUD" }
JSON
قائمة طعام أساسية تتضمّن أقسام "الطعام طوال اليوم" و"الغداء" و "المشروبات"
تتألّف القائمة من ثلاثة أقسام. لا يتوفّر قسم "الغداء (متاح من الساعة 11:30 صباحًا حتى الساعة 2:30 مساءً)"
إلا من الساعة 11:30 صباحًا حتى الساعة 2:30 مساءً، كما هو موضّح في
عنصر Availability
. لا يتوفّر عنصر القائمة "Bibimbap" إلا
من الساعة 12:00 ظهرًا إلى الساعة 1:00 ظهرًا، كما هو موضّح في Availability
المُشار إليه في عنصر MenuItemOffer
المقابل.
{ "@type": "Menu", "name": "Coffee Shop A", "@id": "1535" } { "@type": "MenuSection", "@id": "4371", "menuId": { "@id": "1535", "displayOrder": 1 }, "name": "All day food", "menuItemId": ["1", "2"] } { "@type": "MenuItem", "@id": "1", "name": "Mediterranean Bagel", "description": "rocket, scrambled egg, tomato relish, bacon ***Gluten free bagel available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "4371", "displayOrder": 1 } } { "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "1", "price": 17.60, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "2", "name": "Club Empire Bagel", "description": "grilled chicken, bacon, rocket, tomato relish ***Gluten Free Bagels Available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "4371", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "428", "sku": "offer-club-empire-bagel", "menuItemId": "2", "price": 18.90, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "27", "menuId": { "@id": "1535", "displayOrder": 3 }, "name": "Drinks", "menuItemId": ["3", "4"] } { "@type": "MenuItem", "@id": "3", "name": "Cold Brew Coffee", "description": "67% less acid & refreshingly good", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "27", "displayOrder": 1 } } { "@type": "MenuItemOffer", "@id": "3", "sku": "offer-cold-brew-coffee", "menuItemId": "3", "price": 8.50, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "4", "name": "English Breakfast Tea", "description": "Not Coffee. Try our tea", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "27", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "4", "sku": "offer-english-breakfast-tea", "menuItemId": "4", "price": 5.50, "priceCurrency": "AUD" } { "@type": "Availability", "@id": "85343705", "availabilityStarts": "11:30", "availabilityEnds": "14:30" } { "@type": "MenuSection", "@id": "53", "menuId": { "@id": "1535", "displayOrder": 2 }, "name": "Lunch (Available 11:30am - 2:30pm)", "menuItemId": ["5", "6"], "availabilityId": ["85343705"] } { "@type": "MenuItem", "@id": "5", "name": "Bibimbap", "description": "pulled pork, julienned carrot, cucumber, spring onions, brown rice, pureed kimchi, fried free-range egg.", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "53", "displayOrder": 1 } } { "@type": "Availability", "@id": "54767", "availabilityStarts": "12:00", "availabilityEnds": "13:00" } { "@type": "MenuItemOffer", "@id": "753", "sku": "offer-bibimbap", "menuItemId": "5", "price": 24.80, "priceCurrency": "AUD", "availabilityId": ["54767"] } { "@type": "MenuItem", "@id": "6", "name": "The Big Chicken", "description": "WA free range handmade chicken burger, lettuce, avocado, bacon, tomato relish on charcoal brioche bun, sweet potato wedges and house made aioli (vegetarian option – spiced lentil burger, just ask us in the notes)", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png", "parentMenuSectionId": { "@id": "53", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "856", "sku": "offer-big-chicken", "menuItemId": "6", "price": 25.60, "priceCurrency": "AUD" }
JSON
عناصر قائمة الطعام التي تتضمّن عروضًا تختلف حسب السعر والوقت
تتضمّن القائمة قسمَين. يحتوي عنصر القائمة "معكرونة" على عنصرَين متطابقَين
MenuItemOffer
(أحدهما لسعر الغداء والآخر لسعر
العشاء). يبلغ سعر وجبة الغداء من المعكرونة 7.49 دولار أمريكي، ويبلغ سعرها للعشاء
10.49 دولار أمريكي.
{ "@type": "Menu", "name": "Dine-In Menu", "@id": "1535" } { "@type": "MenuSection", "@id": "4371", "menuId": { "@id": "1535", "displayOrder": 1 }, "name": "Main", "description": "Main course", "image": "http://www.provider.com/somerestaurant/main_dishes.jpg", "menuItemId": ["1", "2"] } { "@type": "MenuItem", "@id": "1", "name": "Pizza", "description": "Pizza", "image": "http://www.provider.com/somerestaurant/menuitem/1", "parentMenuSectionId": { "@id": "4371", "displayOrder": 1 } } { "@type": "Availability", "@id": "morning_availability", "availabilityStarts": "08:00", "availabilityEnds": "18:00" } { "@type": "Availability", "@id": "evening_availability", "availabilityStarts": "18:00", "availabilityEnds": "21:00" } { "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-pizza", "menuItemId": "1", "price": 7.49, "priceCurrency": "USD", "availabilityId": ["morning_availability"] } //Starts at 8:00AM, ends at 6:00PM, last order at 5:59:59PM { "@type": "MenuItem", "@id": "2", "name": "Pasta", "description": "Pasta", "image": "http://www.provider.com/somerestaurant/menuitem/2", "parentMenuSectionId": { "@id": "4371", "displayOrder": 2 } } { "@type": "MenuItemOffer", "@id": "5472", "sku": "offer-pasta-lunch", "menuItemId": "2", "price": 7.49, "priceCurrency": "USD", "availabilityId": ["morning_availability"] } //Starts at 8:00AM, ends at 6:00PM, last order at 5:59:59PM { "@type": "MenuItemOffer", "@id": "174", "sku": "offer-pasta-dinner", "menuItemId": "2", "price": 10.49, "priceCurrency": "USD", "availabilityId": ["evening_availability"] } //Starts at 6:00PM, ends at 9:00PM, last order at 8:59:59PM { "@type": "MenuSection", "@id": "753", "menuId": { "@id": "1535", "displayOrder": 2 }, "name": "Soups & Salads", "description": "Salads and a few choices of soup", "image": "https://www.provider.com/somerestaurant/soup_and_salad_dishes.jpg", "menuItemId": ["3"] } { "@type": "MenuItem", "@id": "3", "name": "Pea Soup", "description": "Creamy pea soup topped with melted cheese and sourdough croutons.", "parentMenuSectionId": { "@id": "1535", "displayOrder": 1 } } { "@type": "MenuItemOffer", "@id": "9763", "sku": "offer-pea-soup", "menuItemId": "3", "price": 3.49, "priceCurrency": "USD" } //Starts at 8:00AM, ends at 6:00PM, last order at 5:59:59PM
التخصيص باستخدام الإضافات
يمكن أن تتضمّن عناصر القائمة خيارات إضافية. حدِّد الإضافات لعنصر MenuItem
من خلال الإشارة إلى عناصر MenuSection
باستخدام menuAddOnId
. يجب أن تحتوي هذه MenuSection
العناصر على عناصر القائمة المستخدَمة
في إضافاتك.
يمكنك تقديم عناصر MenuItem
إضافية تلقائية باستخدام السمة defaultOptionId
لعنصر MenuSection
الإضافي.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: الإضافات الأساسية | استخدِم سمتَي
eligibleQuantityMin وeligibleQuantityMax
لعنصر MenuSection الإضافية من أجل تحديد الحد الأدنى والأقصى لعدد العناصر الإضافية
التي يمكن اختيارها في قسم الإضافة. |
حالة الاستخدام 2: الإضافات التلقائية | استخدِم MenuSection عنصر الإضافة
defaultOptionId لتوفير خيارات الإضافة التلقائية. |
حالة الاستخدام 3: وجبات المجموعات/الحزم | استخدِم عناصر MenuSection لوصف الخيارات التي يمكن للمستخدم إجراؤها عند اختيار طبق أو مجموعة. |
JSON
في هذا المثال، يمكن تخصيص عنصر القائمة "كابوتشينو" باستخدام خيار استخدام قشة.
يتوفّر خيار إضافي واحد لإضافة مكونات إلى صنف "المعجّن المتوسطي" في قسم قائمة "الطعام طوال اليوم"، بالإضافة إلى خيارَين لإضافة بيض.
يتوفّر في قسم القائمة نفسه صنف "كعكة بيض مقلي" مع الخيارات الإضافية نفسها، بالإضافة إلى خيار إضافي "خيارات البيض" يتضمن بيضًا مقليًا.
في قسم المشروبات، يتوفّر عنصر واحد مع خيار "حليب" وخيار "قشّة".
{ "@type": "Menu", "name": "Coffee Shop A", "@id": "1535" } { "@type": "MenuSection", "@id": "4371", "menuId": { "@id": "1535", "displayOrder": 1 }, "name": "All day food", "menuItemId": ["1", "12"] } { "@type": "MenuItem", "@id": "1", "name": "Mediterranean Bagel", "description": "rocket, scrambled egg, tomato relish, bacon ***Gluten free bagel available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png" } { "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "1", "price": 17.60, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "362", "name": "Extras", "menuItemId": ["2"], "parentMenuItemId": [{ "@id": "1", "displayOrder": 1 }] } { "@type": "MenuItem", "@id": "2", "name": "Chorizo" } { "@type": "MenuItemOffer", "@id": "74", "sku": "offer-addon-chorizo", "menuItemId": "2", "price": 6.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "5374", "name": "Egg Options", "menuItemId": ["8", "9"], "parentMenuItemId": [{ "@id": "1", "displayOrder": 1 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 2 } { "@type": "MenuItem", "@id": "8", "name": "No Extra Egg" } { "@type": "MenuItemOffer", "@id": "4527", "sku": "offer-addon-no-egg", "menuItemId": "8", "price": 0.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "9", "name": "Extra Egg - Fried" } { "@type": "MenuItemOffer", "@id": "99", "sku": "offer-addon-fried-egg", "menuItemId": "9", "price": 3.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "12", "name": "Club Bagel", "description": "grilled chicken, bacon, rocket, tomato relish ***Gluten Free Bagels Available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png" } { "@type": "MenuItemOffer", "@id": "428", "sku": "offer-club-empire-bagel", "menuItemId": "12", "price": 18.90, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "3865", "name": "Extras", "menuItemId": ["2", "13"], "parentMenuItemId": [{ "@id": "12", "displayOrder": 1 }], "eligibleQuantityMin": 0, "eligibleQuantityMax": 2 } { "@type": "MenuItem", "@id": "13", "name": "Free Range Bacon" } { "@type": "MenuItemOffer", "@id": "832", "sku": "offer-addon-bacon", "menuItemId": "13", "price": 6.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "5428", "name": "Egg Options", "menuItemId": ["8", "9", "14"], "parentMenuItemId": [{ "@id": "12", "displayOrder": 1 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 2 } { "@type": "MenuItem", "@id": "14", "name": "Scrambled Egg" } { "@type": "MenuItemOffer", "@id": "546", "sku": "offer-scrambled-egg", "menuItemId": "14", "price": 3.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "531", "menuId": { "@id": "1535", "displayOrder": 2 }, "name": "Lunch (Available 11:30am - 2:30pm)", "menuItemId": ["15"] } { "@type": "MenuItem", "@id": "15", "name": "Bibimbap", "description": "pulled pork, julienned carrot, cucumber, spring onions, brown rice, pureed kimchi, fried free-range egg.", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png" } { "@type": "MenuItemOffer", "@id": "753", "sku": "offer-bibimbap", "menuItemId": "15", "price": 24.80, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "27", "menuId": { "@id": "1535", "displayOrder": 3 }, "name": "Drinks", "menuItemId": ["17"] } { "@type": "MenuItem", "@id": "17", "name": "Cappuccino", "description": "Milk Foam over a cup of espresso, topped with chocolate powder art", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png" } { "@type": "MenuItemOffer", "@id": "1743", "sku": "offer-cappucino", "menuItemId": "17", "price": 6.50, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "4527", "name": "Milk", "menuItemId": ["18"], "parentMenuItemId": [{ "@id": "17", "displayOrder": 1 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "18", "name": "Skim" } { "@type": "MenuItemOffer", "@id": "4588", "sku": "offer-addon-skim-milk", "menuItemId": "18", "price": 0.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "5427", "name": "Straw Option", "menuItemId": ["22"], "parentMenuItemId": [{ "@id": "17", "displayOrder": 1 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "22", "name": "Plastic Straw" } { "@type": "MenuItemOffer", "@id": "4587", "sku": "offer-addon-plastic-straw", "menuItemId": "22", "price": 0.05, "priceCurrency": "AUD", "eligibleQuantityMax": 1 }
JSON
في هذا المثال، تم اختيار عنصر القائمة "Club Bagel" مسبقًا مع خيار لحم chorizo والبيض المخفوق. تشوريزو وصلصة الفلفل الحار هما الخياران التلقائيان ضمن "الإضافات" والبيض المخفوق هو الخيار التلقائي ضمن "خيار البيض".
{ "@type": "Menu", "name": "Coffee Shop A", "@id": "1535" } { "@type": "MenuSection", "@id": "4371", "menuId": { "@id": "1535", "displayOrder": 1 }, "name": "All day food", "menuItemId": ["1", "12"] } { "@type": "MenuItem", "@id": "1", "name": "Mediterranean Bagel", "description": "rocket, scrambled egg, tomato relish, bacon ***Gluten free bagel available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png" } { "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-mediterranean-bagel", "menuItemId": "1", "price": 17.60, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "362", "name": "Extras", "menuItemId": ["2"], "parentMenuItemId": [{ "@id": "1", "displayOrder": 1 }] } { "@type": "MenuItem", "@id": "2", "name": "Chorizo" } { "@type": "MenuItemOffer", "@id": "74", "sku": "offer-addon-chorizo", "menuItemId": "2", "price": 6.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "5374", "name": "Egg Options", "menuItemId": ["8", "9"], "parentMenuItemId": [{ "@id": "1", "displayOrder": 1 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 2 } { "@type": "MenuItem", "@id": "8", "name": "No Extra Egg" } { "@type": "MenuItemOffer", "@id": "4527", "sku": "offer-addon-no-egg", "menuItemId": "8", "price": 0.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "9", "name": "Extra Egg - Fried" } { "@type": "MenuItemOffer", "@id": "99", "sku": "offer-addon-fried-egg", "menuItemId": "9", "price": 3.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "12", "name": "Club Bagel", "description": "grilled chicken, bacon, rocket, tomato relish ***Gluten Free Bagels Available***", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png" } { "@type": "MenuItemOffer", "@id": "428", "sku": "offer-club-empire-bagel", "menuItemId": "12", "price": 18.90, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "3865", "name": "Extras", "menuItemId": ["2", "13", "25"], "parentMenuItemId": [{ "@id": "12", "displayOrder": 1 }], "eligibleQuantityMin": 0, "eligibleQuantityMax": 2, "defaultItemId": ["2", "25"] } { "@type": "MenuItem", "@id": "13", "name": "Free Range Bacon" } { "@type": "MenuItemOffer", "@id": "832", "sku": "offer-addon-bacon", "menuItemId": "13", "price": 6.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "25", "name": "Chili Sauce" } { "@type": "MenuItemOffer", "@id": "7337", "sku": "offer-addon-chili-sauce", "menuItemId": "25", "price": 0.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "5428", "name": "Egg Options", "menuItemId": ["8", "9", "14"], "parentMenuItemId": [{ "@id": "12", "displayOrder": 1 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 2, "defaultItemId": ["14"] } { "@type": "MenuItem", "@id": "14", "name": "Scrambled Egg" } { "@type": "MenuItemOffer", "@id": "546", "sku": "offer-scrambled-egg", "menuItemId": "14", "price": 3.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "27", "menuId": { "@id": "1535", "displayOrder": 3 }, "name": "Drinks", "menuItemId": ["17"] } { "@type": "MenuItem", "@id": "17", "name": "Cappuccino", "description": "Milk Foam over a cup of espresso, topped with chocolate powder art", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png" } { "@type": "MenuItemOffer", "@id": "1743", "sku": "offer-cappucino", "menuItemId": "17", "price": 6.50, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "4527", "name": "Milk", "menuItemId": ["18"], "parentMenuItemId": [{ "@id": "17", "displayOrder": 1 }, { "@id": "24", "displayOrder": 2 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "18", "name": "Skim" } { "@type": "MenuItemOffer", "@id": "4588", "sku": "offer-addon-skim-milk", "menuItemId": "18", "price": 0.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "5427", "name": "Straw Option", "menuItemId": ["22"], "parentMenuItemId": [{ "@id": "17", "displayOrder": 1 }, { "@id": "24", "displayOrder": 2 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "22", "name": "Plastic Straw" } { "@type": "MenuItemOffer", "@id": "4587", "sku": "offer-addon-plastic-straw", "menuItemId": "22", "price": 0.05, "priceCurrency": "AUD", "eligibleQuantityMax": 1 }
JSON
يحتوي هذا المثال على وجبة تشمل برجر وبطاطس مقلية ومشروبًا. يمكن تخصيص كل طعام باستخدام مكونات مختلفة ومواد إضافية.
يجب أن تتضمّن وجبة الاختيار المتعدّد شطيرة برغر واحدة وبطاطس مقلية واحدة ومشروبًا واحدًا كشرط لتحديد المستخدم. هناك خياران للبرغر ولكل منهما قسمان إضافيان: "الوصف" (صنفان من القائمة، على المستخدم اختيار من 0 إلى خيار واحد) و"الإضافات" (ثلاثة أصناف من القائمة، على المستخدم اختيار من 0 إلى 3 خيارات).
{ "@type": "Menu", "name": "FastFood B", "@id": "1535" } { "@type": "MenuSection", "@id": "4371", "menuId": { "@id": "1535", "displayOrder": 1 }, "name": "Combo Meals", "menuItemId": ["1"] } { "@type": "MenuItem", "@id": "1", "name": "Burger Combo ABox", "description": "1 Burger, 1 Fries, 1 Drink", "image": "https://www.gstatic.com/mobilesdk/170329_assistant/assistant_color_28dp.png" } { "@type": "MenuItemOffer", "@id": "6680262", "sku": "offer-burger-combo-a", "menuItemId": "1", "price": 16.95, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "362", "name": "Burger", "menuItemId": ["2", "3"], "parentMenuItemId": [{ "@id": "1", "displayOrder": 1 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "2", "name": "Fillet Burger" } { "@type": "MenuItemOffer", "@id": "74", "sku": "offer-burger-fillet", "menuItemId": "2", "price": 0.00, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "3", "name": "Zinger filler Burger" } { "@type": "MenuItemOffer", "@id": "42", "sku": "offer-burger-zinger-filler", "menuItemId": "3", "price": 0.00, "priceCurrency": "AUD", "eligibleQuantityMax": 1 } { "@type": "MenuSection", "@id": "5374", "name": "Recipe", "menuItemId": ["13", "25"], "parentMenuItemId": [{ "@id": "2", "displayOrder": 1 }, { "@id": "3", "displayOrder": 1 }], "eligibleQuantityMin": 0, "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "13", "name": "Lettuce" } { "@type": "MenuItemOffer", "@id": "832", "sku": "offer-lettuce", "menuItemId": "13", "price": 0.00, "priceCurrency": "AUD" } { "@type": "MenuItem", "@id": "25", "name": "Mayo" } { "@type": "MenuItemOffer", "@id": "7337", "sku": "offer-mayo", "menuItemId": "25", "price": 0.00, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "3865", "name": "Extras", "menuItemId": ["22", "23", "24"], "parentMenuItemId": [{ "@id": "2", "displayOrder": 1 }, { "@id": "3", "displayOrder": 1 }], "eligibleQuantityMin": 0, "eligibleQuantityMax": 3 } { "@type": "MenuItem", "@id": "22", "name": "Bacon Slice" } { "@type": "MenuItemOffer", "@id": "4588", "sku": "offer-extra-bacon-slice", "menuItemId": "22", "price": 0.50, "priceCurrency": "AUD", "eligibleQuantityMax": 10 } { "@type": "MenuItem", "@id": "23", "name": "Cheese Slice" } { "@type": "MenuItemOffer", "@id": "53865", "sku": "offer-extra-cheese-slice", "menuItemId": "23", "price": 0.50, "priceCurrency": "AUD", "eligibleQuantityMax": 10 } { "@type": "MenuItem", "@id": "24", "name": "Coleslaw" } { "@type": "MenuItemOffer", "@id": "3", "sku": "offer-extra-coleslaw", "menuItemId": "24", "price": 0.30, "priceCurrency": "AUD", "eligibleQuantityMax": 10 } { "@type": "MenuSection", "@id": "5428", "name": "Fries", "menuItemId": ["14"], "parentMenuItemId": [{ "@id": "1", "displayOrder": 2 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "14", "name": "Regular Fries" } { "@type": "MenuItemOffer", "@id": "546", "sku": "offer-fries", "menuItemId": "14", "price": 0.00, "priceCurrency": "AUD" } { "@type": "MenuSection", "@id": "27", "name": "Drinks", "menuItemId": ["17", "18"], "parentMenuItemId": [{ "@id": "1", "displayOrder": 3 }], "eligibleQuantityMin": 1, "eligibleQuantityMax": 1 } { "@type": "MenuItem", "@id": "17", "name": "Regular Pepsi Max" } { "@type": "MenuItemOffer", "@id": "1743", "sku": "offer-pepsi-max", "menuItemId": "17", "price": 0.00, "priceCurrency": "AUD", "eligibleQuantityMax": 2 } { "@type": "MenuItem", "@id": "18", "name": "Regular Pepsi" } { "@type": "MenuItemOffer", "@id": "4587", "sku": "offer-pepsi", "menuItemId": "18", "price": 0.00, "priceCurrency": "AUD", "eligibleQuantityMax": 2 }
التخصيص باستخدام خيارات عناصر القائمة
يمكنك تقديم خيارات مختلفة لعنصر MenuItem
من خلال الإشارة إليه في سمة
menuItemId
لعنصر MenuItemOption
.
على سبيل المثال، إذا كانت البيتزا متوفّرة بمقاسات مختلفة، يمكنك إنشاء
MenuItemOption
لكلّ مقاس والإشارة إلى عنصر قائمة البيتزا في سمة
menuItemId
لكلّ MenuItemOption
.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: بيتزا بأحجام مختلفة | استخدِم MenuItemOption وMenuItemOffer . |
حالة الاستخدام 2: بيتزا قابلة للتخصيص مع إضافات ومقاسات مختلفة | استخدِم MenuItemOption وMenuItemOffer لتغيير
أسعار الإضافات استنادًا إلى حجم البيتزا. |
حالة الاستخدام 3: بيتزا قابلة للتخصيص مع اختلافات بين الجانبَين الأيمن والأيسر | استخدِم سمة value لعنصر MenuItemOption لتحديد
جانب البيتزا. استخدِم السمتَين price و
priceCurrency من السمة MenuItemOffer لتحديد
السعر لكل جانب من البيتزا. |
NDJSON
تتوفّر البيتزا بثلاثة أحجام مختلفة وتتطلّب اختيار المستخدم. يختلف سعر كل حجم.
تبلغ تكلفة البيتزا هاواي الصغيرة 10.00 دولار أمريكي، والبيتزا المتوسطة 15.00 دولار أمريكي، والبيتزا الكبيرة 20.00 دولار أمريكي.
{"@type":"Menu","name":"A's Pizza","@id":"menu-1"} {"@type":"MenuSection","@id":"pizza-section","menuId":{"@id":"menu-1","displayOrder":1},"name":"Pizzas","menuItemId":["piz-hwn"]} {"@type":"MenuItem","@id":"piz-hwn","name":"Hawaiian Pizza"} {"@type":"MenuItemOption","@id":"piz-hwn-opt-sml","menuItemId":{"@id":"piz-hwn","displayOrder":1}, "optionType": "SIZE", "value": "Small"} {"@type":"MenuItemOption","@id":"piz-hwn-opt-med","menuItemId":{"@id":"piz-hwn","displayOrder":2}, "optionType": "SIZE", "value": "Medium"} {"@type":"MenuItemOption","@id":"piz-hwn-opt-lge","menuItemId":{"@id":"piz-hwn","displayOrder":3}, "optionType": "SIZE", "value": "Large"} {"@type":"MenuItemOffer","@id":"piz-hwn-off-sml","sku":"123456","menuItemOptionId":"piz-hwn-opt-sml","price":10.00,"priceCurrency":"USD"} {"@type":"MenuItemOffer","@id":"piz-hwn-off-med","sku":"123457","menuItemOptionId":"piz-hwn-opt-med","price":15.00,"priceCurrency":"USD"} {"@type":"MenuItemOffer","@id":"piz-hwn-off-lge","sku":"123458","menuItemOptionId":"piz-hwn-opt-lge","price":20.00,"priceCurrency":"USD"}
NDJSON
تختلف أسعار الإضافات على البيتزا حسب حجمها.
تبلغ تكلفة البيتزا بالبيبروني الصغيرة 10.00 دولار أمريكي، والبيتزا المتوسطة 15.00 دولار أمريكي، والبيتزا الكبيرة 20.00 دولار أمريكي. تبلغ تكلفة إضافة لحم سلامي البقر إلى البيتزا الصغيرة 1.00 دولار أمريكي، و1.50 دولار أمريكي للبيتزا المتوسطة، و2.00 دولار أمريكي للبيتزا الكبيرة.
{"@type":"Menu","name":"A's Pizza","@id":"menu-1"} {"@type":"MenuSection","@id":"pizza-section","menuId":{"@id":"menu-1","displayOrder":1},"name":"Pizzas","menuItemId":["piz-pep"]} {"@type":"MenuItem","@id":"piz-pep","name":"Hawaiian Pizza"} {"@type":"MenuItemOption","@id":"piz-pep-opt-sml","menuItemId":{"@id":"piz-pep","displayOrder":1}, "optionType": "SIZE", "value": "Small"} {"@type":"MenuItemOption","@id":"piz-pep-opt-med","menuItemId":{"@id":"piz-pep","displayOrder":2}, "optionType": "SIZE", "value": "Medium"} {"@type":"MenuItemOption","@id":"piz-pep-opt-lge","menuItemId":{"@id":"piz-pep","displayOrder":3}, "optionType": "SIZE", "value": "Large"} {"@type":"MenuItemOffer","@id":"piz-pep-off-sml","sku":"123456","menuItemOptionId":"piz-pep-opt-sml","price":10.00,"priceCurrency":"USD"} {"@type":"MenuItemOffer","@id":"piz-pep-off-med","sku":"123457","menuItemOptionId":"piz-pep-opt-med","price":15.00,"priceCurrency":"USD"} {"@type":"MenuItemOffer","@id":"piz-pep-off-lge","sku":"123458","menuItemOptionId":"piz-pep-opt-lge","price":20.00,"priceCurrency":"USD"} {"@type": "MenuSection","@id": "topping-section","menuId": {"@id": "menu-1","displayOrder": 2},"name": "Choice of toppings","menuItemId": ["top-bef-sal"],"parentMenuItemId": [{"@id": "piz-pep","displayOrder": 1}]} {"@type": "MenuItem","@id": "top-bef-sal","name": "Beef Salami","parentMenuSectionId": {"@id": "topping-section","displayOrder": 1}} {"@type": "MenuItemOption","@id": "opt-bef-sal-sml","menuItemId": {"@id": "top-bef-sal", "displayOrder": "1"},"applicableParentOptionValue": "Small"} {"@type": "MenuItemOption","@id": "opt-bef-sal-med","menuItemId": {"@id": "top-bef-sal", "displayOrder": "2"},"applicableParentOptionValue": "Medium"} {"@type": "MenuItemOption","@id": "opt-bef-sal-lge","menuItemId": {"@id": "top-bef-sal", "displayOrder": "3"},"applicableParentOptionValue": "Large"} {"@type": "MenuItemOffer","@id": "bef-sal-off-sml","sku": "123561","menuItemOptionId": "opt-bef-sal-sml","price": 1.00,"priceCurrency": "USD"} {"@type": "MenuItemOffer","@id": "bef-sal-off-med","sku": "123562","menuItemOptionId": "opt-bef-sal-med","price": 1.50,"priceCurrency": "USD"} {"@type": "MenuItemOffer","@id": "bef-sal-off-lge","sku": "123563","menuItemOptionId": "opt-bef-sal-lge","price": 2.00,"priceCurrency": "USD"}
NDJSON
يمكن إضافة مكونات البيتزا إلى النصف الأيسر أو الأيمن أو البيتزا بأكملها. تختلف الأسعار حسب حجم البيتزا، وكذلك حسب مكان وضع toppings.
سعر البيتزا الصغيرة بالبيبروني هو 10.00 دولار أمريكي، والبيتزا المتوسطة هي 15.00 دولار أمريكي، والبيتزا الكبيرة هي 20.00 دولار أمريكي. تحتوي البيتزا على نوعَين من الإضافات (لحم بقري سلامي وموزاريلا)، وتبلغ تكلفة كل إضافة على الجانبَين الأيمن والأيسر من البيتزا الصغيرة 1.00 دولار أمريكي لكل جانب، ولكن 0.50 دولار أمريكي بدلاً من ذلك للبيتزا الصغيرة بأكملها. تبلغ تكلفة الإضافات 1.50 ريال سعودي لكل جانب من الجانب الأيسر والأيمن من البيتزا المتوسطة، ولكن 1.00 ريال سعودي بدلاً من ذلك للبيتزا المتوسطة بالكامل. تبلغ تكلفة الإضافات 2.00 ريال سعودي لكل جانب من جهتَي اليمين والشمال من البيتزا الكبيرة، ولكن تبلغ 1.50 ريال سعودي بدلاً من ذلك للبيتزا الكبيرة بأكملها.
{"@type":"Menu","name":"A's Pizza","@id":"menu-1"} {"@type":"MenuSection","@id":"pizza-section","menuId":{"@id":"menu-1","displayOrder":1},"name":"Pizzas","menuItemId":["piz-pep"]} {"@type":"MenuItem","@id":"piz-pep","name":"Pepperoni Pizza"} {"@type":"MenuItemOption","@id":"piz-pep-opt-sml","menuItemId":{"@id":"piz-pep","displayOrder":1}, "optionType": "SIZE", "value": "Small"} {"@type":"MenuItemOption","@id":"piz-pep-opt-med","menuItemId":{"@id":"piz-pep","displayOrder":2}, "optionType": "SIZE", "value": "Medium"} {"@type":"MenuItemOption","@id":"piz-pep-opt-lge","menuItemId":{"@id":"piz-pep","displayOrder":3}, "optionType": "SIZE", "value": "Large"} {"@type":"MenuItemOffer","@id":"piz-pep-off-sml","sku":"123456","menuItemOptionId":"piz-pep-opt-sml","price":10.00,"priceCurrency":"USD"} {"@type":"MenuItemOffer","@id":"piz-pep-off-med","sku":"123457","menuItemOptionId":"piz-pep-opt-med","price":15.00,"priceCurrency":"USD"} {"@type":"MenuItemOffer","@id":"piz-pep-off-lge","sku":"123458","menuItemOptionId":"piz-pep-opt-lge","price":20.00,"priceCurrency":"USD"} {"@type": "MenuSection","@id": "topping-section","name": "Choice of toppings","menuItemId": ["top-bef-sal", "top-moz"],"parentMenuItemId": [{"@id": "piz-pep", "displayOrder": 1}]} {"@type": "MenuItem","@id": "top-bef-sal","name": "Beef Salami","parentMenuSectionId": {"@id": "topping-section", "displayOrder": 1}} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-left-sm","menuItemId": {"@id": "top-bef-sal","displayOrder": 1},"applicableParentOptionValue": "Small","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_LEFT"} {"@type": "MenuItemOffer","@id": "bef-sal-off-left-sm","sku": "546","menuItemOptionId": "top-bef-sal-opt-left-sm","price": 1.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-right-sm","menuItemId": {"@id": "top-bef-sal","displayOrder": 2},"applicableParentOptionValue": "Small","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_RIGHT"} {"@type": "MenuItemOffer","@id": "bef-sal-off-right-sm","sku": "37","menuItemOptionId": "top-bef-sal-opt-right-sm","price": 1.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-whole-sm","menuItemId": {"@id": "top-bef-sal","displayOrder": 3},"applicableParentOptionValue": "Small","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_WHOLE"} {"@type": "MenuItemOffer","@id": "bef-sal-off-whole-sm","sku": "356","menuItemOptionId": "top-bef-sal-opt-whole-sm","price": 0.50,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-left-med","menuItemId": {"@id": "top-bef-sal","displayOrder": 1},"applicableParentOptionValue": "Medium","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_LEFT"} {"@type": "MenuItemOffer","@id": "bef-sal-off-left-medium","sku": "764","menuItemOptionId": "top-bef-sal-opt-left-med","price": 1.50,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-right-med","menuItemId": {"@id": "top-bef-sal","displayOrder": 2},"applicableParentOptionValue": "Medium","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_RIGHT"} {"@type": "MenuItemOffer","@id": "bef-sal-off-right-medium","sku": "476","menuItemOptionId": "top-bef-sal-opt-right-med","price": 1.50,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-whole-med","menuItemId": {"@id": "top-bef-sal","displayOrder": 3},"applicableParentOptionValue": "Medium","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_WHOLE"} {"@type": "MenuItemOffer","@id": "offer-beef-salami-whole-medium","sku": "2354","menuItemOptionId": "top-bef-sal-opt-whole-med","price": 1.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-left-lg","menuItemId": {"@id": "top-bef-sal","displayOrder": 1},"applicableParentOptionValue": "Large","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_LEFT"} {"@type": "MenuItemOffer","@id": "offer-beef-salami-left-large","sku": "56","menuItemOptionId": "top-bef-sal-opt-left-lg","price": 2.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-right-lg","menuItemId": {"@id": "top-bef-sal","displayOrder": 2},"applicableParentOptionValue": "Large","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_RIGHT"} {"@type": "MenuItemOffer","@id": "offer-beef-salami-right-large","sku": "35","menuItemOptionId": "top-bef-sal-opt-right-lg","price": 2.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-bef-sal-opt-whole-lg","menuItemId": {"@id": "top-bef-sal","displayOrder": 3},"applicableParentOptionValue": "Large","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_WHOLE"} {"@type": "MenuItemOffer","@id": "offer-beef-salami-whole-large","sku": "243","menuItemOptionId": "top-bef-sal-opt-whole-lg","price": 1.50,"priceCurrency": "USD"} {"@type": "MenuItem","@id": "top-moz","name": "Mozzarella","parentMenuSectionId": {"@id": "topping-section", "displayOrder": 2}} {"@type": "MenuItemOption","@id": "top-moz-opt-left-sm","menuItemId": {"@id": "top-moz","displayOrder": 1},"applicableParentOptionValue": "Small","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_LEFT"} {"@type": "MenuItemOffer","@id": "off-mozz-left-sm","sku": "5643","menuItemOptionId": "top-moz-opt-left-sm","price": 1.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-moz-opt-right-sm","menuItemId": {"@id": "top-moz","displayOrder": 2},"applicableParentOptionValue": "Small","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_RIGHT"} {"@type": "MenuItemOffer","@id": "off-mozz-right-sm","sku": "426","menuItemOptionId": "top-moz-opt-right-sm","price": 1.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-moz-opt-whole-sm","menuItemId": {"@id": "top-moz","displayOrder": 3},"applicableParentOptionValue": "Small","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_WHOLE"} {"@type": "MenuItemOffer","@id": "off-mozz-whole-sm","sku": "7546","menuItemOptionId": "top-moz-opt-whole-sm","price": 0.50,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-moz-opt-left-med","menuItemId": {"@id": "top-moz","displayOrder": 1},"applicableParentOptionValue": "Medium","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_LEFT"} {"@type": "MenuItemOffer","@id": "off-mozz-left-med","sku": "5465","menuItemOptionId": "top-moz-opt-left-med","price": 1.50,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-moz-opt-right-med","menuItemId": {"@id": "top-moz","displayOrder": 2},"applicableParentOptionValue": "Medium","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_RIGHT"} {"@type": "MenuItemOffer","@id": "off-mozz-right-med","sku": "76","menuItemOptionId": "top-moz-opt-right-med","price": 1.50,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-moz-opt-whole-med","menuItemId": {"@id": "top-moz","displayOrder": 3},"applicableParentOptionValue": "Medium","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_WHOLE"} {"@type": "MenuItemOffer","@id": "off-mozz-whole-med","sku": "34","menuItemOptionId": "top-moz-opt-whole-med","price": 1.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-moz-opt-left-lge","menuItemId": {"@id": "top-moz","displayOrder": 1},"applicableParentOptionValue": "Large","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_LEFT"} {"@type": "MenuItemOffer","@id": "off-mozz-left-lge","sku": "5536","menuItemOptionId": "top-moz-opt-left-lge","price": 2.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-moz-opt-right-lge","menuItemId": {"@id": "top-moz","displayOrder": 2},"applicableParentOptionValue": "Large","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_RIGHT"} {"@type": "MenuItemOffer","@id": "off-mozz-right-lge","sku": "545","menuItemOptionId": "top-moz-opt-right-lge","price": 2.00,"priceCurrency": "USD"} {"@type": "MenuItemOption","@id": "top-moz-opt-whole-lge","menuItemId": {"@id": "top-moz","displayOrder": 3},"applicableParentOptionValue": "Large","optionType": "PIZZA_SIDE","value": "PIZZA_SIDE_WHOLE"} {"@type": "MenuItemOffer","@id": "off-mozz-whole-lge","sku": "744","menuItemOptionId": "top-moz-opt-whole-lge","price": 1.50,"priceCurrency": "USD"}
الخدمة
يحدِّد عنصر Service
عملية توصيل طلب طعام
Action من مطعم، مثل نوع الخدمة. يتم وصف ساعات العمل والمنطقة التي يتم فيها تقديم الخدمة والرسوم في كيانات ServiceArea
وServiceHours
وOperationHours
وFee
.
يمكن أن يحدِّد مطعم واحد عناصر Service متعددة (على سبيل المثال، إذا كان المطعم
يقدّم خدمات التوصيل والطلبات الخارجية)، ولكن يجب أن تكون Service واحدة مرتبطة بشكل فريد
بمطعم واحد من خلال السمة serviceType
الخاصة بالخدمة.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: خدمة التسليم الأساسية | استخدِم السمتَين opens وcloses في
ServiceHours وOperationHours لتحديد
وقتَي البدء والانتهاء اللذَين يمكن للمستخدم فيهما تنفيذ (إكمال) طلب
وتقديم طلب، على التوالي. لتحديد مهلة التسليم (الوقت المقدَّر للاستلام/التسليم)، استخدِم السمتَين leadTimeMin و
leadTimeMax من النوع ServiceHours . |
JSON
تقبل الخدمة الواردة في النموذج التالي الطلبات يوميًا من الساعة 8 صباحًا حتى الساعة 6 مساءً (يمكن تقديم آخر طلب في الساعة 5:59:59 مساءً) من 1 شباط (فبراير) 2016 إلى 1 آذار (مارس) 2016، ويتم تسليم الطلبات خلال مدة انتظار لا تقل عن ساعة ومدة انتظار ملفتة لا تزيد عن 90 دقيقة. تتوفر خدمة التوصيل في الرمز البريدي 94041 في الولايات المتحدة. يتم تحصيل رسوم تسليم بقيمة 5 دولار أمريكي من المستخدم.
{ "@type": "Service", "@id": "10824/delivery", "serviceType": "DELIVERY", "menuId": "10824", "restaurantId": "10824" } { "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "postalCode": 94041, "addressCountry": "US" } { "@type": "OperationHours", "@id": "10824/deliveryOh", "serviceId": "10824/delivery", "validFrom": "2016-02-01T00:00:00-07:00", "validThrough": "2016-03-01T00:00:00-07:00", "opens": "T08:00", "closes": "T18:00" } { "@type": "ServiceHours", "@id": "613741/delivery", "orderType": "ASAP", "serviceId": "10824/delivery", "leadTimeMin": 60, "leadTimeMax": 90 } { "@type": "Fee", "@id": "28427", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "USD", "price": 5.0 }
ساعات التوصيل والاستلام
توضّح الأمثلة أدناه كيفية تحديد ساعات التسليم والاستلام للخدمة.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: ضبط ساعات التسليم | استخدِم السمتَين leadTimeMin وleadTimeMax
من ServiceHours للطلبات التي يجب تسليمها في أقرب وقت ممكن. استخدِم رمز
OperationHours للطلبات التي يتم تقديمها مسبقًا. استخدِم سمة
isSpecialHour في ServiceHours و
OperationHours لتحديد ساعات العمل الخاصة خلال العطلات لتلقّي الطلبات وتسليمها
|
حالة الاستخدام 2: ضبط ساعات الاستلام | استخدِم السمتَين leadTimeMin وleadTimeMax
من ServiceHours للطلبات التي يجب تسليمها في أقرب وقت ممكن. استخدِم رمز
OperationHours للطلبات التي يتم تقديمها مسبقًا. استخدِم سمة
isSpecialHour في ServiceHours و
OperationHours لتحديد ساعات العمل الخاصة في الأعياد لتلقّي الطلبات وتسليم الطلبات. |
JSON
يقبل المطعم الطلبات في أقرب وقت ممكن والطلبات المُسبَقة لخدمات التوصيل. وتتيح أيضًا تحديد ساعات تسليم خاصة خلال الأعياد.
في هذا المثال، يمكن للمستخدمين تقديم الطلبات على الإنترنت في أي وقت. ساعات التسليم خلال أيام الأسبوع هي من الساعة 9 صباحًا حتى الساعة 11 مساءً. ساعات التوصيل في عطلات نهاية الأسبوع من الساعة 9 صباحًا حتى الساعة 9 مساءً. في 24 كانون الأول (ديسمبر) 2019 تحديدًا، تكون ساعات التسليم من الساعة 9 صباحًا إلى الساعة 4 بعد الظهر. يتم تقديم الخدمة خلال مدة انتظار تتراوح بين ساعة واحدة والحد الأقصى لوقت الانتظار وهو 90 دقيقة.
يمكن للمستخدمين تقديم الطلبات قبل 6 أيام (8640 دقيقة) إلى ساعة واحدة قبل أي يوم، بما في ذلك 24 كانون الأول (ديسمبر) 2019. يمكن للمستخدمين تقديم سفارشات التسليم مقدمًا فقط بزيادات قدرها 15 دقيقة (على سبيل المثال، 8:00 مساءً، 8:15 مساءً، 8:30 مساءً). تتوفر خدمة التوصيل في منطقة مضلّعة описанة في الرمز، ويتم تحصيل رسوم توصيل من المستخدم تبلغ 5 ريال سعودي.
{ "@type": "Service", "@id": "10824/delivery", "serviceType": "DELIVERY", "menuId": "10824", "restaurantId": "10824" } { "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "polygon": ["-20.728777 116.804256 -20.736323 116.8161 -20.722997 116.86468 -20.725406 116.871547 -20.736323 116.873607 -20.7474 116.816444 -20.756871 116.819877 -20.757673 116.788291 -20.740497 116.786403"] } { "@type": "OperationHours", "@id": "427/deliveryOh", "serviceId": "10824/delivery", "opens": "T00:00", "closes": "T23:59", "isSpecialHour": false } { "@type": "ServiceHours", "@id": "613741/delivery", "orderType": "ASAP", "serviceId": "10824/delivery", "operationHoursId":["427/deliveryOh"], "opens": "T09:00", "closes": "T23:00", "dayOfWeek": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"], "leadTimeMin": 60, "leadTimeMax": 90, "isSpecialHour": false } { "@type": "ServiceHours", "@id": "3654/delivery", "orderType": "ADVANCE", "serviceId": "10824/delivery", "operationHoursId":["427/deliveryOh"], "opens": "T09:00", "closes": "T23:00", "dayOfWeek": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"], "advanceBookingRequirementMin": 60, "advanceBookingRequirementMax": 8640, "advanceBookingSlotInterval": "PT15M", "isSpecialHour":false } { "@type": "ServiceHours", "@id": "4694/delivery", "orderType": "ASAP", "serviceId": "10824/delivery", "operationHoursId":["427/deliveryOh"], "opens": "T09:00", "closes": "T21:00", "dayOfWeek": ["SATURDAY", "SUNDAY"], "leadTimeMin": 60, "leadTimeMax": 90, "isSpecialHour": false } { "@type": "ServiceHours", "@id": "6479/delivery", "orderType": "ADVANCE", "serviceId": "10824/delivery", "operationHoursId":["427/deliveryOh"], "opens": "T09:00", "closes": "T21:00", "dayOfWeek": ["SATURDAY", "SUNDAY"], "advanceBookingRequirementMin": 60, "advanceBookingRequirementMax": 8640, "advanceBookingSlotInterval": "PT15M", "isSpecialHour":false } { "@type": "ServiceHours", "@id": "3754/delivery", "orderType": "ASAP", "serviceId": "10824/delivery", "validFrom": "2019-12-24T00:00:00+10:00", "validThrough": "2019-12-24T23:59:59+10:00", "opens": "T09:00", "closes": "T16:00", "leadTimeMin": 60, "leadTimeMax": 90, "isSpecialHour": true } { "@type": "Fee", "@id": "28427", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "USD", "price": 5.00 }
JSON
يقبل المطعم الطلبات في أقرب وقت ممكن والطلبات مسبقًا لخدمات الاستلام. ويسمح أيضًا بتحديد ساعات استلام خاصة خلال الأعياد.
في هذا المثال، يمكن للمستخدمين بدء الطلب على الإنترنت قبل ساعتَين من بدء ساعات العمل. ساعات الاستلام خلال أيام الأسبوع هي من الساعة 9 صباحًا حتى الساعة 11 مساءً. ساعات استلام الطلبات في عطلات نهاية الأسبوع من الساعة 9 صباحًا حتى الساعة 9 مساءً. في 24 كانون الأول (ديسمبر) 2019 تحديدًا، تكون ساعات الاستلام من الساعة 9 صباحًا حتى الساعة 4 مساءً. الحد الأدنى لوقت الانتظار هو 30 دقيقة والحد الأقصى هو ساعة واحدة.
يمكن للمستخدمين تقديم الطلبات قبل يومَين (2880 دقيقة) إلى 30 دقيقة لأي يوم، بما في ذلك 24 كانون الأول (ديسمبر) 2019. يمكن للمستخدمين تقديم طلبات الاستلام مسبقًا فقط بزيادات قدرها 15 دقيقة (على سبيل المثال، 8:00 مساءً و8:15 مساءً و8:30 مساءً). لا يتم تحصيل رسوم من المستخدم مقابل الاستلام.
{ "@type": "Service", "@id": "10824/takeout", "serviceType": "TAKEOUT", "menuId": "10824", "restaurantId": "10824" } { "@type": "OperationHours", "@id": "427/takeoutOh", "serviceId": "10824/takeout", "opens": "T07:00", "closes": "T23:00", "dayOfWeek": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"] } { "@type": "OperationHours", "@id": "2652/takeoutOh", "serviceId": "10824/takeout", "opens": "T07:00", "closes": "T21:00", "dayOfWeek": ["SATURDAY", "SUNDAY"] } { "@type": "ServiceHours", "@id": "613741/takeout", "orderType": "ASAP", "serviceId": "10824/takeout", "operationHoursId":["427/takeoutOh"], "opens": "T09:00", "closes": "T23:00", "dayOfWeek": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"], "leadTimeMin": 30, "leadTimeMax": 60, "isSpecialHour": false } { "@type": "ServiceHours", "@id": "3654/takeout", "orderType": "ADVANCE", "serviceId": "10824/takeout", "operationHoursId":["427/takeoutOh", "2652/takeoutOh"], "opens": "T09:00", "closes": "T23:00", "dayOfWeek": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"], "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 2880, "advanceBookingSlotInterval": "PT15M", "isSpecialHour": false } { "@type": "ServiceHours", "@id": "4694/takeout", "orderType": "ASAP", "serviceId": "10824/takeout", "operationHoursId": ["2652/takeoutOh"], "opens": "T09:00", "closes": "T21:00", "dayOfWeek": ["SATURDAY", "SUNDAY"], "leadTimeMin": 30, "leadTimeMax": 60, "isSpecialHour": false } { "@type": "ServiceHours", "@id": "6479/takeout", "orderType": "ADVANCE", "serviceId": "10824/takeout", "operationHoursId": ["427/takeoutOh", "2652/takeoutOh"], "opens": "T09:00", "closes": "T21:00", "dayOfWeek": ["SATURDAY", "SUNDAY"], "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 2880, "advanceBookingSlotInterval": "PT15M", "isSpecialHour": false } { "@type": "ServiceHours", "@id": "3754/takeout", "orderType": "ASAP", "serviceId": "10824/takeout", "validFrom": "2019-12-24T00:00:00+10:00", "validThrough": "2019-12-24T23:59:59+10:00", "opens": "T09:00", "closes": "T16:00", "leadTimeMin": 30, "leadTimeMax": 60, "isSpecialHour": true }
ساعات العمل خلال العطلات والساعات الخاصة
يمكنك استخدام السمة isSpecialHour
في ServiceHours
وOperationHours
لإلغاء ساعات الخدمة و/أو ساعات العمل الحالية. تتيح لك هذه الطريقة تحديد ساعات العمل العادية مرة واحدة وإلغاء هذه الساعات بشكل انتقائي في أيام العطلات والفعاليات الخاصة.
هناك نافذتَان زمنيتَان منفصلتَان يجب تحديدهما لتنفيذ الخدمة: فترة الطلب (OperationHours
، لتحديد الوقت الذي يمكن فيه للمستخدمين
تقديم طلب) وفترة التنفيذ (ServiceHours
، لتحديد الوقت الذي يمكن فيه تنفيذ
الطلب).
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: مفتوحة للطلبات التي يتم تسليمها في اليوم نفسه ولكن مغلقة للطلبات المتقدّمة | لتحديد التواريخ التي تكون فيها ساعات العمل الخاصة صالحة، استخدِم السمتَين
validFrom وvalidThrough للعنصرَين
ServiceHours وOperationHours
(مع ضبط السمة isSpecialHour على "true"). |
JSON
يحدّد هذا المثال أنّ الخدمة مفتوحة لطلبات اليوم نفسه في يوم عيد الميلاد، ولكنّها مغلقة للطلبات المُجدوَلة مسبقًا في ذلك اليوم. يقبل المطعم الطلبات في أقرب وقت ممكن والطلبات مسبقًا لخدمات الاستلام.
تتراوح ساعات الاستلام العادية (بما في ذلك ساعات الطلب والخدمة) بين 9 صباحًا و9 مساءً، وتكون ساعات الاستلام في ليلة عيد الميلاد لعام 2017 من 9 صباحًا إلى 4 مساءً. الحد الأدنى لوقت الانتظار هو ساعة واحدة والحد الأقصى هو 90 دقيقة. يمكن للمستخدمين تقديم الطلبات قبل يومَين (2880 دقيقة) أو قبل 30 دقيقة من أي يوم، ولكن لا يمكنهم تقديم طلب في الأيام أو الساعات المغلقة (مثل يوم عيد الميلاد و4 تموز/يوليو وبعد الساعة 4 مساءً في ليلة عيد الميلاد). لا يمكن للمستخدمين تقديم طلبات الاستلام مسبقًا إلا بزيادات قدرها 15 دقيقة (مثل الساعة 2:00 بعد الظهر أو 2:15 بعد الظهر أو 2:30 بعد الظهر).
لا يتم تحصيل رسوم من المستخدم مقابل الاستلام. يتيح هذا المثال السيناريوهات التالية:
- يمكن للمستخدمين تقديم طلب في 25 كانون الأول (ديسمبر) لتسليمه في اليوم نفسه.
- يمكن للمستخدمين تقديم طلب مُسبَق في 25 كانون الأول (ديسمبر) لتسليمه في 27 كانون الأول (ديسمبر).
- لا يمكن للمستخدمين تقديم طلب مسبق في 22 كانون الأول (ديسمبر) لتسليمه في 25 كانون الأول (ديسمبر).
- لا يمكن للمستخدمين تقديم طلب مسبق أو طلب بأولوية في 4 تموز (يوليو).
{ "@type": "Service", "@id": "10824/takeout", "serviceType": "TAKEOUT", "menuId": "10824", "restaurantId": "10824" } { "@type": "OperationHours", "@id": "427/takeoutOh", "serviceId": "10824/takeout", "opens": "T09:00", "closes": "T21:00" } { "@type": "ServiceHours", "@id": "613741/takeout", "orderType": "ASAP", "serviceId": "10824/takeout", "opens": "T09:00", "closes": "T21:00", "isSpecialHour": false, "leadTimeMin": 60, "leadTimeMax": 90 } { "@type": "ServiceHours", "@id": "37/takeout", "orderType": "ASAP", "serviceId": "10824/takeout", "operationHoursId": "427/takeoutOh", "opens": "T09:00", "closes": "T16:00", "validFrom": "2017-12-24T00:00:00-07:00", "validThrough": "2017-12-24T23:59:59-07:00", "isSpecialHour": true, "leadTimeMin": 60, "leadTimeMax": 90 } { "@type": "ServiceHours", "@id": "358/takeout", "orderType": "ASAP", "serviceId": "10824/takeout", "operationHoursId": "427/takeoutOh", "opens": "T00:00", "closes": "T00:00", "validFrom": "2017-12-25T00:00:00-07:00", "validThrough": "2017-12-25T23:59:59-07:00", "isSpecialHour": true, "leadTimeMin": 60, "leadTimeMax": 90 } { "@type": "ServiceHours", "@id": "4356/takeout", "orderType": "ASAP", "serviceId": "10824/takeout", "operationHoursId": "427/takeoutOh", "opens": "T00:00", "closes": "T00:00", "validFrom": "2017-07-04T00:00:00-07:00", "validThrough": "2017-07-04T23:59:59-07:00", "isSpecialHour": true, "leadTimeMin": 60, "leadTimeMax": 90 } { "@type": "ServiceHours", "@id": "3654/takeout", "orderType": "ADVANCE", "serviceId": "10824/takeout", "opens": "T09:00", "closes": "T21:00", "isSpecialHour": false, "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 2880, "advanceBookingSlotInterval": "PT15M" } { "@type": "ServiceHours", "@id": "54/takeout", "orderType": "ADVANCE", "serviceId": "10824/takeout", "opens": "T00:00", "closes": "T00:00", "validFrom": "2017-12-24T00:00:00-07:00", "validThrough": "2017-12-24T23:59:59-07:00", "isSpecialHour": true, "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 2880, "advanceBookingSlotInterval": "PT15M" } { "@type": "ServiceHours", "@id": "5436/takeout", "orderType": "ADVANCE", "serviceId": "10824/takeout", "opens": "T00:00", "closes": "T00:00", "validFrom": "2017-12-25T00:00:00-07:00", "validThrough": "2017-12-25T23:59:59-07:00", "isSpecialHour": true, "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 2880, "advanceBookingSlotInterval": "PT15M" } { "@type": "ServiceHours", "@id": "345/takeout", "orderType": "ADVANCE", "serviceId": "10824/takeout", "opens": "T00:00", "closes": "T00:00", "validFrom": "2017-07-04T00:00:00-07:00", "validThrough": "2017-07-04T23:59:59-07:00", "isSpecialHour": true, "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 2880, "advanceBookingSlotInterval": "PT15M" }
رسوم التوصيل والاستلام
توضّح الأمثلة أدناه كيفية تحديد رسوم التسليم والاستلام للخدمة.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: ضبط رسوم التسليم | استخدِم العنصر Fee
لتحديد أنواع رسوم التسليم. |
حالة الاستخدام 2: ضبط رسوم الخدمة لخدمات الاستلام | استخدِم العنصر Fee
لتحديد أنواع رسوم خدمة الاستلام. |
JSON
يقبل المطعم أنواعًا مختلفة من رسوم التوصيل.
في هذا المثال، يتوفّر توصيل مجاني عند طلب بقيمة 30.00 دولار أمريكي كحد أدنى، ورسوم توصيل ثابتة تبلغ 5.00 دولار أمريكي بدون حد أدنى للطلب، ورسوم مئوية تبلغ 3% من إجمالي مبلغ سلة التسوّق. تتراوح ساعات التسليم (بما في ذلك ساعات تقديم الطلبات وساعات الخدمة) بين الساعة 9 صباحًا والساعة 11 مساءً. الحد الأدنى لوقت الانتظار هو 1 ساعة والحد الأقصى هو 90 دقيقة.
يمكن للمستخدمين تقديم الطلبات مسبقًا من 6 أيام (8640 دقيقة) إلى 30
دقيقة في أي يوم. لا يمكن للمستخدمين تقديم طلبات التسليم إلا
مسبقًا بزيادات قدرها 15 دقيقة (على سبيل المثال، 2:00 بعد الظهر، 2:15 بعد الظهر، 2:30 بعد الظهر).
يتم تحديد المنطقة المؤهّلة للتسليم في ServiceArea
.
{ "@type": "Service", "@id": "10824/delivery", "serviceType": "DELIVERY", "menuId": "10824", "restaurantId": "10824" } { "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "polygon": ["-20.728777 116.804256 -20.736323 116.8161 -20.722997 116.86468 -20.725406 116.871547 -20.736323 116.873607 -20.7474 116.816444 -20.756871 116.819877 -20.757673 116.788291 -20.740497 116.786403"] } { "@type": "OperationHours", "@id": "427/deliveryOh", "serviceId": "10824/delivery", "opens": "T09:00", "closes": "T23:00" } { "@type": "ServiceHours", "@id": "613741/delivery", "orderType": "ASAP", "serviceId": "10824/delivery", "opens": "T09:00", "closes": "T23:00", "isSpecialHour": false, "leadTimeMin": 60, "leadTimeMax": 90 } { "@type": "ServiceHours", "@id": "3654/delivery", "orderType": "ADVANCE", "serviceId": "10824/delivery", "opens": "T09:00", "closes": "T23:00", "isSpecialHour": false, "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 8640, "advanceBookingSlotInterval": "PT15M" } { "@type": "Fee", "@id": "28427", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "AUD", "price": 0.00, "eligibleTransactionVolumeMin": 30 } { "@type": "Fee", "@id": "4326", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "AUD", "price": 5.00, "eligibleTransactionVolumeMax": 29.99 } { "@type": "Fee", "@id": "5432", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "AUD", "percentageOfCart": 3.00 }
JSON
يقبل المطعم أنواعًا مختلفة من رسوم الخدمة.
في هذا المثال، تكون رسوم الخدمة مجانية عند طلب بقيمة 30.00 دولار أمريكي كحد أدنى، وتكون رسوم الخدمة ثابتة بقيمة 1.00 دولار أمريكي بدون حد أدنى للطلب، وتكون رسوم الخدمة 2% من إجمالي مبلغ سلة التسوّق. تتراوح ساعات استلام الطلبات (بما في ذلك ساعات الطلب و الخدمة) بين الساعة 9 صباحًا و11 مساءً. الحد الأدنى لوقت الانتظار هو ساعة واحدة والحد الأقصى هو 90 دقيقة.
لا يمكن للمستخدمين تقديم طلبات التسليم مسبقًا إلا بزيادات قدرها 15 دقيقة (على سبيل المثال، 2:00 بعد الظهر، 2:15 بعد الظهر، 2:30 بعد الظهر).
{ "@type": "Service", "@id": "10824/takeout", "serviceType": "TAKEOUT", "menuId": "10824", "restaurantId": "10824" } { "@type": "OperationHours", "@id": "427/takeoutOh", "serviceId": "10824/takeout", "opens": "T09:00", "closes": "T23:00" } { "@type": "ServiceHours", "@id": "613741/takeout", "orderType": "ASAP", "serviceId": "10824/takeout", "opens": "T09:00", "closes": "T23:00", "isSpecialHour": false, "leadTimeMin": 60, "leadTimeMax": 90 } { "@type": "ServiceHours", "@id": "3654/takeout", "orderType": "ADVANCE", "serviceId": "10824/takeout", "opens": "T09:00", "closes": "T23:00", "isSpecialHour": false, "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 8640, "advanceBookingSlotInterval": "PT15M" } { "@type": "Fee", "@id": "28427", "serviceId": "10824/takeout", "feeType": "SERVICE", "priceCurrency": "AUD", "price": 0.00, "percentageOfCart": 2.00, "eligibleTransactionVolumeMin": 30 } { "@type": "Fee", "@id": "4326", "serviceId": "10824/takeout", "feeType": "SERVICE", "priceCurrency": "AUD", "price": 1.00, "percentageOfCart": 2.00, "eligibleTransactionVolumeMax": 29.99 }
رسوم التوصيل الديناميكية
توضّح الأمثلة أدناه كيفية تحديد رسوم خدمة توصيل تعتمد على عوامل مختلفة، مثل المنطقة والوقت من اليوم وعدد السلع.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: رسوم التسليم حسب المنطقة والمسافة | استخدِم السمة eligibleRegion في
Fee
لتحديد المنطقة والسمتَين price و
priceCurrency لتحديد السعر. |
حالة الاستخدام 2: رسوم التسليم حسب الوقت | استخدِم السمتَين validFrom وvalidThrough
من Fee
لتحديد الوقت الذي تكون فيه رسوم التسليم سارية. |
حالة الاستخدام 3: تسليم مجاني للطلبات التي تزيد قيمتها عن مبلغ معيّن | استخدِم السمتَين eligibleTransactionVolumeMin و
eligibleTransactionVolumeMax لسمة
Fee
لتحديد الحد الأدنى والأقصى لقيمة سلة التسوّق المرتبطة بسعر العميل المعروض عند تحديد تكلفة
الشحن. |
JSON
تحصّل الخدمة النموذجية التالية رسوم تسليم بقيمة 5.00 دولار أمريكي في الرمز البريدي 94087 ، ورسومًا بقيمة 2.00 دولار أمريكي للمناطق الأخرى.
{ "@type": "Fee", "@id": "4326", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "USD", "price": 5.00, "eligibleRegion": "28427" } { "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "postalCode": 94087, "addressCountry": "US" } { "@type": "Fee", "@id": "5432", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "USD", "price": 2.00 }
JSON
تفرض الخدمة الواردة في النموذج التالي رسوم توصيل بقيمة 20 دولار أمريكي من 1 كانون الثاني (يناير) 2017 إلى 1 شباط (فبراير) 2017، و10 دولار أمريكي في أي وقت آخر.
{ "@type": "Fee", "@id": "4326", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "USD", "price": 10.00 } { "@type": "Fee", "@id": "5432", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "USD", "price": 20.00, "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2017-02-01T00:00:00-07:00" }
JSON
تفرض الخدمة التالية رسوم توصيل بقيمة 10 دولار أمريكي للطلبات التي تصل قيمتها إلى 100 دولار أمريكي، ولا يتم فرض رسوم توصيل في غير هذه الحالة.
{ "@type": "Fee", "@id": "4326", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "USD", "price": 10.00, "eligibleTransactionVolumeMax": 99.99 } { "@type": "Fee", "@id": "5432", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "USD", "price": 0.00, "eligibleTransactionVolumeMin": 100 }
مناطق خدمة التوصيل
توضّح الأمثلة أدناه كيفية تحديد مناطق نطاق الخدمة المتاحة للخدمة التوصيل.
حالة الاستخدام | أفضل ممارسة |
---|---|
حالة الاستخدام 1: تحديد منطقة نطاق الخدمة |
استخدِم |
حالة الاستخدام 2: لديك منطقة خدمة متعددة الأضلاع. | |
حالة الاستخدام 3: لديك منطقة خدمة واحدة، ولكنّك لا توفّر خدماتك في منطقة أصغر ضمنها. | |
حالة الاستخدام 4: لديك مناطق خدمة متعددة. | أنشئ عناصر ServiceArea
متعددة لتمثيل مناطق نطاق الخدمة. |
JSON
يقدّم المطعم خدمات توصيل إلى مناطق خدمة مختلفة. يمكن تحديد مناطق نطاق الخدمة حسب شكل مضلع أو رمز بريدي أو دوائر.
{ "@type": "Service", "@id": "10824/delivery", "serviceType": "DELIVERY", "menuId": "10824", "restaurantId": "10824" } { "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "polygon": ["-20.728777 116.804256 -20.736323 116.8161 -20.722997 116.86468 -20.725406 116.871547 -20.736323 116.873607 -20.7474 116.816444 -20.756871 116.819877 -20.757673 116.788291 -20.740497 116.786403"] } { "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "postalCode": 6714, "addressCountry": "AU" } { "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "geoMidpointLatitude": -20.733575, "geoMidpointLongitude": 116.844931, "geoRadius": 1000 } { "@type": "OperationHours", "@id": "427/deliveryOh", "serviceId": "10824/delivery", "opens": "T09:00", "closes": "T23:00" } { "@type": "ServiceHours", "@id": "613741/delivery", "orderType": "ASAP", "serviceId": "10824/delivery", "opens": "T09:00", "closes": "T23:00", "isSpecialHour": false, "leadTimeMin": 60, "leadTimeMax": 90 } { "@type": "ServiceHours", "@id": "3654/delivery", "orderType": "ADVANCE", "serviceId": "10824/delivery", "opens": "T09:00", "closes": "T23:00", "isSpecialHour": false, "advanceBookingRequirementMin": 30, "advanceBookingRequirementMax": 8640, "advanceBookingSlotInterval": "PT15M" } { "@type": "Fee", "@id": "4326", "serviceId": "10824/delivery", "feeType": "DELIVERY", "priceCurrency": "AUD", "price": 5.00 }
JSON
![](https://developers.google.cn/static/actions-center/verticals/ordering/images/geoshape_ex1.png?hl=ar)
{ "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "polygon": ["37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619"] }
JSON
نقْل قائمة تحتوي على سلاسل تمثّل حلقات المضلّعات أدرِج
المناطق المستبعَدة في سمة polygon
من ServiceArea
.
تُفسر ميزة "طلب الطعام" المناطق المتداخلة على أنّها مناطق مستبعدة.
![](https://developers.google.cn/static/actions-center/verticals/ordering/images/geoshape_ex2.png?hl=ar)
{ "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "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"] }
JSON
![](https://developers.google.cn/static/actions-center/verticals/ordering/images/geoshape_ex3.png?hl=ar)
{ "@type": "ServiceArea", "@id": "28427", "serviceId": "10824/delivery", "polygon": ["37.785847 -122.484851 37.772757 -122.483983 37.774442 -122.458563 37.786876 -122.459474"] } { "@type": "ServiceArea", "@id": "4356", "serviceId": "10824/delivery", "polygon": ["37.774804 -122.454774 37.766224 -122.452881 37.769087 -122.436043 37.773087 -122.437417"] }
حذف الكيانات وإيقافها
يمكنك إزالة الكيانات من خدمتك التي لم تعُد تريد أن تعرضها Google للمستخدمين. تكون هذه العملية مفيدة إذا كنت بحاجة إلى إبلاغ Google بأنّه تم إغلاق مطعم أو خدمة نهائيًا أو مؤقتًا.
إزالة الكيانات
لإزالة عنصر، عليك حذفه من خلاصاتك، ومدة اتّفاقية مستوى الخدمة هي ساعتان. لإعادة عرض عنصر، أضِفه مرة أخرى إلى خلاصاتك.
إزالة كيانات الخدمة مؤقتًا
يمكنك أيضًا إيقاف عنصر Service
مؤقتًا لفترة زمنية
محددة أو غير محدّدة.
يكون إيقاف أحدهما لفترة زمنية معيّنة مفيدًا إذا كنت تريد السماح للمستخدمين بتقديم الطلبات مسبقًا ولكن مع إيقاف الطلبات الفورية خلال فترة زمنية معيّنة (مثلاً خلال عطلة).
إنّ إيقاف عنصر Service
لفترة زمنية غير محدّدة هو
إجراء مفيد إذا كنت تريد منع المستخدمين من تقديم كلّ من الطلبات المُسبَقة والطلبات العميلة إلى تاريخ مستقبلي غير محدّد.
يتضمن إيقاف الخدمة مؤقتًا تعديل ملفات الخلاصة مباشرةً كما هو الحال في عملية الإزالة النهائية.
استخدِم الأساليب الواردة أدناه لإيقاف ساعات عمل Service
أو إلغاء عملها خلال فترة زمنية محدّدة مسبقًا.
لإيقاف عنصر
Service
مؤقتًا لفترة زمنية معيّنة معلومة مسبقًا (مثل ساعات العمل خلال الأعياد)، استخدِم العنصرَينOperationHours
وServiceHours
.أنشِئ عنصرًا جديدًا من نوع ServiceHours مع ضبط سمة
isSpecialHour
علىtrue
. يجب تقديم السمتَينvalidFrom
وvalidThrough
لتحديد قيم الوقت عندما تكون ساعات العمل الخاصة صالحة. اضبط وقتَيopens
وcloses
على "00:00". ستستأنف الخدمة تلقائيًا بعد مرور ساعات من عنصر ساعات العمل العاديةServiceHours
بعد تجاوز قيمتَيvalidFrom
وvalidThrough
لعنصر ساعات العمل الخاصة.{ "@type":"ServiceHours", "@id":"delivery_1_service_hours_holiday", "orderType":"ASAP", "serviceId":"delivery_1", "operationHoursId":"delivery_1_op_hours", "opens":"00:00", "closes":"00:00", "validFrom":"2022-12-25T00:00:00-05:00", "validThrough":"2022-12-26T00:00:00-05:00", "leadTimeMin":"20", "leadTimeMax":"20", "isSpecialHour":true }
لإزالة عنصر
Service
مؤقتًا لفترة زمنية غير محدّدة، اضبط سمةisDisabled
على "true". لإعادة تفعيلها، أزِل القيمة property من كيانك أو اضبطها على "false".يُرجى العلم أنّه يجب استخدام السمة
isDisabled
فقط عندما لا تعرف موعد إعادة بدء الخدمة. على سبيل المثال، استخدِمه في مناسبات غير متوقّعة ولا تستخدِمه في الأعياد).