เมนู
เอนทิตีเมนูอธิบายเมนูที่ร้านอาหารนําเสนอแก่ลูกค้า คุณต้องกําหนดเอนทิตีเมนูภายในเอนทิตีของร้านอาหารผ่านพร็อพเพอร์ตี้ menuId
ของร้านอาหาร
ออบเจ็กต์อื่นๆ ที่กําหนดเมนู (เช่น คําอธิบาย รูปภาพ ส่วนเสริม และข้อมูลโภชนาการ) ประกอบด้วย MenuItem
และ MenuItemOffer
รวมถึงออบเจ็กต์ที่ไม่บังคับ MenuSection
, Availability
และ MenuItemOption
ส่วนเมนู
คุณใช้ออบเจ็กต์ MenuSection
เพื่อจัดระเบียบออบเจ็กต์ MenuItem
หลายรายการลงในหมวดหมู่เชิงตรรกะได้ แนวทางนี้มีประโยชน์สําหรับร้านอาหารที่มีหลายเมนู (เช่น อาหารเช้า อาหารกลางวัน และอาหารค่ํา) เพิ่มเมนูแต่ละรายการเป็น MenuSection
แยกต่างหาก
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งาน 1: เมนูพื้นฐาน | ใช้ MenuItem , MenuItemOffer และ MenuSection (ไม่บังคับ) |
ตัวอย่างต่อไปนี้ตรงกับกรณีการใช้งาน "เมนูพื้นฐาน" ที่มี 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 รหัส> ของข้อเสนอ |
กรณีการใช้งาน 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
MenuItems ที่มีข้อเสนอที่แตกต่างกันไปตามราคาและเวลา
เมนูมี 2 ส่วนด้วยกัน รายการในเมนู "พาสต้า" มี MenuItemOffer
ออบเจ็กต์ที่เกี่ยวข้อง 2 รายการ (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: ส่วนเสริมพื้นฐาน | ใช้พร็อพเพอร์ตี้ eligibleQuantityMin และ eligibleQuantityMax ของส่วนเสริม MenuSection เพื่อระบุจํานวนส่วนเสริมขั้นต่ําและสูงสุดที่เลือกได้ในส่วนส่วนเสริม |
กรณีการใช้งาน 2: ส่วนเสริมเริ่มต้น | ใช้ defaultOptionId ของส่วนเสริม MenuSection ของออบเจ็กต์เพื่อเสนอตัวเลือกส่วนเสริมเริ่มต้น |
กรณีการใช้งาน 3: ชุดอาหาร/แพ็กเกจ | ใช้ออบเจ็กต์ MenuSection เพื่ออธิบายตัวเลือกที่ผู้ใช้เลือกได้เมื่อเลือกอาหาร/คอมโบ |
JSON
ในตัวอย่างนี้ รายการเมนู "Cappuccino" สามารถปรับแต่งได้ด้วยตัวเลือกหลอด
มีตัวเลือกส่วนเสริมอีก 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
ในตัวอย่างนี้ รายการเมนู "คลับเบเกิล" ได้รับเลือกไว้ล่วงหน้าด้วยไส้กรอกโชริโซและตัวเลือกไข่กวน ส่วนเสริมของ Chorizo และ Chili Sauce เป็นส่วนเสริมของ "แพ็กเกจพิเศษ" และไข่กวนโดยค่าเริ่มต้น โดยเป็นส่วนเสริม "ตัวเลือกไข่" โดยค่าเริ่มต้น
{ "@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 รสชาติเป็นอีก 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 ขนาดให้เลือกและผู้ใช้เลือกได้ ราคาของแต่ละขนาดจะแตกต่างกัน
พิซซ่าฮาวายราคา $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 สําหรับธุรกิจขนาดเล็กราคา 150.00 THB สําหรับขนาดกลางและ 200.00 THB สําหรับขนาดใหญ่ ท็อปปี้เนื้อวัวราคา 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
ใส่พิซซ่าหน้าท็อปปิ้ง ครึ่งขวา หรือพิซซ่าทั้งหน้า ราคาจะแตกต่างกันไปตามขนาดของพิซซ่า รวมถึงสถานที่ที่ใช้ท็อปปิ้ง
พิซซ่าเปปเปอโรนีขนาดเล็กราคา 100.00 บาทสําหรับขนาดเล็ก 150.00 บาทสําหรับสื่อ 10.00 บาท และ 20.00 บาทสําหรับขนาดใหญ่ พิซซ่ามีท็อปปิ้ง 2 ชิ้น (เนื้อวัวซาลามิและมอซซาเรลลา) โดยแต่ละชิ้นขายพิซซ่าทั้งขนาดเล็กและด้านซ้าย ราคาอยู่ที่ $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
กําหนดการนําส่งการสั่งอาหารจากร้านอาหาร เช่น ประเภทบริการ เวลาทําการ พื้นที่ และค่าธรรมเนียมที่ให้บริการจะอธิบายไว้ในเอนทิตี 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 ถึง 1 มีนาคม 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 }
เวลานําส่งและรับสินค้า
ตัวอย่างด้านล่างจะอธิบายวิธีระบุเวลาจัดส่งและการรับสินค้าของบริการ
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งาน 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-21:00 น. ในวันที่ 24 ธันวาคม 2019 เวลาจัดส่งตั้งแต่ 09:00 น. ถึง 16:00 น. บริการจะใช้เวลารอขั้นต่ํา 1 ชั่วโมงและเวลารอสูงสุด 90 นาที
ผู้ใช้จะสั่งซื้อล่วงหน้าได้ 6 วัน (8640 นาที) ถึง 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
ร้านอาหารรับบริการของ SAP และสั่งอาหารล่วงหน้าสําหรับบริการแบบไปรับเอง ทั้งยังรองรับเวลาทําการพิเศษในช่วงวันหยุด
ในตัวอย่างนี้ผู้ใช้จะเริ่มสั่งซื้อออนไลน์ได้ 2 ชั่วโมงก่อนเวลาทําการจะเริ่ม ช่วงเวลารับสินค้าในวันธรรมดาคือตั้งแต่ 9:00 - 23:00 น. ช่วงเวลารับสินค้าช่วงสุดสัปดาห์คือตั้งแต่ 9:00 - 21:00 น. ในวันที่ 24 ธันวาคม 2019 เฉพาะเวลารับสินค้าคือตั้งแต่ 9:00 น. ถึง 16:00 น. การรับสินค้าจะมีเวลารออย่างน้อย 30 นาทีและเวลารอสูงสุดคือ 1 ชั่วโมง
ผู้ใช้จะสั่งซื้อล่วงหน้าได้ 2 วัน (2880 นาที) ถึง 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 อย่างที่คุณต้องระบุสําหรับการดําเนินการตามบริการ ได้แก่ กรอบเวลาการสั่งซื้อ (OperationHours
ซึ่งระบุเวลาที่ผู้ใช้สั่งซื้อได้) และระยะเวลาที่ดําเนินการตามคําสั่งซื้อ (ServiceHours
จะแสดงเวลาที่ดําเนินการตามคําสั่งซื้อได้)
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งาน 1: เปิดสําหรับคําสั่งซื้อในวันเดียวกัน แต่ปิดสําหรับคําสั่งซื้อขั้นสูง | หากต้องการระบุวันที่ที่เวลาทําการพิเศษถูกต้อง ให้ใช้พร็อพเพอร์ตี้ validFrom และ validThrough ของเอนทิตี ServiceHours และ OperationHours (โดยตั้งค่าพร็อพเพอร์ตี้ isSpecialHour เป็น "จริง") |
JSON
ตัวอย่างนี้ระบุว่าบริการเปิดให้สั่งซื้อในวันเดียวกันในวันคริสต์มาส แต่ปิดสําหรับคําสั่งซื้อที่กําหนดไว้ล่วงหน้าสําหรับวันนั้น ร้านอาหารรับบริการของ SAP และสั่งอาหารล่วงหน้าสําหรับบริการแบบไปรับเอง
เวลารับสินค้าตามปกติ (รวมถึงทั้งเวลาทําการและเวลาทําการ) คือเวลา 9:00-21:00 น. และวันคริสต์มาสอีฟปี 2017 ตั้งแต่เวลา 9:00-16:00 น. การรับสินค้าจะมีเวลารอขั้นต่ํา 1 ชั่วโมงและเวลารอนานสูงสุด 90 นาที ผู้ใช้สามารถสั่งซื้อล่วงหน้าได้ 2 วัน (2880 นาที) ถึง 30 นาทีล่วงหน้าทุกวัน ผู้ใช้จะทําคําสั่งซื้อแบบไปรับที่ร้านได้ล่วงหน้าครั้งละ 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" }
ค่าธรรมเนียมการจัดส่งและไปรับ
ตัวอย่างด้านล่างจะสรุปค่าธรรมเนียมในการนําส่งและรับสินค้าสําหรับบริการ
กรณีการใช้งาน | แนวทางปฏิบัติแนะนำ |
---|---|
กรณีการใช้งาน 1: การกําหนดค่าค่าธรรมเนียมการนําส่ง | ใช้เอนทิตี Fee เพื่อกําหนดประเภทค่าจัดส่ง |
กรณีการใช้งาน 2: การกําหนดค่าค่าบริการสําหรับบริการรับสินค้า | ใช้เอนทิตี Fee เพื่อกําหนดประเภทค่าบริการแบบไปรับเอง |
JSON
ร้านอาหารรองรับค่าธรรมเนียมการจัดส่งประเภทต่างๆ
ในตัวอย่างนี้ มีการจัดส่งฟรีที่มีคําสั่งซื้อขั้นต่ํา $30.00 ค่าธรรมเนียมการจัดส่งแบบคงที่ที่ $5.00 โดยไม่มีคําสั่งซื้อขั้นต่ํา และค่าธรรมเนียม 3% จากยอดรวมของรถเข็น เวลานําส่ง (รวมถึงทั้งคําสั่งซื้อและเวลาทําการ) ตั้งแต่เวลา 9:00-23:00 น. การนําส่งใช้เวลารออย่างน้อย 1 ชั่วโมงและเวลารอสูงสุด 90 นาที
ผู้ใช้จะสั่งซื้อล่วงหน้าได้ 6 วัน (8640 นาที) ถึง 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: คุณมีพื้นที่ให้บริการแบบ Polygon | |
กรณีการใช้งาน 3: คุณมีพื้นที่ให้บริการ 1 แห่ง แต่ไม่ได้ให้บริการในพื้นที่ขนาดเล็กกว่า | |
กรณีการใช้งาน 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
{ "@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
การสั่งอาหารจะตีความพื้นที่ที่ทับซ้อนเป็นพื้นที่ที่ยกเว้น
{ "@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
{ "@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
ชั่วคราวตามระยะเวลาที่เจาะจงหรือที่ไม่ได้กําหนดได้ด้วย
การปิดใช้แอตทริบิวต์หนึ่งๆ สําหรับระยะเวลาหนึ่งๆ จะมีประโยชน์หากคุณต้องการให้ผู้ใช้ส่งคําสั่งซื้อล่วงหน้า แต่ปิดใช้คําสั่งซื้อโดยทันทีภายในระยะเวลาที่กําหนด (เช่น ช่วงวันหยุดเทศกาล)
การปิดใช้เอนทิตี 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" หากต้องการเปิดใช้อีกครั้ง ให้นําพร็อพเพอร์ตี้ออกจากเอนทิตีหรือกําหนดค่าเป็น "เท็จ"โปรดทราบว่าคุณใช้พร็อพเพอร์ตี้
isDisabled
เฉพาะเวลาที่ไม่ทราบว่าบริการจะได้รับการสร้างอีกครั้งเท่านั้น เช่น ใช้สําหรับเหตุการณ์ที่ไม่คาดคิดและไม่ได้ใช้สําหรับวันหยุด)