เมนู
เอนทิตีเมนูอธิบายเมนูที่ร้านอาหารนำเสนอแก่ลูกค้า ต
เอนทิตีเมนูต้องกำหนดภายในเอนทิตีร้านอาหารผ่าน
พร็อพเพอร์ตี้ menuId
วัตถุอื่นๆ ที่ระบุเมนู (เช่น คำอธิบาย รูปภาพ ส่วนเสริม และ
ข้อมูลโภชนาการ) รวมถึง MenuItem
และ MenuItemOffer
รวมถึง
ออบเจ็กต์ตัวเลือก MenuSection
, Availability
และ MenuItemOption
ส่วนเมนู
คุณสามารถใช้ออบเจ็กต์ MenuSection
เพื่อจัดระเบียบออบเจ็กต์ MenuItem
หลายรายการลงใน
หมวดหมู่เชิงตรรกะ วิธีนี้มีประโยชน์สำหรับร้านอาหารที่มี
(เช่น อาหารเช้า อาหารกลางวัน และอาหารค่ำ) เพิ่มแต่ละเมนูแยกกัน
MenuSection
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งาน 1: เมนูพื้นฐาน | ใช้ MenuItem , MenuItemOffer และ
MenuSection (ไม่บังคับ) |
ตัวอย่างต่อไปนี้ตรงกับ "เมนูพื้นฐาน" Use Case ที่มี 2 ส่วนเมนู ("อาหารตลอดวัน" และ "เครื่องดื่ม") แต่ละรายการมีเมนู 2 รายการ ได้แก่
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 code> |
กรณีการใช้งาน 3: รายการในเมนูข้อเสนอหลายรายการ | ใช้พร็อพเพอร์ตี้ menuItemId ของ MenuItemOffer และตั้งค่า
พร็อพเพอร์ตี้ availabilityId เพื่อระบุเวลา
ราคาถูกต้อง |
JSON
เมนูพื้นฐานที่มี "อาหารตลอดวัน" "อาหารกลางวัน" และ "เครื่องดื่ม"
เมนูมี 3 ส่วน "อาหารกลางวัน (ให้บริการ 11:30 น. - 14:30 น.)"
จะพร้อมให้บริการตั้งแต่เวลา 11:30 น. - 14: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
เมนูพื้นฐานที่มี "อาหารตลอดวัน" "อาหารกลางวัน" และ "เครื่องดื่ม"
เมนูมี 3 ส่วน "อาหารกลางวัน (ให้บริการ 11:30 น. - 14:30 น.)"
จะพร้อมให้บริการตั้งแต่เวลา 11:30 น. - 14:30 น. เท่านั้น ตามที่อธิบายไว้ใน
ออบเจ็กต์ Availability
รายการในเมนู "Bibimbap" มีค่าเท่านั้น
พร้อมให้บริการตั้งแต่ 12:00 น. - 13: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
MenuItem ที่มีข้อเสนอที่แตกต่างกันไปตามราคาและเวลา
เมนูมี 2 ส่วน รายการในเมนู "พาสต้า" มี 2 รายการที่สอดคล้องกัน
วัตถุ MenuItemOffer
ชิ้น (ราคา 1 ชิ้นสำหรับอาหารกลางวัน 1 ชิ้นสำหรับอาหารเย็น
ราคา) ราคาอาหารกลางวันสำหรับพาสต้าคือ $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: ส่วนเสริมพื้นฐาน | ใช้ออบเจ็กต์ MenuSection ของส่วนเสริม
eligibleQuantityMin และ eligibleQuantityMax
เพื่อระบุจำนวนรายการส่วนเสริมต่ำสุดและสูงสุด
สามารถเลือกได้ในส่วนส่วนเสริม |
กรณีการใช้งาน 2: ส่วนเสริมเริ่มต้น | ใช้ออบเจ็กต์ MenuSection ของส่วนเสริม
defaultOptionId เพื่อระบุตัวเลือกส่วนเสริมเริ่มต้น |
กรณีการใช้งานที่ 3: อาหารชุด/แพ็กเกจ | ใช้ออบเจ็กต์ MenuSection เพื่ออธิบายตัวเลือกที่ผู้ใช้ทำได้เมื่อเลือกอาหาร/ชุดผสม |
JSON
ในตัวอย่างนี้ "คาปูชิโน" รายการในเมนูที่ปรับแต่งได้ด้วยหลอด ตัวเลือก
มีส่วนเสริมอีก 1 อย่างสำหรับ "เบเกิลเมดิเตอร์เรเนียน" รายการใน "อาหารตลอดวัน" เมนูและส่วนเสริมไข่ 2 ฟอง ตัวเลือก
"คลับเบเกิล" รายการในส่วนเมนูเดียวกันมีรายการพิเศษแบบเดียวกัน ส่วนเสริมที่พร้อมใช้งาน รวมถึง "ตัวเลือกไข่" เป็นส่วนเสริมของไข่คน
ในส่วนเครื่องดื่ม มีสินค้า 1 อย่างพร้อม "นม" ค่ะ ส่วนเสริม และ "ตัวเลือกฟาง" ตัวเลือกส่วนเสริม
{ "@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
ในตัวอย่างนี้ "คลับเบเกิล" รายการในเมนูถูกเลือกไว้ล่วงหน้าพร้อมโชริโซ กับไข่คนเรียบร้อยแล้ว ซอสโชริโซและซอสพริกคือ "เมนูพิเศษ" ตามค่าเริ่มต้น คือส่วนเสริมและไข่คน "Egg Option" (ตัวเลือกไข่) ส่วนเสริม
{ "@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
ตัวอย่างนี้มีชุดอาหารที่ประกอบด้วยเบอร์เกอร์ ของทอด และ เครื่องดื่ม อาหารแต่ละรายการปรับแต่งได้ด้วยท็อปปิ้งและ ส่วนเสริม
รายการอาหารแบบรวมมีเบอร์เกอร์ 1 ชิ้น เฟรนช์ฟราย 1 ชิ้น และเครื่องดื่ม 1 อย่าง ให้ผู้ใช้เลือก มีเบอร์เกอร์ 2 แบบ แต่ละรายการมีส่วนเสริม 2 อย่าง หัวข้อ: "สูตรอาหาร" (รายการในเมนู 2 รายการ ผู้ใช้ต้องเลือกตัวเลือก 0-1) และ "พิเศษ" (รายการในเมนู 3 รายการ ผู้ใช้ต้องเลือกตัวเลือก 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
พิซซ่ามี 3 ขนาดและผู้ใช้ต้องเป็นผู้เลือก ราคา แต่ละขนาดจะแตกต่างกัน
พิซซ่าฮาวายเอี่ยนราคา ฿100.00 เล็ก ฿150.00 สำหรับขนาดกลาง และ 200.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
ราคาท็อปปิ้งพิซซ่าจะแตกต่างกันไปตามขนาดของพิซซ่า
พิซซ่าเปปเปอโรนีราคา 300 บาทสำหรับเล็ก 450 บาทสำหรับขนาดกลาง และ $20.00 สำหรับชุดใหญ่ ราดหน้าซาลามี่เนื้อราคา 30 บาทสำหรับชิ้นเล็ก 150 บาท ขนาดกลาง และ $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
เพิ่มท็อปปิ้งพิซซ่าได้ทางครึ่งซ้าย ครึ่งขวา หรือทั้งหน้า พิซซ่า ราคาแตกต่างกันไปตามขนาดของพิซซ่าและปริมาณหน้ากระดาษ นำไปใช้
พิซซ่าเปปเปอโรนีขนาดเล็กราคา 300 บาทสำหรับเล็ก 450 บาทสำหรับขนาดกลาง และ $20.00 สำหรับชุดใหญ่ พิซซ่ามีท็อปปิ้ง 2 หน้า (ซาลามีเนื้อและมอซซาเรลลา) และท็อปปิ้งแต่ละชิ้นสำหรับขอบซ้ายและขวาของพิซซ่าชิ้นเล็กราคา 30 บาท ต่อด้าน แต่เหลือ $0.50 สำหรับพิซซ่าทั้งถาดเล็ก ท็อปปิ้งราคา $1.50 ต่อด้านสำหรับด้านซ้ายและขวาของพิซซ่าขนาดกลางแต่จ่าย 30 บาทแทน สำหรับพิซซ่าทั้งชิ้น ท็อปปิ้งราคาด้านละ $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
กำหนดการนำส่งการสั่งอาหาร
การดำเนินการจากร้านอาหาร เช่น ประเภทบริการ เวลาให้บริการ พื้นที่
และค่าธรรมเนียมได้อธิบายไว้ใน ServiceArea
, ServiceHours
เอนทิตี OperationHours
และ Fee
ร้านอาหาร 1 แห่งสามารถกำหนดวัตถุประสงค์ด้านบริการได้หลายรายการ (เช่น หากร้านอาหาร
รองรับทั้งบริการส่งถึงบ้านและสั่งกลับบ้าน) แต่ควรมี 1 บริการที่แตกต่างกัน
ซึ่งเชื่อมต่อกับร้านอาหารแห่งเดียวโดยพร็อพเพอร์ตี้ serviceType
ของบริการ
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งานที่ 1: บริการจัดส่งขั้นพื้นฐาน | ใช้พร็อพเพอร์ตี้ opens และ closes ใน
ServiceHours และ OperationHours เพื่อระบุ
เวลาเริ่มต้นและสิ้นสุดที่ผู้ใช้สามารถดำเนินการตามคำสั่งซื้อ (ทำให้เสร็จสมบูรณ์) และ
สั่งซื้อได้ตามลำดับ หากต้องการระบุเวลาในการส่งมอบ (ค่า
เวลาโดยประมาณในการรับสินค้า/จัดส่ง) ให้ใช้ leadTimeMin และ
พร็อพเพอร์ตี้ leadTimeMax ของ ServiceHours |
JSON
บริการตัวอย่างต่อไปนี้รับคำสั่งซื้อทุกวันตั้งแต่เวลา 8.00 - 18.00 น. (สามารถสั่งซื้อล่าสุดได้เวลา 17:59:59 น.) ตั้งแต่ 1 กุมภาพันธ์ 2016 ถึงมีนาคม ครึ่งแรกของปี 2016 ให้บริการเวลารอขั้นต่ำ 1 ชั่วโมงและรอได้สูงสุด 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 }
เวลาจัดส่งและรับสินค้า
ตัวอย่างด้านล่างแสดงวิธีกำหนดเวลาจัดส่งและรับสินค้า service.
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งาน 1: การกำหนดค่าเวลานำส่ง | ใช้พร็อพเพอร์ตี้ leadTimeMin และ leadTimeMax
ServiceHours สำหรับคำสั่งซื้อ ASAP ใช้
OperationHours สำหรับการสั่งล่วงหน้า ใช้เมนู
พร็อพเพอร์ตี้ isSpecialHour ของ ServiceHours และ
OperationHours สำหรับการจัดส่งและคำสั่งซื้อพิเศษในวันหยุด
ช่วงเวลาในกรอบเวลา |
กรณีการใช้งาน 2: การกำหนดค่าเวลารับสินค้า | ใช้พร็อพเพอร์ตี้ leadTimeMin และ leadTimeMax
ServiceHours สำหรับคำสั่งซื้อ ASAP ใช้
OperationHours สำหรับการสั่งล่วงหน้า ใช้เมนู
พร็อพเพอร์ตี้ isSpecialHour ของ ServiceHours และ
OperationHours สำหรับระยะเวลานัดรับและสั่งซื้อพิเศษช่วงวันหยุด
ชั่วโมง |
JSON
ร้านอาหารรับบริการส่งอาหารล่วงหน้าและสั่งอาหารล่วงหน้า นอกจากนี้ ยังรองรับเวลาทำการพิเศษในการจัดส่งในวันหยุดด้วย
ในตัวอย่างนี้ ผู้ใช้สามารถสั่งซื้อออนไลน์ได้ทุกเมื่อ เวลาทำการในวันธรรมดาคือตั้งแต่ 9.00 น. ถึง 23.00 น. เวลาทำการในวันหยุดสุดสัปดาห์คือตั้งแต่ 9.00 น. ถึง 9.00 น. PM ในวันที่ 24 ธันวาคม 2019 เวลาจัดส่งคือตั้งแต่ 9.00 น. ถึง 4.00 น. PM บริการมีระยะเวลารอขั้นต่ำ 1 ชั่วโมงและสูงสุด เวลารอ 90 นาที
ผู้ใช้สามารถสั่งซื้อล่วงหน้าได้ตั้งแต่ 6 วัน (8,640 นาที) ถึง 1 ชั่วโมง ล่วงหน้าในแต่ละวัน รวมถึงวันที่ 24 ธันวาคม 2019 ผู้ใช้สามารถวาง คำสั่งซื้อที่นำส่งล่วงหน้าจะเพิ่มขึ้น 15 นาที (เช่น 20:00 น. 20:15 น., 20: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
ร้านอาหารรับบริการโดยเร็วที่สุดและสั่งอาหารล่วงหน้าเพื่อใช้บริการมารับที่ร้าน ทั้งนี้ ยังรองรับเวลาทำการพิเศษแบบไปรับเองในวันหยุดด้วย
ในตัวอย่างนี้ ผู้ใช้สามารถเริ่มสั่งซื้อออนไลน์ได้ 2 ชั่วโมงก่อนเวลาให้บริการจะเริ่มต้น เวลาทำการในวันธรรมดาคือเวลา 9.00-23.00 น. เวลาทำการในวันเสาร์อาทิตย์คือตั้งแต่ 9:00-21:00 น. ในวันที่ 24 ธันวาคม 2019 เวลารับสินค้าคือเวลา 09:00 น. - 16:00 น. การรับสินค้ามีเวลารอขั้นต่ำ 30 นาทีและรอไม่เกิน 1 ชั่วโมง
ผู้ใช้สามารถสั่งซื้อล่วงหน้าได้ตั้งแต่ 2 วัน (2,880 นาที) ถึง 30 วัน นาทีล่วงหน้าในแต่ละวัน รวมถึงวันที่ 24 ธันวาคม 2019 ผู้ใช้สามารถ สั่งซื้อแบบไปรับเองล่วงหน้าได้สูงสุด 15 นาทีเท่านั้น (เช่น 20:00 น. 20:15 น. และ 20: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
ได้
เพื่อลบล้างเวลาทำการและ/หรือเวลาทำการที่มีอยู่ วิธีนี้ทำให้
คุณกำหนดเวลาทำการปกติเพียงครั้งเดียว และเลือกลบล้างสำหรับ
วันหยุดและกิจกรรมพิเศษต่างๆ
มีกรอบเวลา 2 ช่วงที่แตกต่างกันที่คุณต้องระบุสำหรับบริการ
Fulfillment: กรอบเวลาการสั่งซื้อ (OperationHours
ระบุเวลาที่ผู้ใช้สามารถ
สั่งซื้อ) และกรอบเวลาการดําเนินการตามคําสั่งซื้อ (ServiceHours
จะระบุเมื่อ
ดำเนินการตามคำสั่งซื้อได้)
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งาน 1: เปิดสำหรับคำสั่งซื้อในวันเดียวกัน แต่ปิดไว้สำหรับคำสั่งซื้อขั้นสูง คำสั่งซื้อ | หากต้องการระบุวันที่เวลาทำการพิเศษที่ใช้ได้ ให้ใช้
validFrom และพร็อพเพอร์ตี้ validThrough ของ
ServiceHours และ OperationHours เอนทิตี
(โดยตั้งค่าพร็อพเพอร์ตี้ isSpecialHour เป็น "จริง") |
JSON
ตัวอย่างนี้ระบุว่าบริการเปิดให้บริการสำหรับคำสั่งซื้อวันเดียวกันในวันที่ วันคริสต์มาส แต่ปิดรับคำสั่งซื้อล่วงหน้าที่กำหนดไว้สำหรับวันนั้น ร้านอาหารรับบริการโดยเร็วที่สุดและสั่งอาหารล่วงหน้าเพื่อใช้บริการมารับที่ร้าน
เวลาทำการปกติ (รวมถึงเวลาสั่งซื้อและเวลาทำการ) มาจาก 9.00-21.00 น. และวันคริสต์มาสอีฟปี 2017 เวลา 9.00-16.00 น. การรับสินค้าต้องใช้เวลารออย่างน้อย 1 ชั่วโมงและต้องรอนานสูงสุด 90 นาที ผู้ใช้สามารถสั่งซื้อได้ตั้งแต่ 2 วันล่วงหน้า (2,880 นาที) ล่วงหน้า 30 นาทีสำหรับ 1 วัน แต่ไม่สามารถทำการสั่งซื้อ วัน/ชั่วโมง (เช่น วันคริสต์มาส, วันที่ 4 กรกฎาคม และหลัง 16:00 น. ของวันคริสต์มาสอีฟ) ผู้ใช้สามารถสั่งซื้อแบบไปรับเองล่วงหน้าได้อย่างน้อย 15 นาที (สำหรับ เช่น 14:00 น., 14:15 น., 14: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" }
ค่าธรรมเนียมการจัดส่งและไปรับ
ตัวอย่างด้านล่างแสดงวิธีกำหนดค่าธรรมเนียมการจัดส่งและการรับสินค้าสำหรับ service.
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งาน 1: การกำหนดค่าค่าจัดส่ง | ใช้Fee
เอนทิตีสำหรับกำหนดประเภทค่าจัดส่ง |
กรณีการใช้งาน 2: การกำหนดค่าค่าบริการสำหรับบริการรับสินค้า | ใช้Fee
สำหรับกำหนดประเภทค่าบริการสำหรับการรับสินค้า |
JSON
ร้านอาหารรองรับค่าจัดส่งหลากหลายประเภท
ในตัวอย่างนี้ มีการจัดส่งฟรีเมื่อสั่งซื้อขั้นต่ำ $30.00 ค่าจัดส่งคงที่ $5.00 โดยไม่มีคำสั่งซื้อขั้นต่ำ และ 3% ของเปอร์เซ็นต์ ค่าธรรมเนียมจากยอดรวมของรถเข็น เวลานำส่ง (รวมทั้งคำสั่งซื้อและ เวลาให้บริการ) คือ 09:00 น. ถึง 23:00 น. การจัดส่งมีเวลารอขั้นต่ำที่ 1 ชั่วโมงและใช้เวลารอสูงสุด 90 นาที
ผู้ใช้สามารถสั่งซื้อล่วงหน้าได้ตั้งแต่ 6 วัน (8,640 นาที) ถึง 30 วัน
นาทีล่วงหน้าสำหรับวันใดวันหนึ่ง ผู้ใช้สามารถสั่งอาหารเดลิเวอรีได้เฉพาะใน
โดยจะเพิ่มล่วงหน้าได้ทีละ 15 นาที (เช่น 14:00 น., 14:15 น., 14: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:00 น. ถึง 23:00 น. การรับสินค้าต้องใช้เวลารออย่างน้อย 1 ชั่วโมง และใช้เวลารอสูงสุด 90 นาที
ผู้ใช้สามารถสั่งอาหารล่วงหน้าได้โดยต้องเพิ่มครั้งละ 15 นาทีเท่านั้น (เช่น 14:00 น. 14:15 น. 14: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?authuser=8&hl=th)
{ "@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?authuser=8&hl=th)
{ "@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?authuser=8&hl=th)
{ "@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 ทราบว่า ร้านอาหารหรือบริการปิดทำการถาวรหรือปิดชั่วคราว
นำเอนทิตีออก
หากต้องการนำเอนทิตีออก ให้ลบเอนทิตีออกจากฟีด จะมี SLA 2 ชั่วโมง ถึง แนะนำเอนทิตีอีกครั้ง แล้วเพิ่มกลับเข้าไปในฟีด
นำเอนทิตีบริการออกชั่วคราว
คุณยังปิดใช้เอนทิตี Service
ชั่วคราวสำหรับ
ระยะเวลาที่เจาะจงหรือไม่ได้ระบุ
การปิดใช้บัญชี 1 รายการเป็นระยะเวลาที่เจาะจงจะมีประโยชน์ในกรณีที่ต้องการให้ผู้ใช้ได้ใช้งาน เพื่อทำการสั่งซื้อล่วงหน้า แต่ปิดการใช้งานการสั่งซื้อโดยทันทีภายในระยะเวลาที่กำหนด ระยะเวลา (เช่น ในช่วงวันหยุด)
การปิดใช้เอนทิตี Service
เป็นระยะเวลาที่ไม่ระบุคือ
มีประโยชน์ในกรณีที่ต้องการปิดไม่ให้ผู้ใช้ สั่งซื้อทั้งล่วงหน้าและ
คำสั่งซื้อโดยทันทีจนถึงวันที่ในอนาคตที่ไม่ได้ระบุ
การปิดใช้บริการชั่วคราวจะต้องมีการอัปเดตไฟล์ฟีดโดยตรง ด้วยการนำออกถาวร
ใช้เทคนิคด้านล่างเพื่อปิดใช้หรือลบล้างเวลาทำการของ Service
ในระยะเวลาที่กำหนดไว้ล่วงหน้า
วิธีระงับเอนทิตี
Service
ชั่วคราวในเวลาที่เจาะจง ระยะเวลาที่ทราบก่อนเวลา (เช่น เวลาทำการในวันหยุด) ใช้เอนทิตีOperationHours
และServiceHours
สร้างเอนทิตี ServiceHours ใหม่ที่มีแอตทริบิวต์
isSpecialHour
เป็นtrue
ต้องระบุแอตทริบิวต์validFrom
และvalidThrough
เพื่อระบุค่าเวลาเมื่อเวลาทำการพิเศษถูกต้อง ตั้งค่าopens
และcloses
ครั้งเป็น "00:00" บริการจะกลับมาทำงานอีกครั้งโดยอัตโนมัติหลังเวลาทําการจากเวลาทำการปกติServiceHours
1 ครั้งนอกค่า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
เป็น "จริง" หากต้องการเปิดใช้อีกครั้ง ให้นำ จากเอนทิตีของคุณหรือตั้งค่าเป็น "เท็จ"โปรดทราบว่าคุณควรใช้พร็อพเพอร์ตี้
isDisabled
เฉพาะเมื่อคุณไม่ทราบ เวลาที่จะมีการคืนสถานะบริการ เช่น ใช้เพื่อวัตถุประสงค์ที่ไม่คาดคิด และอย่าใช้ในช่วงวันหยุด)