ฟีดแคตตาล็อกอาหารจะอิงตามเอนทิตี DataFeed
ของ schema.org ฟีดแคตตาล็อกอาหารประกอบด้วยรายละเอียดสถานที่ของร้านอาหาร เช่น ที่อยู่ร้านอาหาร เมนู และสถานที่ รวมถึงรายละเอียดบริการของร้านอาหาร เช่น ค่าจัดส่ง พื้นที่จัดส่ง และรายการอื่นๆ ตามที่ระบุไว้ด้านล่าง
DataFeed
ประกอบด้วยคอลเล็กชันขององค์ประกอบ โดยแต่ละรายการจะแทนรายการเดียวที่แสดงในคำศัพท์ของ schema.org คุณสามารถใช้ประเภท DataFeed
เพื่อเผยแพร่ข้อมูลที่มีโครงสร้างทั้งหมดในรูปแบบ JSON-LD
ดูข้อมูลเกี่ยวกับการใช้ข้อกำหนดนี้เพื่อสร้างฟีดได้ที่ภาพรวมการผสานรวมพื้นที่โฆษณา
รูปแบบวันที่และเวลา
DateTime
อิงตามประเภท schema.org และต้องเป็นไปตามรูปแบบ ISO 8601 รวมถึงวันที่ เวลา และเขตเวลา เว้นแต่จะระบุไว้เป็นอย่างอื่น ใช้ไวยากรณ์ต่อไปนี้สำหรับ DateTime
// DateTime format: YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]
เช่น
2017-05-01T06:30:00-07:00 // UTC minus 7 hours
2017-05-01T06:30:00Z // UTC time zone. The optional "Z" suffix represents the UTC time zone.
Time
เป็นเวลาท้องถิ่นของเขตเวลาของร้านอาหารหรือสถานที่ให้บริการ ก็ขึ้นอยู่กับประเภทของ schema.org และต้องเป็นไปตามรูปแบบ ISO 8601 ด้วย เวลาใช้ไวยากรณ์ต่อไปนี้
// Time format: THH:MM:SS
เช่น
T08:08:00 // 8:08 AM
สิ่งที่ควรทราบเมื่อใดก็ตามที่ระบุ DateTime
หรือ Time
- ต้องใส่คำนำหน้า "T" ก่อนเวลา
- ต้องระบุเขตเวลาสำหรับ
DATETIME
ซึ่งไม่จำเป็นสำหรับTIME
- ต้องระบุเวลาเป็นเวลาท้องถิ่นของร้านอาหารหรือบริการ
ซองจดหมาย
รหัสเริ่มต้นสำหรับฟีดแคตตาล็อกอาหารควรมีส่วน "ซองจดหมาย"
"envelope" เป็นโครงสร้างระดับบนสุดของแต่ละฟีด และต้องเป็น DataFeed
ที่มีพร็อพเพอร์ตี้ต่อไปนี้
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@context |
URL | ต้องระบุ | บริบทที่ใช้งานอยู่ โดยทั่วไปคือ "http://schema.googleapis.com" |
@type |
ข้อความ | ต้องระบุ | ค่าจะเป็น "DataFeed" เสมอ |
dateModified |
DateTime |
ต้องระบุ |
วันที่และเวลาในรูปแบบ ISO_OFFSET_DATE_TIME ที่มีการแก้ไขรายการในฟีดนี้ หากไม่มีช่องนี้ ระบบจะถือว่าเวลาที่อัปเดตคือเวลาที่ได้รับข้อความพุช (หรือทำการ Crawl) ที่เซิร์ฟเวอร์ของ Google เราขอแนะนําให้คุณใช้ทั้งพุชและ Crawl ร่วมกัน คุณควรระบุการประทับเวลานี้ด้วยเขตเวลาและรายละเอียดมิลลิวินาที เช่น "2016-12-28T06:30:00:123-07:00" ในฟีดแบบกลุ่ม ระบบจะกำหนดการกำหนดเวอร์ชันเอนทิตีผ่านทางช่อง |
dataFeedElement |
อาร์เรย์ของ Menu หรือ Restaurant หรือ Service |
ต้องระบุ | มีสินค้าอย่างน้อย 1 รายการที่เป็นส่วนหนึ่งของฟีดนี้ โปรดดูรายละเอียดด้านล่าง |
ตัวอย่างต่อไปนี้จะแสดงเอนเวโลป
ตัวอย่าง
{ "@context": "http://schema.googleapis.com", "dateModified": "2016-12-28T06:30:00:123-07:00", "@type": "DataFeed", "dataFeedElement": [ /* All items that are part of this feed go here */ ] }
AdditiveDetails
หากต้องการใช้ประเภทนี้ ให้เพิ่มบริบท gs1:
"@context": ["http://gs1.org/voc/", "http://schema.org"]
จากนั้นเพิ่ม FoodBeverageTobaccoProduct
ลงในประเภทของ MenuItem
หรือ MenuItemOption
ที่เหมาะสม
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท AdditiveDetails
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "AdditiveDetails" เสมอ |
additiveName |
ข้อความ | ไม่บังคับ | ชื่อของส่วนเสริม |
additiveLevelOfContainment |
ข้อความ | ไม่บังคับ | รหัสการควบคุมตาม gs1:LevelOfContainmentCode
เช่น http://gs1.org/voc/LevelOfContainmentCode-CONTAINS , http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM หรือ http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN |
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภท AdditiveDetails
{ "@type": ["MenuItem", "FoodBeverageTobaccoProduct"], "@id": "http://www.example.com/bar/menuitem/8", "name": "Energy Drink", "description": "A 0.25l can of energy drink.", "offers": { "@type": "Offer", "sku": "offer-energy-drink", "price": "3.49", "priceCurrency": "USD" }, "additive": [ { "@type": "AdditiveDetails", "additiveName": "caffeine", "additiveLevelOfContainment": "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS" }, { "@type": "AdditiveDetails", "additiveName": "phosphate", "additiveLevelOfContainment": "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS" } ] },
AddOnMenuItem
อาหารหรือเครื่องดื่มที่อยู่ในรายการเมนูส่วนเสริมของ MenuItem
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้สำหรับประเภท AddOnMenuItem
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งอาจเป็น "AddOnMenuItem" เสมอ |
@id |
URL | ต้องระบุ | ตัวระบุที่ไม่ซ้ำของรายการในเมนูส่วนเสริม |
name |
ข้อความ | ต้องระบุ | ข้อความที่ระบุ AddOnMenuItem เมื่อผู้ใช้เรียกดูเมนู |
description |
ข้อความ | ไม่บังคับ | คำอธิบายของรายการในเมนูส่วนเสริม |
image |
URL | ไม่บังคับ |
รูปภาพของรายการในเมนูส่วนเสริมที่ตรงกับหลักเกณฑ์ต่อไปนี้
|
offers |
อาร์เรย์ของ Offer |
ต้องระบุ* |
มีข้อเสนออย่างน้อย 1 รายการที่จะให้ AddOnMenuItem นี้ อธิบายว่า AddOnMenuItem นี้พร้อมใช้งานเมื่อใดและในราคาเท่าใด
ข้อเสนอใช้ได้เพียงครั้งเดียวเท่านั้น คุณมีข้อเสนอที่ถูกต้องหลายรายการได้หากราคาหรือความพร้อมจำหน่ายสินค้าเปลี่ยนแปลงตามช่วงเวลาของวัน เมื่อส่วนเสริมหรือสินค้าแตกต่างกันผ่านแอตทริบิวต์พื้นฐานหรือรูปแบบในตัวของส่วนเสริม (เช่น เฟรนช์ฟรายส์ขนาดเล็ก ขนาดกลาง และขนาดใหญ่เป็นส่วนเสริม) ให้ใช้พร็อพเพอร์ตี้ ค่าเริ่มต้นสำหรับ พร็อพเพอร์ตี้
|
hasMenuItemOptions |
อาร์เรย์ของ MenuItemOption |
ต้องระบุ* |
อาร์เรย์ของแอตทริบิวต์พื้นฐานที่อธิบายรูปแบบต่างๆ ของรายการส่วนเสริม (เช่น เฟรนช์ฟรายส์ขนาดเล็ก ขนาดกลาง และขนาดใหญ่เป็นส่วนเสริม) สำหรับรายการในเมนูส่วนเสริมนี้ ใช้ตัวเลือกเพื่อระบุรูปแบบต่างๆ ที่มีให้ใช้งานสำหรับรายการในเมนูส่วนเสริมนี้ มี 2 สถานการณ์ที่อาจเกิดขึ้นได้ดังนี้
|
suitableForDiet |
อาร์เรย์ของ RestrictedDiet |
ไม่บังคับ | อาหารต้องเป็นไปตามข้อจำกัดด้านอาหารที่อธิบายไว้ (เช่น "GlutenFreeDiet" หรือ "VeganDiet") นี่คือรายการค่าที่เป็นไปได้แบบแจกแจง |
nutrition |
NutritionInformation |
ไม่บังคับ | ข้อมูลโภชนาการของอาหารจานนี้ ที่สำคัญคือแคลอรี่ |
menuAddOn |
อาร์เรย์ของ AddOnMenuSection |
ไม่บังคับ | AddOnMenuItem อาจมีส่วนเมนูที่ประกอบด้วยรายการที่อนุญาตซึ่งเพิ่มเป็นส่วนเสริมได้ |
ตัวอย่างต่อไปนี้แสดง AddOnMenuItem
ตัวอย่างที่ 1
{ "@type": "AddOnMenuSection", "@id": "https://www.example.com/1089/addon/1", "name": "AddOnCheese", "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/a", "name": "Swiss", "offers": { "@type": "Offer", "sku": "offer-swiss", "price": "2.99", "priceCurrency": "USD" } }, { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/b", "name": "Mozarella", "offers": { "@type": "Offer", "sku": "offer-mozzarella", "price": "1.99", "priceCurrency": "USD" } } ] }
ตัวอย่างที่ 2
{ "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170067", "name": "Pepperoni Pizza", "hasMenuItemOptions": [ { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "SIZE", "value": "Small" }, "offers": { "@type": "Offer", "sku": "offer-small-pepperoni-pizza", "price": "10.00", "priceCurrency": "USD" } }, { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "SIZE", "value": "Large" }, "offers": { "@type": "Offer", "sku": "offer-large-pepperoni-pizza", "price": "20.00", "priceCurrency": "USD" } } ], "menuAddOn": [ { "@type": "AddOnMenuSection", "name": "Choice of toppings", "@id": "https://www.example.com/1089/addon/1", "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/1/a", "name": "Shrimp", "hasMenuItemOptions": [ { "@type": "MenuItemOption", "value": [ { "@type": "PropertyValue", "name": "PIZZA_SIDE", "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side. }, { "@type": "PropertyValue", "name": "APPLICABLE_ITEM_OPTION", "value": "Small" // Value should be same as mentioned in item's options. } ], "offers": { "@type": "Offer", "sku": "offer-topping-shrimp-left-small", "price": "1.00", "priceCurrency": "USD" } }, { "@type": "MenuItemOption", "value": [ { "@type": "PropertyValue", "name": "PIZZA_SIDE", "value": "PIZZA_SIDE_LEFT" // Values are predefined for pizza side. }, { "@type": "PropertyValue", "name": "APPLICABLE_ITEM_OPTION", "value": "Large" // Value should be same as mentioned in item's options. } ], "offers": { "@type": "Offer", "sku": "offer-topping-shrimp-left-large", "price": "2.00", "priceCurrency": "USD" } }, { "@type": "MenuItemOption", "value": [ { "@type": "PropertyValue", "name": "PIZZA_SIDE", "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side. }, { "@type": "PropertyValue", "name": "APPLICABLE_ITEM_OPTION", "value": "Small" // Value should be same as mentioned in item's options. } ], "offers": { "@type": "Offer", "sku": "offer-topping-shrimp-whole-small", "price": "1.50", "priceCurrency": "USD" } }, { "@type": "MenuItemOption", "value": [ { "@type": "PropertyValue", "name": "PIZZA_SIDE", "value": "PIZZA_SIDE_WHOLE" // Values are predefined for pizza side. }, { "@type": "PropertyValue", "name": "APPLICABLE_ITEM_OPTION", "value": "Large" // Value should be same as mentioned in item's options. } ], "offers": { "@type": "Offer", "sku": "offer-topping-shrimp-whole-large", "price": "2.50", "priceCurrency": "USD" } } ] } ] } ] }
AddOnMenuSection
กลุ่มย่อยของรายการอาหารหรือเครื่องดื่มเป็นส่วนเมนูเสริมสำหรับรายการในเมนู
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้สำหรับประเภท AddOnMenuSection
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งเป็น "AddOnMenuSection" เสมอ |
@id |
URL | ต้องระบุ | ตัวระบุที่ไม่ซ้ำกันของส่วนเมนู |
name |
ข้อความ | ต้องระบุ | ข้อความที่ระบุ AddOnMenuSection เมื่อผู้ใช้เรียกดูเมนู |
description |
ข้อความ | ไม่บังคับ | คำอธิบายของส่วนเมนู |
eligibleQuantity |
QuantitativeValue |
ไม่บังคับ | ระบุจำนวนรายการที่อนุญาตให้ใช้เป็นส่วนเสริมสำหรับส่วนเมนูนี้ คุณใช้ช่องนี้เพื่อจำกัดจำนวนส่วนเสริมได้ เช่น จำนวนท็อปปิ้งต่ำสุดและสูงสุดที่เลือกได้สำหรับพิซซ่า |
image |
URL | ไม่บังคับ | รูปภาพของส่วนเมนู |
hasMenuItem |
อาร์เรย์ของ AddOnMenuItem |
ต้องระบุ* | รายการในเมนูส่วนเสริมที่อยู่ใน AddOnMenuSection |
offers |
อาร์เรย์ของ Offer |
ไม่บังคับ |
ใช้ รายการด้านล่างแสดงให้เห็นว่าพร็อพเพอร์ตี้
|
hasMenuSection |
อาร์เรย์ของ AddOnMenuSection |
ต้องระบุ* | การจัดกลุ่มย่อยที่สมเหตุสมผลของเมนูส่วนเสริม (เช่น อาหารค่ำ อาหารเรียกน้ำย่อย หรืออาหารเมนูปลา) |
defaultOption |
อาร์เรย์ของ AddOnMenuItem |
ไม่บังคับ |
ระบบจะเลือกรายการในเมนูส่วนเสริมไว้ล่วงหน้าโดยค่าเริ่มต้นสําหรับผู้ใช้ใน ออบเจ็กต์ จำนวนของ |
numberOfFreeAddOns |
ตัวเลข | ไม่บังคับ | ระบุจำนวนส่วนเสริมที่ผู้ใช้เลือกได้โดยไม่มีค่าใช้จ่าย |
ตัวอย่างต่อไปนี้มีออบเจ็กต์ AddOnMenuSection
รายการ
ตัวอย่างที่ 1
{ "@type": "AddOnMenuSection", "@id": "https://www.example.com/1089/addon/1", "name": "AddOnCheese", "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/a", "name": "Swiss", "offers": { "@type": "Offer", "sku": "offer-swiss", "price": "2.99", "priceCurrency": "USD" } }, { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/b", "name": "Mozarella", "offers": { "@type": "Offer", "sku": "offer-mozzarella", "price": "1.99", "priceCurrency": "USD" } } ] }
ตัวอย่างที่ 2
"menuAddOn": { "@type": "AddOnMenuSection", "name": "Cheese", "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection "eligibleQuantity": "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2 // Maximum of 2 cheeses are allowed } }
ตัวอย่าง 3
รายการในเมนู "ชีสแซนด์วิช" มี "ตัวเลือกชีส" AddOnMenuSection
ที่มี "สวิส" และ "มอซซาเรลลา" เลือกไว้เป็นค่าเริ่มต้นอยู่แล้ว
{ "@type": "AddOnMenuSection", "@id": "https://www.example.com/1089/addon/1", "name": "AddOnCheese", "defaultOption": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/a" }, { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/b" } ], "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/a", "name": "Swiss", "offers": { "@type": "Offer", "sku": "offer-swiss", "price": "2.99", "priceCurrency": "USD" } }, { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/b", "name": "Mozzarella", "offers": { "@type": "Offer", "sku": "offer-mozzarella", "price": "1.99", "priceCurrency": "USD" } } ] }
AdvanceServiceDeliveryHoursSpecification
แสดงเวลาทำการที่ดำเนินการตามคำสั่งซื้อเพื่อให้ผู้ใช้กำหนดเวลาการสั่งจองล่วงหน้าสำหรับจัดส่งและสั่งกลับบ้าน
โดยปกติแล้ว ค่าของ opens
จะน้อยกว่าค่าของ closes
การใช้พร็อพเพอร์ตี้ opens
และ closes
ต้องเป็นไปตามหลักเกณฑ์ต่อไปนี้
- พร็อพเพอร์ตี้
opens
และcloses
เป็นพร็อพเพอร์ตี้ที่ไม่บังคับสำหรับAdvanceServiceDeliveryHoursSpecification
แต่ขอแนะนำอย่างยิ่งให้คุณใส่ด้วย - ต้องระบุเวลาให้บริการตามเวลาท้องถิ่น อย่าใส่เขตเวลาในค่า
opens
หรือcloses
ระบบจะไม่สนใจเขตเวลาที่ระบุ - หากไม่ได้ระบุ
opens
และcloses
ไว้อย่างชัดแจ้ง เราจะถือว่าการสั่งจองล่วงหน้ามีพร้อมใช้งานตลอดเวลา - หาก
opens
และcloses
เท่ากัน เราจะถือว่าการสั่งล่วงหน้าไม่พร้อมให้บริการ - หาก
opens
มากกว่าcloses
ระบบจะตีความเวลาปิดทำการเป็นวันถัดไป ตัวอย่างเช่น หากตั้งเวลาทำการเป็นวันที่ 1 มกราคม เวลา 17.00 น. และปิดทำการเป็น 2.00 น. ระบบจะตีความว่าร้านปิดทำการในวันที่ 2 มกราคม เวลา 02:00 น. opens
และcloses
หมายถึงช่วงเวลาในอนาคตcloses
เป็นเอกสิทธิ์พิเศษ ตัวอย่างเช่น หากopens
คือ 10.00 น. และcloses
เป็นเวลา 16.00 น. โดยมีserviceTimeInterval
เป็นเวลา 15 นาที ช่วงเวลาแรกจะเริ่มเวลา 10.00 น. และช่วงเวลาสุดท้ายจะเริ่มเวลา 15.45 น.
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท AdvanceServiceDeliveryHoursSpecification
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะแสดงเป็น "AdvanceServicedeliveryHoursSpecification" เสมอ |
validFrom |
DateTime |
มีเงื่อนไข |
วันที่เริ่มต้นที่ดำเนินการตามคำสั่งซื้อล่วงหน้าของผู้ใช้ได้ เช่น "2017-05-01T00:00:00-07:00" หากไม่ได้ตั้งค่าพร็อพเพอร์ตี้นี้ ระบบจะถือว่ามีการใช้งานได้ทุกวัน
พร็อพเพอร์ตี้ หากระบุประเภทนี้เป็น ดูข้อมูลเพิ่มเติมได้ที่ รูปแบบวันที่และเวลา |
validThrough |
DateTime |
ไม่บังคับ |
ระบบไม่สามารถดำเนินการตามวันที่สิ้นสุดคำสั่งซื้อล่วงหน้าของผู้ใช้ได้อีกต่อไป เช่น "2018-12-01T00:00:00-07:00" หากไม่ได้ตั้งค่าพร็อพเพอร์ตี้นี้ ระบบจะถือว่ามีการใช้งานได้ทุกวัน
พร็อพเพอร์ตี้ หากระบุประเภทนี้เป็น เวลาสำหรับ ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
opens |
Time |
ไม่บังคับ |
ใช้กับช่วงเวลานำส่งหรือสั่งกลับบ้าน เวลาที่เจาะจงของวันนับตั้งแต่วันที่ผู้ใช้ดำเนินการตามคำสั่งซื้อล่วงหน้าได้ เช่น 6:30 AM จะแสดงเป็น "T06:30:00" ต้องระบุเวลาท้องถิ่นสำหรับการให้บริการ อย่ารวมเขตเวลาไว้ในค่า ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
closes |
Time |
ไม่บังคับ |
ใช้กับช่วงเวลานำส่งหรือสั่งกลับบ้าน เวลาที่เจาะจงของวันที่ไม่สามารถดำเนินการตามคำสั่งซื้อล่วงหน้าของผู้ใช้ได้ เช่น 21:00 น. จะแสดงเป็น "T21:00:00"
ต้องระบุเวลาตามเวลาท้องถิ่นในการให้บริการ อย่ารวมเขตเวลาไว้ในค่า ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
dayOfWeek |
อาร์เรย์ของ DayOfWeek |
ไม่บังคับ |
วันของสัปดาห์ที่มีเวลานำส่งล่วงหน้า ค่าที่ใช้ได้มีดังนี้
หากไม่ระบุวันใดของสัปดาห์ |
serviceTimeInterval |
Duration |
ต้องระบุ |
ช่วงเวลาระหว่างการให้บริการต่อเนื่อง 2 ครั้ง เช่น หาก ต้องระบุ |
advanceBookingRequirement |
QuantitativeValue |
ต้องระบุ |
จำนวนนาทีนับจากเวลาสั่งอาหารที่สามารถดำเนินการตามคำสั่งซื้อล่วงหน้าได้ ค่า เช่น หากคำสั่งซื้อล่วงหน้าต้องใช้เวลาดำเนินการอย่างน้อย 60 นาที และถูกจำกัดไม่ให้ดำเนินการเกิน 2 วันหลังจากนั้น ค่า |
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภท AdvanceServiceDeliveryHoursSpecification
ตัวอย่างที่ 1
{ "@type": "AdvanceServiceDeliveryHoursSpecification", "opens": "T10:00:00", // Delivery between 10AM and 7:59:59PM "closes": "T20:00:00", "serviceTimeInterval": "PT15M", // in slots spaced 15 minutes apart (ISO8601) "advanceBookingRequirement": { "minValue": 60, // The slot should be at least 60 mins away "maxValue": 8640, // but not more than 6 days away "unitCode": "MIN" } }
AllergenDetails
หากต้องการใช้ประเภทนี้ ให้เพิ่มบริบท gs1:
"@context": ["http://gs1.org/voc/", "http://schema.org"]
จากนั้นเพิ่ม FoodBeverageTobaccoProduct
ลงในประเภทของ MenuItem
หรือ MenuItemOption
ที่เหมาะสม
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท AllergenDetails
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "AllergenDetails" เสมอ |
allergenType |
ข้อความ | ไม่บังคับ | ประเภทของสารก่อภูมิแพ้ตาม gs1:AllergenTypeCode
เช่น http://gs1.org/voc/AllergenTypeCode-PEANUTS
|
allergenLevelOfContainmentCode |
ข้อความ | ไม่บังคับ | รหัสการควบคุมตาม gs1:LevelOfContainmentCode
เช่น http://gs1.org/voc/LevelOfContainmentCode-CONTAINS , http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM หรือ http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN
|
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภท AllergenDetails
{ "@type": ["MenuItem", "FoodBeverageTobaccoProduct"], "@id": "http://www.example.com/bar/menuitem/6", "name": "Strawberry joghurt drink", "description": "A 0.5l bottle of strawberry joghurt drink.", "offers": { "@type": "Offer", "sku": "offer-joghurt-drink", "price": "2.49", "priceCurrency": "USD" }, "hasAllergen": [ { "@type": "AllergenDetails", "allergenType": "http://gs1.org/voc/AllergenTypeCode-GLUTEN", "allergenLevelOfContainmentCode": "http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM" }, { "@type": "AllergenDetails", "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE", "allergenLevelOfContainmentCode": "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS" } ] },
DeliveryChargeSpecification
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท DeliveryChargeSpecification
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | จะเป็น " DeliveryChargeSpecification" เสมอ |
@id |
URL | ไม่บังคับ | ตัวระบุข้อกำหนดสำหรับค่าจัดส่ง |
price |
ตัวเลข | ต้องระบุ | ค่าจัดส่งทั้งหมดที่ระบุเป็นค่าแบบตัวเลขเท่านั้น ใช้พร็อพเพอร์ตี้ priceCurrency เพื่อแสดงถึงประเภทสกุลเงินแทนสัญลักษณ์สกุลเงิน เช่น "6.00" โดยไม่มีสัญลักษณ์สกุลเงิน |
priceCurrency |
ข้อความ | ต้องระบุ | รหัสสกุลเงินแบบ ISO 4217 ที่เป็นตัวอักษร 3 ตัว เช่น "USD" |
eligibleTransactionVolume |
PriceSpecification |
ไม่บังคับ | ปริมาณธุรกรรมเป็นหน่วยเงินซึ่งระบุถึงข้อกำหนดของค่านำส่งนี้ เช่น เพื่อระบุปริมาณการซื้อขั้นต่ำหรือเพื่อระบุว่ามีการจัดส่งโดยไม่มีค่าใช้จ่ายเพิ่มเติมเมื่อสั่งซื้อเกินปริมาณคำสั่งซื้อที่กำหนด |
eligibleQuantity |
QuantitativeValue |
ไม่บังคับ | ช่วงเวลาและหน่วยวัดของปริมาณการสั่งซื้อที่ใช้ค่าจัดส่งจริง การดำเนินการนี้จะช่วยให้คุณระบุได้ว่าค่าขนส่งสินค้าบางรายการจะใช้ได้กับจำนวนที่กำหนดเท่านั้น |
eligibleRegion |
อาร์เรย์ของ GeoShape หรือ Place หรือ GeoCircle |
ไม่บังคับ | สถานที่หรือ GeoShape/GeoCircle สำหรับภูมิภาคทางภูมิศาสตร์ทางการเมืองที่มีข้อมูลกำหนดของข้อเสนอหรือค่าจัดส่งที่ถูกต้อง ใช้พร็อพเพอร์ตี้นี้เมื่อค่าธรรมเนียมการนำส่งแตกต่างกันไปตามภูมิภาคเท่านั้น |
validFrom |
DateTime |
ไม่บังคับ | วันที่และเวลา (รวมถึงเขตเวลา) ที่จะใช้ค่าจัดส่งที่ระบุได้ เช่น "2017-05-01T06:30:00-07:00" ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
validThrough |
DateTime |
ไม่บังคับ | วันที่และเวลา (รวมถึงเขตเวลา) ที่หลังจากค่าบริการนำส่งที่ระบุไว้ไม่ถูกต้อง เช่น "2017-05-01T06:30:00-07:00"
เวลาสำหรับ validThrough จะเป็นสุดพิเศษ ตัวอย่างเช่น หากตั้งเวลาไว้ที่ 18: 00 น. เวลานั้นจะเป็น 17:59:59 น. เท่านั้น
ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ DeliveryChargeSpecification
ตัวอย่างที่ 1
"offers": { "@type":"Offer", "priceSpecification":[ { "@type": "DeliveryChargeSpecification", "price": "5.0", "priceCurrency": "USD" } ] }
ตัวอย่างที่ 2
"priceSpecification": [ { "@type": "DeliveryChargeSpecification", "@id": "http://www.provider.com/defaultdeliveryfee/foo", "price": "10.0", "priceCurrency": "USD", "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 3 // Minimum of 3 items required for delivery } }, { "@type": "DeliveryChargeSpecification", "@id": "http://www.provider.com/deliveryfee/foo/1", "price": "20.0", "priceCurrency": "USD", "validFrom":"T18:00:00", // Valid from 6:00PM "validThrough":"T22:00:00", // Valid to 9:59:59PM "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 3 // Minimum of 3 items required for delivery } } ]
ตัวอย่าง 3
"priceSpecification": [{ "@type": "DeliveryChargeSpecification", "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1", "price": "8.00", // Charges $8 for area5 "priceCurrency": "USD", "eligibleTransactionVolume": { "@type": "PriceSpecification", "minPrice": "20.00", "priceCurrency": "USD" }, "eligibleRegion": [ // area5 { "@type": "GeoCircle", "geoMidpoint": { "@type": "GeoCoordinates", "latitude": "37.7392607", "longitude": "-122.3895522" }, "geoRadius": "4505" } ] }, { "@type": "DeliveryChargeSpecification", "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee", "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge) "priceCurrency": "USD", "eligibleTransactionVolume": { "@type": "PriceSpecification", "minPrice": "20.00", // Minimum order price for delivery is $20 "priceCurrency": "USD" } } ]
นอกจาก "@type": ["DeliveryChargeSpecification"]
แล้ว คุณขยายออบเจ็กต์ได้ด้วย UnitPriceSpecification ดังนี้
"@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"]
ส่วนขยายนี้จะให้ที่พักเพิ่มอีก 2 ตัวสำหรับค่าธรรมเนียมการนำส่งซึ่งคำนวณเป็นเปอร์เซ็นต์
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
referenceQuantity |
QuantitativeValue |
ต้องระบุ | จำนวนการอ้างอิงที่ใช้ราคาที่กำหนด เช่น referenceQuantity ของค่า 10 ที่มี unitCode เป็น "P1" จะเท่ากับ 10% ของมูลค่าการสั่งซื้อ ตอนนี้รองรับเฉพาะ unitCode "P1" |
basePrice |
ตัวเลข | ไม่บังคับ | ค่าใช้จ่ายพื้นฐานเพิ่มเติมจาก referenceQuantity เช่น referenceQuantity ของ 10 ที่มี unitCode เป็น "P1" และ basePrice เป็น 5 ในสกุลเงิน USD จะเท่ากับ $5 + 10% ของมูลค่าการสั่งซื้อ ค่าเริ่มต้นคือ 0 |
ตัวอย่างค่าจัดส่ง
Google อนุญาตให้คุณระบุค่าธรรมเนียมต่างๆ แก่ผู้ใช้ล่วงหน้าได้โดยใช้ Offer.PriceSpecification
ของเอนทิตีบริการ
โปรดทราบว่าขณะนี้การสั่งซื้อจากต้นทางถึงปลายทางรองรับ DeliveryChargeSpecification
เพียง 1 รายการเท่านั้น รวมค่าธรรมเนียมทุกประเภทไว้ใน DeliveryChargeSpecification
เดียว
ดูวิธีระบุค่าธรรมเนียมการนำส่งตามพื้นที่ ระยะทาง และมูลค่าการสั่งซื้อได้ในตัวอย่างฟีดบริการ
หากไม่มีค่าธรรมเนียม ระบบจะไม่แสดง Offer.PriceSpecification
- ตัวอย่างที่ 1: ค่าจัดส่งคือ 5% ของยอดรวมย่อยของรถเข็น
- ตัวอย่างที่ 2: ค่าจัดส่งเท่ากับ 150 บาท
- ตัวอย่างที่ 3: ค่าจัดส่งเท่ากับ 150 บาท + 10% ของยอดรวมย่อยของรถเข็น
- ตัวอย่างที่ 4: ค่าจัดส่งเท่ากับ 150 บาทและค่าธรรมเนียมสัมภาระอยู่ที่ 3.3 บาท
- ตัวอย่างที่ 5: ค่าจัดส่งคือ 5% และค่าธรรมเนียมการอำนวยความสะดวกคือ 2% ของยอดรวมย่อยของรถเข็น
- ตัวอย่างที่ 6: ค่าจัดส่งเท่ากับ $5 และ $1 ต่อระยะทางเพิ่มเติม 1 กม.
ตัวอย่างที่ 1
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
ตัวอย่างที่ 2
priceSpecification [ { "@type": ["DeliveryChargeSpecification"], "priceCurrency": "USD", "price": "5.00" } ]
ตัวอย่าง 3
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "10.00", // 10% "unitCode": "P1", // P1 == % }, "priceCurrency": "USD", "basePrice": "5.00" // User always pays $5 in addition to 10% } ]
ตัวอย่าง 4
priceSpecification [ { "@type": ["DeliveryChargeSpecification"], "priceCurrency": "USD", "price": "5.10" //$5 + $0.1 }
ตัวอย่างที่ 5
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "7.00", // 5% + 2% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" }, ]
ตัวอย่างที่ 6
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "basePrice": 5.00, // User always pays $5 "price": 1.00, // An additional $1.00 is added per 1km "priceCurrency": "USD", "referenceQuantity": { "@type": "QuantitativeValue", "unitCode": "MTR", // MTR == meter "value": "1000.0" // 1km } } ]
GeoCircle
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท GeoCircle
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | นี่คือ "GeoCircle" เสมอ |
geoMidpoint |
GeoCoordinates |
ต้องระบุ | บ่งบอก GeoCoordinates ที่อยู่ตรงกลางของ GeoCircle |
geoRadius |
ตัวเลข | ต้องระบุ | ระบุรัศมีโดยประมาณ (หน่วยเป็นเมตร) ของ GeoCircle |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ GeoCircle
ตัวอย่าง
{ "@type": "GeoCircle", "geoMidpoint": { "@type": "GeoCoordinates", "latitude": "37.7392607", "longitude": "-122.3895522" }, "geoRadius": "4505" }
GeoCoordinates
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท GeoCoordinates
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "GeoCoordinates" เสมอ |
latitude |
ตัวเลข | ต้องระบุ |
ละติจูดเป็นองศา ค่าจะถูกจำกัดอยู่ในช่วงตั้งแต่ -90 ถึง 90 เท่านั้น หากค่าที่ระบุน้อยกว่า -90 ระบบจะตั้งค่าเป็น -90 หากค่ามากกว่า 90 ระบบจะตั้งค่าเป็น 90 ควรใช้ทศนิยมอย่างน้อย 5 ตำแหน่งเพื่อความแม่นยำ |
longitude |
ตัวเลข | ต้องระบุ |
ลองจิจูดเป็นองศา ระบบจะรวมค่าที่อยู่นอกช่วง -180 ถึง 180 เพื่อให้อยู่ในช่วง เช่น ค่า -190 จะแปลงเป็น 170 ค่า 190 จะแปลงเป็น -170 และสะท้อนให้เห็นถึงข้อเท็จจริงที่ว่าลองจิจูดล้อมอยู่ทั่วโลก ควรใช้ทศนิยมอย่างน้อย 5 ตำแหน่งเพื่อความแม่นยำ |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ GeoCoordinates
ตัวอย่าง
"geo": { "@type": "GeoCoordinates", "latitude": "35.7392607", "longitude": "-120.3895522" }
GeoShape
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท GeoShape
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "GeoShape" เสมอ |
polygon |
อาร์เรย์ข้อความ | ต้องระบุ |
รูปหลายเหลี่ยมหรือรูปหลายเหลี่ยมหลายรูปซึ่งแสดงชุดจุดที่มีช่องว่างตั้งแต่ 3 จุดขึ้นไป ขอแนะนำให้จุดแรกและประเด็นสุดท้ายเหมือนกัน แต่ไม่บังคับ แต่ละจุดในรูปหลายเหลี่ยมหรือรูปหลายเหลี่ยมหลายรูปจะกำหนดด้วยจุดละติจูดตามด้วยจุดลองจิจูด และต้องระบุจุดในทิศทางทวนเข็มนาฬิกาด้วย ในกรณีส่วนใหญ่ คุณจะมีรูปหลายเหลี่ยมรูปเดียว ดูกรณีการใช้งานที่ซับซ้อนยิ่งขึ้นได้จากเอกสารเกี่ยวกับพื้นที่ให้บริการ |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ GeoShape
ตัวอย่างที่ 1
{ "@type": "GeoShape", // area4 // Specify latitude first (i.e., lat long lat long ...) "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619" },
ตัวอย่างที่ 2
{ "@type": "GeoShape", // A service area with a hole. // Specify latitude first (i.e., lat long lat long ...) "polygon": [ “37.771535 -122.506881 37.764289 -122.506669 37.766497 -122.453058”, “37.791707 -122.447987 37.746676 -122.449433 37.736150 -122.505944 37.780924 -122.509729”] },
ตัวอย่าง 3
{ "@type": "Service", "@id": "http://www.provider.com/service/1", "areaServed": [ { "@type": "GeoShape", // Richmond District delivery area. // Specify latitude first (i.e., lat long lat long ...) "polygon": "37.785847 -122.484851 37.772757 -122.483983 37.774442 -122.458563 37.786876 -122.459474" }, { "@type": "GeoShape", // Haight-Ashbury delivery area. // Specify latitude first (i.e., lat long lat long ...) "polygon": "37.774804 -122.454774 37.766224 -122.452881 37.769087 -122.436043 37.773087 -122.437417" } ], ... },
เมนู
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้สำหรับประเภท Menu
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งมักจะเป็น "เมนู" เสมอ |
@id |
URL | ต้องระบุ | ตัวระบุที่ไม่ซ้ำกันสำหรับเมนู |
name |
ข้อความ | ไม่บังคับ | ข้อความที่ระบุ Menu เมื่อผู้ใช้เรียกดูเมนู |
description |
ข้อความ | ไม่บังคับ | คำอธิบายของเมนู |
disclaimer |
MenuDisclaimer |
ไม่บังคับ | ข้อจำกัดความรับผิดสำหรับเมนู เช่น การเปิดเผยข้อมูลโภชนาการและการเปิดเผยข้อมูลเกี่ยวกับสารก่อภูมิแพ้ |
hasMenuSection |
ออบเจ็กต์หรืออาร์เรย์เดียวของ MenuSection |
ไม่บังคับ | การจัดกลุ่มย่อยตามตรรกะของเมนู (เช่น อาหารค่ำ อาหารเรียกน้ำย่อย หรืออาหารประเภทปลา) |
hasMenuItem |
ออบเจ็กต์หรืออาร์เรย์เดียวของ MenuItem |
ไม่บังคับ | ออบเจ็กต์ MenuItem ที่อยู่ใน Menu โดยทั่วไปเมื่อ Menu ไม่ได้แยกย่อยด้วย MenuSections |
inLanguage |
ข้อความ | ไม่บังคับ | ภาษาของเนื้อหาเมนูเป็นรหัสภาษาจากมาตรฐาน IETF BCP 47 เช่น "en-US" |
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภท Menu
ตัวอย่างที่ 1
{ "@type": "Menu", "@id": "http://www.provider.com/somerestaurant/menu/1", "hasMenuSection": { "@type": "MenuSection", "@id": "http://www.provider.com/somerestaurant/menusection/1", "name": "Tacos", "description": "Tacos inspired by India cuisine.", "offers": { "@type": "Offer", "availabilityStarts": "T08:00:00", // Starts at 8:00AM "availabilityEnds": "T22:00:00" // Ends at 10:00PM. Available 8AM-9:59:59PM }, "hasMenuItem": { "@type": "MenuItem", "@id": "http://www.provider.com/somerestaurant/menuitem/1", "name": "Aloo Gobi Taco", "description": "Mexico City-style street corn tortilla taco filled with a flavorful mixture of mildly south Indian spiced cauliflower, potato, tomato, onions and bell peppers.", "offers": { "@type": "Offer", "sku": "offer-aloo-gobi-taco", "price": "3.50", "priceCurrency": "USD" }, "nutrition": { "@type": "NutritionInformation", "calories": "170 Cal", "fatContent": "3 g", "fiberContent": "2 g", "proteinContent": "4 g" }, "suitableForDiet": "http://schema.org/GlutenFreeDiet" } }, "inLanguage": "English" }
ตัวอย่างที่ 2
ตัวอย่างนี้แสดง hasMenuItem
เป็นอาร์เรย์
{ "@type": "Menu", "@id": "http://www.provider.com/somerestaurant/menu/1", "name": "Dine-In Menu", "description": "Menu for in-restaurant dining only.", "hasMenuSection": [ { "@type": "MenuSection", "@id": "http://www.provider.com/somerestaurant/menusection/1", "name": "Main", "description": "Main course", "image": "http://www.provider.com/somerestaurant/main_dishes.jpg", "hasMenuItem": [ { "@type": "MenuItem", "@id": "http://www.provider.com/somerestaurant/menuitem/1", "name": "Pizza", "description": "Pizza", "offers": { "@type": "Offer", "sku": "offer-pizza", "price": "7.49", "priceCurrency": "USD", "availabilityStarts": "T08:00:00", // Starts at 8:00AM "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM } }, { "@type": "MenuItem", "@id": "http://www.provider.com/somerestaurant/menuitem/2", "name": "Pasta", "description": "Pasta", "offers": [ { "@type": "Offer", "sku": "offer-pasta-lunch", "price": "7.49", "priceCurrency": "USD", "availabilityStarts": "T08:00:00", // Starts at 8:00AM "availabilityEnds": "T18:00:00" // Ends at 6:00PM, last order at 5:59:59PM }, { "@type": "Offer", "sku": "offer-pasta-dinner", "price": "10.49", "priceCurrency": "USD", "availabilityStarts": "T18:00:00", // Starts at 6:00PM "availabilityEnds": "T21:00:00" // Ends at 9:00PM, last order at 8:59:59PM } ] } ] }, { "@type": "MenuSection", "@id": "http://www.provider.com/somerestaurant/menusection/2", "name": "Soups & Salads", "description": "Salads and a few choices of soup", "image": "https://www.provider.com/somerestaurant/soup_and_salad_dishes.jpg", "hasMenuItem": { "@type": "MenuItem", "@id": "http://www.provider.com/somerestaurant/menuitem/3", "name": "Pea Soup", "description": "Creamy pea soup topped with melted cheese and sourdough croutons.", "offers": { "@type": "Offer", "sku": "offer-pea-soup", "price": "3.49", "priceCurrency": "USD" }, "suitableForDiet": "http://schema.org/GlutenFreeDiet" } } ] }
ตัวอย่าง 3
ตัวอย่างนี้แสดง hasMenuSection
เป็นอาร์เรย์
{ "@type": "Menu", "@id": "http://www.provider.com/somerestaurant/menu/1", "name": "Dine-In Menu", "description": "Menu for in-restaurant dining only.", "hasMenuSection": [ { "@type": "MenuSection", "@id": "http://www.provider.com/somerestaurant/menusection/1", "name": "Dinner", "description": "Dinner dishes", "hasMenuSection": [ { "@type": "MenuSection", "@id": "http://www.provider.com/somerestaurant/menusection/2", "name": "Starters", "description": "Appetizers and such", "image": "https://www.provider.com/somerestaurant/starter_dishes.jpg", "hasMenuItem": { "@type": "MenuItem", "@id": "http://www.provider.com/somerestaurant/menuitem/1", "name": "Potato Skins", "description": "Small serving of stuffed potato skins.", "offers": { "@type": "Offer", "sku": "offer-potato-skins", "price": "7.49", "priceCurrency": "USD" }, "suitableForDiet": "http://schema.org/GlutenFreeDiet" } }, { "@type": "MenuSection", "@id": "http://www.provider.com/somerestaurant/menusection/3", "name": "Soups & Salads", "description": "Salads and a few choices of soup", "image": "https://thisisarestaurant.com/soup_and_salad_dishes.jpg", "hasMenuItem": { "@type": "MenuItem", "@id": "http://www.provider.com/somerestaurant/menuitem/2", "name": "Pea Soup", "description": "Creamy pea soup topped with melted cheese and sourdough croutons.", "offers": { "@type": "Offer", "sku": "offer-pea-soup", "price": "3.49", "priceCurrency": "USD" }, "suitableForDiet": "http://schema.org/GlutenFreeDiet" } }, { "@type": "MenuSection", "@id": "http://www.provider.com/somerestaurant/menusection/4", "name": "Steak", "description": "Steak Dishes", "image": "https://steak.com/steak_dishes.jpg", "hasMenuItem": { "@type": "MenuItem", "@id": "http://www.provider.com/somerestaurant/menuitem/3", "name": "Sirloin", "description": "Sirloin steak dish.", "offers": { "@type": "Offer", "sku": "offer-sirloin-steak", "price": "15.49", "priceCurrency": "USD" }, "suitableForDiet": "http://schema.org/GlutenFreeDiet" } } ] }, { "@type": "MenuSection", "@id": "http://www.provider.com/somerestaurant/menusection/5", "name": "Desserts", "description": "Dessert dishes.", "image": "http://www.provider.com/somerestaurant/dessert_dishes.jpg", "hasMenuItem": { "@type": "MenuItem", "@id": "http://www.provider.com/somerestaurant/menuitem/4", "name": "Chocolate Pie", "description": "A slice of chocolate pie.", "offers": { "@type": "Offer", "sku": "offer-chocolate-pie", "price": "3.49", "priceCurrency": "USD" } } } ] }
ดูตัวอย่างเพิ่มเติมของเอนทิตี Menu
ได้ที่ตัวอย่างฟีดร้านอาหารและเมนู
MenuDisclaimer
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้สำหรับประเภท MenuDisclaimer
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งถือเป็น "ข้อจำกัดความรับผิดเมนู" เสมอ |
@id |
URL | ต้องระบุ | ตัวระบุที่ไม่ซ้ำกันสำหรับข้อจำกัดความรับผิดของเมนู |
text |
ข้อความ | ต้องระบุ | ข้อความของข้อจำกัดความรับผิด เช่น "ปริมาณพลังงานรายวันโดยเฉลี่ยของผู้ใหญ่คือ 8,700 กิโลจูล" |
url |
URL | ไม่บังคับ | URL ที่ชี้ไปยังหน้าที่ให้รายละเอียดเพิ่มเติมเกี่ยวกับข้อจำกัดความรับผิด |
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภท MenuDisclaimer
ตัวอย่าง
{ "@type": "Menu", "@id": "menu_1", "disclaimer": { "@type": "MenuDisclaimer", "@id": "menu_1_disclaimer_1", "text": "The average adult daily energy intake is 8700 kJ", "url": "https://partner.domain.com/menu/provider/disclaimer/more-info.html" } }
MenuItem
รายการเมนูที่ใช้แสดงแทนรายการในเมนู ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้สำหรับประเภท MenuItem
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งเป็น "MenuItem" เสมอ |
@id |
URL | ต้องระบุ | ตัวระบุที่ไม่ซ้ำกันของรายการในเมนู |
name |
ข้อความ | ต้องระบุ | ข้อความที่ระบุ MenuItem เมื่อผู้ใช้เรียกดูเมนู |
description |
ข้อความ | ไม่บังคับ | คำอธิบายของรายการในเมนู |
image |
URL | ไม่บังคับ |
รูปภาพรายการในเมนู ใช้หลักเกณฑ์เกี่ยวกับรูปภาพต่อไปนี้
|
menuAddOn |
อาร์เรย์ของ AddOnMenuSection |
ไม่บังคับ | รายการในส่วนเมนูที่เพิ่มเป็นส่วนเสริมในรายการในเมนูได้ |
offers |
อาร์เรย์ของ Offer |
ต้องระบุ* |
มีข้อเสนออย่างน้อย 1 รายการที่จะให้ ข้อมูลด้านล่างแสดงพร็อพเพอร์ตี้
|
hasMenuItemOptions |
อาร์เรย์ของ MenuItemOption |
ต้องระบุ | รายการตัวเลือก/รูปแบบพื้นฐานสำหรับรายการในเมนูนี้ ควรใช้ตัวเลือกเพื่อระบุรูปแบบพื้นฐานต่างๆ ที่มีสำหรับสินค้า เช่น เล็ก กลาง และใหญ่ |
suitableForDiet |
อาร์เรย์ของ RestrictedDiet |
ไม่บังคับ | อาหารต้องเป็นไปตามข้อจำกัดด้านอาหารที่อธิบายไว้ (เช่น "http://schema.org/GlutenFreeDiet" หรือ "http://schema.org/VeganDiet" นี่คือรายการค่าที่เป็นไปได้แบบแจกแจง |
nutrition |
NutritionInformation |
ไม่บังคับ | ข้อมูลโภชนาการของอาหารจานนี้ ที่สำคัญคือแคลอรี่ |
hasAllergen |
AllergenDetails |
ไม่บังคับ | สารก่อภูมิแพ้ต่อ gs1:AllergenDetails จานนี้
เพิ่มบริบท gs1 เพื่อใช้พร็อพเพอร์ตี้นี้: "@context": ["http://gs1.org/voc/", "http://schema.org"]
และเพิ่ม FoodBeverageTobaccoProduct ลงในประเภทของ MenuItem |
additive |
อาร์เรย์ของ AdditiveDetails |
ไม่บังคับ | ส่วนผสมของอาหารต่อ gs1:AdditiveDetails
นี่คือรายการค่าที่เป็นไปได้แบบแจกแจง เพิ่มบริบท gs1 เพื่อใช้พร็อพเพอร์ตี้นี้ "@context": ["http://gs1.org/voc/", "http://schema.org"]
และเพิ่ม FoodBeverageTobaccoProduct ลงในประเภทของ MenuItem |
packaging |
PackagingDetails |
ไม่บังคับ | ข้อมูลบรรจุภัณฑ์และการรีไซเคิลของ MenuItem นี้ตาม gs1:PackagingDetails
เพิ่มบริบท gs1 เพื่อใช้พร็อพเพอร์ตี้นี้: "@context": ["http://gs1.org/voc/", "http://schema.org"]
และเพิ่ม FoodBeverageTobaccoProduct ลงในประเภทของ MenuItem
|
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ MenuItem
ตัวอย่างที่ 1
"hasMenuItem": { "@type": "MenuItem", "@id": "http://www.provider.com/bar/menuitem/1", "name": "Potato Skins", "description": "Small serving of stuffed potato skins.", "offers": { "@type": "Offer", "sku": "offer-potato-skins", "price": "7.49", "priceCurrency": "USD" }, "suitableForDiet": "http://schema.org/GlutenFreeDiet" }
ตัวอย่างที่ 2
"hasMenuItem": [ { "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170067", "name": "Veg Grill Burrito", "offers": { "@type": "Offer", "sku": "offer-veg-grill-burrito", "price": "12.99", "priceCurrency": "USD" }, "menuAddOn": { "@type": "AddOnMenuSection", "name": "Cheese", "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection "eligibleQuantity": "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2 // Maximum of 2 cheeses are allowed } } }, { "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170018", "name": "Chicken Taco", "offers": { "@type": "Offer", "sku": "offer-chicken-taco", "price": "6.99", "priceCurrency": "USD" } } ]
ตัวอย่าง 3
{ "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170067", "name": "Meat Combo", "hasMenuItemOptions": [ { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "OPTION", "value": "Plate", "offers": { "@type": "Offer", "sku": "offer-meat-combo-plate", "price": "12.00", "priceCurrency": "USD" }, "menuAddOn": [ { "@type": "AddOnMenuSection", "name": "Toppings for Plate", "@id": "https://www.example.com/1089/addon/1", "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 3 }, "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/1/a", "name": "Hummus", "offers": { "@type": "Offer", "sku": "offer-meat-combo-topping-hummus", "price": "1.00", "priceCurrency": "USD" } } // -- Other Items -- ] } ] } }, { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "OPTION", "value": "Sandwich" }, "offers": { "@type": "Offer", "sku": "offer-meat-combo-sandwich", "price": "10.00", "priceCurrency": "USD" }, "menuAddOn": [ { "@type": "AddOnMenuSection", "name": "Toppings for Sandwich", "@id": "https://www.example.com/1089/addon/1", "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2 }, "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/1/a", "name": "Hummus", "offers": { "@type": "Offer", "sku": "offer-meat-combo-topping-hummus", "price": "1.00", "priceCurrency": "USD" } } // -- Other Items -- ] } ] } ] }
ตัวอย่าง 4
{ "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170067", "name": "Pepperoni Pizza", "hasMenuItemOptions": [ { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "SIZE", "value": "Small" }, "offers": { "@type": "Offer", "sku": "offer-small", "price": "10.00", "priceCurrency": "USD" } }, { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "SIZE", "value": "Medium" }, "offers": { "@type": "Offer", "sku": "offer-medium", "price": "15.00", "priceCurrency": "USD" } }, { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "SIZE", "value": "Large" }, "offers": { "@type": "Offer", "sku": "offer-large", "price": "20.00", "priceCurrency": "USD" } } ] }
ตัวอย่างที่ 5
{ "@type": ["MenuItem", "FoodBeverageTobaccoProduct"], "@id": "http://www.example.com/bar/menuitem/9", "name": "Ice Coffee", "offers": { "@type": "Offer", "sku": "offer-ice-coffee", "price": "3.99", "priceCurrency": "USD" }, "nutrition": { "@type": "NutritionInformation", "description": "Contains preservatives and artificial flavor" }, "hasAllergen": [ { "@type": "AllergenDetails", "allergenType": "http://gs1.org/voc/AllergenTypeCode-LACTOSE", "allergenLevelOfContainmentCode": "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS" }, { "@type": "AllergenDetails", "allergenType": "http://gs1.org/voc/AllergenTypeCode-PEANUTS", "allergenLevelOfContainmentCode": "http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN" } ], "additive": [ { "@type": "AdditiveDetails", "additiveName": "caffeine", "additiveLevelOfContainment": "http://gs1.org/voc/LevelOfContainmentCode-CONTAINS" } ], "packaging": { "@type": "PackagingDetails", "packagingRecyclingProcessType" : "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE", "hasReturnablePackageDeposit": { "@type": "ReturnablePackageDepositDetails", "returnablePackageDepositAmount": { "@type": "http://gs1.org/voc/PriceSpecification", "http://gs1.org/voc/price": "0.10", "http://gs1.org/voc/priceCurrency": "USD" } } } }
ดูตัวอย่างเพิ่มเติมของเอนทิตี MenuItem
ได้ที่ตัวอย่างฟีดร้านอาหารและเมนู
MenuItemOption
ตัวเลือกสำหรับแสดงตัวเลือกที่ผู้ใช้จะต้องเลือกเมื่อเลือกอาหารหรือชุดเมนูแบบรวม ผู้ใช้ต้องเลือกตัวเลือก มิเช่นนั้นจะถือว่าคำสั่งซื้อไม่ถูกต้อง เช่น การเลือกขนาดเล็ก กลาง หรือใหญ่ในกรณีที่เป็นพิซซ่า
สำหรับตัวอย่างกรณีการใช้งานของ MenuItemOption
โปรดดูคู่มือของเราเกี่ยวกับการปรับแต่งโดยใช้ MenuItemOption
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้สำหรับประเภท MenuItemOption
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งอาจเป็น "MenuItemOption" เสมอ |
value |
PropertyValue |
ต้องระบุ | PropertyValue มีคู่ชื่อ/ค่าที่แสดงถึงตัวเลือก |
offers |
อาร์เรย์ของ Offer |
ต้องระบุ |
ข้อเสนออย่างน้อย 1 รายการในการมอบ
ข้อมูลด้านล่างแสดงพร็อพเพอร์ตี้
|
menuAddOn |
Array of |
ไม่บังคับ | ส่วนเมนูของรายการที่อนุญาตซึ่งเพิ่มเป็นส่วนเสริมได้ ใช้ตัวเลือกนี้เฉพาะเมื่อส่วนเสริมใช้ได้กับตัวเลือกรายการในเมนูหนึ่งๆ เท่านั้น หรือไม่ก็ให้ระบุส่วนเสริมโดยใช้พร็อพเพอร์ตี้ MenuItem .menuAddOn
|
suitableForDiet |
อาร์เรย์ของ RestrictedDiet |
ไม่บังคับ | รายการแบบแจกแจงซึ่งบ่งชี้ว่ามีอาหารที่เป็นไปตามข้อจำกัดด้านอาหารที่อธิบายไว้ (เช่น "http://schema.org/GlutenFreeDiet" หรือ "http://schema.org/VeganDiet") |
nutrition |
NutritionInformation |
ไม่บังคับ | ข้อมูลโภชนาการของอาหารจานนี้ ที่สำคัญคือแคลอรี่ |
hasAllergen |
AllergenDetails |
ไม่บังคับ | สารก่อภูมิแพ้ต่อ gs1:AllergenDetails จานนี้
เพิ่มบริบท gs1 เพื่อใช้พร็อพเพอร์ตี้นี้: "@context": ["http://gs1.org/voc/", "http://schema.org"]
และเพิ่ม FoodBeverageTobaccoProduct ลงในประเภทของ MenuItemOption
|
additive |
อาร์เรย์ของ AdditiveDetails |
ไม่บังคับ | ส่วนผสมของอาหารต่อ gs1:AdditiveDetails
นี่คือรายการค่าที่เป็นไปได้แบบแจกแจง เพิ่มบริบท gs1 เพื่อใช้พร็อพเพอร์ตี้นี้ "@context": ["http://gs1.org/voc/", "http://schema.org"]
และเพิ่ม FoodBeverageTobaccoProduct ลงในประเภทของ MenuItemOption
|
packaging |
PackagingDetails |
ไม่บังคับ | ข้อมูลบรรจุภัณฑ์และการรีไซเคิลของ MenuItem นี้ตามgs1:PackagingDetails
เพิ่มบริบท gs1 เพื่อใช้พร็อพเพอร์ตี้นี้ "@context": ["http://gs1.org/voc/", "http://schema.org"]
และเพิ่ม FoodBeverageTobaccoProduct ลงในประเภทของ MenuItemOption
|
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ MenuItemOption
ตัวอย่างที่ 1
{ "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170067", "name": "Pepperoni Pizza", "hasMenuItemOptions": [ { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "SIZE", "value": "Small" }, "offers": { "@type": "Offer", "sku": "offer-small", "price": "10.00", "priceCurrency": "USD" } }, { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "SIZE", "value": "Medium" }, "offers": { "@type": "Offer", "sku": "offer-medium", "price": "15.00", "priceCurrency": "USD" } }, { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "SIZE", "value": "Large" }, "offers": { "@type": "Offer", "sku": "offer-large", "price": "20.00", "priceCurrency": "USD" } } ] }
ตัวอย่างที่ 2
{ "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170067", "name": "Meat Combo", "hasMenuItemOptions": [ { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "OPTION", "value": "Plate", "offers": { "@type": "Offer", "sku": "offer-meat-combo-plate", "price": "12.00", "priceCurrency": "USD" }, "menuAddOn": [ { "@type": "AddOnMenuSection", "name": "Toppings for Plate", "@id": "https://www.example.com/1089/addon/1", "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 3 }, "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/1/a", "name": "Hummus", "offers": { "@type": "Offer", "sku": "offer-meat-combo-topping-hummus", "price": "1.00", "priceCurrency": "USD" } } // -- Other Items -- ] } ] } }, { "@type": "MenuItemOption", "value": { "@type": "PropertyValue", "name": "OPTION", "value": "Sandwich" }, "offers": { "@type": "Offer", "sku": "offer-meat-combo-sandwich", "price": "10.00", "priceCurrency": "USD" }, "menuAddOn": [ { "@type": "AddOnMenuSection", "name": "Toppings for Sandwich", "@id": "https://www.example.com/1089/addon/1", "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2 }, "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/1/a", "name": "Hummus", "offers": { "@type": "Offer", "sku": "offer-meat-combo-topping-hummus", "price": "1.00", "priceCurrency": "USD" } } // -- Other Items -- ] } ] } ] }
MenuSection
ส่วนเมนูเพื่อแสดงส่วนที่ต้องการในเมนู ตารางต่อไปนี้แสดงรายการพร็อพเพอร์ตี้สำหรับประเภท MenuSection
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งมักจะเป็น "MenuSection" เสมอ |
@id |
URL | ต้องระบุ | ตัวระบุที่ไม่ซ้ำกันของส่วนเมนู |
name |
ข้อความ | ต้องระบุ | ข้อความที่ระบุ MenuSection เมื่อผู้ใช้เรียกดูเมนู |
description |
ข้อความ | ไม่บังคับ | คำอธิบายของส่วนเมนู |
hasMenuSection |
อาร์เรย์ของ MenuSection |
ไม่บังคับ | การจัดกลุ่มย่อยเชิงตรรกะของ MenuSection ตัวอย่างเช่น ส่วนเมนูอาหารค่ำอาจมีส่วนเมนูย่อยได้หลายส่วน เช่น "เมนูสัตว์ปีก" หรือ "มังสวิรัติ" |
hasMenuItem |
อาร์เรย์ของ MenuItem |
ไม่บังคับ | รายการในเมนูที่อยู่ใน MenuSection |
offers |
อาร์เรย์ของ Offer |
ไม่บังคับ |
ใช้ รายการต่อไปนี้แสดงพร็อพเพอร์ตี้
|
image |
URL | ไม่บังคับ | รูปภาพของส่วนเมนู |
ตัวอย่างต่อไปนี้แสดงเอนทิตี MenuSection
รายการ
ตัวอย่างที่ 1
{ "@type": "MenuSection", "@id": "http://www.provider.com/bar/menusection/4", "name": "Steak", "description": "Steak Dishes", "image": "https://steak.com/steak_dishes.jpg", "hasMenuItem": { "@type": "MenuItem", "@id": "http://www.provider.com/bar/menuitem/3", "name": "Sirloin", "description": "Sirloin steak dish.", "offers": { "@type": "Offer", "sku": "offer-sirloin-steak", "price": "15.49", "priceCurrency": "USD" }, "suitableForDiet": "http://schema.org/GlutenFreeDiet" } }
ตัวอย่างที่ 2
"hasMenuSection": [ { "@type": "MenuSection", "@id": "https://www.example.com/1089/categorization/25114480", "name": "Main Items", "hasMenuItem": [ { "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170067", "name": "Veg Grill Burrito", "offers": { "@type": "Offer", "sku": "offer-veg-grill-burrito", "price": "12.99", "priceCurrency": "USD" }, "menuAddOn": { "@type": "AddOnMenuSection", "name": "Cheese", "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection "eligibleQuantity": "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2 // Maximum of 2 cheeses are allowed } } }, { "@type": "MenuItem", "@id": "https://www.example.com/1089/product/170018", "name": "Chicken Taco", "offers": { "@type": "Offer", "sku": "offer-chicken-taco", "price": "6.99", "priceCurrency": "USD" } } ] }, { "@type": "AddOnMenuSection", "@id": "https://www.example.com/1089/addon/1", "name": "AddOnCheese", "hasMenuItem": [ { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/a", "name": "Swiss", "offers": { "@type": "Offer", "sku": "offer-swiss", "price": "2.99", "priceCurrency": "USD" } }, { "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/b", "name": "Mozarella", "offers": { "@type": "Offer", "sku": "offer-mozzarella", "price": "1.99", "priceCurrency": "USD" } } ] } ]
ดูตัวอย่างเพิ่มเติมของเอนทิตี MenuSection
ได้ที่ตัวอย่างฟีดร้านอาหารและเมนู
NutritionInformation
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท NutritionInformation
เนื่องจากหน่วยวัดจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ตัวอย่างเช่น ระบบยอมรับ "แคลอรี"
แต่ไม่สามารถใช้ "แคลอรี"
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ต้องเป็น "NutritionInformation" เสมอ |
description |
ข้อความ | ไม่บังคับ | ข้อมูลโภชนาการในข้อความอิสระ เช่น "มีสารกันบูด" |
calories |
ข้อความ | ไม่บังคับ |
จำนวนแคลอรี่ในหน่วยแคลอรี กิโลแคลอรี หรือกิโลจูล โดยใช้รูปแบบต่อไปนี้ number Cal_kcal_OR_kJ เช่น "240 Cal" |
carbohydrateContent |
ข้อความ | ไม่บังคับ |
ปริมาณคาร์โบไฮเดรต โดยทั่วไปมีหน่วยเป็นกรัม โดยใช้รูปแบบต่อไปนี้ number g_OR_mg เช่น "7 g" |
cholesterolContent |
ข้อความ | ไม่บังคับ |
ปริมาณคอเลสเตอรอล โดยทั่วไปจะเป็นมิลลิกรัม โดยใช้รูปแบบต่อไปนี้ number g_OR_mg เช่น "12 มก." |
fatContent |
ข้อความ | ไม่บังคับ |
ปริมาณไขมัน โดยทั่วไปจะมีหน่วยเป็น ก. โดยใช้รูปแบบต่อไปนี้ number g_OR_mg เช่น "42 g" |
fiberContent |
ข้อความ | ไม่บังคับ |
จำนวนกรัมหรือมก. ของเส้นใย โดยใช้รูปแบบต่อไปนี้ number g_OR_mg |
proteinContent |
ข้อความ | ไม่บังคับ |
จำนวนโปรตีน ก. หรือ มก. โดยใช้รูปแบบต่อไปนี้ number g_OR_mg |
saturatedFatContent |
ข้อความ | ไม่บังคับ |
จำนวนกรัมหรือมก. ของไขมันอิ่มตัว โดยใช้รูปแบบต่อไปนี้ number g_OR_mg |
servingSize |
ข้อความ | ไม่บังคับ | ขนาดที่จะแสดงเป็นมิลลิลิตร, L, ก. หรือกก. ในแง่ของปริมาณหรือมวล |
sodiumContent |
ข้อความ | ไม่บังคับ |
จำนวนโซเดียมหรือมก. โดยใช้รูปแบบต่อไปนี้ number g_OR_mg |
sugarContent |
ข้อความ | ไม่บังคับ |
จำนวนน้ำตาลกรัมหรือมก. โดยใช้รูปแบบต่อไปนี้ number g_OR_mg |
transFatContent |
ข้อความ | ไม่บังคับ |
จำนวนกรัมหรือมก. ของไขมันทรานส์ โดยใช้รูปแบบต่อไปนี้ number g_OR_mg |
unsaturatedFatContent |
ข้อความ | ไม่บังคับ |
ปริมาณไขมันไม่อิ่มตัว โดยทั่วไปมีหน่วยเป็น ก. โดยใช้รูปแบบต่อไปนี้ number g_OR_mg |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ NutritionInformation
ตัวอย่างที่ 1
"nutrition": { "@type": "NutritionInformation", "calories": "170 Cal", "fatContent": "3 g", "fiberContent": "2 g", "proteinContent": "4 g" },
ตัวอย่างที่ 2
{ "@type": ["MenuItem", "FoodBeverageTobaccoProduct"], "@id": "http://www.example.com/bar/menuitem/7", "name": "Peach Ice Tea", "description": "A 0.5l bottle of peach ice tea.", "offers": { "@type": "Offer", "sku": "offer-peach-ice-tea", "price": "2.49", "priceCurrency": "USD" }, "nutrition": { "@type": "NutritionInformation", "description": "Contains preservatives and artificial flavor" } },
ข้อเสนอ
ข้อเสนอสำหรับรายการในเมนู ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท Offer
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งมักจะเป็น "ข้อเสนอ" เสมอ |
sku |
ข้อความ | มีเงื่อนไข |
ตัวระบุที่ไม่ซ้ำกันของข้อเสนอ อาจเป็นค่าข้อความใดก็ได้ที่ไม่ซ้ำกันภายใน พร็อพเพอร์ตี้นี้ใช้เฉพาะในข้อเสนอประเภทต่อไปนี้เท่านั้น
|
price |
ข้อความ | มีเงื่อนไข |
ราคาของรายการที่เสนอ เช่น "6.00" โดยไม่มีสัญลักษณ์สกุลเงิน พร็อพเพอร์ตี้นี้จำเป็นเฉพาะในประเภทข้อเสนอต่อไปนี้
ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
priceCurrency |
ข้อความ | มีเงื่อนไข |
สกุลเงิน (ในรูปแบบ ISO 4217 แบบ 3 อักขระ) ของราคาหรือองค์ประกอบราคา เมื่อแนบกับ PriceSpecification และประเภทย่อย พร็อพเพอร์ตี้นี้จำเป็นเฉพาะในประเภทข้อเสนอต่อไปนี้
ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
availabilityStarts |
DateTime หรือ Time |
ไม่บังคับ | วันที่และเวลา หรือเฉพาะเวลาที่ข้อเสนอพร้อมใช้งาน เช่น หากแพนเค้กเริ่มให้บริการตั้งแต่ 7:00 น. ค่าของช่องนี้อาจมีลักษณะดังนี้ "2017-05-01T07:00:00-07:00" ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
availabilityEnds |
DateTime หรือ Time |
ไม่บังคับ | วันที่และเวลาหรือเวลาที่ข้อเสนอไม่พร้อมใช้งาน ช่วงเวลานี้ไม่รวม เช่น หากแพนเค้กว่างให้บริการสิ้นสุดเวลา 10:00 น. ก็จะแสดงเวลา 9:59:59 น. ค่าของช่องนี้จะมีลักษณะดังนี้ "2017-05-01T10:00:00-07:00" ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
availableDay |
อาร์เรย์ของ DayOfWeek | ไม่บังคับ |
วันของสัปดาห์ที่สินค้านี้พร้อมจำหน่าย ค่าที่ใช้ได้มีดังนี้
หากคุณมีเวลาว่างต่างกันในวันต่างๆ ในสัปดาห์ ให้ใช้ออบเจ็กต์ |
validFrom |
DateTime |
ไม่บังคับ |
วันที่และเวลา (รวมถึงเขตเวลา) ที่ใช้ราคาที่ระบุได้ ตัวอย่างเช่น พาสต้าคือ 240 บาทในช่วงมื้อกลางวัน และ 300 บาทในช่วงมื้อเย็น ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา พร็อพเพอร์ตี้นี้ใช้ได้ในประเภทข้อเสนอต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
validThrough |
DateTime |
ไม่บังคับ | วันที่และเวลา (รวมถึงเขตเวลา) ซึ่งหลังจากนั้นราคาที่ระบุจะใช้ไม่ได้อีกต่อไป ตัวอย่างเช่น พาสต้าคือ 240 บาทในระหว่างอาหารกลางวัน และ 300 บาทสำหรับมื้อเย็น เวลาสำหรับ พร็อพเพอร์ตี้นี้ใช้ได้ในประเภทข้อเสนอต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
eligibleQuantity |
QuantitativeValue | ไม่บังคับ |
จำนวนการสั่งซื้อที่อนุญาตรายการนี้ เช่น ร้านอาหารอาจกำหนดให้สั่งซื้อพิซซ่าอย่างน้อย 10 ถาดสำหรับจัดส่งถึงบ้าน ค่านี้เป็นตัวเลือกที่ไม่บังคับ โดยค่าเริ่มต้น จะไม่มีการจำกัดสูงสุด แต่ร้านอาหารจะระบุได้ ขีดจำกัดขั้นต่ำจะมีผลเมื่อผู้ใช้เลือกรายการดังกล่าวเท่านั้น พร็อพเพอร์ตี้นี้ใช้ได้ในประเภทข้อเสนอต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
aggregateRating |
AggregateRating | ไม่บังคับ |
คะแนนโดยรวมอิงตามชุดรีวิวหรือคะแนนของสินค้า พร็อพเพอร์ตี้นี้ใช้ได้ในประเภทข้อเสนอต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่ได้ใช้ในประเภทต่อไปนี้
|
inventoryLevel |
QuantitativeValue | ไม่บังคับ |
ระดับสินค้าคงคลังโดยประมาณในปัจจุบันสำหรับสินค้า พร็อพเพอร์ตี้นี้ใช้ได้ในประเภทข้อเสนอต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
priceSpecification |
อาร์เรย์ของ DeliveryChargeSpecification หรืออาร์เรย์ของ PaymentChargeSpecification | ไม่บังคับ |
เมื่อใช้ใน พร็อพเพอร์ตี้นี้ใช้ได้ในประเภทข้อเสนอต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
offeredBy |
อาร์เรย์ของรหัส Restaurant |
ไม่บังคับ | แสดงร้านอาหารที่ หากไม่ได้ระบุไว้ ระบบจะเสนอ พร็อพเพอร์ตี้นี้ใช้ได้ในประเภทข้อเสนอต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
applicableFulfillmentMethod |
อาร์เรย์ข้อความ | ไม่บังคับ | แสดงประเภทบริการที่ หากไม่ระบุ ระบบจะดำเนินการตามคำสั่งซื้อ พร็อพเพอร์ตี้นี้ใช้ได้ในประเภทข้อเสนอต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่ได้ใช้ในประเภทข้อเสนอต่อไปนี้
|
@id |
URL | เลิกใช้ | ตัวระบุที่ไม่ซ้ำกันของข้อเสนอ เลิกใช้งานในวันที่ 25/4/19 ให้แทนที่ด้วย sku ตามที่อธิบายไว้ข้างต้น
|
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ Offer
ตัวอย่างที่ 1
ตัวอย่างต่อไปนี้แสดงข้อเสนอง่ายๆ
{ "@type": "Offer", "@id": "https://www.provider.com/menu/74962/139/offer", "price": "10", "priceCurrency": "USD" }
ตัวอย่างที่ 2
ข้อเสนอตัวอย่างต่อไปนี้แสดงเวลาว่างตั้งแต่ 8.00 - 10.00 น. ในวันหยุดสุดสัปดาห์
{ "@type": "Offer", "@id": "https://www.provider.com/menu/74962/140/offer", "price": "10", "priceCurrency": "USD", "availabilityStarts": "T08:00:00-07:00", // Only available from 8-9:59:59 AM "availabilityEnds": "T10:00:00-07:00", "availableDay": ["Saturday", "Sunday"] // Only on weekends. }
ตัวอย่าง 3
ตัวอย่างต่อไปนี้แสดงเวลาว่างตั้งแต่ 9-10:59:59 น. ในวันจันทร์ พุธ และศุกร์ แต่เวลา 8-11:59:59 น. วันอังคารและวันพฤหัสบดี
{ "@type": "Offer", "@id": "https://www.provider.com/menu/74962/140/offer", "price": "10", "priceCurrency": "USD", "availabilityStarts": "T09:00:00-07:00", "availabilityEnds": "T11:00:00-07:00", "availableDay": ["Monday", "Wednesday", "Friday"] }, { "@type": "Offer", "@id": "https://www.provider.com/menu/74962/141/offer", "price": "10", "priceCurrency": "USD", "availabilityStarts": "T08:00:00-07:00", "availabilityEnds": "T12:00:00-07:00", "availableDay": ["Tuesday", "Thursday"] }
ตัวอย่าง 4
ตัวอย่างต่อไปนี้แสดงชุดจำนวนที่มีสิทธิ์ของรายการในเมนูส่วนเสริมเพื่อให้ผู้ใช้สั่งซื้อรายการนั้นได้สูงสุด 2 ส่วน
{ "@type": "AddOnMenuItem", "@id": "https://www.example.com/1089/addon/a", "name": "Ranch", "offers": { "@type": "Offer", "@id": "https://www.example.com/1089/addon/a/offer", "price": "2.99", "priceCurrency": "USD" "eligibleQuantity": { "@type": "QuantitativeValue", "maxValue": 2 } } }
ตัวอย่างที่ 5
ตัวอย่างต่อไปนี้แสดงข้อเสนอการนำส่งในสถานที่ที่เจาะจง
{ "@type": "Offer", "@id": "https://www.provider.com/menu/74962/139/offer", "price": "10", "priceCurrency": "USD", "applicableFulfillmentMethods": ["DELIVERY"], "offeredBy": [ { "@type": "Restaurant", "@id": "https://www.provider.com/location/1", } ] }
OpeningHoursSpecification
กำหนดเวลาพร้อมให้บริการสั่งซื้อ โดยปกติแล้ว ค่าของ opens
จะน้อยกว่าค่าของ closes
การใช้พร็อพเพอร์ตี้ opens
และ closes
ต้องเป็นไปตามหลักเกณฑ์ต่อไปนี้
- พร็อพเพอร์ตี้
opens
และcloses
เป็นตัวเลือกที่ไม่บังคับ แต่ขอแนะนำอย่างยิ่งให้ระบุเมื่อสามารถสั่งซื้อได้ แนวทางปฏิบัติแนะนำในการกำหนดชั่วโมงที่ใช้ได้คือการรวมอาร์เรย์deliveryHours
ที่มีServiceDeliveryHoursSpecification
ที่มีพร็อพเพอร์ตี้opens
และcloses
จากนั้นคุณจะรวมออบเจ็กต์AdvanceServiceDeliveryHoursSpecification
ในdeliveryHours
ที่มีพร็อพเพอร์ตี้opens
และcloses
ของตัวเองได้หากต้องการเสนอกรอบเวลาที่จำกัดมากขึ้นสำหรับการสั่งล่วงหน้า - หากไม่ได้ระบุ
opens
และcloses
ไว้อย่างชัดเจน เราจะถือว่าบริการสั่งซื้อพร้อมให้บริการทุกวัน ตลอดทุกวัน - ต้องระบุเวลาให้บริการตามเวลาท้องถิ่น อย่าใส่เขตเวลาในค่า
opens
หรือcloses
หากมีการระบุเขตเวลา Google จะไม่สนใจข้อมูลนี้ - หาก
opens
และcloses
เหมือนกัน เราจะถือว่าร้านอาหารนั้นเปิดเป็นเวลา 0 นาที - หาก
opens
มากกว่าcloses
ระบบจะตีความเวลาปิดทำการเป็นวันถัดไป ตัวอย่างเช่น หากตั้งเวลาทำการเป็นวันที่ 1 มกราคม เวลา 17:00 น. และปิดทำการเป็น 2:00 น. ระบบจะนับว่าร้านอาหารปิดในวันที่ 2 มกราคม เวลา 02:00 น. - เวลาสำหรับ
closes
เป็นช่วงเวลาพิเศษ ดังนั้น หากเวลาเปิดและปิดสำหรับช่วงเวลาสั่งซื้อนี้ตั้งไว้ที่ 10:00 น. และ 16:00 น. ตามลำดับ คำสั่งซื้อสุดท้ายจะเป็น 15:59:59 น.
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท OpeningHoursSpecification
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะแสดงเป็น "OpeningHoursSpecification" เสมอ |
@id |
URL | ไม่บังคับ | ตัวระบุสำหรับ OpeningHoursSpecification |
dayOfWeek |
อาร์เรย์ของ DayOfWeek |
ไม่บังคับ |
วันของสัปดาห์ที่เวลาทำการเหล่านี้ถูกต้อง ค่าที่ยอมรับได้ ได้แก่ "วันจันทร์" "วันอังคาร" "วันพุธ" "วันพฤหัสบดี" "วันศุกร์" "วันเสาร์" และ "วันอาทิตย์" เช่น "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ] หากไม่ระบุวันใดของสัปดาห์ |
opens |
Time |
ไม่บังคับ |
เมื่อใช้ในข้อกำหนดของ เมื่อใช้ในข้อกำหนดของ ต้องระบุเวลาให้บริการตามเวลาท้องถิ่น อย่ารวมเขตเวลาไว้ในค่า ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
closes |
Time |
ไม่บังคับ |
เมื่อใช้ในข้อกำหนดของ ต้องระบุเวลาให้บริการตามเวลาท้องถิ่น อย่ารวมเขตเวลาไว้ในค่า ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
validFrom |
DateTime |
ไม่บังคับ |
เมื่อใช้ในข้อกำหนดของ เช่น หากชั่วโมงที่ระบุมีผลกับทั้งปี 2017 คุณก็ตั้งค่า เมื่อใช้ในข้อกำหนดของ หากไม่ได้ระบุที่พักนี้ในฟีด Google จะถือว่าร้านอาหารหรือบริการพร้อมให้บริการทุกวัน นอกเหนือจากวันที่แล้ว คุณยังต้องระบุส่วนของเวลาและเขตเวลาของค่าด้วย สำหรับเขตเวลา ให้ใช้เขตเวลาของร้านอาหารหรือบริการ ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
validThrough |
DateTime |
ไม่บังคับ |
เมื่อใช้ใน เช่น หากชั่วโมงที่ระบุมีผลกับทั้งปี 2017 คุณก็ตั้งค่า เมื่อใช้ในข้อกำหนดของ หากไม่ได้ระบุที่พักนี้ในฟีด Google จะถือว่าร้านอาหารหรือบริการพร้อมให้บริการทุกวัน นอกเหนือจากวันที่แล้ว คุณยังต้องระบุส่วนของเวลาและเขตเวลาของ DateTime ด้วย สำหรับเขตเวลา ให้ใช้เขตเวลาของร้านอาหารหรือบริการ เวลาสำหรับ ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
deliveryHours |
อาร์เรย์ของ ServiceDeliveryHoursSpecification หรืออาร์เรย์ของ AdvanceServiceDeliveryHoursSpecification |
มีเงื่อนไข |
ข้อกําหนดเวลาที่จัดส่งหรือสั่งกลับบ้าน ต้องระบุพารามิเตอร์นี้เว้นแต่ร้านอาหารจะปิดกิจการ (หมายความว่ามีการตั้งค่า
|
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ OpeningHoursSpecification
ตัวอย่างที่ 1
// Ordering times for Monday through Friday { "@type": "OpeningHoursSpecification", "deliveryHours": [ { "@type": "AdvanceServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens": "T12:00:00", // Advance ordering begins at noon "closes": "T23:59:59", // Advance ordering ends at midnight "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" }, { "@type": "ServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens": "T10:00:00", // ASAP ordering begins at 10AM "closes": "T14:00:00", // ASAP ordering ends at 2PM "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" } ] },
ตัวอย่างที่ 2
// Ordering times for Saturday and Sunday { "@type": "OpeningHoursSpecification", "deliveryHours": [ { // In this case advance orders are unavailable on Saturday and Sunday "@type": "ServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Saturday", "Sunday" ], "opens": "T12:00:00", // ASAP orders start at noon "closes": "T23:59:59", // ASAP orders end at midnight "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" } ] }
ตัวอย่าง 3
"hoursAvailable": { "@type": "OpeningHoursSpecification", "validFrom": "2016-02-01T00:00:00-07:00", "validThrough": "2016-03-01T00:00:00-07:00", "opens": "T08:00:00", // Ordering begins at 8:00AM and ends at 6:00PM. // ASAP and and advance orders are restricted to this // time frame since the user won't be able to place // orders outside of this window. "closes": "T18:00:00", "deliveryHours": { "@type": "ServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" } } },
ตัวอย่าง 4
// List hours available for 2017 and 2018 "hoursAvailable": [ { "@type": "OpeningHoursSpecification", // Array containing advance order hours for each day "deliveryHours": [ { // Open 10:00AM to 9:29:59PM on Mondays "@type": "AdvanceServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Monday" ], "opens": "T10:00:00", "closes": "T21:30:00", "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" }, { // Open 10:00AM to 9:29:59PM on Tuesdays "@type": "AdvanceServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Tuesday" ], "opens": "T10:00:00", "closes": "T21:30:00", "validThrough": "2018-12-31T23:59:59-07:00" }, { // Open 10:00AM to 9:29:59PM on Wednesdays "@type": "AdvanceServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Wednesday" ], "opens": "T10:00:00", "closes": "T21:30:00", "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" }, { // Open 10:00AM to 9:29:59PM on Thursdays "@type": "AdvanceServiceDeliveryHoursSpecification", "dayOfWeek": [ "Thursday" ], "opens": "T10:00:00", "closes": "T21:30:00", "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" }, { // Open 10:00AM to 11:29:59PM on Fridays "@type": "AdvanceServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Friday" ], "opens": "T10:00:00", "closes": "T23:30:00", "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" }, { // Open 10:00AM to 11:29:59PM on Saturdays "@type": "AdvanceServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Saturday" ], "opens": "T10:00:00", "closes": "T23:30:00", "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" }, { // Open 11:00AM to 6:59:59PM on Sundays "@type": "AdvanceServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Sunday" ], "opens": "T11:00:00", "closes": "T19:00:00", "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" } ] } ],
PackagingDetails
เพิ่มบริบท gs1 เพื่อใช้ประเภทนี้: "@context": ["http://gs1.org/voc/", "http://schema.org"]
และเพิ่ม FoodBeverageTobaccoProduct
ลงในประเภทของ MenuItem
หรือ MenuItemOption
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท PackagingDetails
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะแสดงเป็น "PackagingDetails" เสมอ |
packagingRecyclingProcessType |
ข้อความ | ไม่บังคับ | ประเภทกระบวนการรีไซเคิลบรรจุภัณฑ์ตาม
gs1:PackagingRecyclingProcessTypeCode เช่น http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE หรือ http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
|
hasReturnablePackageDeposit |
ReturnablePackageDepositDetails |
ไม่บังคับ | รายละเอียดเงินฝากทดสอบที่ส่งคืนได้ตามที่ระบุไว้ใน gs1:ReturnablePackageDepositDetails เช่น ขวดและกระป๋องมีพัสดุที่ส่งคืนได้ |
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภท PackagingDetails
{ "@type": ["MenuItem", "FoodBeverageTobaccoProduct"], "@id": "http://www.example.com/bar/menuitem/5", "name": "Sparkling Water", "description": "A 0.5l bottle of sparking water.", "offers": { "@type": "Offer", "sku": "offer-sparkling-water", "price": "1.49", "priceCurrency": "USD" }, "packaging": { "@type": "PackagingDetails", "packagingRecyclingProcessType" : "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE", "hasReturnablePackageDeposit": { "@type": "ReturnablePackageDepositDetails", "returnablePackageDepositAmount": { "@type": "http://gs1.org/voc/PriceSpecification", "http://gs1.org/voc/price": "0.05", "http://gs1.org/voc/priceCurrency": "USD" } } } },
PaymentChargeSpecification
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท PaymentChargeSpecification
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | จะเป็น "PaymentChargeSpecification" เสมอ |
@id |
URL | ไม่บังคับ | ตัวระบุสำหรับ PaymentChargeSpecification |
price |
ตัวเลข | ต้องระบุ | จำนวนเงินที่เรียกเก็บทั้งหมด เช่น "6.00" โดยไม่มีสัญลักษณ์สกุลเงิน |
priceCurrency |
ข้อความ | ต้องระบุ | รหัสสกุลเงินแบบ ISO 4217 ที่เป็นตัวอักษร 3 ตัวของราคา เช่น "USD" |
eligibleTransactionVolume |
PriceSpecification |
ไม่บังคับ | ปริมาณธุรกรรมเป็นหน่วยเงินซึ่งมีข้อกำหนดในการชำระเงินนี้ถูกต้อง เช่น การระบุปริมาณการซื้อขั้นต่ำ |
eligibleQuantity |
QuantitativeValue |
ไม่บังคับ | จำนวนการสั่งซื้อที่เรียกเก็บเงินการชำระเงินได้ เช่น คุณใช้พร็อพเพอร์ตี้นี้เพื่อกำหนดให้มีจำนวนสินค้าขั้นต่ำในคำสั่งซื้อได้ |
validFrom |
DateTime |
ไม่บังคับ | วันที่และเวลา (รวมถึงเขตเวลา) ที่การเรียกเก็บค่าชำระเงินที่ระบุมีผล เช่น "2017-05-01T07:00:00-07:00" ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
validThrough |
DateTime |
ไม่บังคับ | วันที่และเวลา (รวมถึงเขตเวลา) ที่การเรียกเก็บค่าชำระเงินที่ระบุไม่ถูกต้อง เช่น "2017-05-01T07:30:00-07:00"
เวลาสำหรับ validThrough จะเป็นสุดพิเศษ ตัวอย่างเช่น หากตั้งค่าเวลานั้นเป็น 18: 00 น. เวลานั้นจะเป็น 17:59:59 น. เท่านั้น
ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ PaymentChargeSpecification
ตัวอย่าง
"priceSpecification": [{ "@type": "PaymentChargeSpecification", "@id": "http://www.provider.com/paymentCharge/bar", "priceCurrency": "USD", "price": "6.00", // Charges $6 for processing fee "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 2 // Minimum of two items required } }]
นอกเหนือจาก "@type": ["PaymentChargeSpecification"]
คุณขยายออบเจ็กต์ได้ด้วย UnitPriceSpecification
("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]
)
ส่วนขยายให้พร็อพเพอร์ตี้อีก 2 รายการที่จำเป็นสำหรับค่าบริการซึ่งคำนวณเป็นเปอร์เซ็นต์
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
referenceQuantity |
QuantitativeValue |
ต้องระบุ | จำนวนการอ้างอิงที่ใช้ราคาที่กำหนด เช่น referenceQuantity ของค่า 10 ที่มี unitCode เป็น "P1" จะเท่ากับ 10% ของมูลค่าการสั่งซื้อ ปัจจุบันรองรับเฉพาะ unitCode "P1" เท่านั้น |
basePrice |
ตัวเลข | ไม่บังคับ | ค่าใช้จ่ายพื้นฐานเพิ่มเติมจาก referenceQuantity เช่น referenceQuantity ของ 10 ที่มี unitCode เป็น "P1" และ basePrice เป็น 5 ในสกุลเงิน USD จะเท่ากับ $5 + 10% ของมูลค่าการสั่งซื้อ ค่าเริ่มต้นคือ 0 |
ตัวอย่างค่าธรรมเนียม Takeout
Google อนุญาตให้คุณระบุค่าธรรมเนียมต่างๆ แก่ผู้ใช้ล่วงหน้าได้โดยใช้ Offer.PriceSpecification
ของเอนทิตีบริการ
โปรดทราบว่าขณะนี้เรารองรับ PaymentChargeSpecification
เพียง 1 รายการเท่านั้น รวมค่าธรรมเนียมทุกประเภทไว้ใน PaymentChargeSpecification
เดียว
หากไม่มีค่าธรรมเนียม ระบบจะไม่แสดง Offer.PriceSpecification
- ตัวอย่างที่ 1: ค่าบริการคือ 5% ของยอดรวมย่อยของรถเข็น
- ตัวอย่างที่ 2: ค่าบริการเท่ากับ 150 บาท
- ตัวอย่างที่ 3: ค่าธรรมเนียมสัมภาระเป็น $0.1 และค่าบริการคือ 5% ของยอดรวมย่อยในรถเข็น
- ตัวอย่างที่ 4: ค่าธรรมเนียมสัมภาระคือ $0.1 และค่าบริการ $1
- ตัวอย่างที่ 5: ค่าบริการคือ 5% และเคล็ดลับที่จำเป็นคือ 10% ของยอดรวมย่อยในรถเข็น
ตัวอย่างที่ 1
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
ตัวอย่างที่ 2
priceSpecification [ { "@type": ["PaymentChargeSpecification"], "priceCurrency": "USD", "price": "5.00" } ]
ตัวอย่าง 3
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1", // P1 == % }, "priceCurrency": "USD", "basePrice": "0.10" // Bag fee $0.1 } ]
ตัวอย่าง 4
priceSpecification [ { "@type": ["PaymentChargeSpecification"], "priceCurrency": "USD", "price": "1.10" //$1 + $0.1 } ]
ตัวอย่างที่ 5
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "15.00", // 5% + 10% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
สถานที่
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท Place
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | นี่คือ "Place" เสมอ |
address |
PostalAddress |
ต้องระบุ | ที่อยู่ของสถานที่ |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบสถานที่
ตัวอย่าง
{ "@type": "Place", // area2 "address": { "@type": "PostalAddress", "postalCode": "94041", "addressCountry": "US" } },
PostalAddress
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท PostalAddress
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "PostalAddress" เสมอ |
addressLocality |
ข้อความ | ต้องระบุ* | ย่านหรือเมือง เช่น "San Francisco" |
addressRegion |
ข้อความ | ต้องระบุ* | ภูมิภาคหรือรัฐ เช่น "CA" |
postalCode |
ข้อความ | ต้องระบุ* | รหัสไปรษณีย์ เช่น "94102" |
streetAddress |
ข้อความ | ไม่บังคับ | ที่อยู่ เช่น "123 ถนนสุขุมวิท" |
addressCountry |
ข้อความ | ต้องระบุ | รหัสประเทศ 2 ตัวอักษรตามมาตรฐาน ISO 3166-1 alpha-2 เช่น "US" |
ผู้ให้บริการนำส่งจะแสดงรายการพร็อพเพอร์ตี้เหล่านี้เพื่อกำหนด Service.areaServed
ที่ให้บริการได้
เมื่อใช้ใน Restaurant.address
จะต้องมีพร็อพเพอร์ตี้ทั้งหมดที่แสดงใน PostalAddress
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ PostalAddress
ตัวอย่าง
"address": { "@type": "PostalAddress", "streetAddress": "12345 Bar Avenue", "addressLocality": "San Francisco", "addressRegion": "CA", "postalCode": "94124", "addressCountry": "US" },
PriceSpecification
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท PriceSpecification
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ค่าจะเป็น "PriceSpecification" เสมอ |
@id |
URL | ไม่บังคับ | ตัวระบุสำหรับ PriceSpecification |
minPrice |
ตัวเลข | ไม่บังคับ | ราคาต่ำสุดหากราคาเป็นช่วง |
maxPrice |
ตัวเลข | ไม่บังคับ | ราคาสูงสุดหากราคาเป็นช่วง |
priceCurrency |
ข้อความ | ต้องระบุ | รหัสสกุลเงินแบบ ISO 4217 ที่เป็นตัวอักษร 3 ตัวของราคา เช่น "USD" |
eligibleQuantity |
QuantitativeValue |
ไม่บังคับ | จำนวนการสั่งซื้อที่ข้อมูลจำเพาะด้านราคาถูกต้อง เช่น ราคาอาจเป็น 60 บาทต่อปอนด์หรือ 2 ชิ้นต่อ 1 ดอลลาร์ |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ PriceSpecification
ตัวอย่างที่ 1
"eligibleTransactionVolume": { "@type": "PriceSpecification", "minPrice": "20.00", // Minimum order price for delivery is $20 "priceCurrency": "USD" }
PropertyValue
ใช้คู่ค่าพร็อพเพอร์ตี้เพื่ออธิบายตัวเลือกใน MenuItemOption
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้สำหรับประเภท PropertyValue
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | จะเป็น "PropertyValue" เสมอ |
name |
ข้อความ | ต้องระบุ |
ชื่อหรือประเภทตัวเลือก ชื่อที่ถูกต้องเมื่อใช้ใน
ชื่อที่ถูกต้องเมื่อใช้ใน
|
value |
ข้อความ | ต้องระบุ |
ค่าสำหรับตัวเลือก ค่าอาจเป็นสตริงใดก็ได้และแสดงตามที่เป็น ค่าที่ถูกต้องต่อไปนี้
|
QuantitativeValue
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท QuantitativeValue
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | โดยจะเป็น "QuantitativeValue" เสมอ |
value |
ตัวเลข | ไม่บังคับ | ค่าของค่าเชิงปริมาณหรือโหนดค่าพร็อพเพอร์ตี้ |
unitCode |
ข้อความหรือ URL | ไม่บังคับ |
หน่วยวัดในแบบรหัสทั่วไป UN/CEFACT หรือ URL สามารถใช้โค้ดอื่นนอกเหนือจาก UN/CEFACT Common Code โดยมีคำนำหน้าตามด้วยโคลอน |
maxValue |
ตัวเลข | ไม่บังคับ | มูลค่าที่สูงกว่าของลักษณะหรือพร็อพเพอร์ตี้บางรายการ |
minValue |
ตัวเลข | ไม่บังคับ | ค่าที่ต่ำกว่าของลักษณะหรือพร็อพเพอร์ตี้บางรายการ |
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภท QuantitativeValue
ตัวอย่างที่ 1
"deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }
ตัวอย่างที่ 2
"menuAddOn": { "@type": "AddOnMenuSection", "name": "Cheese", "@id": "https://www.example.com/1089/addon/1", // Points to an AddOnMenuSection "eligibleQuantity": "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2 // Maximum of 2 cheeses are allowed } }
ตัวอย่าง 3
"priceSpecification": [ { "@type": "DeliveryChargeSpecification", "@id": "http://www.provider.com/defaultdeliveryfee/foo", "price": "10.0", "priceCurrency": "USD", "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 3 // Minimum of 3 items required for delivery } }, { "@type": "DeliveryChargeSpecification", "@id": "http://www.provider.com/deliveryfee/foo/1", "price": "20.0", "priceCurrency": "USD", "validFrom":"T18:00:00", // Valid from 6:00PM "validThrough":"T22:00:00", // Valid to 9:59:59PM "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": 3 // Minimum of 3 items required for delivery } } ]
ร้านอาหาร
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้สำหรับประเภท Restaurant
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | นี่คือ "ร้านอาหาร" เสมอ |
@id |
URL | ต้องระบุ | ตัวระบุที่ไม่ซ้ำกันของร้านอาหารหรือผู้ให้บริการจัดส่ง เช่น "http://www.provider.com/326" โดยที่ "326" เป็นตัวระบุที่ไม่ซ้ำของร้านอาหาร |
name |
ข้อความ | ต้องระบุ | ข้อความที่ระบุ Restaurant ได้ในระหว่างขั้นตอนการสั่งซื้อ |
url |
URL | ต้องระบุ | URL ในโดเมนของคุณที่แสดงถึงร้านอาหาร เช่น "http://www.provider.com/someRestaurant" |
sameAs |
URL | ไม่บังคับ | เว็บไซต์อย่างเป็นทางการของร้านอาหาร เช่น "http://www.someRestaurant.com" |
email |
ข้อความ | ไม่บังคับ | อีเมลติดต่อของร้านอาหาร |
description |
ข้อความ | ไม่บังคับ | คำอธิบายของร้านอาหาร |
telephone |
ข้อความ | ต้องระบุ |
หมายเลขโทรศัพท์ในรูปแบบต่อไปนี้ "[+][country_code][phone_#_with_area_code]" เช่น "+16501234567" |
priceRange |
ข้อความ | ไม่บังคับ | ราคาที่หลากหลาย เช่น "$$" ($-Inexpensive, $$-Moderate, $$$-Expensive, $$$$-Very Expensive). |
logo |
URL | Optional | Logo of the restaurant in PNG, JPG, or GIF format. For example, "http://www.somerestaurant.com/logo.png". |
image |
URL | Optional | Image of the restaurant. |
servesCuisine |
Array of Text | Optional | Food types that are served at the restaurant. For example,
["sushi","Asian fusion"] . |
address |
PostalAddress |
Required* | Address of the restaurant. |
geo |
GeoCoordinates |
Optional* | Geographic coordinates of the restaurant. |
suitableForDiet |
Array of RestrictedDiet |
Optional | Dietary restrictions this restaurant accommodates (like kosher, vegan, or gluten-free diets). It is an enumerated list. |
aggregateRating |
AggregateRating |
Optional | Overall rating, based on a collection of reviews or ratings of the restaurant. |
additionalProperty |
Array of name value string pairs | Optional |
A restaurant imprint is a section of additional information about the restaurant, such as legal name, legal address, and registration number. This information can be formatted using "\n". For example |
The following examples show the usage of the Restaurant
type:
Example 1
{ "@type": "Restaurant", "@id": "http://www.provider.com/somerestaurant", "url": "www.provider.com/somerestaurant", "name": "Some Restaurant", "sameAs": "http://www.somerestaurant.com", "image": "http://www.somerestaurant.com/image-of-some-restaurant.jpg", "description": "This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine", "address": { "@type": "PostalAddress", "addressLocality": "San Francisco", "addressRegion": "CA", "postalCode": "94105", "streetAddress": "345 Spear St", "addressCountry": "US" }, "geo": { "@type": "GeoCoordinates", "latitude": "37.391115", "longitude": "-122.081099" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.4", "reviewCount": "89" }, "priceRange": "$$", "telephone": "+16501234567", // รหัสประเทศ (+1) ต้องระบุ "servesCuisine": [ "Indian-Mexican Fusion" ] },ตัวอย่างที่ 2
{ "@type": "Restaurant", "@id": "http://www.example.com/threebrotherstacos", "name": "Three Brothers Tacos", "address": { "@type": "PostalAddress", "addressLocality": "Mountain View", "addressRegion": "CA", "postalCode": "94041", "streetAddress": "123 Foo St", "addressCountry": "US" }, "additionalProperty": [ {"name": "imprint", "value": "Three Brothers Tacos\n123 FooSt\nMountain View\nCA 94041, United States\nemail: contact@threebrotherstacos.com\n\nCommercial Register: 123456789"} ] }ดูตัวอย่างเพิ่มเติมของเอนทิตี
Restaurant
ได้ที่ตัวอย่างฟีดร้านอาหารและเมนู
ReturnablePackageDepositDetails
หากต้องการใช้ประเภทนี้ ให้เพิ่มบริบท gs1: "@context":
["http://gs1.org/voc/", "http://schema.org"]
จากนั้นเพิ่ม
FoodBeverageTobaccoProduct
ลงในประเภทของMenuItem
หรือMenuItemOption
ที่เหมาะสมตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท
ReturnablePackageDepositDetails
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | โดยค่าจะเป็น "ReturnablePackageDepositDetails" เสมอ |
returnablePackageDepositAmount |
gs1:PriceSpecification |
ไม่บังคับ | จำนวนเงินฝากสำหรับรายการนี้ต่อ gs1:PriceSpecification เช่น จำนวนเงินฝาก $0.25 ต่อกระป๋อง |
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภท ReturnablePackageDepositDetails
{ "@type": ["MenuItem", "FoodBeverageTobaccoProduct"], "@id": "http://www.example.com/bar/menuitem/5", "name": "Sparkling Water", "description": "A 0.5l bottle of sparking water.", "offers": { "@type": "Offer", "sku": "offer-sparkling-water", "price": "1.49", "priceCurrency": "USD" }, "packaging": { "@type": "PackagingDetails", "packagingRecyclingProcessType" : "http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE", "hasReturnablePackageDeposit": { "@type": "ReturnablePackageDepositDetails", "returnablePackageDepositAmount": { "@type": "http://gs1.org/voc/PriceSpecification", "http://gs1.org/voc/price": "0.05", "http://gs1.org/voc/priceCurrency": "USD" } } } },
บริการ
อธิบายการนำส่งการดำเนินการสั่งซื้อจากต้นทางถึงปลายทางจากร้านอาหารไปยังสถานที่ตั้งทางภูมิศาสตร์โดยองค์กรจัดส่ง
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท Service
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ |
ประเภทฟีด
|
@id |
URL | ต้องระบุ | ตัวระบุสำหรับบริการดำเนินการตามคำสั่งซื้อ เช่น "http://www.provider.com/service/1" |
description |
ข้อความ | ไม่บังคับ | คำอธิบายของรายการ |
serviceType |
ข้อความ | ต้องระบุ | ประเภทบริการที่เสนอ ค่าที่เป็นไปได้คือ "DELIVERY" หรือ "TAKEOUT" |
provider |
Restaurant |
ต้องระบุ | การอ้างอิงถึงตัวระบุที่ไม่ซ้ำกันของร้านอาหาร เช่น "http://www.provider.com/someRestaurant" |
areaServed |
อาร์เรย์ของ GeoShape , Place หรือ GeoCircle |
มีเงื่อนไข | พื้นที่ทางภูมิศาสตร์ที่มีบริการ ช่องนี้เป็นช่องที่ไม่บังคับโดยค่าเริ่มต้น แต่ต้องระบุหาก serviceType เป็น "DELIVERY" |
hoursAvailable |
อาร์เรย์ของ OpeningHoursSpecification |
ต้องระบุ | ช่วงเวลาที่บริการนี้ให้บริการ |
specialOpeningHoursSpecification |
อาร์เรย์ของ OpeningHoursSpecification , ServiceDeliveryHoursSpecification หรือ AdvanceServiceDeliveryHoursSpecification |
ไม่บังคับ |
เวลาที่ลบล้าง กำหนดช่วงวันที่พิเศษโดยใช้พร็อพเพอร์ตี้ |
offers |
อาร์เรย์ของ Offer |
มีเงื่อนไข |
รายละเอียดเกี่ยวกับข้อเสนอให้จัดส่งสำหรับร้านอาหารที่ระบุ ช่องนี้เป็นช่องที่ไม่บังคับโดยค่าเริ่มต้น แต่ต้องระบุหาก คุณจะใส่พร็อพเพอร์ตี้ |
hasOfferCatalog |
[Menu , OfferCatalog] |
ต้องระบุ |
ระบุเมนูสำหรับบริการนี้ คุณใช้เมนูที่ต่างกันสำหรับแต่ละบริการได้ (เช่น สั่งกลับบ้าน จัดส่ง และจัดเลี้ยง) คุณต้องระบุทั้ง "hasOfferCatalog": { "@type": ["Menu", "OfferCatalog"], "@id": "https://www.provider.com/restaurant/menu/1" } |
additionalProperty |
อาร์เรย์ของ {name, value} | ไม่บังคับ |
ข้อมูลการกำหนดค่าบริการที่ไม่บังคับ รายการควรเป็นออบเจ็กต์ที่มีคีย์
ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อและค่าที่เจาะจงได้ในข้อมูลอ้างอิง "additionalProperty": [{ "name": "disableOrderInstructions", "value": false }, { "name": "disableMenuItemSpecialInstructions", "value": false }, { "name": "disableTipWidget", "value": false }, { "name": "disablePromoWidget", "value": false }, { "name": "menuItemSpecialInstructionsMaxLength", "value": 256 }, { "name": "orderInstructionsMaxLength", "value": 256 }] |
potentialAction |
URL | ไม่บังคับ |
มี URL สำหรับบริการส่ง/สั่งกลับบ้านที่จะใช้ขณะย้ายข้อมูลจากการสั่งอาหารตั้งแต่ต้นจนจบเพื่อเปลี่ยนเส้นทาง ตัวอย่างเช่น "potentialAction": { "url": "https://fopatestagent.com/ordering/merchant-1/delivery" } |
ตัวอย่างต่อไปนี้แสดงการใช้งานประเภทบริการ
ตัวอย่าง
{ "@type": "Service", "@id": "http://www.provider.com/service/1", "serviceType": "DELIVERY", "provider": { "@type": "Restaurant", "@id": "http://www.provider.com/threebrotherstacos" }, "potentialAction": { "url": "https://foprovider.com/ordering/restaurant-1/delivery" }, "hoursAvailable": [ // Ordering times for Monday through Friday { "@type": "OpeningHoursSpecification", "deliveryHours": [ { "@type": "AdvanceServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens": "T12:00:00", // Advance ordering begins at noon "closes": "T23:59:59", // Advance ordering ends at midnight "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" }, { "@type": "ServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens": "T10:00:00", // ASAP ordering begins at 10AM "closes": "T14:00:00", // ASAP ordering ends at 2PM "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" } ] }, // Ordering times for Saturday and Sunday { "@type": "OpeningHoursSpecification", "deliveryHours": [ { // In this case advance orders are unavailable on Saturday and Sunday "@type": "ServiceDeliveryHoursSpecification", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }, "dayOfWeek": [ "Saturday", "Sunday" ], "opens": "T12:00:00", // ASAP orders start at noon "closes": "T23:59:59", // ASAP orders end at midnight "validFrom": "2017-01-01T00:00:00-07:00", "validThrough": "2018-12-31T23:59:59-07:00" } ] } ], "hasOfferCatalog": { "@type": ["Menu", "OfferCatalog"], "@id": "https://www.provider.com/menu/1" }, "areaServed": [{ "@type": "GeoCircle", // area1 "geoMidpoint": { "@type": "GeoCoordinates", "latitude": "42.362757", "longitude": "-71.087109" }, "geoRadius": "10000" }, { "@type": "Place", // area2 "address": { "@type": "PostalAddress", "postalCode": "94041", "addressCountry": "US" } }, { "@type": "GeoShape", // area3 // Specify latitude first (i.e., lat long lat long ...) "polygon": "37.418128 -122.098167 37.382755 -122.118968 37.368551 -122.047978 37.400949 -122.048106 37.418128 -122.098167" }, { "@type": "GeoShape", // area4 // Specify latitude first (i.e., lat long lat long ...) "polygon": "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747 -122.412619" }, { "@type": "GeoCircle", // area5 "geoMidpoint": { "@type": "GeoCoordinates", "latitude": "37.7392607", "longitude": "-122.3895522" }, "geoRadius": "4505" } ], "offers": { "@type": "Offer", "priceSpecification": [{ "@type": "DeliveryChargeSpecification", "@id": "http://www.provider.com/threebrotherstacos/deliveryfee/1", "price": "8.00", // Charges $8 for area5 "priceCurrency": "USD", "eligibleTransactionVolume": { "@type": "PriceSpecification", "minPrice": "20.00", "priceCurrency": "USD" }, "eligibleRegion": [ // area5 { "@type": "GeoCircle", "geoMidpoint": { "@type": "GeoCoordinates", "latitude": "37.7392607", "longitude": "-122.3895522" }, "geoRadius": "4505" } ] }, { "@type": "DeliveryChargeSpecification", "@id": "http://www.provider.com/threebrotherstacos/defaultdeliveryfee", "price": "6.00", // Charges $6 when delivered from Foo restaurant to area1, area2, area3 and area4 (Default charge) "priceCurrency": "USD", "eligibleTransactionVolume": { "@type": "PriceSpecification", "minPrice": "20.00", // Minimum order price for delivery is $20 "priceCurrency": "USD" } } ] } },
ดูตัวอย่างเพิ่มเติมของเอนทิตีบริการได้ที่ตัวอย่างฟีดบริการ
ServiceDeliveryHoursSpecification
แสดงเวลาที่ดำเนินการตามคำสั่งซื้อเพื่อให้ผู้ใช้กำหนดเวลาคำสั่งซื้อแบบ ASAP สำหรับจัดส่งและสั่งกลับบ้าน
โดยปกติแล้ว ค่าของ opens
จะน้อยกว่าค่าของ closes
การใช้พร็อพเพอร์ตี้ opens
และ closes
ต้องเป็นไปตามหลักเกณฑ์ต่อไปนี้
- พร็อพเพอร์ตี้
opens
และcloses
เป็นพร็อพเพอร์ตี้ที่ไม่บังคับสำหรับServiceDeliveryHoursSpecification
แต่ขอแนะนำอย่างยิ่งให้คุณระบุพร็อพเพอร์ตี้ดังกล่าวด้วย - ต้องระบุเวลาให้บริการตามเวลาท้องถิ่น อย่าใส่เขตเวลาในค่า
opens
หรือcloses
หากมีการระบุเขตเวลา Google จะไม่สนใจข้อมูลเขตเวลา - หากไม่ได้ระบุ
opens
และcloses
ไว้อย่างชัดแจ้ง เราจะถือว่าการสั่งซื้อ "โดยเร็วที่สุด" พร้อมใช้งานทุกวันตลอดเวลา - หาก
opens
และcloses
เท่ากัน เราจะถือว่าคำสั่งซื้อ "โดยเร็วที่สุด" ไม่พร้อมใช้งาน - หาก
opens
มากกว่าcloses
ระบบจะตีความเวลาปิดทำการเป็นวันถัดไป ตัวอย่างเช่น หากตั้งเวลาทำการเป็นวันที่ 1 มกราคม เวลา 17:00 น. และปิดทำการเป็น 2:00 น. ระบบจะนับว่าร้านอาหารปิดในวันที่ 2 มกราคม เวลา 02:00 น.
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท ServiceDeliveryHoursSpecification
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะแสดงเป็น "ServicedeliveryHoursSpecification" เสมอ |
validFrom |
DateTime |
ไม่บังคับ |
วันที่และเวลา (รวมถึงเขตเวลา) ที่จะดำเนินการตามคำสั่งซื้อ ASAP ของผู้ใช้ให้สำเร็จได้ เช่น "2017-05-01T07:00:00-07:00" หากไม่ได้ตั้งค่าพร็อพเพอร์ตี้นี้ ระบบจะถือว่ามีการใช้งานได้ทุกวัน ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
validThrough |
DateTime |
ไม่บังคับ |
วันที่และเวลา (รวมถึงเขตเวลา) ที่ดำเนินการตามคำสั่งซื้อ ASAP ของผู้ใช้ไม่สำเร็จหลังจากนั้น เช่น "2017-05-01T07:00:00-07:00" หากไม่ได้ตั้งค่าพร็อพเพอร์ตี้นี้ ระบบจะถือว่าเป็นค่าที่ถูกต้องทุกวัน เวลาสำหรับ ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
opens |
Time |
ไม่บังคับ |
เวลาที่บริการนำส่งเริ่มต้นเพื่อให้ได้รับการดำเนินการตามคำสั่งซื้อ ASAP ของผู้ใช้โดยเร็วที่สุด เช่น "T10:30:00" ต้องระบุเวลาให้บริการตามเวลาท้องถิ่น อย่ารวมเขตเวลาไว้ในค่า ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
closes |
Time |
ไม่บังคับ |
ช่วงเวลาที่บริการนำส่งสำหรับคำสั่งซื้อ ASAP ของผู้ใช้ไม่พร้อมให้บริการอีกต่อไป เช่น "T23:59:59" เวลาสำหรับ ต้องระบุเวลาให้บริการตามเวลาท้องถิ่น อย่ารวมเขตเวลาไว้ในค่า ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
dayOfWeek |
อาร์เรย์ของ DayOfWeek |
ไม่บังคับ |
วันในสัปดาห์ที่บริการนี้พร้อมใช้งานสำหรับคำสั่งซื้อ ASAP ของผู้ใช้ ค่าที่ถูกต้องมีดังนี้
หากไม่ระบุวันใดของสัปดาห์ |
deliveryLeadTime |
QuantitativeValue |
ไม่บังคับ | เวลานำส่งโดยประมาณในหน่วยนาทีหลังจากสั่งซื้อ เราแนะนําอย่างยิ่งให้คุณตั้งค่าพร็อพเพอร์ตี้นี้ ตั้งค่าช่อง value ของ QuantitativeValue เป็นจำนวนนาที และ unitCode เป็น "MIN" |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ ServiceDeliveryHoursSpecification
ตัวอย่างที่ 1
{ "@type": "ServiceDeliveryHoursSpecification", "opens": "T08:00:00", "closes": "T17:00:00", "deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", // If no exact deliveryLeadTime, put a maximum time "unitCode": "MIN" } },
ตัวอย่างที่ 2
{ "@type": "ServiceDeliveryHoursSpecification", "opens": "T08:00:00", "closes": "T17:00:00", "deliveryLeadTime": { "@type": "QuantitativeValue", "minValue": "30", "maxValue": "50", "unitCode": "MIN" } }
Enum
RestrictedDiet
ประเภท RestrictedDiet
มีค่าที่เป็นไปได้ต่อไปนี้
- http://schema.org/DiabeticDiet
- http://schema.org/GlutenFreeDiet
- http://schema.org/HalalDiet
- http://schema.org/HinduDiet
- http://schema.org/KosherDiet
- http://schema.org/LowCalorieDiet
- http://schema.org/LowFatDiet
- http://schema.org/LowLactoseDiet
- http://schema.org/LowSaltDiet
- http://schema.org/VeganDiet
- http://schema.org/VegetarianDiet
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2024-02-16 UTC