Nguồn cấp dữ liệu danh mục thực phẩm dựa trên schema.org DataFeed
thực thể. Nguồn cấp dữ liệu danh mục món ăn bao gồm thông tin chi tiết về ngôn ngữ của nhà hàng như
địa chỉ, thực đơn và vị trí của nhà hàng, cũng như dịch vụ của nhà hàng
thông tin chi tiết như phí giao hàng, khu vực giao hàng và các mục khác như được chỉ định
bên dưới.
DataFeed
chứa một tập hợp các phần tử, mỗi phần tử đại diện cho một phần tử duy nhất
được thể hiện bằng từ vựng trên schema.org. Bạn có thể dùng DataFeed
để xuất bản tất cả dữ liệu có cấu trúc ở định dạng JSON-LD.
Để biết thông tin về cách sử dụng quy cách này nhằm xây dựng nguồn cấp dữ liệu của bạn, hãy xem Tổng quan về việc tích hợp khoảng không quảng cáo.
Định dạng DateTime và Time
DateTime
dựa trên loại schema.org,
và trừ khi có quy định khác, phải tuân theo định dạng ISO 8601 và bao gồm
ngày, giờ và múi giờ. Hãy sử dụng cú pháp sau cho DateTime
:
// DateTime format: YYYY-MM-DDTHH:MM:SS[∓HH:MM|Z]
Ví dụ:
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
là giờ địa phương của một nhà hàng cụ thể hoặc
múi giờ của vị trí dịch vụ, cũng dựa trên loại schema.org và cũng phải
tuân theo định dạng ISO 8601. Thời gian sử dụng cú pháp sau:
// Time format: THH:MM:SS
Ví dụ:
T08:08:00 // 8:08 AM
Hãy lưu ý những điều sau mỗi khi bạn chỉ định DateTime
hoặc Time
:
- Chữ "T" bắt buộc phải có tiền tố trước thời gian.
- Bạn phải chỉ định múi giờ cho
DATETIME
. Đây không phải là trường bắt buộc đối vớiTIME
. - Bạn phải chỉ định thời gian theo giờ địa phương cho nhà hàng hoặc dịch vụ.
Phong bì
Mã khởi đầu của mọi nguồn cấp dữ liệu danh mục thực phẩm đều phải chứa "phong bì" .
"phong bì" là cấu trúc cấp cao nhất của mỗi nguồn cấp dữ liệu và phải là
DataFeed
với các thuộc tính sau:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@context |
URL | Bắt buộc | Bối cảnh sử dụng; thường là "http://schema.googleapis.com". |
@type |
Văn bản | Bắt buộc | Đó luôn là "DataFeed". |
dateModified |
DateTime |
Bắt buộc |
Ngày và giờ ở định dạng ISO_OFFSET_DATE_TIME mà các mục trong nguồn cấp dữ liệu này đã được sửa đổi. Khi không có trường này, trường này được giả định thời gian cập nhật đó là thời điểm nhận được thông báo đẩy (hoặc quá trình thu thập dữ liệu) tại các máy chủ của Google. Chúng tôi đặc biệt khuyên bạn nên triển khai phương thức này nếu bạn đang sử dụng cả và thu thập thông tin cùng nhau. Bạn phải chỉ định dấu thời gian này bằng một múi giờ và độ chi tiết (mili giây); ví dụ: "2016-12-28T06:30:00:123-07:00". Trong nguồn cấp dữ liệu hàng loạt của bạn,
thực thể
phiên bản được xác định thông qua |
dataFeedElement |
Mảng Menu hoặc
Restaurant
hoặc Service |
Bắt buộc | Một hoặc nhiều mặt hàng thuộc nguồn cấp dữ liệu này. Xem bên dưới để biết chi tiết. |
Ví dụ sau đây cho thấy phong bì:
Ví dụ:
{ "@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
Để sử dụng loại này, hãy thêm ngữ cảnh gs1:
"@context": ["http://gs1.org/voc/", "http://schema.org"]
Sau đó, hãy thêm FoodBeverageTobaccoProduct
vào loại MenuItem
thích hợp
hoặc MenuItemOption
.
Bảng sau đây mô tả các thuộc tính của loại AdditiveDetails
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "AdditiveDetails". |
additiveName |
Văn bản | Không bắt buộc | Tên chất phụ gia. |
additiveLevelOfContainment |
Văn bản | Không bắt buộc | Mã vùng chứa mỗi
gs1:levelOfContainermentCode.
Ví dụ: http://gs1.org/voc/LevelOfContainmentCode-CONTAINS ,
http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM hoặc
http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN . |
Ví dụ sau đây minh hoạ cách sử dụng loại 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
Một món ăn hoặc đồ uống được liệt kê trong mục trong trình đơn bổ sung của MenuItem
.
Bảng sau đây liệt kê các thuộc tính của loại AddOnMenuItem
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "AddOnMenuItem". |
@id |
URL | Bắt buộc | Giá trị nhận dạng duy nhất của mục trong trình đơn tiện ích bổ sung. |
name |
Văn bản | Bắt buộc | Văn bản xác định AddOnMenuItem khi người dùng đang duyệt qua . |
description |
Văn bản | Không bắt buộc | Nội dung mô tả mục trong trình đơn tiện ích bổ sung. |
image |
URL | Không bắt buộc |
Hình ảnh mục trong trình đơn tiện ích bổ sung tuân thủ các nguyên tắc sau:
|
offers |
Mảng Offer |
Bắt buộc* |
Một hoặc nhiều ưu đãi để cung cấp AddOnMenuItem này. Mô tả thời điểm và mức giá bán AddOnMenuItem này.
Chỉ một ưu đãi có hiệu lực tại một thời điểm cụ thể. Bạn có thể có
nhiều ưu đãi hợp lệ nếu giá hoặc tình trạng còn hàng có thể thay đổi dựa trên
thời gian trong ngày. Khi tiện ích bổ sung hoặc mặt hàng khác nhau thông qua thuộc tính cơ sở
hoặc biến thể của chính tiện ích bổ sung (như nhỏ, trung bình và lớn)
khoai tây chiên làm tiện ích bổ sung), hãy sử dụng Giá trị mặc định cho Các thuộc tính
|
hasMenuItemOptions |
Mảng MenuItemOption |
Bắt buộc* |
Mảng gồm các thuộc tính cơ sở mô tả một biến thể của mục tiện ích bổ sung (chẳng hạn như các món khoai tây chiên nhỏ, vừa và lớn làm món ăn kèm) mục trong trình đơn tiện ích bổ sung. Sử dụng các tuỳ chọn để chỉ định các biến thể khác nhau có sẵn cho mục trong trình đơn tiện ích bổ sung này. Có hai tình huống trong đó việc này có thể xảy ra:
|
suitableForDiet |
Mảng RestrictedDiet |
Không bắt buộc | Món ăn tuân thủ quy định hạn chế về chế độ ăn được mô tả (chẳng hạn như "Không có gluten" hoặc "VeganDiet"). Đây là danh sách liệt kê có thể giá trị. |
nutrition |
NutritionInformation |
Không bắt buộc | Thông tin dinh dưỡng của món ăn, đáng chú ý nhất là lượng calo. |
menuAddOn |
Mảng AddOnMenuSection |
Không bắt buộc | AddOnMenuItem có thể có một mục trình đơn gồm các mục được phép có thể thêm vào dưới dạng tiện ích bổ sung. |
Ví dụ sau đây minh hoạ AddOnMenuItem
:
Ví dụ 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" } } ] }
Ví dụ 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
Một nhóm nhỏ các đồ ăn hoặc đồ uống dưới dạng mục thực đơn bổ sung cho mục trong trình đơn.
Bảng sau đây liệt kê các thuộc tính của loại AddOnMenuSection
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "AddOnMenuSection". |
@id |
URL | Bắt buộc | Giá trị nhận dạng duy nhất của mục trong thực đơn. |
name |
Văn bản | Bắt buộc | Văn bản có thể xác định AddOnMenuSection khi người dùng đang duyệt qua . |
description |
Văn bản | Không bắt buộc | Nội dung mô tả về danh mục món ăn trong thực đơn. |
eligibleQuantity |
QuantitativeValue |
Không bắt buộc | Cho biết số lượng mục được phép làm tiện ích bổ sung cho trình đơn này . Bạn có thể sử dụng trường này để hạn chế số lượng tiện ích bổ sung, chẳng hạn như số lượng lớp phủ tối thiểu và tối đa bạn có thể chọn trên một chiếc bánh pizza. |
image |
URL | Không bắt buộc | Hình ảnh thực đơn. |
hasMenuItem |
Mảng AddOnMenuItem |
Bắt buộc* | Các mục trong trình đơn của tiện ích bổ sung có trong AddOnMenuSection. |
offers |
Mảng Offer |
Không bắt buộc |
Sử dụng Trang thông tin bên dưới cho biết
|
hasMenuSection |
Mảng AddOnMenuSection |
Bắt buộc* | Phân nhóm con hợp lý của thực đơn bổ sung (như Bữa tối, Món khai vị hoặc Món cá). |
defaultOption |
Mảng AddOnMenuItem |
Không bắt buộc |
Các mục trong trình đơn tiện ích bổ sung sẽ được chọn sẵn theo mặc định cho người dùng trong
Các đối tượng Không được vượt quá số lượng |
numberOfFreeAddOns |
Số | Không bắt buộc | Cho biết số lượng tiện ích bổ sung mà người dùng có thể chọn miễn phí. |
Ví dụ về các đối tượng AddOnMenuSection
:
Ví dụ 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" } } ] }
Ví dụ 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 } }
Ví dụ 3
"Cheese Sandwich" mục trong thực đơn có mục "Lựa chọn phô mai"
AddOnMenuSection
có sự góp mặt của "Thuỵ Sĩ" và "Mozzarella" chọn sẵn
làm mặc định.
{ "@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
Thể hiện giờ thực hiện đơn hàng để người dùng lên lịch đặt hàng trước cho giao hàng và mua mang đi.
Thông thường, giá trị của opens
nhỏ hơn giá trị của closes
. Chiến lược phát hành đĩa đơn
những nguyên tắc sau đây sẽ áp dụng khi bạn sử dụng thuộc tính opens
và closes
:
- Các thuộc tính
opens
vàcloses
là không bắt buộc đối vớiAdvanceServiceDeliveryHoursSpecification
, nhưng chúng tôi đặc biệt khuyên bạn hãy thêm chúng. - Bạn phải chỉ định thời gian bằng giờ địa phương cho dịch vụ. Không bao gồm
múi giờ bằng giá trị
opens
hoặccloses
. Các múi giờ đã chỉ định sẽ bị bỏ qua. - Nếu
opens
vàcloses
không được chỉ định rõ ràng, chúng tôi sẽ giả định rằng hoạt động đặt hàng mọi lúc, mọi nơi. - Nếu
opens
vàcloses
giống nhau thì chúng tôi giả định rằng thứ tự trước là không có sẵn. - Nếu
opens
lớn hơncloses
, giờ đóng cửa được hiểu là ngày hôm sau. Ví dụ: nếu giờ mở cửa được đặt là ngày 1 tháng 1 lúc 5 giờ chiều và giờ đóng cửa là 2 giờ sáng, vì vậy nhà hàng được hiểu là đóng cửa vào lúc 2 giờ sáng ngày 2 tháng 1. opens
vàcloses
là khung thời gian trong tương lai.closes
là giá trị độc quyền. Cho ví dụ: nếuopens
là 10 giờ sáng vàcloses
là 4 giờ chiều vớiserviceTimeInterval
15 phút, sau đó khoảng thời gian đầu tiên bắt đầu từ 10 giờ sáng và lần cuối cùng khung giờ bắt đầu lúc 3:45 chiều.
Bảng sau đây mô tả các thuộc tính của
Loại AdvanceServiceDeliveryHoursSpecification
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Giá trị này luôn là "AdvanceServicedeliveryHoursSpecification". |
validFrom |
DateTime |
Câu lệnh có điều kiện |
Ngày bắt đầu mà người dùng đơn đặt hàng trước có thể đã thực hiện. Ví dụ: "2017-05-01T00:00:00-07:00". Nếu bạn không đặt thuộc tính này, thì thuộc tính này được coi là hợp lệ hằng ngày.
Các thuộc tính Nếu loại này được chỉ định là
Để biết thêm thông tin, hãy xem Định dạng DateTime và Time. |
validThrough |
DateTime |
Không bắt buộc |
Ngày kết thúc mà sau đó người dùng đơn đặt hàng trước không thể được nữa đã thực hiện. Ví dụ: "2018-12-01T00:00:00-07:00". Nếu bạn không đặt thuộc tính này, thì thuộc tính này được coi là hợp lệ hằng ngày.
Các thuộc tính Nếu loại này được chỉ định là
Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
opens |
Time |
Không bắt buộc |
Áp dụng cho khung giờ giao hàng hoặc mua mang đi. Thời gian cụ thể trong ngày bắt đầu từ thời điểm người dùng bắt đầu đơn đặt hàng trước có thể sẽ được thực hiện. Ví dụ: 6:30 SA được thay bằng "T06:30:00". Bạn phải chỉ định thời gian bằng giờ địa phương cho dịch vụ bảo dưỡng. Không bao gồm
múi giờ trong giá trị Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
closes |
Time |
Không bắt buộc |
Áp dụng cho khung giờ giao hàng hoặc mua mang đi. Thời gian cụ thể trong ngày mà sau đó người dùng đơn đặt hàng trước không thể
sẽ được thực hiện. Ví dụ: 9:00 PM được gán là "T21:00:00".
Bạn phải chỉ định thời gian bảo dưỡng theo giờ địa phương. Không nên
hãy đưa múi giờ vào giá trị Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
dayOfWeek |
Mảng DayOfWeek |
Không bắt buộc |
Những ngày trong tuần có cung cấp giờ giao hàng trước. Hợp lệ là:
Nếu bạn không chỉ định bất kỳ ngày nào trong tuần, thì
|
serviceTimeInterval |
Duration |
Bắt buộc |
Khoảng thời gian giữa hai lần dịch vụ liên tiếp. Ví dụ: Nếu Bạn phải chỉ định |
advanceBookingRequirement |
QuantitativeValue |
Bắt buộc |
Số phút kể từ thời điểm đặt hàng khi có thể đặt hàng trước đã thực hiện.
Ví dụ: nếu một đơn đặt hàng trước cần ít nhất 60 phút để
đã thực hiện đơn hàng, đồng thời bị hạn chế thực hiện đơn hàng quá 2 ngày
sau đó, giá trị |
Ví dụ sau đây minh hoạ việc sử dụng
Loại AdvanceServiceDeliveryHoursSpecification
:
Ví dụ 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
Để sử dụng loại này, hãy thêm ngữ cảnh gs1:
"@context": ["http://gs1.org/voc/", "http://schema.org"]
Sau đó, hãy thêm FoodBeverageTobaccoProduct
vào loại MenuItem
thích hợp
hoặc MenuItemOption
.
Bảng sau đây mô tả các thuộc tính của loại AllergenDetails
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Tên luôn là "AllergenDetails". |
allergenType |
Văn bản | Không bắt buộc | Loại chất gây dị ứng trên
gs1:AllergenTypeCode
Ví dụ: http://gs1.org/voc/AllergenTypeCode-PEANUTS .
|
allergenLevelOfContainmentCode |
Văn bản | Không bắt buộc | Mã vùng chứa mỗi
gs1:levelOfContainermentCode.
Ví dụ: http://gs1.org/voc/LevelOfContainmentCode-CONTAINS ,
http://gs1.org/voc/LevelOfContainmentCode-FREE_FROM hoặc
http://gs1.org/voc/LevelOfContainmentCode-MAY_CONTAIN .
|
Ví dụ sau đây minh hoạ cách sử dụng loại 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" } ] },
DeliveryChargeSpecifying
Bảng sau đây mô tả các thuộc tính của
Loại DeliveryChargeSpecification
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Giá trị này luôn là "deliveryChargeSpecification". |
@id |
URL | Không bắt buộc | Giá trị nhận dạng cho quy cách phí giao hàng. |
price |
Số | Bắt buộc | Tổng chi phí giao hàng dưới dạng giá trị số. Sử dụng
Thuộc tính priceCurrency để biểu thị loại đơn vị tiền tệ
thay vì ký hiệu tiền tệ. Ví dụ: "6.00" không có đơn vị tiền tệ
. |
priceCurrency |
Văn bản | Bắt buộc | Mã tiền tệ ISO 4217 gồm 3 chữ cái. Ví dụ: "USD". |
eligibleTransactionVolume |
PriceSpecification |
Không bắt buộc | Khối lượng giao dịch, theo đơn vị tiền tệ mà lượt phân phối này được thực hiện thông số tính phí là hợp lệ. Ví dụ: để cho biết mức mua tối thiểu số lượng tối đa hoặc để thể hiện rằng khách hàng có thể vận chuyển mà không mất thêm phí vượt quá một số lượng đơn đặt hàng nhất định. |
eligibleQuantity |
QuantitativeValue |
Không bắt buộc | Khoảng thời gian và đơn vị đo lường đại lượng đặt hàng mà phí giao hàng là hợp lệ. Ví dụ: điều này cho phép bạn chỉ định rằng phí vận chuyển nhất định chỉ hợp lệ cho một số lượng nhất định. |
eligibleRegion |
Mảng GeoShape hoặc
Place hoặc
GeoCircle |
Không bắt buộc | Địa điểm hoặc hình dạng địa lý/hình tròn địa lý cho(các) khu vực địa chính trị có ưu đãi hoặc quy cách phí giao hàng hợp lệ. Sử dụng bản thảo này chỉ khi phí giao hàng thay đổi theo khu vực. |
validFrom |
DateTime |
Không bắt buộc | Ngày và giờ (bao gồm cả múi giờ) khi tính phí giao hàng được chỉ định sẽ có hiệu lực. Ví dụ: "2017-05-01T06:30:00-07:00". Cho thông tin khác, xem Định dạng ngày giờ và giờ. |
validThrough |
DateTime |
Không bắt buộc | Ngày và giờ (bao gồm cả múi giờ) mà sau đó hàng được giao
khoản phí đã chỉ định không hợp lệ. Ví dụ: "2017-05-01T06:30:00-07:00".
Thời gian cho validThrough là thời gian không bao gồm: ví dụ: nếu đó
thời gian được đặt thành 6 giờ chiều, thời gian có hiệu lực đến 5:59:59 chiều.
Để biết thêm thông tin, hãy xem
Định dạng ngày giờ và giờ. |
Các ví dụ sau đây minh hoạ các phần tử DeliveryChargeSpecification
:
Ví dụ 1
"offers": { "@type":"Offer", "priceSpecification":[ { "@type": "DeliveryChargeSpecification", "price": "5.0", "priceCurrency": "USD" } ] }
Ví dụ 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 } } ]
Ví dụ 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" } } ]
Ngoài "@type": ["DeliveryChargeSpecification"]
, bạn có thể mở rộng đối tượng bằng
UnitPriceSpecification:
"@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"]
Tiện ích này cung cấp thêm hai thuộc tính bắt buộc cho phí giao hàng được tính theo tỷ lệ phần trăm.
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
referenceQuantity |
QuantitativeValue |
Bắt buộc | Số lượng tham chiếu áp dụng một mức giá nhất định. Ví dụ:
referenceQuantity giá trị 10 với unitCode là
"P1" mang lại 10% giá trị đơn đặt hàng. Chỉ unitCode "P1" là
được hỗ trợ tại thời điểm này. |
basePrice |
Số | Không bắt buộc | Phí cơ bản ngoài referenceQuantity . Cho
ví dụ: referenceQuantity /10 với unitCode
trong "P1" và basePrice /5 đô la Mỹ mang lại 5 đô la Mỹ + 10% của
giá trị đơn đặt hàng. Giá trị mặc định là "0". |
Ví dụ về phí giao hàng
Google cho phép bạn chỉ định trước nhiều loại phí cho người dùng bằng
Offer.PriceSpecification
của thực thể Dịch vụ.
Xin lưu ý rằng tính năng Đặt hàng hai đầu hiện chỉ hỗ trợ một
DeliveryChargeSpecification
. Kết hợp tất cả các loại phí vào một tài khoản duy nhất
DeliveryChargeSpecification
.
Hãy tham khảo Ví dụ về nguồn cấp dữ liệu dịch vụ để biết cách chỉ định dịch vụ giao hàng dựa trên diện tích, quãng đường và giá trị đặt hàng.
Nếu không có phí, Offer.PriceSpecification
sẽ được bỏ qua.
- Ví dụ 1: Phí giao hàng là 5% tổng phụ của giỏ hàng
- Ví dụ 2: Phí giao hàng là 5 đô la
- Ví dụ 3: Phí giao hàng là 50.000 VND + 10% tổng phụ của giỏ hàng
- Ví dụ 4: Phí giao hàng là 5 USD và phí hành lý là 0,1 USD
- Ví dụ 5: Phí giao hàng là 5% và phí tiện lợi là 2% tổng phụ của giỏ hàng
- Ví dụ 6: Phí giao hàng là 5 USD và 1 USD cho mỗi quãng đường dài 1 km bổ sung
Ví dụ 1
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
Ví dụ 2
priceSpecification [ { "@type": ["DeliveryChargeSpecification"], "priceCurrency": "USD", "price": "5.00" } ]
Ví dụ 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% } ]
Ví dụ 4
priceSpecification [ { "@type": ["DeliveryChargeSpecification"], "priceCurrency": "USD", "price": "5.10" //$5 + $0.1 }
Ví dụ 5
priceSpecification [ { "@type": ["DeliveryChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "7.00", // 5% + 2% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" }, ]
Ví dụ 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
Bảng sau đây mô tả các thuộc tính của loại GeoCircle
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Tên này luôn là "GeoArc". |
geoMidpoint |
GeoCoordinates |
Bắt buộc | Cho biết GeoCoordinates ở giữa
GeoCircle |
geoRadius |
Số | Bắt buộc | Cho biết bán kính gần đúng (tính bằng mét) của
GeoCircle . |
Ví dụ sau đây cho thấy phần tử GeoCircle
:
Ví dụ:
{ "@type": "GeoCircle", "geoMidpoint": { "@type": "GeoCoordinates", "latitude": "37.7392607", "longitude": "-122.3895522" }, "geoRadius": "4505" }
GeoCoordins
Bảng sau đây mô tả các thuộc tính của loại GeoCoordinates
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Cơ chế này luôn là "GeoFunnels". |
latitude |
Số | Bắt buộc |
Vĩ độ tính bằng độ. Các giá trị được giới hạn trong phạm vi từ -90 đến 90, dành cho tất cả mọi người. Nếu giá trị được chỉ định nhỏ hơn -90, thì giá trị được đặt thành -90; nếu giá trị lớn hơn 90, được đặt thành 90. Giá trị này phải có ít nhất 5 chữ số thập phân. |
longitude |
Số | Bắt buộc |
Kinh độ tính bằng độ. Các giá trị nằm ngoài phạm vi từ -180 đến 180 là được gói để chúng nằm trong phạm vi. Ví dụ: giá trị là -190 được chuyển đổi thành 170. Giá trị 190 được chuyển đổi thành -170. Chiến dịch này phản ánh thực tế là kinh độ bao quanh hình ảnh địa cầu. Giá trị này phải có ít nhất 5 chữ số thập phân. |
Ví dụ sau đây cho thấy phần tử GeoCoordinates
:
Ví dụ:
"geo": { "@type": "GeoCoordinates", "latitude": "35.7392607", "longitude": "-120.3895522" }
GeoShape
Bảng sau đây mô tả các thuộc tính của loại GeoShape
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Thuộc tính này luôn là "GeoShape". |
polygon |
Mảng văn bản | Bắt buộc |
Một đa giác hoặc nhiều đa giác được biểu diễn dưới dạng một chuỗi gồm ba không gian trở lên các điểm được phân cách. Điểm đầu tiên và điểm cuối cùng nên tương tự, nhưng không bắt buộc. Mỗi điểm trong một đa giác hoặc đa đa giác được xác định bằng một điểm có vĩ độ theo sau là một điểm kinh độ. Bạn cũng phải chỉ định các điểm trong ngược chiều kim đồng hồ. Trong hầu hết các trường hợp, bạn sẽ có một đa giác đơn. Để sử dụng phức tạp hơn trường hợp, hãy xem Tài liệu về khu vực kinh doanh giao hàng. |
Các ví dụ sau đây minh hoạ các phần tử GeoShape
:
Ví dụ 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" },
Ví dụ 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”] },
Ví dụ 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" } ], ... },
Trình đơn
Bảng sau đây liệt kê các thuộc tính của loại Menu
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "Trình đơn". |
@id |
URL | Bắt buộc | Giá trị nhận dạng duy nhất của thực đơn. |
name |
Văn bản | Không bắt buộc | Văn bản có thể xác định Menu khi người dùng đang duyệt qua
. |
description |
Văn bản | Không bắt buộc | Nội dung mô tả thực đơn. |
disclaimer |
MenuDisclaimer |
Không bắt buộc | Tuyên bố từ chối trách nhiệm cho trình đơn. Ví dụ: thông tin công bố về thông tin dinh dưỡng và tiết lộ về chất gây dị ứng. |
hasMenuSection |
Một đối tượng hoặc mảng MenuSection |
Không bắt buộc | Phân nhóm hợp lý thực đơn (như Bữa tối, Món khai vị hoặc Cá) món ăn). |
hasMenuItem |
Một đối tượng hoặc mảng MenuItem |
Không bắt buộc | MenuItem đối tượng có trong Menu ,
thường khi Menu không được chia nhỏ theo
MenuSections . |
inLanguage |
Văn bản | Không bắt buộc | Ngôn ngữ của nội dung trình đơn, dưới dạng mã ngôn ngữ từ Tiêu chuẩn BCP 47 của IETF. Ví dụ: "en-US". |
Các ví dụ sau đây minh hoạ cách sử dụng loại Menu
:
Ví dụ 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" }
Ví dụ 2
Ví dụ này cho thấy hasMenuItem
dưới dạng một mảng.
{ "@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" } } ] }
Ví dụ 3
Ví dụ này cho thấy hasMenuSection
dưới dạng một mảng.
{ "@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" } } } ] }
Để biết thêm ví dụ về các thực thể Menu
, hãy xem
Ví dụ về nguồn cấp dữ liệu nhà hàng và thực đơn.
MenuDisclaimer
Bảng sau đây liệt kê các thuộc tính của loại MenuDisclaimer
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Thông tin này luôn là "Menudisclaimer". |
@id |
URL | Bắt buộc | Giá trị nhận dạng duy nhất cho tuyên bố từ chối trách nhiệm trên thực đơn. |
text |
Văn bản | Bắt buộc | Văn bản tuyên bố từ chối trách nhiệm. Ví dụ: "Năng lượng trung bình hằng ngày của người lớn lượng tiêu thụ là 8700 kJ". |
url |
URL | Không bắt buộc | URL trỏ đến một trang cung cấp thêm thông tin chi tiết về tuyên bố từ chối trách nhiệm. |
Ví dụ sau đây minh hoạ cách sử dụng loại MenuDisclaimer
:
Ví dụ:
{ "@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
Mục trong trình đơn thể hiện mục trong trình đơn. Bảng sau đây liệt kê
thuộc tính của loại MenuItem
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "MenuItem". |
@id |
URL | Bắt buộc | Giá trị nhận dạng duy nhất của món trong thực đơn. |
name |
Văn bản | Bắt buộc | Văn bản có thể xác định MenuItem khi người dùng đang duyệt web
trình đơn. |
description |
Văn bản | Không bắt buộc | Nội dung mô tả về món trong trình đơn. |
image |
URL | Không bắt buộc |
Hình ảnh của món trong thực đơn. Hãy áp dụng các nguyên tắc về hình ảnh sau đây:
|
menuAddOn |
Mảng AddOnMenuSection |
Không bắt buộc | Các mục trong một mục trong trình đơn mà bạn có thể thêm vào dưới dạng tiện ích bổ sung mục trong trình đơn. |
offers |
Mảng Offer |
Bắt buộc* |
Một hoặc nhiều lời đề nghị cung cấp Trang thông tin bên dưới cho biết
|
hasMenuItemOptions |
Mảng MenuItemOption |
Bắt buộc | Danh sách các lựa chọn/biến thể cơ sở cho mục trong trình đơn này. Các tuỳ chọn phải là dùng để chỉ định các biến thể cơ sở khác nhau có sẵn cho mặt hàng, cho như nhỏ, trung bình và lớn. |
suitableForDiet |
Mảng RestrictedDiet |
Không bắt buộc | Món ăn tuân thủ quy định hạn chế về chế độ ăn được mô tả (chẳng hạn như "http://schema.org/GlutenFreeDiet" hoặc "http://schema.org/VeganDiet". Chiến dịch này là một danh sách liệt kê các giá trị có thể có. |
nutrition |
NutritionInformation |
Không bắt buộc | Thông tin dinh dưỡng của món ăn, đáng chú ý nhất là lượng calo. |
hasAllergen |
AllergenDetails |
Không bắt buộc | Số chất gây dị ứng của món ăn trên gs1:AllergenDetails .
Thêm ngữ cảnh gs1 để sử dụng thuộc tính này: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
Và thêm FoodBeverageTobaccoProduct vào loại của
MenuItem |
additive |
Mảng AdditiveDetails |
Không bắt buộc | Các chất bổ sung của món ăn theo gs1:AdditiveDetails .
Đây là danh sách liệt kê các giá trị có thể có. Thêm ngữ cảnh gs1 để sử dụng
thuộc tính này: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
Và thêm FoodBeverageTobaccoProduct vào loại của
MenuItem |
packaging |
PackagingDetails |
Không bắt buộc | Thông tin đóng gói và tái chế của mục trình đơn này theo
gs1:PackagingDetails .
Thêm ngữ cảnh gs1 để sử dụng thuộc tính này: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
Và thêm FoodBeverageTobaccoProduct vào loại của
MenuItem
|
Các ví dụ sau đây minh hoạ các phần tử MenuItem
:
Ví dụ 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" }
Ví dụ 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" } } ]
Ví dụ 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 -- ] } ] } ] }
Ví dụ 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" } } ] }
Ví dụ 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" } } } }
Để biết thêm ví dụ về thực thể MenuItem
, hãy xem Ví dụ về nguồn cấp dữ liệu nhà hàng và thực đơn.
MenuItemOption
Một lựa chọn để thể hiện các lựa chọn mà người dùng sẽ cần đưa ra khi chọn một món ăn hoặc món kết hợp. Người dùng phải chọn một tuỳ chọn, nếu không thứ tự bị coi là không hợp lệ. Ví dụ: chọn nhỏ, trung bình hoặc lớn trong trường hợp của một chiếc bánh pizza.
Để biết các trường hợp sử dụng mẫu của MenuItemOption
, hãy xem hướng dẫn của chúng tôi về
tuỳ chỉnh bằng MenuItemOption
.
Bảng sau đây liệt kê các thuộc tính của loại MenuItemOption
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "MenuItemOption". |
value |
PropertyValue |
Bắt buộc | PropertyValue chứa cặp tên/giá trị đại diện cho
. |
offers |
Mảng Offer |
Bắt buộc |
Một hoặc nhiều ưu đãi có thể cung cấp
Trang thông tin bên dưới cho biết
|
menuAddOn |
Array of |
Không bắt buộc | Bạn có thể thêm mục trong trình đơn dưới dạng tiện ích bổ sung được phép. Chỉ sử dụng
điều này nếu tiện ích bổ sung dành riêng cho một tuỳ chọn mục cụ thể trong trình đơn. Nếu không
cung cấp tiện ích bổ sung bằng cách sử dụng thuộc tính MenuItem .menuAddOn.
|
suitableForDiet |
Mảng RestrictedDiet |
Không bắt buộc | Danh sách liệt kê cho biết chế độ ăn mà món ăn này tuân thủ hạn chế về chế độ ăn uống được mô tả (như "http://schema.org/GlutenFreeDiet" hoặc "http://schema.org/VeganDiet"). |
nutrition |
NutritionInformation |
Không bắt buộc | Thông tin dinh dưỡng của món ăn, đáng chú ý nhất là lượng calo. |
hasAllergen |
AllergenDetails |
Không bắt buộc | Số chất gây dị ứng của món ăn trên gs1:AllergenDetails .
Thêm ngữ cảnh gs1 để sử dụng thuộc tính này: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
Và thêm FoodBeverageTobaccoProduct vào loại của
MenuItemOption
|
additive |
Mảng AdditiveDetails |
Không bắt buộc | Phụ gia món ăn tính theo gs1:AdditiveDetails .
Đây là danh sách liệt kê các giá trị có thể có. Thêm ngữ cảnh gs1 để sử dụng
thuộc tính này: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
Và thêm FoodBeverageTobaccoProduct vào loại của
MenuItemOption
|
packaging |
PackagingDetails |
Không bắt buộc | Thông tin đóng gói và tái chế của mục trình đơn này theo
gs1:PackagingDetails
Thêm ngữ cảnh gs1 để sử dụng thuộc tính này: "@context": ["http://gs1.org/voc/", "http://schema.org"] .
Và thêm FoodBeverageTobaccoProduct vào loại của
MenuItemOption
|
Ví dụ sau đây minh hoạ các phần tử MenuItemOption
:
Ví dụ 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" } } ] }
Ví dụ 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
Mục trình đơn để biểu thị một mục cụ thể trong trình đơn. Bảng sau đây
liệt kê các thuộc tính của loại MenuSection
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "MenuSection". |
@id |
URL | Bắt buộc | Giá trị nhận dạng duy nhất của mục trong thực đơn. |
name |
Văn bản | Bắt buộc | Văn bản có thể xác định MenuSection khi người dùng duyệt xem
trình đơn. |
description |
Văn bản | Không bắt buộc | Nội dung mô tả về danh mục món ăn trong thực đơn. |
hasMenuSection |
Mảng MenuSection |
Không bắt buộc | Nhóm con logic của MenuSection . Ví dụ:
Mục thực đơn bữa tối có thể có nhiều mục phụ trên thực đơn như "Gia cầm
Món ăn" hoặc "Ăn chay". |
hasMenuItem |
Mảng MenuItem |
Không bắt buộc | Các mục trong trình đơn có trong MenuSection . |
offers |
Mảng Offer |
Không bắt buộc |
Sử dụng Danh sách sau đây cho thấy những cơ sở lưu trú
|
image |
URL | Không bắt buộc | Hình ảnh thực đơn. |
Ví dụ sau đây minh hoạ các thực thể MenuSection
:
Ví dụ 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" } }
Ví dụ 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" } } ] } ]
Để biết thêm ví dụ về các thực thể MenuSection
, hãy xem
Ví dụ về nguồn cấp dữ liệu nhà hàng và thực đơn.
NutritionInformation
Bảng sau đây mô tả các thuộc tính của NutritionInformation
loại. Đơn vị đo lường có phân biệt chữ hoa chữ thường. Ví dụ: "Cal" được chấp nhận,
nhưng "cal" thì không.
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Thuộc tính này luôn là "DinhThông tin". |
description |
Văn bản | Không bắt buộc | Thông tin dinh dưỡng bằng văn bản tự do. Ví dụ: "Chứa chất bảo quản". |
calories |
Văn bản | Không bắt buộc |
Lượng calo tính theo Calo, kcal hoặc kJ, sử dụng những công thức sau định dạng: number Cal_kcal_OR_kJ Ví dụ: "240 Calo". |
carbohydrateContent |
Văn bản | Không bắt buộc |
Lượng cacbohydrat, thường tính bằng g, theo công thức sau định dạng: number g_OR_mg Ví dụ: "7 g". |
cholesterolContent |
Văn bản | Không bắt buộc |
Lượng cholesterol, thường tính bằng mg, sử dụng định dạng sau: number g_OR_mg Ví dụ: "12 mg". |
fatContent |
Văn bản | Không bắt buộc |
Lượng chất béo, thường tính bằng g, theo định dạng sau: number g_OR_mg Ví dụ: "42 g". |
fiberContent |
Văn bản | Không bắt buộc |
Số g hoặc mg sợi, sử dụng định dạng sau: number g_OR_mg |
proteinContent |
Văn bản | Không bắt buộc |
Số g hoặc mg protein, sử dụng định dạng sau: number g_OR_mg |
saturatedFatContent |
Văn bản | Không bắt buộc |
Số g hoặc mg chất béo bão hòa, sử dụng định dạng sau: number g_OR_mg |
servingSize |
Văn bản | Không bắt buộc | Khẩu phần ăn tính bằng mL, L, g hoặc kg, tuỳ theo số lượng hoặc khối lượng. |
sodiumContent |
Văn bản | Không bắt buộc |
Số mg hoặc g natri, sử dụng định dạng sau: number g_OR_mg |
sugarContent |
Văn bản | Không bắt buộc |
Số g hoặc mg đường, sử dụng định dạng sau: number g_OR_mg |
transFatContent |
Văn bản | Không bắt buộc |
Số g hoặc mg chất béo chuyển hoá, sử dụng định dạng sau: number g_OR_mg |
unsaturatedFatContent |
Văn bản | Không bắt buộc |
Lượng chất béo không bão hoà, thường tính bằng g, theo công thức sau định dạng: number g_OR_mg |
Các ví dụ sau đây minh hoạ phần tử NutritionInformation
:
Ví dụ 1
"nutrition": { "@type": "NutritionInformation", "calories": "170 Cal", "fatContent": "3 g", "fiberContent": "2 g", "proteinContent": "4 g" },
Ví dụ 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" } },
Lời đề nghị
Đề xuất cho một món trong thực đơn. Bảng sau đây mô tả các thuộc tính của
Loại Offer
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Thuộc tính này luôn là "Ưu đãi". |
sku |
Văn bản | Câu lệnh có điều kiện |
Giá trị nhận dạng duy nhất của ưu đãi. Có thể là giá trị văn bản bất kỳ duy nhất
trong Thuộc tính này chỉ được dùng trong các loại ưu đãi sau đây:
|
price |
Văn bản | Câu lệnh có điều kiện |
Giá của mặt hàng được cung cấp. Ví dụ: "6.00" không có đơn vị tiền tệ . Thuộc tính này chỉ bắt buộc trong các loại ưu đãi sau đây:
Ưu đãi này không được sử dụng trong các loại ưu đãi sau đây:
|
priceCurrency |
Văn bản | Câu lệnh có điều kiện |
Đơn vị tiền tệ (ở định dạng ISO 4217 gồm 3 chữ cái) của giá tiền hoặc đơn vị tiền tệ thành phần, khi được đính kèm vào PriceSpecification và các loại phụ của nó. Thuộc tính này chỉ bắt buộc trong các loại ưu đãi sau đây:
Ưu đãi này không được sử dụng trong các loại ưu đãi sau đây:
|
availabilityStarts |
DateTime hoặc Time |
Không bắt buộc | Ngày và giờ hoặc chỉ từ khi ưu đãi có hiệu lực. Ví dụ:nếu bánh kếp được phục vụ từ 7 giờ sáng thì giá trị của trường này có thể có dạng như sau: "2017-05-01T07:00:00-07:00". Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
availabilityEnds |
DateTime hoặc Time |
Không bắt buộc | Ngày và giờ hoặc chỉ thời gian ưu đãi không có sẵn. Chiến dịch này thời gian là điều đặc biệt. Ví dụ: nếu tình trạng còn hàng cho bánh kếp kết thúc lúc 10 giờ sáng, sau đó chiếc bánh kếp cuối cùng có thể được phục vụ lúc 9:59:59 sáng. Giá trị của thì trường này có thể có dạng như sau: "2017-05-01T10:00:00-07:00". Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
availableDay |
Mảng DayOfWeek | Không bắt buộc |
Ngày trong tuần có mặt hàng này. Các giá trị hợp lệ là:
Nếu bạn có thời gian rảnh khác nhau cho các ngày khác nhau trong tuần,
sử dụng nhiều đối tượng |
validFrom |
DateTime |
Không bắt buộc |
Ngày và giờ (bao gồm cả múi giờ) mà hành động chuyển đổi được chỉ định giá hợp lệ. Ví dụ: mì ống có giá 8 đô la Mỹ vào bữa trưa và 10 đô la Mỹ cho bữa trưa. vào bữa tối. Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. Bạn có thể sử dụng thuộc tính này trong các loại ưu đãi sau đây:
Thuộc tính này không được sử dụng trong các loại ưu đãi sau đây:
|
validThrough |
DateTime |
Không bắt buộc | Ngày và giờ (bao gồm cả múi giờ) mà sau đó giá trị được chỉ định
giá không còn hợp lệ. Ví dụ: mì ống là 8 đô la trong bữa trưa
và 10 USD cho bữa tối. Thời gian dành riêng cho Bạn có thể sử dụng thuộc tính này trong các loại ưu đãi sau đây:
Thuộc tính này không được sử dụng trong các loại ưu đãi sau đây.
|
eligibleQuantity |
QuantitativeValue | Không bắt buộc |
Số lượng đặt hàng mà mặt hàng này được phép. Ví dụ: một nhà hàng có thể yêu cầu khách hàng đặt ít nhất 10 chiếc pizza cho một của bạn. Giá trị này là không bắt buộc. Theo mặc định, không có giới hạn tối đa, nhưng mà nhà hàng có thể chỉ định. Giới hạn tối thiểu chỉ áp dụng khi người dùng chọn mục đó. Bạn có thể sử dụng thuộc tính này trong các loại ưu đãi sau đây:
Thuộc tính này không được sử dụng trong các loại ưu đãi sau đây.
|
aggregateRating |
AggregateRating | Không bắt buộc |
Xếp hạng chung, dựa trên tập hợp các bài đánh giá hoặc xếp hạng của mục. Bạn có thể sử dụng thuộc tính này trong các loại ưu đãi sau đây:
Thuộc tính này không được sử dụng trong các loại sau.
|
inventoryLevel |
QuantitativeValue | Không bắt buộc |
Cấp khoảng không quảng cáo gần đúng hiện tại của một hoặc nhiều mặt hàng. Bạn có thể sử dụng thuộc tính này trong các loại ưu đãi sau đây:
Thuộc tính này không được sử dụng trong các loại ưu đãi sau đây:
|
priceSpecification |
Mảng DeliveryChargeSpecification hoặc mảng PaymentChargeSpecification | Không bắt buộc |
Khi được sử dụng trong Bạn có thể sử dụng thuộc tính này trong các loại ưu đãi sau đây:
Thuộc tính này không được sử dụng trong các loại ưu đãi sau đây:
|
offeredBy |
Mảng Restaurant mã nhận dạng |
Không bắt buộc | Đại diện cho các nhà hàng mà Nếu bạn không chỉ định, Bạn có thể sử dụng thuộc tính này trong các loại ưu đãi sau đây:
Thuộc tính này không được sử dụng trong các loại ưu đãi sau đây:
|
applicableFulfillmentMethod |
Mảng văn bản | Không bắt buộc | Biểu thị loại dịch vụ mà Nếu bạn không chỉ định, Bạn có thể sử dụng thuộc tính này trong các loại ưu đãi sau đây:
Thuộc tính này không được sử dụng trong các loại ưu đãi sau đây:
|
@id |
URL | Không được dùng nữa | Giá trị nhận dạng duy nhất của ưu đãi. Không dùng nữa kể từ ngày 25 tháng 4 năm 2019, thay thế bằng
sku như mô tả ở trên.
|
Các ví dụ sau đây minh hoạ các phần tử Offer
:
Ví dụ 1
Ví dụ sau đây cho thấy một ưu đãi đơn giản:
{ "@type": "Offer", "@id": "https://www.provider.com/menu/74962/139/offer", "price": "10", "priceCurrency": "USD" }
Ví dụ 2
Ưu đãi trong ví dụ sau đây cho biết tình trạng còn hàng từ 8 đến 10 giờ sáng vào cuối tuần:
{ "@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. }
Ví dụ 3
Ví dụ sau đây cho biết tình trạng rảnh/bận từ 9-10:59:59 sáng vào các ngày thứ Hai, Thứ Tư và thứ Sáu, nhưng từ 8 đến 11:59:59 vào thứ Ba và thứ Năm:
{ "@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"] }
Ví dụ 4
Ví dụ sau đây cho thấy một mục tiện ích bổ sung trong thực đơn đủ điều kiện số lượng được thiết lập để người dùng có thể đặt tối đa 2 phần mục đó.:
{ "@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 } } }
Ví dụ 5
Ví dụ sau đây cho thấy một ưu đãi giao hàng tại một vị trí cụ thể:
{ "@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
Xác định thời điểm cung cấp dịch vụ đặt hàng. Thông thường, giá trị của opens
nhỏ hơn giá trị của closes
. Các nguyên tắc sau áp dụng cho việc sử dụng
Thuộc tính opens
và closes
:
- Các thuộc tính
opens
vàcloses
là không bắt buộc nhưng bạn nên biểu thị khi nào có sẵn thứ tự. Phương pháp hay nhất để xác định giờ là để bao gồm một mảngdeliveryHours
chứaServiceDeliveryHoursSpecification
với các thuộc tínhopens
vàcloses
. Bạn sau đó có thể đưa đối tượngAdvanceServiceDeliveryHoursSpecification
vào trongdeliveryHours
với các thuộc tínhopens
vàcloses
riêng, nếu bạn muốn cung cấp một khung thời gian hạn chế cho khách đặt hàng trước. - Nếu
opens
vàcloses
không được chỉ định rõ ràng, chúng tôi sẽ giả định rằng thứ tự dịch vụ luôn sẵn sàng hỗ trợ vào mọi thời điểm trong ngày. - Bạn phải chỉ định thời gian bằng giờ địa phương cho dịch vụ. Không bao gồm
múi giờ bằng giá trị
opens
hoặccloses
. Nếu múi giờ được chỉ định, Google sẽ bỏ qua thông tin này. - Nếu
opens
vàcloses
giống nhau, thì chúng tôi giả định rằng nhà hàng này mở trong 0 phút. - Nếu
opens
lớn hơncloses
, giờ đóng cửa được hiểu là ngày hôm sau. Ví dụ: nếu giờ mở cửa được đặt là ngày 1 tháng 1 lúc 5 giờ chiều và giờ đóng cửa là 2 giờ sáng, thì nhà hàng được hiểu là đóng cửa lúc 2 giờ sáng ngày 2 tháng 1. closes
là thời gian độc quyền. Do đó, nếu thời gian mở và đóng cửa cho cửa sổ đặt hàng này được đặt lần lượt là 10 giờ sáng và 4 giờ chiều, sau đó đặt đơn đặt hàng là 3:59:59 CH.
Bảng sau đây mô tả các thuộc tính của OpeningHoursSpecification
loại:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Giá trị này luôn là "openingHoursSpecification". |
@id |
URL | Không bắt buộc | Giá trị nhận dạng của OpeningHoursSpecification . |
dayOfWeek |
Mảng DayOfWeek |
Không bắt buộc |
Ngày trong tuần mà những giờ mở cửa này hợp lệ. Có thể chấp nhận giá trị là "Thứ Hai", "Thứ Ba", "Thứ Tư", "Thứ Năm", "Thứ Sáu", "Thứ Bảy" và "Chủ Nhật". Ví dụ: "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ] Nếu bạn không chỉ định bất kỳ ngày nào trong tuần, thì
|
opens |
Time |
Không bắt buộc |
Khi được dùng trong thông số kỹ thuật Khi được dùng trong thông số kỹ thuật Bạn phải chỉ định thời gian bằng giờ địa phương cho dịch vụ. Không nên
hãy đưa múi giờ vào giá trị Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
closes |
Time |
Không bắt buộc |
Khi được sử dụng trong thông số kỹ thuật Bạn phải chỉ định thời gian bằng giờ địa phương cho dịch vụ. Không nên
hãy đưa múi giờ vào giá trị Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
validFrom |
DateTime |
Không bắt buộc |
Khi được dùng trong thông số kỹ thuật Ví dụ: nếu giờ làm việc áp dụng cho cả năm 2017, bạn đặt
đặt Khi được dùng trong thông số kỹ thuật Nếu bạn không chỉ định tài sản này trong nguồn cấp dữ liệu, Google sẽ giả định rằng Nhà hàng hoặc Dịch vụ phục vụ hằng ngày. Ngoài ngày, giờ và các phần múi giờ của là giá trị bắt buộc. Đối với múi giờ, hãy sử dụng múi giờ của Nhà hàng hoặc Dịch vụ. Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
validThrough |
DateTime |
Không bắt buộc |
Khi được sử dụng trong Ví dụ: nếu giờ làm việc áp dụng cho cả năm 2017, bạn đặt
đặt Khi được dùng trong thông số kỹ thuật Nếu bạn không chỉ định tài sản này trong nguồn cấp dữ liệu, Google sẽ giả định rằng Nhà hàng hoặc Dịch vụ phục vụ hằng ngày. Ngoài ngày, giờ và các phần múi giờ của Bạn phải nhập ngày giờ. Đối với múi giờ, hãy sử dụng múi giờ của Nhà hàng hoặc Dịch vụ.
Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
deliveryHours |
Mảng ServiceDeliveryHoursSpecification hoặc mảng
AdvanceServiceDeliveryHoursSpecification |
Câu lệnh có điều kiện |
Thông số kỹ thuật về thời gian giao hàng hoặc nhận hàng. Thông số này là bắt buộc trừ phi nhà hàng đóng cửa (nghĩa là
|
Các ví dụ sau đây minh hoạ các phần tử OpeningHoursSpecification
:
Ví dụ 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" } ] },
Ví dụ 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" } ] }
Ví dụ 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" } } },
Ví dụ 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
Thêm ngữ cảnh gs1 để sử dụng loại này: "@context": ["http://gs1.org/voc/", "http://schema.org"]
.
Sau đó thêm FoodBeverageTobaccoProduct
vào loại của MenuItem
hoặc MenuItemOption
.
Bảng sau đây mô tả các thuộc tính của loại PackagingDetails
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Thuộc tính này luôn là "PackagingDetails". |
packagingRecyclingProcessType |
Văn bản | Không bắt buộc | Loại quy trình tái chế bao bì theo
gs1:PackagingRecyclingProcessTypeCode. Ví dụ:
http://gs1.org/voc/PackagingRecyclingProcessTypeCode-RECYCLABLE
hoặc http://gs1.org/voc/PackagingRecyclingProcessTypeCode-REUSABLE
|
hasReturnablePackageDeposit |
ReturnablePackageDepositDetails |
Không bắt buộc | Chi tiết về khoản tiền đặt cọc của gói có thể trả lại mỗi gs1:ReturnablePackageBidDetails. Ví dụ: chai và lon có ký quỹ trong gói có thể trả lại. |
Ví dụ sau đây minh hoạ cách sử dụng loại 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
Bảng sau đây mô tả các thuộc tính của PaymentChargeSpecification
loại:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Giá trị này luôn là "PaymentChargeSpecification". |
@id |
URL | Không bắt buộc | Giá trị nhận dạng của PaymentChargeSpecification . |
price |
Số | Bắt buộc | Tổng số tiền của khoản phí. Ví dụ: "6.00" không có đơn vị tiền tệ . |
priceCurrency |
Văn bản | Bắt buộc | Mã tiền tệ của giá, gồm 3 chữ cái theo tiêu chuẩn ISO 4217. Ví dụ: "USD". |
eligibleTransactionVolume |
PriceSpecification |
Không bắt buộc | Số lượng giao dịch, theo đơn vị tiền tệ, được tính cho khoản thanh toán này thông số kỹ thuật hợp lệ, chẳng hạn như để cho biết số lượng giao dịch mua tối thiểu âm lượng. |
eligibleQuantity |
QuantitativeValue |
Không bắt buộc | Số lượng đặt hàng mà khoản phí thanh toán hợp lệ. Cho ví dụ: bạn có thể sử dụng thuộc tính này để yêu cầu số lượng mặt hàng tối thiểu trong một đơn đặt hàng. |
validFrom |
DateTime |
Không bắt buộc | Ngày và giờ (bao gồm cả múi giờ) xảy ra khoản phí thanh toán được chỉ định sẽ có hiệu lực. Ví dụ: "2017-05-01T07:00:00-07:00". Cho thông tin khác, xem Định dạng ngày giờ và giờ. |
validThrough |
DateTime |
Không bắt buộc | Ngày và giờ (bao gồm cả múi giờ) khi thanh toán
khoản phí đã chỉ định không hợp lệ. Ví dụ: "2017-05-01T07:30:00-07:00".
Thời gian cho validThrough là không bao gồm, ví dụ: nếu
thời gian đó được đặt thành 6 giờ chiều, thời gian có hiệu lực đến 5:59:59 chiều.
Để biết thêm thông tin, hãy xem
Định dạng ngày giờ và giờ. |
Ví dụ sau đây cho thấy một phần tử PaymentChargeSpecification:
Ví dụ:
"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 } }]
Ngoài "@type": ["PaymentChargeSpecification"]
, đối tượng này có thể là
được mở rộng bằng UnitPriceSpecification
("@type": ["PaymentChargeSpecification", "UnitPriceSpecification"]
).
Tiện ích này cung cấp thêm 2 thuộc tính bắt buộc đối với phí dịch vụ
được tính theo tỷ lệ phần trăm.
tài sản | Loại | Sự cần thiết | Mô tả |
referenceQuantity |
QuantitativeValue |
Bắt buộc | Số lượng tham chiếu áp dụng một mức giá nhất định. Ví dụ:
referenceQuantity giá trị 10 với unitCode là
"P1" mang lại 10% giá trị đơn đặt hàng. Chỉ unitCode "P1" là
hiện được hỗ trợ. |
basePrice |
Số | Không bắt buộc | Phí cơ bản ngoài referenceQuantity . Cho
ví dụ: referenceQuantity /10 với unitCode
trong "P1" và basePrice /5 bằng USD, mang lại 5 đô la + 10% của
giá trị đơn đặt hàng. Giá trị mặc định là "0". |
Ví dụ về phí mua mang đi
Google cho phép bạn chỉ định trước nhiều loại phí cho người dùng bằng
Offer.PriceSpecification
của thực thể Dịch vụ.
Xin lưu ý rằng chúng tôi hiện chỉ hỗ trợ một PaymentChargeSpecification
. Kết hợp
tất cả các loại phí vào một PaymentChargeSpecification
Nếu không có phí, Offer.PriceSpecification
sẽ được bỏ qua.
- Ví dụ 1: Phí dịch vụ là 5% tổng phụ của giỏ hàng
- Ví dụ 2: Phí dịch vụ là 5 USD
- Ví dụ 3: Phí hành lý là 0,1 USD và phí dịch vụ là 5% tổng phụ của giỏ hàng
- Ví dụ 4: Phí hành lý là 0,1 USD và phí dịch vụ là 1 USD
- Ví dụ 5: Phí dịch vụ là 5% và tiền boa bắt buộc là 10% tổng phụ của giỏ hàng
Ví dụ 1
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
Ví dụ 2
priceSpecification [ { "@type": ["PaymentChargeSpecification"], "priceCurrency": "USD", "price": "5.00" } ]
Ví dụ 3
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "5.00", // 5% "unitCode": "P1", // P1 == % }, "priceCurrency": "USD", "basePrice": "0.10" // Bag fee $0.1 } ]
Ví dụ 4
priceSpecification [ { "@type": ["PaymentChargeSpecification"], "priceCurrency": "USD", "price": "1.10" //$1 + $0.1 } ]
Ví dụ 5
priceSpecification [ { "@type": ["PaymentChargeSpecification", "UnitPriceSpecification"], "referenceQuantity": { "@type": "QuantitativeValue", "value": "15.00", // 5% + 10% "unitCode": "P1" // P1 == % }, "priceCurrency": "USD" } ]
Địa điểm
Bảng sau đây mô tả các thuộc tính của loại Place
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "Địa điểm". |
address |
PostalAddress |
Bắt buộc | Địa chỉ của một địa điểm. |
Ví dụ sau đây cho thấy một phần tử Địa điểm:
Ví dụ:
{ "@type": "Place", // area2 "address": { "@type": "PostalAddress", "postalCode": "94041", "addressCountry": "US" } },
PostalAddress (Địa chỉ bưu điện)
Bảng sau đây mô tả các thuộc tính của loại PostalAddress
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Địa chỉ này luôn là "PostalAddress". |
addressLocality |
Văn bản | Bắt buộc* | Địa phương hoặc thành phố. Ví dụ: "San Francisco". |
addressRegion |
Văn bản | Bắt buộc* | Khu vực hoặc tiểu bang. Ví dụ: "CA". |
postalCode |
Văn bản | Bắt buộc* | Mã bưu chính. Ví dụ: "94102". |
streetAddress |
Văn bản | Không bắt buộc | Địa chỉ đường phố. Ví dụ: "1600 Amphitheatre Pkwy". |
addressCountry |
Văn bản | Bắt buộc | Mã quốc gia gồm hai chữ cái theo ISO 3166-1 alpha-2 . Ví dụ: "US". |
Nhà cung cấp dịch vụ phân phối có thể liệt kê các thuộc tính này để chỉ định một Service.areaServed
nơi cung cấp dịch vụ.
Khi được dùng trong Restaurant.address
, tất cả thuộc tính được liệt kê trong
Bạn phải nhập PostalAddress
.
Ví dụ sau đây cho thấy phần tử PostalAddress
:
Ví dụ:
"address": { "@type": "PostalAddress", "streetAddress": "12345 Bar Avenue", "addressLocality": "San Francisco", "addressRegion": "CA", "postalCode": "94124", "addressCountry": "US" },
PriceSpecification
Bảng sau đây mô tả các thuộc tính của PriceSpecification
loại:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Thuộc tính này luôn là "PriceSpecification". |
@id |
URL | Không bắt buộc | Giá trị nhận dạng của PriceSpecification . |
minPrice |
Số | Không bắt buộc | Giá thấp nhất nếu giá là một khoảng. |
maxPrice |
Số | Không bắt buộc | Giá cao nhất nếu giá là một khoảng. |
priceCurrency |
Văn bản | Bắt buộc | Mã tiền tệ của giá, gồm 3 chữ cái theo tiêu chuẩn ISO 4217. Ví dụ: "USD". |
eligibleQuantity |
QuantitativeValue |
Không bắt buộc | Số lượng đặt hàng mà quy cách giá hợp lệ. Ví dụ: giá có thể là 2 đô la cho mỗi pound hoặc 2 mặt hàng cho 1 đô la. |
Ví dụ sau đây cho thấy phần tử PriceSpecification
:
Ví dụ 1
"eligibleTransactionVolume": { "@type": "PriceSpecification", "minPrice": "20.00", // Minimum order price for delivery is $20 "priceCurrency": "USD" }
PropertyValue
Cặp giá trị thuộc tính dùng để mô tả các tuỳ chọn trong MenuItemOption
.
Bảng sau đây liệt kê các thuộc tính của loại PropertyValue
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Giá trị này luôn là "PropertyValue". |
name |
Văn bản | Bắt buộc |
Tên hoặc loại lựa chọn. Sau đây là những tên hợp lệ khi dùng trong
Tên hợp lệ khi sử dụng trong
|
value |
Văn bản | Bắt buộc |
Giá trị cho tuỳ chọn. Các giá trị có thể là chuỗi bất kỳ và được hiển thị dưới dạng của chúng tôi. Sau đây là các giá trị hợp lệ:
|
QuantitativeValue
Bảng sau đây mô tả các thuộc tính của loại QuantitativeValue
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Giá trị này luôn là "QuantitativeValue". |
value |
Số | Không bắt buộc | Giá trị của giá trị định lượng hoặc nút giá trị thuộc tính. |
unitCode |
Văn bản hoặc URL | Không bắt buộc |
Đơn vị đo lường Mã chung UN/CEfact hoặc một URL. Bạn có thể sử dụng các mã không phải là Mã chung UN/CE thang kèm một tiền tố theo sau là dấu hai chấm. |
maxValue |
Số | Không bắt buộc | Giá trị trên của một số đặc điểm hoặc thuộc tính. |
minValue |
Số | Không bắt buộc | Giá trị thấp hơn của một đặc điểm hoặc thuộc tính. |
Các ví dụ sau đây minh hoạ cách sử dụng loại QuantitativeValue
:
Ví dụ 1
"deliveryLeadTime": { "@type": "QuantitativeValue", "value": "60", "unitCode": "MIN" }
Ví dụ 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 } }
Ví dụ 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 } } ]
Nhà hàng
Bảng sau đây liệt kê các thuộc tính của loại Restaurant
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Mục này luôn là "Nhà hàng". |
@id |
URL | Bắt buộc | Giá trị nhận dạng duy nhất của nhà hàng hoặc nhà cung cấp dịch vụ giao hàng. Ví dụ: "http://www.provider.com/326", trong đó "326" là giá trị nhận dạng riêng biệt của nhà hàng. |
name |
Văn bản | Bắt buộc | Văn bản có thể xác định Restaurant trong khi sắp xếp thứ tự
của chúng tôi. |
url |
URL | Bắt buộc | URL trên miền của bạn đại diện cho nhà hàng. Ví dụ: "http://www.provider.com/somerestaurant". |
sameAs |
URL | Không bắt buộc | Trang web chính thức của nhà hàng. Ví dụ: "http://www.some Xoay.com". |
email |
Văn bản | Không bắt buộc | Email liên hệ của nhà hàng. |
description |
Văn bản | Không bắt buộc | Nội dung mô tả về nhà hàng. |
telephone |
Văn bản | Bắt buộc |
Số điện thoại ở định dạng sau: "[+][country_code][phone_#_with_area_code]" Ví dụ: "+16501234567". |
priceRange |
Văn bản | Không bắt buộc | Mức giá đa dạng. Ví dụ: "$$" ($-Inexpensive, $$– Kiểm duyệt, $$$-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", // Bắt buộc phải có mã quốc gia (+1) "servesẨm thực": [ "Hợp nhất Ấn Độ-Mêhicô" ] },Ví dụ 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"} ] }Để biết thêm ví dụ về các thực thể
Restaurant
, hãy xem Ví dụ về nguồn cấp dữ liệu nhà hàng và thực đơn.
ReturnablePackageDepositDetails
Để dùng loại này, hãy thêm ngữ cảnh gs1: "@context":
["http://gs1.org/voc/", "http://schema.org"]
Sau đó, hãy thêm
FoodBeverageTobaccoProduct
vào loạiMenuItem
thích hợp hoặcMenuItemOption
.Bảng sau đây mô tả các thuộc tính của Loại
ReturnablePackageDepositDetails
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Yêu cầu này luôn là "ReturnablePackageSenderDetails". |
returnablePackageDepositAmount |
gs1:PriceSpecification |
Không bắt buộc | Số tiền đặt cọc cho mặt hàng này mỗi gs1:PriceSpecification. Ví dụ: tiền đặt cọc 0, 25 USD/lon. |
Ví dụ sau đây minh hoạ cách sử dụng ReturnablePackageDepositDetails
loại:
{ "@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" } } } },
Dịch vụ
Mô tả việc phân phối một Hành động đặt hàng hoàn chỉnh từ nhà hàng đến vị trí địa lý của tổ chức phân phối.
Bảng sau đây mô tả các thuộc tính của loại Service
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc |
Loại nguồn cấp dữ liệu.
|
@id |
URL | Bắt buộc | Giá trị nhận dạng của dịch vụ thực hiện. Ví dụ: "http://www.provider.com/service/1". |
description |
Văn bản | Không bắt buộc | Nội dung mô tả mặt hàng. |
serviceType |
Văn bản | Bắt buộc | Loại dịch vụ được cung cấp. Giá trị có thể là "DELIVERY" hoặc "GHI CHÚ". |
provider |
Restaurant |
Bắt buộc | Thông tin tham chiếu đến mã nhận dạng duy nhất của nhà hàng. Ví dụ: "http://www.provider.com/somerestaurant". |
areaServed |
Mảng GeoShape ,
Place hoặc
GeoCircle |
Câu lệnh có điều kiện | Khu vực địa lý nơi cung cấp dịch vụ. Đây là trường không bắt buộc bởi
mặc định, nhưng là bắt buộc nếu serviceType là "PHÂN PHỐI". |
hoursAvailable |
Mảng OpeningHoursSpecification |
Bắt buộc | Số giờ mà dịch vụ này hoạt động. |
specialOpeningHoursSpecification |
Mảng OpeningHoursSpecification ,
ServiceDeliveryHoursSpecification hoặc
AdvanceServiceDeliveryHoursSpecification |
Không bắt buộc |
Thời gian thay thế cho Xác định phạm vi ngày đặc biệt bằng cách sử dụng |
offers |
Mảng Offer |
Câu lệnh có điều kiện |
Thông tin chi tiết về dịch vụ giao hàng của một nhà hàng cụ thể. Chiến dịch này
trường không bắt buộc theo mặc định, nhưng bắt buộc phải có nếu Thuộc tính |
hasOfferCatalog |
[Menu , Danh sách ưu đãi] |
Bắt buộc |
Chỉ định một trình đơn cho dịch vụ này. Bạn có thể dùng một trình đơn khác cho từng dịch vụ của bạn (như mua mang đi, giao hàng và phục vụ ăn uống). Bạn phải chỉ định cả "hasOfferCatalog": { "@type": ["Menu", "OfferCatalog"], "@id": "https://www.provider.com/restaurant/menu/1" } |
additionalProperty |
Mảng {tên, giá trị} | Không bắt buộc |
Thông tin không bắt buộc về cấu hình dịch vụ. Các mục dự kiến sẽ
một đối tượng có khoá
Xem "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 | Không bắt buộc |
Chứa URL của dịch vụ giao hàng/mang đi. Dịch vụ này sẽ được dùng khi di chuyển từ trải nghiệm đặt món ăn từ đầu đến cuối để chuyển hướng. Ví dụ: "personAction": { "url": "https://fopatestagent.com/ordering/Internet-1/delivery" } |
Ví dụ sau đây minh hoạ cách sử dụng loại Dịch vụ:
Ví dụ:
{ "@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" } } ] } },
Để xem thêm ví dụ về các thực thể Dịch vụ, hãy xem Ví dụ về nguồn cấp dữ liệu dịch vụ.
ServiceDeliveryHoursSpecification
Biểu thị giờ thực hiện đơn hàng để người dùng lên lịch giao đơn đặt hàng càng sớm càng tốt và đồ ăn mang đi.
Thông thường, giá trị của opens
nhỏ hơn giá trị của closes
. Chiến lược phát hành đĩa đơn
những nguyên tắc sau đây sẽ áp dụng khi bạn sử dụng thuộc tính opens
và closes
:
- Các thuộc tính
opens
vàcloses
là không bắt buộc đối vớiServiceDeliveryHoursSpecification
, nhưng chúng tôi đặc biệt khuyên bạn bạn bao gồm chúng. - Bạn phải chỉ định thời gian bằng giờ địa phương cho dịch vụ. Không bao gồm
múi giờ bằng giá trị
opens
hoặccloses
. Nếu múi giờ được chỉ định, Google bỏ qua thông tin múi giờ. - Nếu
opens
vàcloses
không được chỉ định rõ ràng, chúng tôi sẽ giả định rằng càng sớm càng tốt hoạt động trong mọi ngày và có thể đặt hàng. - Nếu
opens
vàcloses
giống nhau thì chúng tôi giả định rằng thứ tự càng sớm càng tốt không có sẵn. - Nếu
opens
lớn hơncloses
, giờ đóng cửa được hiểu là ngày hôm sau. Ví dụ: nếu giờ mở cửa được đặt là ngày 1 tháng 1 lúc 5 giờ chiều và giờ đóng cửa là 2 giờ sáng, thì nhà hàng được hiểu là đóng cửa lúc 2 giờ sáng ngày 2 tháng 1.
Bảng sau đây mô tả các thuộc tính của
Loại ServiceDeliveryHoursSpecification
:
Thuộc tính | Loại | Sự cần thiết | Mô tả |
---|---|---|---|
@type |
Văn bản | Bắt buộc | Giá trị này luôn là "ServicedeliveryHoursSpecification". |
validFrom |
DateTime |
Không bắt buộc |
Ngày và giờ (bao gồm cả múi giờ) khi người dùng Đơn đặt hàng sớm nhất có thể đã thực hiện. Ví dụ: "2017-05-01T07:00:00-07:00". Nếu cơ sở lưu trú này là không được đặt, thì đường dẫn này được giả định là hợp lệ hằng ngày. Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
validThrough |
DateTime |
Không bắt buộc |
Ngày và giờ (bao gồm cả múi giờ) mà sau đó người dùng Đơn đặt hàng sớm nhất có thể Không thể thực hiện yêu cầu. Ví dụ: "2017-05-01T07:00:00-07:00". Nếu thuộc tính này không được đặt, sau đó thuộc tính được giả định là hợp lệ mỗi ngày.
Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
opens |
Time |
Không bắt buộc |
Thời điểm bắt đầu dịch vụ giao hàng của người dùng Đơn đặt hàng càng sớm càng tốt đã thực hiện. Ví dụ: "T10:30:00". Bạn phải chỉ định thời gian bằng giờ địa phương cho dịch vụ. Không nên
hãy đưa múi giờ vào giá trị Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
closes |
Time |
Không bắt buộc |
Thời điểm dịch vụ giao hàng cho người dùng Không còn đơn đặt hàng sớm nhất có thể sẵn có. Ví dụ: "T23:59:59".
Bạn phải chỉ định thời gian bằng giờ địa phương cho dịch vụ. Không nên
hãy đưa múi giờ vào giá trị Để biết thêm thông tin, hãy xem Định dạng ngày giờ và giờ. |
dayOfWeek |
Mảng DayOfWeek |
Không bắt buộc |
Ngày trong tuần mà người dùng có thể sử dụng dịch vụ này Đơn đặt hàng càng sớm càng tốt. Sau đây là các giá trị hợp lệ:
Nếu bạn không chỉ định bất kỳ ngày nào trong tuần, thì
|
deliveryLeadTime |
QuantitativeValue |
Không bắt buộc | Thời gian giao hàng dự kiến (tính bằng phút) sau khi đơn đặt hàng
. Bạn nên đặt thuộc tính này. Thiết lập
trường value của QuantitativeValue thành số
phút và unitCode thành "MIN". |
Ví dụ sau đây cho thấy phần tử ServiceDeliveryHoursSpecification
:
Ví dụ 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" } },
Ví dụ 2
{ "@type": "ServiceDeliveryHoursSpecification", "opens": "T08:00:00", "closes": "T17:00:00", "deliveryLeadTime": { "@type": "QuantitativeValue", "minValue": "30", "maxValue": "50", "unitCode": "MIN" } }
Enum
RestrictedDiet
Loại RestrictedDiet
có thể có các giá trị sau:
- 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
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2024-08-21 UTC.