ฟีดแคตตาล็อกอาหารจะอิงตามเอนทิตี DataFeed
ของ schema.org ฟีดแคตตาล็อกอาหารประกอบด้วยรายละเอียดสถานที่ตั้งของร้านอาหาร เช่น ที่อยู่ เมนู และสถานที่ตั้งของร้านอาหาร รวมถึงรายละเอียดบริการของร้านอาหาร เช่น ค่าบริการจัดส่ง พื้นที่จัดส่ง และรายการอื่นๆ ตามที่ระบุไว้ด้านล่าง
DataFeed
มีคอลเล็กชันองค์ประกอบ โดยแต่ละรายการแสดงถึงรายการเดียวที่เขียนด้วยคําศัพท์ schema.org คุณสามารถใช้ประเภท DataFeed
เพื่อเผยแพร่ Structured Data ทั้งหมดในรูปแบบ JSON-LD
ดูข้อมูลเกี่ยวกับการใช้ข้อกำหนดนี้เพื่อสร้างฟีดได้ที่ภาพรวมการผสานรวมสินค้าคงคลัง
รูปแบบ DateTime และเวลา
DateTime
อิงตามประเภท schema.org และจะต้องเป็นไปตามรูปแบบ ISO 8601 รวมถึงระบุวันที่ เวลา และเขตเวลา เว้นแต่จะระบุไว้เป็นอย่างอื่น ใช้ไวยากรณ์ต่อไปนี้สําหรับ DateTime
// DateTime format:YYYY-MM-DD THH: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"
"Envelope" คือโครงสร้างระดับบนสุดของฟีดแต่ละรายการ และต้องเป็นรูปแบบที่ขึ้นต้นด้วย DataFeed
ที่มีพร็อพเพอร์ตี้ต่อไปนี้
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@context |
URL | ต้องระบุ | บริบทที่ใช้อยู่ ซึ่งโดยปกติจะเป็น "http://schema.googleapis.com" |
@type |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "DataFeed" เสมอ |
dateModified |
DateTime |
ต้องระบุ |
วันที่และเวลาในรูปแบบ ISO_OFFSET_DATE_TIME ที่แก้ไขรายการในฟีดนี้ หากไม่มีช่องนี้ ระบบจะถือว่าเวลาอัปเดตคือเวลาที่ระบบได้รับข้อความ Push (หรือมีการ 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
{ "@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" } } ] }
{ "@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
{ "@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" } } ] }
"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 } }
รายการเมนู "แซนวิชชีส" มี "ชีสให้เลือก"
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 น. และเวลาปิดเป็น 02: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 |
ไม่บังคับ |
ใช้กับช่วงเวลาที่สะดวกรับบริการจัดส่งหรือสั่งกลับบ้าน เวลาของวันที่จะเริ่มต้นดำเนินการตามคำสั่งซื้อล่วงหน้าของผู้ใช้ เช่น 06:30 น. จะแสดงเป็น "T06:30:00" ต้องระบุเวลาเป็นเขตเวลาท้องถิ่นสำหรับบริการ อย่าใส่เขตเวลาในค่า ดูข้อมูลเพิ่มเติมได้ที่รูปแบบ DateTime และเวลา |
closes |
Time |
ไม่บังคับ |
ใช้กับช่วงเวลาที่สะดวกสำหรับการจัดส่งหรือรับอาหารกลับบ้าน เวลาของวันซึ่งจะไม่สามารถดำเนินการตามคำสั่งซื้อล่วงหน้าของผู้ใช้ได้อีก เช่น 21:00 น. จะแสดงเป็น "T21:00:00"
คุณต้องระบุเวลาเป็นเขตเวลาท้องถิ่นสำหรับบริการ อย่าระบุเขตเวลาในค่า ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
dayOfWeek |
อาร์เรย์ของ DayOfWeek |
ไม่บังคับ |
วันของสัปดาห์ที่สามารถเลือกเวลานำส่งล่วงหน้าได้ ค่าที่ใช้ได้มีดังนี้
หากคุณไม่ได้ระบุวันในสัปดาห์ |
serviceTimeInterval |
Duration |
ต้องระบุ |
ช่วงเวลาระหว่างเวลาให้บริการ 2 ครั้งติดต่อกัน ตัวอย่างเช่น หาก
|
advanceBookingRequirement |
QuantitativeValue |
ต้องระบุ |
จำนวนนาทีนับจากเวลาที่สั่งซื้อที่ดำเนินการตามคำสั่งซื้อล่วงหน้าได้ ต้องตั้งค่า ตัวอย่างเช่น หากคำสั่งซื้อล่วงหน้าต้องใช้เวลาอย่างน้อย 60 นาทีในการดำเนินการและถูกจำกัดไม่ให้ดำเนินการหลังจากนั้นเกิน 2 วัน ค่า |
ตัวอย่างต่อไปนี้แสดงการใช้ประเภท AdvanceServiceDeliveryHoursSpecification
{ "@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
"offers": { "@type":"Offer", "priceSpecification":[ { "@type": "DeliveryChargeSpecification", "price": "5.0", "priceCurrency": "USD" } ] }
"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 } } ]
"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
รายการเดียวเท่านั้น รวมค่าธรรมเนียมทุกประเภทไว้เป็นค่าธรรมเนียมเดียว
DeliveryChargeSpecification
ดูวิธีระบุค่าธรรมเนียมการนำส่งตามพื้นที่ ระยะทาง และมูลค่าการสั่งซื้อได้ที่ตัวอย่างฟีดบริการ
หากไม่มีค่าธรรมเนียม ให้เว้น Offer.PriceSpecification
ไว้
- ตัวอย่างที่ 1: ค่าธรรมเนียมการนำส่งคือ 5% ของยอดรวมย่อยในรถเข็น
- ตัวอย่างที่ 2: ค่าธรรมเนียมการนำส่งคือ 50 บาท
- ตัวอย่างที่ 3: ค่าธรรมเนียมการนำส่งคือ 50 บาท + 10% ของยอดรวมย่อยในรถเข็น
- ตัวอย่างที่ 4: ค่าธรรมเนียมการนำส่งคือ 150 บาทและค่าธรรมเนียมถุงคือ 3 บาท
- ตัวอย่างที่ 5: ค่าธรรมเนียมการนำส่งคือ 5% และค่าธรรมเนียมอำนวยความสะดวกคือ 2% ของยอดย่อยในรถเข็น
- ตัวอย่าง 6: ค่าธรรมเนียมการนำส่งคือ 150 บาทและ 30 บาทต่อระยะทาง 1 กิโลเมตรเพิ่มเติม
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
priceSpecification [ { "@type": ["DeliveryChargeSpecification"], "priceCurrency": "USD", "price": "5.00" } ]
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% } ]
priceSpecification [ { "@type": ["DeliveryChargeSpecification"], "priceCurrency": "USD", "price": "5.10" //$5 + $0.1 }
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "7.00", // 5% + 2% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" }, ]
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

{ "@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": "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”] },

{ "@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
{ "@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" }
ตัวอย่างนี้แสดง 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" } } ] }
ตัวอย่างนี้แสดง 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 |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "MenuDisclaimer" เสมอ |
@id |
URL | ต้องระบุ | ตัวระบุที่ไม่ซ้ำกันสำหรับข้อจำกัดความรับผิดของเมนู |
text |
ข้อความ | ต้องระบุ | ข้อความจำกัดความรับผิด เช่น "ปริมาณพลังงานที่ผู้ใหญ่ควรได้รับต่อวันโดยเฉลี่ยคือ 8700 kJ" |
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
"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" }
"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": "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 -- ] } ] } ] }
{ "@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" } } ] }
{ "@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
ตัวเลือกสำหรับแสดงตัวเลือกที่ผู้ใช้จะต้องเลือกเมื่อเลือกอาหารหรือคอมโบ ผู้ใช้ต้องเลือกตัวเลือก มิฉะนั้นระบบจะถือว่าคำสั่งซื้อไม่ถูกต้อง เช่น การเลือกขนาดเล็ก กลาง หรือใหญ่ในกรณีของพิซซ่า
ดูตัวอย่าง Use Case ของ 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
{ "@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" } } ] }
{ "@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
{ "@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" } }
"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
หน่วยวัดจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เช่น ระบบจะยอมรับ "Cal" แต่จะไม่ยอมรับ "cal"
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "NutritionInformation" เสมอ |
description |
ข้อความ | ไม่บังคับ | ข้อมูลโภชนาการในรูปแบบข้อความอิสระ เช่น "มีสารกันบูด" |
calories |
ข้อความ | ไม่บังคับ |
จำนวนแคลอรี่ในหน่วย Cal, kcal หรือ kJ โดยใช้รูปแบบต่อไปนี้
เช่น "240 Cal" |
carbohydrateContent |
ข้อความ | ไม่บังคับ |
ปริมาณคาร์โบไฮเดรต โดยปกติจะแสดงเป็น g โดยใช้รูปแบบต่อไปนี้
เช่น "7 g" |
cholesterolContent |
ข้อความ | ไม่บังคับ |
ปริมาณคอเลสเตอรอล ซึ่งปกติจะแสดงเป็นมก. โดยใช้รูปแบบต่อไปนี้
เช่น "12 mg" |
fatContent |
ข้อความ | ไม่บังคับ |
ปริมาณไขมัน ซึ่งปกติจะแสดงเป็น g โดยใช้รูปแบบต่อไปนี้
เช่น "42 กรัม" |
fiberContent |
ข้อความ | ไม่บังคับ |
จำนวน g หรือ mg ของไฟเบอร์โดยใช้รูปแบบต่อไปนี้
|
proteinContent |
ข้อความ | ไม่บังคับ |
จำนวน g หรือ mg ของโปรตีนโดยใช้รูปแบบต่อไปนี้
|
saturatedFatContent |
ข้อความ | ไม่บังคับ |
จำนวน g หรือ mg ของไขมันอิ่มตัว โดยใช้รูปแบบต่อไปนี้
|
servingSize |
ข้อความ | ไม่บังคับ | ขนาดที่แนะนำต่อหน่วยบริโภคเป็น mL, L, g หรือ kg ในแง่ของปริมาณหรือมวล |
sodiumContent |
ข้อความ | ไม่บังคับ |
จำนวนมก. หรือกรัมของโซเดียมโดยใช้รูปแบบต่อไปนี้
|
sugarContent |
ข้อความ | ไม่บังคับ |
จำนวน g หรือ mg ของน้ำตาล โดยใช้รูปแบบต่อไปนี้
|
transFatContent |
ข้อความ | ไม่บังคับ |
จำนวน g หรือ mg ของไขมันทรานส์ โดยใช้รูปแบบต่อไปนี้
|
unsaturatedFatContent |
ข้อความ | ไม่บังคับ |
ปริมาณไขมันไม่อิ่มตัว ซึ่งปกติจะแสดงเป็น g โดยใช้รูปแบบต่อไปนี้
|
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ NutritionInformation
"nutrition": { "@type": "NutritionInformation", "calories": "170 Cal", "fatContent": "3 g", "fiberContent": "2 g", "proteinContent": "4 g" },
{ "@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 |
ไม่บังคับ | วันที่และเวลา หรือเฉพาะเวลาที่ข้อเสนอพร้อมให้บริการ เช่น หากเสิร์ฟแพนเค้กตั้งแต่เวลา 07:00 น. ค่าของช่องนี้อาจมีลักษณะดังนี้ "2017-05-01T07:00:00-07:00" ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
availabilityEnds |
DateTime หรือ Time |
ไม่บังคับ | วันที่และเวลา หรือเฉพาะเวลาที่ข้อเสนอไม่พร้อมให้บริการ เวลานี้ไม่รวมเวลาอื่น เช่น หากความพร้อมให้บริการแพนเค้กสิ้นสุดลงเวลา 10:00 น. แพนเค้กสุดท้ายจะเสิร์ฟได้เวลา 09:59:59 น. ค่าของช่องนี้จึงอาจมีลักษณะดังนี้ "2017-05-01T10:00:00-07:00" ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
availableDay |
อาร์เรย์ของ DayOfWeek | ไม่บังคับ |
วันของสัปดาห์ที่รายการนี้พร้อมจำหน่าย ค่าที่ใช้ได้มีดังนี้
หากวันในสัปดาห์ต่างๆ มีความพร้อมให้บริการแตกต่างกัน ให้ใช้ออบเจ็กต์ |
validFrom |
DateTime |
ไม่บังคับ |
วันที่และเวลา (รวมถึงเขตเวลา) ที่ราคาที่ระบุมีผล ตัวอย่างเช่น พาสต้ามีราคา $8 ในช่วงกลางวันและ $10 ในช่วงเย็น ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา พร็อพเพอร์ตี้นี้ใช้ได้กับข้อเสนอประเภทต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่มีการใช้งานในข้อเสนอประเภทต่อไปนี้
|
validThrough |
DateTime |
ไม่บังคับ | วันที่และเวลา (รวมถึงเขตเวลา) ที่หลังจากนั้นจะไม่ได้ใช้ราคาที่ระบุอีกต่อไป เช่น พาสต้ามีราคา 320 บาทในช่วงกลางวัน และ 360 บาทในช่วงเย็น เวลาของ พร็อพเพอร์ตี้นี้ใช้ได้กับข้อเสนอประเภทต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่มีการใช้งานในข้อเสนอประเภทต่อไปนี้
|
eligibleQuantity |
QuantitativeValue | ไม่บังคับ |
จำนวนการสั่งซื้อที่อนุญาตสำหรับสินค้านี้ ตัวอย่างเช่น ร้านอาหารอาจกำหนดให้ต้องสั่งพิซซ่าอย่างน้อย 10 ชิ้นจึงจะจัดส่งได้ ค่านี้ไม่บังคับ โดยค่าเริ่มต้นจะไม่มีขีดจำกัดสูงสุด แต่ร้านอาหารสามารถระบุขีดจำกัดสูงสุดได้ ขีดจํากัดขั้นต่ำจะมีผลเฉพาะเมื่อผู้ใช้เลือกรายการ พร็อพเพอร์ตี้นี้ใช้ได้กับข้อเสนอประเภทต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่มีการใช้งานในข้อเสนอประเภทต่อไปนี้
|
aggregateRating |
AggregateRating | ไม่บังคับ |
คะแนนโดยรวมที่อิงตามคอลเล็กชันรีวิวหรือคะแนนของรายการ พร็อพเพอร์ตี้นี้ใช้ได้กับข้อเสนอประเภทต่อไปนี้
ระบบจะไม่ใช้พร็อพเพอร์ตี้นี้ในประเภทต่อไปนี้
|
inventoryLevel |
QuantitativeValue | ไม่บังคับ |
ระดับสินค้าคงคลังโดยประมาณปัจจุบันของสินค้า พร็อพเพอร์ตี้นี้ใช้ได้กับข้อเสนอประเภทต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่มีการใช้งานในข้อเสนอประเภทต่อไปนี้
|
priceSpecification |
อาร์เรย์ของ DeliveryChargeSpecification หรืออาร์เรย์ของ PaymentChargeSpecification | ไม่บังคับ |
เมื่อใช้ใน พร็อพเพอร์ตี้นี้ใช้ได้กับข้อเสนอประเภทต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่มีการใช้งานในข้อเสนอประเภทต่อไปนี้
|
offeredBy |
อาร์เรย์ของรหัส Restaurant |
ไม่บังคับ | แสดงร้านอาหารที่ให้บริการ หากไม่ได้ระบุ พร็อพเพอร์ตี้นี้ใช้ได้กับข้อเสนอประเภทต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่มีการใช้งานในข้อเสนอประเภทต่อไปนี้
|
applicableFulfillmentMethod |
อาร์เรย์ของข้อความ | ไม่บังคับ | แสดงประเภทบริการที่ หากไม่ได้ระบุ พร็อพเพอร์ตี้นี้ใช้ได้กับข้อเสนอประเภทต่อไปนี้
พร็อพเพอร์ตี้นี้ไม่มีการใช้งานในข้อเสนอประเภทต่อไปนี้
|
@id |
URL | เลิกใช้ | ตัวระบุที่ไม่ซ้ำกันของข้อเสนอ เลิกใช้งานแล้วตั้งแต่วันที่ 25/4/19 ให้แทนที่ด้วย
sku ตามที่อธิบายไว้ข้างต้น
|
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ Offer
ตัวอย่างต่อไปนี้แสดงข้อเสนอแบบง่าย
{ "@type": "Offer", "@id": "https://www.provider.com/menu/74962/139/offer", "price": "10", "priceCurrency": "USD" }
ตัวอย่างข้อเสนอต่อไปนี้แสดงเวลาว่างตั้งแต่ 8-10 น. ในช่วงสุดสัปดาห์
{ "@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. }
ตัวอย่างต่อไปนี้แสดงความพร้อมให้บริการตั้งแต่เวลา 09:00-10:59:59 น. ในวันอังคาร พุธ และศุกร์ แต่เวลา 08:00-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"] }
ตัวอย่างต่อไปนี้แสดงการตั้งค่าจำนวนที่มีสิทธิ์ของรายการเมนูเสริมเพื่อให้ผู้ใช้สั่งอาหารรายการนั้นได้สูงสุด 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 } } }
ตัวอย่างต่อไปนี้แสดงข้อเสนอการนำส่งที่ตำแหน่งที่เจาะจง
{ "@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 น. และเวลาปิดเป็น 02: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 จะถือว่าร้านอาหารหรือบริการพร้อมให้บริการทุกวัน นอกเหนือจากวันที่แล้ว คุณยังต้องระบุส่วนเวลาและเขตเวลาของค่าด้วย สำหรับเขตเวลา ให้ใช้เขตเวลาของร้านอาหารหรือบริการ ดูข้อมูลเพิ่มเติมได้ที่รูปแบบ DateTime และเวลา |
validThrough |
DateTime |
ไม่บังคับ |
เมื่อใช้ใน ตัวอย่างเช่น หากเวลาที่กำหนดมีผลกับทั้งปี 2017 ให้ตั้งค่า เมื่อใช้ในข้อกำหนด หากไม่ได้ระบุพร็อพเพอร์ตี้นี้ในฟีด Google จะถือว่าร้านอาหารหรือบริการพร้อมให้บริการทุกวัน นอกเหนือจากวันที่แล้ว คุณยังต้องระบุเวลาและเขตเวลาของส่วน DateTime ด้วย สำหรับเขตเวลา ให้ใช้เขตเวลาของร้านอาหารหรือบริการ เวลาสำหรับ ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา |
deliveryHours |
อาร์เรย์ของ ServiceDeliveryHoursSpecification หรืออาร์เรย์ของ AdvanceServiceDeliveryHoursSpecification |
มีเงื่อนไข |
ข้อกำหนดเวลานำส่งหรือเวลาสั่งกลับบ้าน ต้องระบุพารามิเตอร์นี้ เว้นแต่ร้านอาหารจะปิด (หมายความว่ามีการตั้งค่า
|
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ OpeningHoursSpecification
// 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" } ] }
"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" } } },
// 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
เพียงรายการเดียวเท่านั้น รวมค่าธรรมเนียมทุกประเภทไว้ในPaymentChargeSpecification
เดียว
หากไม่มีค่าธรรมเนียม ให้เว้น Offer.PriceSpecification
ไว้
- ตัวอย่างที่ 1: ค่าบริการคือ 5% ของยอดรวมย่อยในรถเข็น
- ตัวอย่างที่ 2: ค่าบริการคือ 150 บาท
- ตัวอย่างที่ 3: ค่าถุงพลาสติก $0.1 และค่าบริการ 5% ของยอดรวมย่อยในรถเข็น
- ตัวอย่างที่ 4: ค่าถุงพลาสติก $0.1 และค่าบริการ $1
- ตัวอย่างที่ 5: ค่าบริการคือ 5% และทิปที่ต้องจ่ายคือ 10% ของยอดย่อยในรถเข็น
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
priceSpecification [ { "@type": ["PaymentChargeSpecification"], "priceCurrency": "USD", "price": "5.00" } ]
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1", // P1 == % }, "priceCurrency": "USD", "basePrice": "0.10" // Bag fee $0.1 } ]
priceSpecification [ { "@type": ["PaymentChargeSpecification"], "priceCurrency": "USD", "price": "1.10" //$1 + $0.1 } ]
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "15.00", // 5% + 10% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
สถานที่
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท Place
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ค่านี้คือ "สถานที่" เสมอ |
address |
PostalAddress |
ต้องระบุ | ที่อยู่ของสถานที่ |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบสถานที่
{ "@type": "Place", // area2 "address": { "@type": "PostalAddress", "postalCode": "94041", "addressCountry": "US" } },
PostalAddress
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท PostalAddress
พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
---|---|---|---|
@type |
ข้อความ | ต้องระบุ | ซึ่งจะเป็น "PostalAddress" เสมอ |
addressLocality |
ข้อความ | ต้องระบุ* | ย่านหรือเมือง เช่น "San Francisco" |
addressRegion |
ข้อความ | ต้องระบุ* | ภูมิภาคหรือรัฐ เช่น "CA" |
postalCode |
ข้อความ | ต้องระบุ* | รหัสไปรษณีย์ เช่น "94102" |
streetAddress |
ข้อความ | ไม่บังคับ | ที่อยู่ เช่น "1600 Amphitheatre Pkwy" |
addressCountry |
ข้อความ | ต้องระบุ | รหัสประเทศแบบ ISO 3166-1 alpha-2 ที่เป็นอักษร 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 รายการในราคา 30 บาท |
ตัวอย่างต่อไปนี้แสดงองค์ประกอบ PriceSpecification
"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 Common Code หรือ URL รหัสที่ไม่ใช่ UN/CEFACT Common Code อาจใช้ร่วมกับคำนำหน้าตามด้วยโคลอน |
maxValue |
ตัวเลข | ไม่บังคับ | ค่าบนของลักษณะหรือพร็อพเพอร์ตี้บางอย่าง |
minValue |
ตัวเลข | ไม่บังคับ | ค่าที่ต่ำของลักษณะหรือพร็อพเพอร์ตี้บางอย่าง |
ตัวอย่างต่อไปนี้แสดงการใช้ประเภท QuantitativeValue
"deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }
"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 } }
"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 |
ข้อความ | ต้องระบุ |
หมายเลขโทรศัพท์ในรูปแบบต่อไปนี้ "[+][ เช่น "+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:
{ "@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", // Country code (+1) is required "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
ข้อความ ต้องระบุ ประเภทฟีด
Service
: ใช้ประเภทนี้กับฟีดบริการที่ใช้งานอยู่ทั้งหมดDisabledService
: ใช้ประเภทนี้เฉพาะเมื่อต้องปิดใช้เอนทิตีบริการเนื่องจากเหตุการณ์ที่ไม่คาดคิด และคุณไม่ทราบว่าบริการจะได้รับการสร้างขึ้นใหม่เมื่อใด@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
ไม่บังคับ เวลาที่จะลบล้าง
OpeningHoursSpecification
หรือเวลาในการนำส่งที่ทั่วไปมากกว่า โดยปกติแล้ว คุณจะใช้ฟิลด์นี้เพื่อกำหนดวันหยุดและการปิดชั่วคราวหรือการเปลี่ยนแปลงเวลาทำการประเภทอื่นๆกําหนดช่วงวันที่พิเศษโดยใช้พร็อพเพอร์ตี้
validFrom
และvalidThrough
ต้องระบุเวลาและเขตเวลาเมื่อระบุพร็อพเพอร์ตี้เหล่านี้offers
อาร์เรย์ของ Offer
มีเงื่อนไข รายละเอียดเกี่ยวกับบริการจัดส่งของร้านอาหารที่ระบุ ช่องนี้จะระบุหรือไม่ก็ได้โดยค่าเริ่มต้น แต่ต้องระบุหาก
serviceType
เป็น "DELIVERY"พร็อพเพอร์ตี้
Offer.priceSpecification
เป็นพร็อพเพอร์ตี้ที่ไม่บังคับในบริการ ไม่มีการเรียกใช้พร็อพเพอร์ตี้Offer
อื่นๆ ที่นี่hasOfferCatalog
[ Menu
, OfferCatalog]ต้องระบุ ระบุเมนูสําหรับบริการนี้ คุณมีเมนูที่แตกต่างกันสำหรับบริการแต่ละอย่างได้ (เช่น บริการจัดส่ง สั่งกลับบ้าน และบริการจัดเลี้ยง)
คุณต้องระบุทั้ง
Menu
และOfferCatalog
สำหรับประเภท เช่น "hasOfferCatalog": { "@type": ["Menu", "OfferCatalog"], "@id": "https://www.provider.com/restaurant/menu/1" }additionalProperty
อาร์เรย์ของ {name, value} ไม่บังคับ ข้อมูลการกําหนดค่าบริการที่ไม่บังคับ รายการควรเป็นออบเจ็กต์ที่มีคีย์
name
ซึ่งสอดคล้องกับชื่อช่องที่ไม่บังคับ คีย์value
คือค่าที่เกี่ยวข้องกับบริบทของฟิลด์ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อและค่าที่เฉพาะเจาะจงได้ในข้อมูลอ้างอิง
ServingConfig
"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/restaurant-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 น. และเวลาปิดเป็น 02:00 น. ระบบจะตีความว่าร้านอาหารปิดให้บริการในวันที่ 2 มกราคม เวลา 02:00 น.ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ของประเภท
ServiceDeliveryHoursSpecification
พร็อพเพอร์ตี้ ประเภท ความจำเป็น คำอธิบาย @type
ข้อความ ต้องระบุ ซึ่งจะเป็น "ServiceDeliveryHoursSpecification" เสมอ validFrom
DateTime
ไม่บังคับ วันที่และเวลา (รวมถึงเขตเวลา) ที่ดำเนินการตามคำสั่งซื้อ "โดยเร็วที่สุด" ของผู้ใช้ได้ เช่น "2017-05-01T07:00:00-07:00" หากไม่ได้ตั้งค่าพร็อพเพอร์ตี้นี้ ระบบจะถือว่าใช้ได้ทุกวัน
ดูข้อมูลเพิ่มเติมได้ที่รูปแบบ DateTime และเวลา
validThrough
DateTime
ไม่บังคับ วันที่และเวลา (รวมถึงเขตเวลา) หลังจากสั่งซื้อแล้ว ผู้ใช้จะไม่สามารถสั่งซื้อแบบด่วนได้ เช่น "2017-05-01T07:00:00-07:00" หากไม่ได้ตั้งค่าพร็อพเพอร์ตี้นี้ ระบบจะถือว่าใช้ได้ทุกวัน
เวลาของ
validThrough
จะไม่รวมเวลาของรายการอื่นๆ ตัวอย่างเช่น หากตั้งค่าเวลาเป็น 18:00 น. เวลาดังกล่าวจะใช้งานได้จนถึง 17:59:59 น.ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา
opens
Time
ไม่บังคับ เวลาเริ่มต้นบริการนำส่งสำหรับคำสั่งซื้อ "โดยเร็วที่สุด" ของผู้ใช้ เช่น "T10:30:00"
โดยต้องระบุเวลาเป็นเขตเวลาท้องถิ่นของบริการ อย่าระบุเขตเวลาในค่า
opens
หากมีการระบุเขตเวลา Google จะละเว้นข้อมูลนี้ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา
closes
Time
ไม่บังคับ เวลาที่ไม่มีบริการนำส่งสำหรับคำสั่งซื้อ "จัดส่งหรือไปรับเองโดยเร็วที่สุด" ของผู้ใช้อีกต่อไป เช่น "T23:59:59"
เวลาของ
closes
จะไม่รวมเวลาของรายการอื่นๆ ดังนั้น หากคุณตั้งค่าเวลาเปิด/ปิดของServiceDeliveryHoursSpecification
นี้ไว้เป็น 10:00 น. และ 16:00 น. คำสั่งซื้อสุดท้ายจะเป็นเวลา 15:59:59 น.โดยต้องระบุเวลาเป็นเขตเวลาท้องถิ่นของบริการ อย่าระบุเขตเวลาในค่า
closes
หากมีการระบุเขตเวลา Google จะละเว้นข้อมูลนี้ดูข้อมูลเพิ่มเติมได้ที่รูปแบบวันที่และเวลา
dayOfWeek
อาร์เรย์ของ DayOfWeek
ไม่บังคับ วันของสัปดาห์ที่บริการนี้พร้อมให้บริการสำหรับคำสั่งซื้อ "โดยเร็วที่สุด" ของผู้ใช้ ค่าที่ใช้ได้มีดังนี้
- "วันจันทร์"
- "วันอังคาร"
- "Wednesday"
- "วันพฤหัสบดี"
- "Friday"
- "วันเสาร์"
- "Sunday"
หากคุณไม่ได้ระบุวันในสัปดาห์
ServiceDeliveryHoursSpecification
จะมีผลกับทุกวันdeliveryLeadTime
QuantitativeValue
ไม่บังคับ เวลานำส่งโดยประมาณเป็นนาทีเมื่อมีการสั่งซื้อ เราขอแนะนําอย่างยิ่งให้คุณตั้งค่าพร็อพเพอร์ตี้นี้ ตั้งค่าช่อง value
ของQuantitativeValue
เป็นจํานวนนาที และunitCode
เป็น "MIN"ตัวอย่างต่อไปนี้แสดงองค์ประกอบ
ServiceDeliveryHoursSpecification
{ "@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" } }, { "@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