Giản đồ kho hàng quan hệ

Trang này mô tả định dạng cho nguồn cấp dữ liệu Toàn bộ quy trình đặt hàng (Quy cách danh mục thực phẩm) mà bạn cung cấp cho Google. Để biết phiên bản thông tin này mà máy có thể đọc được, bạn có thể tải giản đồ JSON xuống.

Yêu cầu chung

Các thực thể phải được sắp xếp để nằm trên một dòng cho mỗi thực thể trong nguồn cấp dữ liệu (các thực thể được phân tách bằng ký tự dòng mới). Để dễ đọc, các ví dụ về JSON trên trang này không tuân theo cấu trúc đó. Tuy nhiên, bạn phải tuân theo cấu trúc đó khi gửi nguồn cấp dữ liệu. Ví dụ: một thực thể trình đơn phải có cấu trúc như mã sau:

{"@type": "Menu","name": "Coffee Shop A","@id": "1535"}

Mỗi thực thể "Nhà hàng" có thể có hai thực thể Dịch vụ (mỗi thực thể cho một loại dịch vụ "GIAO TẬN NHÀ" và "ĐƯA ĐI"). Mỗi thực thể "Dịch vụ" chỉ có thể có một thực thể "Trình đơn".

Bạn có thể sử dụng lại mọi thực thể phụ trên nhiều nhà hàng.

Nguyên tắc về giá trị JSON

Buộc kiểu

Loại giá trị JSON có thể khác với loại được xác định trong giản đồ, miễn là giá trị đó có thể được ép thành loại bắt buộc. Ví dụ: các thuộc tính chuỗi có thể chấp nhận cả chuỗi và giá trị số nguyên làm dữ liệu đầu vào. Tương tự, các thuộc tính số nguyên có thể chấp nhận giá trị chuỗi miễn là chuỗi có thể được phân tích cú pháp thành số nguyên hợp lệ.

Tính năng ép kiểu cũng hoạt động cho các thuộc tính lặp lại. Các thuộc tính lặp lại có thể chấp nhận giá trị dưới dạng dữ liệu đầu vào mà không cần được đặt trong dấu ngoặc []. Ví dụ: thuộc tính OperationHours.serviceId chấp nhận cả "service_id"["service_id"] làm dữ liệu đầu vào hợp lệ.

Giá trị DateTime và Time

DateTime dựa trên loại schema.org và phải tuân theo định dạng ISO 8601, bao gồm ngày, giờ và múi giờ, trừ phi có quy định khác. 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 hoặc vị trí cung cấp dịch vụ nhất định, cũng dựa trên loại schema.org và 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:

  • Tiền tố "T" trước thời gian là một phần của định dạng và là bắt buộc.
  • Bạn phải chỉ định múi giờ cho DATETIME. Không bắt buộc đối với TIME.
  • Bạn phải chỉ định thời gian theo giờ địa phương của nhà hàng hoặc dịch vụ.

Dữ liệu về nhà hàng

Nhà hàng (bắt buộc)

Một thực thể bắt buộc để triển khai. Mô tả nhà hàng.

Bảng sau đây liệt kê các thuộc tính cho loại Restaurant:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: Restaurant

@id String

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ụ: restaurant_1

name String

Bắt buộc.

Tên nhà hàng.

Ví dụ: Foo

description String

Nội dung mô tả về nhà hàng.

Ví dụ: Best seafood in town

url Url

URL đại diện cho nhà hàng. Miền của nhà hàng được ưu tiên hơn miền của trang web tổng hợp.

Ví dụ: http://www.provider.com/somerestaurant

sameAs Url

Trang web chính thức của nhà hàng.

Ví dụ: http://www.provider2.com/somerestaurant

telephone String

Số điện thoại của nhà hàng.

Ví dụ: +12345665898

streetAddress String

Bắt buộc.

Địa chỉ đường phố của nhà hàng.

Ví dụ: 12345 Bar Avenu

addressLocality String

Bắt buộc.

Thành phố hoặc địa phương.

Ví dụ: San Francisco

addressRegion String

Bắt buộc.

Khu vực hoặc tiểu bang.

Ví dụ: CA

postalCode String

Bắt buộc.

Mã bưu chính.

Ví dụ: 94124

addressCountry String

Bắt buộc.

Mã quốc gia gồm hai chữ cái theo định dạng ISO 3166-1 alpha-2.

Ví dụ: US

latitude Number

Vĩ độ tính bằng độ. Các giá trị bị giới hạn trong phạm vi [[-90, 90]]. Giá trị này phải có ít nhất 5 chữ số thập phân.

Ví dụ: 35.7392607

longitude Number

Kinh độ tính bằng độ. Các giá trị bị giới hạn ở phạm vi [[-180, 180]]. Giá trị này phải có ít nhất 5 chữ số thập phân.

Ví dụ: -120.3895522

dealId List<String>

Các Deal hiện hành của nhà hàng.

imprint String

Dấu ấn nhà hàng là một phần thông tin bổ sung về nhà hàng, chẳng hạn như tên pháp lý, địa chỉ pháp lý và số đăng ký. Bạn có thể định dạng thông tin này bằng " ".

Ví dụ:

Three Brothers Tacos
123 FooSt
Mountain View
CA 94041, United States
email: contact@threebrotherstacos.com

Commercial Register: 123456789

economicOperator String

Thông tin về Người điều hành kinh tế liên kết với nhà hàng (nếu có). Thông tin này sẽ xuất hiện trong mục Thông tin về người bán. Bạn có thể định dạng văn bản bằng cách sử dụng " ".

Ví dụ:

XYZ Corp
123 Main Street
555-555-5555

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể Nhà hàng ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

Ví dụ sau đây cho thấy một phần tử Restaurant:

Ví dụ:

{
  "@type": "Restaurant",
  "@id": "10824",
  "name": "Pronto Wood Fired Pizzeria",
  "url": "https://www.provider.com/pronto-wood-fired-pizzeria",
  "telephone": "+16503659978",
  "streetAddress": "2560 El Camino Real",
  "addressLocality": "Palo Alto",
  "addressRegion": "CA",
  "postalCode": "94061",
  "addressCountry": "US",
  "latitude": 37.472842,
  "longitude": -122.217144
}

Thỏa thuận

Các loại chiết khấu có thể áp dụng cho giỏ hàng.

Bảng sau đây liệt kê các thuộc tính cho loại Deal:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: Deal

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của thoả thuận.

Ví dụ: FREEDELIVERY

dealCode String

Bắt buộc.

Mã giao dịch duy nhất cho mỗi giao dịch của mỗi đối tác. Mã này phải xác định duy nhất thoả thuận trong hệ thống khuyến mãi của bạn. Google sẽ gửi cho bạn giá trị nhận dạng này trong trường promotions.coupon của CheckoutRequest để xác thực.

Ví dụ: ADETRE23

applicableServiceType List<ServiceType>

Dịch vụ áp dụng cho thoả thuận này. Theo mặc định, giả định một ưu đãi áp dụng cho tất cả.

eligibleMaxOrders Số nguyên

Ưu đãi này chỉ đủ điều kiện khi người dùng có ít hơn hoặc bằng số lượng đơn đặt hàng thành công trước đây.

availabilityId List<String>

Giá trị @id của các thực thể Availability (Tình trạng còn hàng) cung cấp thông tin chi tiết về thời điểm có thể sử dụng phần trình đơn.

Ví dụ: [ "availability_1" ]

isDisabled Boolean

Điều này sẽ ghi đè các quy trình kiểm tra tính hợp lệ khác.

dealType DealType

Bắt buộc.

Danh mục của ưu đãi để áp dụng chiết khấu. Danh mục này có thể là tổng giá trị của toàn bộ giỏ hàng, phí dịch vụ hoặc phí giao hàng.

priceCurrency String

Bắt buộc khi discount is defined.

Bắt buộc khi eligibleTransactionVolumeMin is defined.

Đơn vị tiền tệ (theo định dạng ISO 4217 gồm 3 chữ cái) của khoản chiết khấu.

Ví dụ: USD

eligibleTransactionVolumeMin Number

Số lượng giao dịch, tính theo đơn vị tiền tệ, mà chương trình khuyến mãi này áp dụng.

termsOfServiceUrl Url

Bắt buộc.

Tài liệu điều khoản dịch vụ mà con người có thể đọc được.

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể Ưu đãi ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

Bạn phải có đúng một trong các nhóm thuộc tính sau.
discount Nhóm 1 Number

Giá trị của mức chiết khấu dưới dạng số.

discountPercentage Nhóm 2 Number

Giá trị chiết khấu dưới dạng tỷ lệ phần trăm giá gốc.

Ví dụ sau đây cho thấy một phần tử Deal:

Ví dụ 1

{
  "@type": "Deal",
  "@id": "ONEDOLLARFEE",
  "dealCode": "THREEDOLLARFEE",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_may2020"
  ],
  "termsOfServiceUrl": "http://www.provider.com/onedollardeal",
  "applicableServiceType": [
    "TAKEOUT"
  ],
  "discount": 3,
  "priceCurrency": "USD"
}

Ví dụ 2

{
  "@type": "Deal",
  "@id": "10PERCOFF",
  "dealCode": "10PERCOFF",
  "dealType": "CART_OFF",
  "availabilityId": [
    "availability_weekdays_evening"
  ],
  "termsOfServiceUrl": "http://www.provider.com/deal",
  "discountPercentage": 10,
  "priceCurrency": "USD"
}

Ví dụ 3

{
  "@type": "Deal",
  "@id": "FREEDELIVERY",
  "dealCode": "FREEDELIVERY",
  "dealType": "DELIVERY_OFF",
  "availabilityId": [
    "availability_may"
  ],
  "applicableServiceType": [
    "DELIVERY"
  ],
  "termsOfServiceUrl": "http://www.provider.com/free_delivery_deal",
  "discountPercentage": 100,
  "eligibleTransactionVolumeMin": 25,
  "priceCurrency": "USD"
}

Dữ liệu dịch vụ

Dịch vụ (bắt buộc)

Mô tả thông tin chi tiết về dịch vụ đặt món ăn của một nhà hàng. Service là một thực thể bắt buộc phải triển khai.

Bảng sau đây liệt kê các thuộc tính cho loại Service:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: Service

@id String

Bắt buộc.

Giá trị nhận dạng cho dịch vụ thực hiện đơn hàng.

Ví dụ: service_1

serviceType ServiceType

Bắt buộc.

Loại dịch vụ được cung cấp. Giá trị có thể là "DELIVERY" (GIAO TẬN NHÀ) hoặc "TAKEOUT" (ĐẶT ĐỒ ĂN MANG VỀ).

Ví dụ: DELIVERY

restaurantId String

Bắt buộc.

Giá trị @id của thực thể Nhà hàng tương quan với thực thể Dịch vụ này.

Ví dụ: restaurant_1

menuId String

Bắt buộc.

Giá trị @id của thực thể Trình đơn tương quan với thực thể Dịch vụ này.

Ví dụ: menu_1

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu về thực thể Dịch vụ ở định dạng dấu thời gian ISO.

Ví dụ: 2017-01-02T00:00:00-07:00

isDisabled Boolean

Cho biết thực thể có bị tắt hay không. Chỉ sử dụng loại này khi bạn phải tắt thực thể do một sự kiện không mong muốn và bạn không biết thời điểm dịch vụ sẽ được thiết lập lại (ví dụ: không sử dụng vào ngày lễ).

Ví dụ: true

servingConfig ServingConfig

Cấu hình phân phát cho dịch vụ dùng để kiểm soát nhiều tính năng. Ví dụ: tắt tiện ích quảng bá, v.v.

actionLinkUrl String

Chứa URL của dịch vụ giao/mang đi sẽ được sử dụng trong quá trình di chuyển từ trải nghiệm đặt món ăn toàn diện sang lệnh chuyển hướng.

Ví dụ sau đây cho thấy một phần tử Service:

Ví dụ 1

{
  "@type": "Service",
  "@id": "10824/takeout",
  "serviceType": "TAKEOUT",
  "menuId": "10824",
  "restaurantId": "10824",
  "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderpickup/merchant_foepa_3"
}

Ví dụ 2

{
  "@type": "Service",
  "@id": "10824/delivery",
  "serviceType": "DELIVERY",
  "menuId": "10824",
  "restaurantId": "10824",
  "actionLinkUrl": "https://www.rwgpartnerwebsite.com/foodorderdelivery/merchant_foepa_3"
}

ServiceArea

Mô tả khu vực địa lý nơi có thể giao đồ ăn. Bạn bắt buộc phải triển khai thực thể này nếu thực thể Service được liên kết đã đặt serviceType thành "DELIVERY" (GIAO HÀNG).

Bảng sau đây liệt kê các thuộc tính cho loại ServiceArea:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: ServiceArea

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của khu vực bảo dưỡng.

Ví dụ: service_area_1

serviceId List<String>

Bắt buộc.

Giá trị @id của thực thể Dịch vụ tương quan với thực thể ServiceArea này.

Ví dụ: [ "service_1" ]

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể ServiceArea ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

exclude Boolean

Loại trừ khu vực kinh doanh này khỏi tổng khu vực giao hàng. Ví dụ: bạn có thể loại trừ một mã bưu chính khỏi một khu vực đa giác lớn hơn.

Bạn phải có đúng một trong các nhóm thuộc tính sau.
polygon Nhóm 1 List<String>

Một đa giác hoặc đa đa giác được biểu thị dưới dạng một loạt ba điểm trở lên được phân tách bằng dấu cách. Bạn nên đặt điểm đầu và điểm cuối giống nhau, nhưng không bắt buộc. Mỗi điểm trong đa giác hoặc đa đa giác được xác định bằng một điểm vĩ độ, theo sau là một điểm kinh độ. Bạn cũng phải chỉ định các điểm theo hướng ngược chiều kim đồng hồ.

Ví dụ: [ "37.806000 -122.425592 37.775849 -122.419043 37.795547 -122.394046 37.808747" ]

geoMidpointLatitude Nhóm 2 Number

Cho biết toạ độ vĩ độ ở tâm của khu vực CIRCLE.

Ví dụ: 37.806000

geoMidpointLongitude Nhóm 2 Number

Cho biết toạ độ kinh độ ở tâm của vùng CIRCLE.

Ví dụ: -122.425592

geoRadius Nhóm 2 Số nguyên

Cho biết bán kính gần đúng (tính bằng mét) của khu vực CIRCLE.

Ví dụ: 10000

postalCode Nhóm 3 String

Cho biết mã bưu chính.

Ví dụ: 91234

addressCountry Nhóm 3 String

Cho biết mã quốc gia gồm hai chữ cái theo ISO 3166-1 alpha-2

Ví dụ: US

Ví dụ sau đây cho thấy một phần tử ServiceArea:

Ví dụ:

{
  "@type": "ServiceArea",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "polygon": [
    "37.4818562 -122.25801303 37.48247836 -122.25801303 37.48434484 -122.25621319 37.48621133 -122.25424681 37.49181077 -122.24704744 37.49305509 -122.24541414 37.49429942 -122.2436143 37.49803238 -122.23821477 37.49803238 -122.21285044 37.49367726 -122.15885517 37.49056645 -122.15722187 37.48621133 -122.15542202 37.48558917 -122.15525548 37.4818562 -122.15525548 37.43191387 -122.17865343 37.43191387 -122.23444854"
  ]
}

OperationHours (bắt buộc)

Mô tả khoảng thời gian đặt hàng mà người dùng có thể truy cập vào quy trình và đặt hàng ngay hoặc đặt hàng trong tương lai. Bạn bắt buộc phải triển khai OperationHours và mặc định là biểu thị hoạt động vào mọi giờ trong mọi ngày.

Thuộc tính OperationHours openscloses chỉ định giờ mở và đóng cửa cho hệ thống trực tuyến cho phép người dùng đặt hàng. Trong những giờ hệ thống trực tuyến đó, hãy sử dụng ServiceHours để chỉ định giờ mở cửa và giờ đóng cửa cho thời điểm có thể thực hiện đơn đặt hàng của người dùng.

Bạn phải chỉ định thời gian theo giờ địa phương cho dịch vụ. Không bao gồm múi giờ trong giá trị opens. Nếu bạn chỉ định múi giờ, Google sẽ bỏ qua thông tin này. Để biết thêm thông tin, hãy xem phần Định dạng DateTime và Time.

Bảng sau đây liệt kê các thuộc tính cho loại OperationHours:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: OperationHours

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất cho thực thể mô tả khoảng thời gian đặt hàng mà người dùng có thể truy cập vào quy trình và đặt hàng càng sớm càng tốt/đặt hàng trong tương lai.

Ví dụ: operation_hour_1

serviceId List<String>

Bắt buộc.

Giá trị @id của thực thể Dịch vụ tương quan với thực thể OperationHours này.

Ví dụ: [ "service_1" ]

opens Thời gian theo chuẩn ISO (theo địa phương)

Cho biết thời gian cụ thể trong ngày theo định dạng ISO mà người dùng có thể đặt hàng.

Ví dụ: T00:00

closes Thời gian theo chuẩn ISO (theo địa phương)

Cho biết thời gian cụ thể trong ngày theo định dạng ISO mà sau đó người dùng không thể đặt đơn đặt hàng.

Ví dụ: T16:00

dayOfWeek List<DayOfWeek>

Danh sách(những) ngày trong tuần mà giờ hoạt động này có hiệu lực. Các giá trị được chấp nhận là "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" và "SUNDAY".

Ví dụ: [ "MONDAY", "TUESDAY" ]

validFrom Dấu thời gian theo tiêu chuẩn ISO

Bắt buộc khi isSpecialHour = true.

Dấu thời gian ISO cho biết thời gian bắt đầu của khoảng thời gian đặt hàng mà người dùng có thể truy cập vào quy trình và đặt hàng càng sớm càng tốt/đặt hàng trong tương lai.

Ví dụ: 2017-01-01T00:00:00-07:00

validThrough Dấu thời gian theo tiêu chuẩn ISO

Bắt buộc khi isSpecialHour = true.

Dấu thời gian theo tiêu chuẩn ISO cho biết thời gian kết thúc của khoảng thời gian đặt hàng. Sau thời điểm này, người dùng không thể truy cập vào quy trình và đặt hàng càng sớm càng tốt/đặt hàng trong tương lai.

Ví dụ: 2017-01-02T00:00:00-07:00

isSpecialHour Boolean

Giá trị boolean cho biết liệu OperationHours có dành cho giờ đặc biệt hay không. Các giá trị được chấp nhận là "false" và "true".

Ví dụ: False

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể OperationHours ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

Ví dụ sau đây cho thấy một phần tử OperationHours:

Ví dụ 1

{
  "@type": "OperationHours",
  "@id": "10824/deliveryOh",
  "serviceId": [
    "10824/delivery"
  ],
  "isSpecialHour": false
}

Ví dụ 2

{
  "@type": "OperationHours",
  "@id": "10824/takeoutOh",
  "serviceId": [
    "10824/takeout"
  ],
  "isSpecialHour": false
}

ServiceHours (bắt buộc)

Mô tả khoảng thời gian thực hiện đơn hàng mà người dùng có thể chọn khung giờ thực hiện đơn hàng (ASAP hoặc khung giờ trong tương lai). Bạn phải triển khai ServiceHours.

Thuộc tính OperationHours openscloses chỉ định giờ mở và đóng cửa cho hệ thống trực tuyến cho phép người dùng đặt hàng. Trong những giờ hệ thống trực tuyến đó, hãy sử dụng ServiceHours để chỉ định giờ mở cửa và giờ đóng cửa cho thời điểm có thể thực hiện đơn đặt hàng của người dùng.

Bạn phải chỉ định thời gian theo giờ địa phương cho dịch vụ. Không bao gồm múi giờ trong giá trị opens. Nếu bạn chỉ định múi giờ, Google sẽ bỏ qua thông tin này. Để biết thêm thông tin, hãy xem phần Định dạng DateTime và Time.

Bảng sau đây liệt kê các thuộc tính cho loại ServiceHours:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: ServiceHours

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của thực thể mô tả khoảng thời gian thực hiện mà người dùng có thể chọn khung giờ thực hiện, tức là khung giờ càng sớm càng tốt hoặc khung giờ trong tương lai.

Ví dụ: service_hour_1

orderType OrderType

Bắt buộc.

Chuỗi cho biết liệu giờ làm việc có áp dụng cho đơn đặt hàng càng sớm càng tốt hay đơn đặt hàng trước hay không. Các giá trị được chấp nhận là "ASAP" và "ADVANCE".

Ví dụ: ASAP

serviceId List<String>

Bắt buộc.

Giá trị @id của thực thể Dịch vụ tương quan với thực thể Giờ làm việc này.

Ví dụ: [ "service_1" ]

operationHoursId List<String>

Bắt buộc khi isSpecialHour = false.

Giá trị @id của thực thể OperationHours tương quan với thực thể ServiceHours này.

Ví dụ: [ "operation_hour_1" ]

opens Thời gian theo chuẩn ISO (theo địa phương)

Cho biết thời gian cụ thể trong ngày theo định dạng ISO mà từ đó bạn có thể thực hiện đơn đặt hàng của người dùng.

Ví dụ: T00:00

closes Thời gian theo chuẩn ISO (theo địa phương)

Cho biết thời gian cụ thể trong ngày theo định dạng ISO mà sau đó bạn không thể thực hiện đơn đặt hàng của người dùng.

Ví dụ: T16:00

dayOfWeek List<DayOfWeek>

Danh sách(những) ngày trong tuần mà giờ hoạt động này có hiệu lực.

Ví dụ: [ "MONDAY", "TUESDAY" ]

validFrom Dấu thời gian theo tiêu chuẩn ISO

Bắt buộc khi isSpecialHour = true.

Dấu thời gian ISO cho biết thời gian bắt đầu của khoảng thời gian đặt hàng mà người dùng có thể truy cập vào quy trình và đặt hàng càng sớm càng tốt/đặt hàng trong tương lai.

Ví dụ: 2017-01-01T00:00:00-07:00

validThrough Dấu thời gian theo tiêu chuẩn ISO

Bắt buộc khi isSpecialHour = true.

Dấu thời gian theo tiêu chuẩn ISO cho biết thời gian kết thúc của khoảng thời gian đặt hàng. Sau thời điểm này, người dùng không thể truy cập vào quy trình và đặt hàng càng sớm càng tốt/đặt hàng trong tương lai.

Ví dụ: 2017-01-02T00:00:00-07:00

isSpecialHour Boolean

Giá trị boolean cho biết liệu OperationHours có dành cho giờ đặc biệt hay không. Các giá trị được chấp nhận là "false" và "true".

Ví dụ: False

leadTimeMin Số nguyên

Thời gian giao/nhận hàng dự kiến tối thiểu (tính bằng phút) sau khi khách hàng đặt đơn hàng "Giao hàng nhanh". Bạn nên đặt thuộc tính này.

Ví dụ: 60

leadTimeMax Số nguyên

Thời gian giao hàng/nhận hàng dự kiến tối đa (tính bằng phút) sau khi đơn đặt hàng "Giao hàng/nhận hàng nhanh nhất có thể" được đặt. Bạn nên đặt thuộc tính này.

Ví dụ: 70

advanceBookingRequirementMin Số nguyên

Bắt buộc khi orderType = "ADVANCE".

Số phút tối thiểu kể từ thời điểm đặt hàng mà đơn đặt hàng trước có thể đượ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, thì advanceBookingRequirementMin là 60.

Ví dụ: 15

advanceBookingRequirementMax Số nguyên

Bắt buộc khi orderType = "ADVANCE".

Số phút tối đa kể từ thời điểm đặt hàng mà đơn đặt hàng trước có thể được thực hiện. Ví dụ: nếu một đơn đặt hàng trước bị hạn chế thực hiện sau 2 ngày, thì giá trị advanceBookingRequirementMax là 2880.

Ví dụ: 10080

advanceBookingSlotInterval String

Bắt buộc khi orderType = "ADVANCE".

Khoảng thời gian giữa hai khung giờ đặt trước liên tiếp. Ví dụ: Nếu giờ mở cửa và đóng cửa là 8 giờ sáng và 8 giờ tối, còn advanceBookingSlotInterval là 15 phút, thì người dùng có thể chọn thời gian thực hiện là 8 giờ sáng, 8:15 sáng, 8:30 sáng, 8:45 sáng, v.v. cho đến 8 giờ tối. Bạn phải chỉ định thời lượng dưới dạng thời lượng theo chu kỳ ISO. Ví dụ: "PT15M" có nghĩa là khoảng thời gian 15 phút.

Ví dụ: PT15M

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể ServiceHours ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

Ví dụ sau đây cho thấy một phần tử ServiceHours:

Ví dụ 1

{
  "@type": "ServiceHours",
  "@id": "613741/delivery",
  "orderType": "ASAP",
  "serviceId": [
    "10824/delivery"
  ],
  "opens": "T00:00",
  "closes": "T00:00",
  "isSpecialHour": true,
  "validFrom": "2017-12-25T00:00:00-07:00",
  "validThrough": "2017-12-25T23:59:00-07:00"
}

Ví dụ 2

{
  "@type": "ServiceHours",
  "@id": "10824/takeoutSh_0",
  "orderType": "ASAP",
  "serviceId": [
    "10824/takeout"
  ],
  "operationHoursId": [
    "10824/takeoutOh"
  ],
  "opens": "11:00",
  "closes": "21:00",
  "dayOfWeek": [
    "MONDAY",
    "TUESDAY",
    "WEDNESDAY",
    "THURSDAY"
  ],
  "isSpecialHour": false
}

Phí

Mô tả về một khoản phí. Nếu thực thể Service được liên kết có serviceType được đặt thành "DELIVERY", thì bạn phải có Fee với feeType được đặt thành "DELIVERY".

Bảng sau đây liệt kê các thuộc tính cho loại Fee:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: Fee

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của thực thể mô tả khoản phí.

Ví dụ: service_fee_1

serviceId List<String>

Bắt buộc.

Giá trị @id của thực thể Dịch vụ tương quan với thực thể Phí này.

Ví dụ: [ "service_1" ]

feeType FeeType

Bắt buộc.

Chuỗi cho biết phí này có áp dụng cho đơn đặt hàng giao hàng hay dịch vụ hay không. Các giá trị được chấp nhận là "DELIVERY" (GIAO HÀNG) và "SERVICE" (DỊCH VỤ).

Ví dụ: DELIVERY

priceCurrency String

Bắt buộc.

Mã tiền tệ ISO 4217 gồm 3 chữ cái.

Ví dụ: USD

basePrice Number

Giá cơ sở của phí, áp dụng khi sử dụng percentageOfCart hoặc pricePerMeter.

Ví dụ: 2.0

minPrice Number

Phí tối thiểu, giới hạn giá trị phí khi sử dụng percentageOfCart hoặc pricePerMeter.

Ví dụ: 2.0

maxPrice Number

Phí tối đa, giới hạn giá trị phí khi sử dụng percentageOfCart hoặc pricePerMeter.

Ví dụ: 10.0

eligibleRegion List<String>

@id của ServiceArea cho(các) khu vực địa lý-chính trị mà phí này có hiệu lực. Chỉ sử dụng thuộc tính này nếu phí giao hàng thay đổi theo khu vực.

Ví dụ: [ "service_area_1" ]

eligibleTransactionVolumeMin Number

Số lượng giao dịch tối thiểu, tính theo đơn vị tiền tệ, mà thông số phí này có hiệu lực.

Ví dụ: 50

eligibleTransactionVolumeMax Number

Số lượng giao dịch tối đa (tính bằng đơn vị tiền tệ) mà thông số phí này có hiệu lực. Ví dụ: phí này không áp dụng nếu số lượng đơn đặt hàng vượt quá một mức nhất định.

Ví dụ: 10

validFrom Dấu thời gian theo tiêu chuẩn ISO

Dấu thời gian theo tiêu chuẩn ISO cho biết thời gian bắt đầu áp dụng phí.

Ví dụ: 2017-01-01T00:00:00-07:00

validThrough Dấu thời gian theo tiêu chuẩn ISO

Dấu thời gian theo tiêu chuẩn ISO cho biết thời gian kết thúc mà sau đó phí sẽ không hợp lệ.

Ví dụ: 2017-01-02T00:00:00-07:00

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu về thực thể Phí ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

priority Number

Một giá trị dương, khác 0. Khi có nhiều khoản phí áp dụng cho giỏ hàng của người dùng, khoản phí có mức độ ưu tiên cao nhất sẽ được ưu tiên hơn các khoản phí có mức độ ưu tiên thấp hơn. Nếu bạn cung cấp trường này, mức độ ưu tiên sẽ luôn được ưu tiên hơn mức độ ưu tiên được tính toán.

Ví dụ: 3

Bạn phải có đúng một trong các nhóm thuộc tính sau.
price Nhóm 1 Number

Giá của khoản phí. Nếu giá không cố định, bạn có thể cung cấp minPrice và maxPrice thay vì price.

Ví dụ: 1.5

percentageOfCart Nhóm 2 Number

Phí tính theo tỷ lệ phần trăm giá trị giỏ hàng. Giá trị chấp nhận được là các giá trị dấu phẩy động từ 0 đến 100.

Ví dụ: 9.00

pricePerMeter Nhóm 3 Number

Phí tính theo mét cho khoảng cách từ người dùng. Ví dụ: Nếu khoảng cách đến người dùng là 5 km và mức phí là 0,001 đô la Mỹ, thì phí của người dùng sẽ là 5 đô la Mỹ.

Ví dụ: 0.001

Ví dụ sau đây cho thấy một phần tử Fee:

Ví dụ 1

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "price": 5
}

Ví dụ 2

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "pricePerMeter": 0.0005,
  "basePrice": 4
}

Ví dụ 3

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "pricePerMeter": 0.0005,
  "basePrice": 4,
  "minPrice": 5,
  "maxPrice": 50
}

Ví dụ 4

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "percentageOfCart": 5,
  "basePrice": 4
}

Ví dụ 5

{
  "@type": "Fee",
  "@id": "28427",
  "serviceId": [
    "10824/delivery"
  ],
  "feeType": "DELIVERY",
  "priceCurrency": "USD",
  "eligibleRegion": [
    "28427"
  ],
  "eligibleTransactionVolumeMin": 20,
  "percentageOfCart": 5,
  "basePrice": 4,
  "minPrice": 5,
  "maxPrice": 50
}

Một thực thể bắt buộc để triển khai. Mô tả một trình đơn.

Bảng sau đây liệt kê các thuộc tính cho loại Menu:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: Menu

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của trình đơn.

Ví dụ: menu_1

name String

Văn bản có thể xác định Trình đơn khi người dùng duyệt qua trình đơn.

Ví dụ: Foo

disclaimer String

Tuyên bố từ chối trách nhiệm cho trình đơn. Ví dụ: thông tin công bố về dinh dưỡng và thông tin công bố về chất gây dị ứng.

Ví dụ: Items may contain peanuts.

disclaimerUrl Url

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.

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể Trình đơn ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

Ví dụ sau đây cho thấy một phần tử Menu:

{
  "@type": "Menu",
  "@id": "10824"
}

Một thực thể không bắt buộc để triển khai. Mô tả một phần cụ thể trong trình đơn.

Bảng sau đây liệt kê các thuộc tính cho loại MenuSection:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: MenuSection

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của mục trong trình đơn.

Ví dụ: menu_section_1

menuId List<ReverseReference>

Giá trị @id của thực thể Trình đơn tương quan với thực thể MenuSection này.

Ví dụ: [ { "@id": "menu_id", "displayOrder": 4 } ]

menuSectionId List<String>

Danh sách các giá trị @id của các thực thể MenuSection con tương ứng với thực thể MenuSection này.

Lưu ý quan trọng: Bạn chỉ được sử dụng một trong hai tham chiếu menuSectionId hoặc parentMenuSectionId(in child).

Ví dụ: [ "child_menu_section_1", "child_menu_section_2" ]

parentMenuSectionId List<ReverseReference>

Giá trị @id của thực thể MenuSection mẹ có liên quan đến thực thể MenuSection này.

Lưu ý quan trọng: Bạn chỉ được sử dụng một trong hai tham chiếu parentMenuSectionId hoặc menuSectionId(in parent).

Ví dụ: [ { "@id": "parent_menu_section_id", "displayOrder": 4 } ]

name String

Bắt buộc.

Văn bản có thể xác định MenuSection khi người dùng duyệt qua trình đơn.

Ví dụ: Foo

description String

Nội dung mô tả về mục trong trình đơn.

Ví dụ: Example menu section description that helps users.

image Url

URL của hình ảnh về phần trình đơn.

Ví dụ: https://provider.com/someimage

menuItemId List<String>

Danh sách các giá trị @id của các thực thể MenuItem tương ứng với thực thể MenuSection này.

Lưu ý quan trọng: Bạn chỉ được sử dụng một trong hai tham chiếu menuItemId hoặc MenuItem.parentMenuSectionId.

Ví dụ: [ "menu_item1", "menu_item2" ]

parentMenuItemId List<ReverseReference>

Danh sách các giá trị @id của các thực thể MenuItem mẹ tương ứng với thực thể MenuSection này.

Lưu ý quan trọng: Bạn chỉ được sử dụng một trong hai tham chiếu parentMenuItemId hoặc MenuItem.menuAddOnId.

Ví dụ: [ { "@id": "parent_menu_item_id", "displayOrder": 4 } ]

parentMenuItemOptionId List<ReverseReference>

Danh sách các giá trị @id của các thực thể MenuItemOption mẹ tương ứng với thực thể MenuSection này.

Lưu ý quan trọng: Bạn chỉ được sử dụng một trong hai tham chiếu parentMenuItemOptionId hoặc MenuItemOption.menuAddOnId.

Ví dụ: [ { "@id": "parent_menu_item_option_id", "displayOrder": 4 } ]

eligibleQuantityMax Số nguyên

Số lượng tiện ích bổ sung tối đa có thể chọn trong phần tiện ích bổ sung.

Ví dụ: 5

eligibleQuantityMin Số nguyên

Số lượng tiện ích bổ sung tối thiểu cần chọn trong phần tiện ích bổ sung.

Ví dụ: 1

defaultItemId List<String>

Danh sách @id tham chiếu đến các thực thể MenuItem sẽ được chọn trước theo mặc định cho người dùng trong tiện ích bổ sung MenuSection. Người dùng có thể thay đổi lựa chọn cuối cùng. Nếu bạn không chỉ định defaultItemId, thì hệ thống sẽ không chọn trước MenuItem nào.

Ví dụ: [ "item1", "item2" ]

availabilityId List<String>

Giá trị @id của các thực thể Availability (Tình trạng còn hàng) cung cấp thông tin chi tiết về thời điểm có thể sử dụng phần trình đơn.

Ví dụ: [ "menu_availability_1" ]

numberOfFreeAddOns Số nguyên

Cho biết số lượng tiện ích bổ sung mà người dùng có thể chọn mà không mất phí. Chỉ áp dụng cho các mục bổ sung trong thực đơn.

Ví dụ: 3

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể MenuSection ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

applicableServiceType List<ServiceType>

Dịch vụ mà MenuSection này áp dụng. Theo mặc định, giả định MenuSection áp dụng cho tất cả.

offeredById List<String>

Giá trị @id của các thực thể RestaurantMenuSection này có sẵn. Chế độ mặc định giả định rằng MenuSection có sẵn ở tất cả vị trí.

Ví dụ: [ "restaurant_id_1", "restaurant_id_55" ]

Ví dụ sau đây cho thấy một phần tử MenuSection:

{
  "@type": "MenuSection",
  "@id": "853705",
  "menuId": [
    {
      "@id": "10824",
      "displayOrder": 853705
    }
  ],
  "menuSectionId": [
    12345,
    43645
  ],
  "name": "Pasta",
  "applicableServiceType": [
    "TAKEOUT"
  ],
  "offeredById": [
    "italian_restaurant_location_1"
  ]
}
{
  "@type": "MenuSection",
  "@id": "427484",
  "menuId": [
    {
      "@id": "4287",
      "displayOrder": 964376
    }
  ],
  "menuItemId": [
    46784,
    42728
  ],
  "name": "Burger",
  "applicableServiceType": [
    "TAKEOUT",
    "DELIVERY"
  ]
}
{
  "@type": "MenuSection",
  "@id": "3138486",
  "name": "Choose a side:",
  "parentMenuItemId": [
    {
      "@id": "6680295",
      "displayOrder": 3138486
    }
  ],
  "eligibleQuantityMax": "5",
  "numberOfFreeAddOns": "2"
}
{
  "@type": "MenuSection",
  "@id": "3138482",
  "name": "Additional Pizza Toppings",
  "parentMenuItemId": [
    {
      "@id": "6680246",
      "displayOrder": 3138482
    }
  ],
  "eligibleQuantityMax": "3"
}

Phạm vi cung cấp

Một thực thể không bắt buộc để triển khai. Mô tả khoảng thời gian mà một thực thể MenuSection được phân phát.

Bảng sau đây liệt kê các thuộc tính cho loại Availability:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: Availability

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của thực thể mô tả tình trạng có sẵn của mục trong trình đơn.

Ví dụ: menu_section_avail_1

availabilityStarts Thời gian theo chuẩn ISO (theo địa phương)

Dấu thời gian ISO cho biết thời gian bắt đầu có hiệu lực của tình trạng có sẵn của mục trong trình đơn.

Ví dụ: T00:00

availabilityEnds Thời gian theo chuẩn ISO (theo địa phương)

Dấu thời gian theo chuẩn ISO cho biết thời gian kết thúc mà sau đó tình trạng có sẵn của mục trong trình đơn sẽ không hợp lệ.

Ví dụ: T16:00

availableDay List<DayOfWeek>

Danh sách(các) ngày trong tuần mà tình trạng còn chỗ của mục trình đơn có hiệu lực.

Ví dụ: [ "MONDAY", "TUESDAY" ]

validFrom Dấu thời gian theo tiêu chuẩn ISO

Dấu thời gian ISO cho biết thời gian bắt đầu có hiệu lực của tình trạng có sẵn của mục trong trình đơn.

Ví dụ: 2017-01-01T00:00:00-07:00

validThrough Dấu thời gian theo tiêu chuẩn ISO

Dấu thời gian theo chuẩn ISO cho biết thời gian kết thúc mà sau đó tình trạng có sẵn của mục trong trình đơn sẽ không hợp lệ.

Ví dụ: 2017-01-02T00:00:00-07:00

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể về tình trạng còn hàng ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

Ví dụ sau đây cho thấy một phần tử Availability:

Ví dụ:

{
  "@type": "Availability",
  "@id": "85343705",
  "availabilityStarts": "06:00",
  "availabilityEnds": "22:30",
  "availableDay": [
    "SATURDAY",
    "SUNDAY"
  ]
}

Một thực thể bắt buộc để triển khai. Mô tả một mục trong thực thể Menu.

Bảng sau đây liệt kê các thuộc tính cho loại MenuItem:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: MenuItem

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của mục trong trình đơn.

Ví dụ: menu_item_1

name String

Bắt buộc.

Văn bản có thể xác định MenuItem khi người dùng duyệt qua trình đơn.

Ví dụ: Foo

description String

Nội dung mô tả về mục trong trình đơn.

Ví dụ: Foo

image Url

URL của hình ảnh món ăn.

Ví dụ: http://someprovider.com/someimage

parentMenuSectionId List<ReverseReference>

Danh sách các giá trị @id của các thực thể MenuSection mẹ tương ứng với thực thể MenuItem này.

Lưu ý quan trọng: Bạn chỉ được sử dụng một trong hai tham chiếu parentMenuSectionId hoặc MenuSection.menuItemId.

Ví dụ: { "@id": "menu_section_parent_id", "displayOrder": 4 }

menuAddOnId List<String>

Danh sách các giá trị @id của các thực thể MenuSection trong phần tiện ích bổ sung tương ứng với thực thể MenuItem này.

Lưu ý quan trọng: Bạn chỉ được sử dụng một trong hai tham chiếu menuAddOnId hoặc MenuSection.parentMenuItemId.

Ví dụ: menu_addon_1

nutrition NutritionInformation

Thông tin dinh dưỡng của món ăn, đáng chú ý nhất là lượng calo.

Ví dụ: { "calories": "120-150 Cal" }

allergen List<Allergen>

Các chất gây dị ứng của MenuItem này.

Ví dụ: [ { "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" } ]

additive List<Additive>

Các thành phần bổ sung của MenuItem này.

Ví dụ: [ { "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" } ]

suitableDiet List<RestrictedDiet>

Món ăn tuân thủ quy định hạn chế về chế độ ăn uống đã mô tả.

Ví dụ: [ "DIABETIC", "GLUTEN_FREE" ]

depositInfo DepositInfo

Thông tin về bao bì và tái chế của MenuItem này.

Ví dụ: { "depositCode": "RECYCLABLE", "depositValue": "0.05", "depositValueCurrency": "USD" }

numberOfServings Số nguyên

Số lượng phần ăn trong một món ăn cụ thể trên thực đơn.

Ví dụ: 2

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể MenuItem ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

Ví dụ sau đây cho thấy một phần tử MenuItem:

{
  "@type": "MenuItem",
  "@id": "18931508",
  "name": "Sauteed Baby Spinach",
  "parentMenuSectionId": [
    {
      "@id": "3138479",
      "displayOrder": 18931508
    }
  ]
}
{
  "@type": "MenuItem",
  "@id": "18931508",
  "name": "Hamburger",
  "parentMenuSectionId": [
    {
      "@id": "4645747",
      "displayOrder": 12345
    }
  ],
  "nutrition": {
    "calories": "400 cal"
  },
  "allergen": [
    {
      "allergenType": "GLUTEN",
      "levelOfContainment": "CONTAINS"
    }
  ],
  "additive": [
    {
      "additiveName": "Sodium nitrite",
      "levelOfContainment": "CONTAINS"
    }
  ],
  "suitableDiet": [
    "DIABETIC",
    "LOW_FAT"
  ]
}

Một thực thể không bắt buộc để triển khai. Mô tả các lựa chọn mà người dùng bắt buộc phải thực hiện khi chọn một món ăn/bữa ăn. Người dùng phải chọn một tuỳ chọn, nếu không đơn đặt hàng sẽ bị coi là không hợp lệ (ví dụ: người dùng phải chọn pizza cỡ nhỏ, trung bình hoặc lớn).

Bảng sau đây liệt kê các thuộc tính cho loại MenuItemOption:

Thuộc tính Loại Mô tả
@type Const

Giá trị: MenuItemOption

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của tuỳ chọn mục trong trình đơn.

Ví dụ: menu_item_1_option

menuItemId ReverseReference

Bắt buộc.

Giá trị @id của thực thể MenuItem tương quan với thực thể MenuItemOption này.

Ví dụ: { "@id": "menu_item_1", "displayOrder": 4 }

optionType OptionType

Chuỗi cho biết liệu tuỳ chọn mục trong trình đơn có được phân loại theo kích thước, tuỳ chọn hay món ăn kèm pizza hay không. Các giá trị được chấp nhận là "SIZE", "OPTION" và "PIZZA_SIDE". "SIZE" (KÍCH THƯỚC): Kích thước của MenuItemOption. Ví dụ: nhỏ, vừa hoặc lớn. "OPTION" (LỰA CHỌN): Bất kỳ biến thể nào khác ngoài kích thước (ví dụ: món ăn có thể là món salad hoặc bánh sandwich). Nếu bạn không thể phân biệt giữa "SIZE" và "OPTION", hãy sử dụng "OPTION". "PIZZA_SIDE": Dành riêng cho pizza: ví dụ: MenuItemOption này chỉ hợp lệ cho một phần/pizza nguyên chiếc (ví dụ: nấm ở bên trái, bên phải hoặc trên toàn bộ pizza).

Ví dụ: SIZE

value Chuỗi hoặc PizzaSide

Bắt buộc khi optionType is defined.

Giá trị chuỗi hoặc giá trị enum. Giá trị enum dành riêng cho loại tuỳ chọn PIZZA_SIDE.

applicableParentOptionValue String

Chuỗi chứa giá trị của tuỳ chọn của mục mẹ có tuỳ chọn này.

Ví dụ: Small

menuAddOnId List<String>

Danh sách các giá trị @id của các thực thể MenuSection trong phần tiện ích bổ sung tương ứng với thực thể MenuItemOption này.

Lưu ý quan trọng: Bạn chỉ được sử dụng một trong hai tham chiếu menuAddOnId hoặc MenuSection.parentMenuItemId.

Ví dụ: menuAddOnId

nutrition NutritionInformation

Thông tin dinh dưỡng của món ăn, đáng chú ý nhất là lượng calo.

Ví dụ: { "calories": "120-150 Cal" }

allergen List<Allergen>

Các chất gây dị ứng của MenuItem này.

Ví dụ: { "allergenType": "PEANUTS", "levelOfContainment": "MAY_CONTAIN" }

additive List<Additive>

Các thành phần bổ sung của MenuItem này.

Ví dụ: { "additiveName": "Sodium nitrite", "levelOfContainment": "CONTAINS" }

depositInfo DepositInfo

Thông tin về bao bì và tái chế của MenuItem này.

Ví dụ: { "depositCode": "RECYCLABLE", "depositValue": "0.05", "depositValueCurrency": "USD" }

numberOfServings Số nguyên

Số lượng phần ăn có trong một lựa chọn món trong thực đơn.

Ví dụ: 2

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể MenuItemOption ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

Ví dụ sau đây cho thấy một phần tử MenuItemOption:

{
  "@type": "MenuItemOption",
  "@id": "56177944",
  "menuItemId": {
    "@id": "18930213",
    "displayOrder": 1234
  },
  "optionType": "PIZZA_SIDE",
  "value": "PIZZA_SIDE_LEFT"
}
{
  "@type": "MenuItemOption",
  "@id": "56177944",
  "menuItemId": {
    "@id": "18930213",
    "displayOrder": 1234
  },
  "applicableParentOptionValue": "Small Pizza"
}

Một thực thể bắt buộc để triển khai. Mô tả một ưu đãi cho thực thể MenuItem hoặc MenuItemOption.

Bảng sau đây liệt kê các thuộc tính cho loại MenuItemOffer:

Thuộc tính Loại Mô tả
@type Const

Bắt buộc.

Giá trị: MenuItemOffer

@id String

Bắt buộc.

Giá trị nhận dạng duy nhất của mặt hàng trong thực đơn.

Ví dụ: menu_item_offer

sku String

Bắt buộc.

Giá trị nhận dạng của ưu đãi món trong thực đơn. Các giá trị sku có thể khác nhau hoặc giống nhau trên nhiều thực thể mặt hàng trong trình đơn. Giá trị sku sẽ được đặt theo thứ tự khi chúng tôi thực hiện lệnh gọi API đến bạn.

Ví dụ: Menu_item_offer_sku

price Number

Bắt buộc.

Giá của món ăn trong thực đơn.

Ví dụ: 2.5

priceCurrency String

Bắt buộc.

Mã tiền tệ ISO 4217 gồm 3 chữ cái.

Ví dụ: USD

availabilityId List<String>

Giá trị @id của các thực thể Availability (Tình trạng còn hàng) cung cấp thông tin chi tiết về thời điểm cung cấp ưu đãi cho món trong thực đơn.

Ví dụ: [ "menu_availability_1" ]

eligibleQuantityMin Number

Số lượng đặt hàng tối thiểu mà MenuItemOffer hợp lệ.

Ví dụ: 1

eligibleQuantityMax Number

Số lượng đặt hàng tối đa mà MenuItemOffer hợp lệ.

Ví dụ: 25

inventoryLevel Number

Mức tồn kho gần đúng hiện tại cho mặt hàng hoặc các mặt hàng tương ứng với MenuItemOffer này.

Ví dụ: 10

dateModified Dấu thời gian theo tiêu chuẩn ISO

Ngày và giờ sửa đổi gần đây nhất của nguồn cấp dữ liệu thực thể MenuItemOffer ở định dạng dấu thời gian ISO nhưng có loại Chuỗi.

Ví dụ: 2017-01-02T00:00:00-07:00

applicableServiceType List<ServiceType>

Dịch vụ mà MenuItemOffer này áp dụng. Theo mặc định, giả định MenuItemOffer áp dụng cho tất cả.

offeredById List<String>

Giá trị @id của các thực thể RestaurantMenuItemOffer này có sẵn. Chế độ mặc định giả định rằng MenuItemOffer có sẵn ở tất cả vị trí.

Ví dụ: [ "restaurant_id_5", "restaurant_id_26" ]

Bạn phải có đúng một trong các nhóm thuộc tính sau.
menuItemId Nhóm 1 String

Giá trị @id của thực thể MenuItem tương quan với thực thể MenuItemOffer này.

Ví dụ: menu_item_1

menuItemOptionId Nhóm 2 String

Giá trị @id của thực thể MenuItemOption tương quan với thực thể MenuItemOffer này.

Ví dụ: menu_item_option_1

Ví dụ sau đây cho thấy một phần tử MenuItemOffer:

{
  "@type": "MenuItemOffer",
  "@id": "6680262",
  "sku": "offer-mediterranean-bagel",
  "menuItemId": "896532",
  "price": 15.5,
  "priceCurrency": "USD",
  "applicableServiceType": [
    "DELIVERY"
  ],
  "offeredById": [
    "bagel_shop_location_5"
  ]
}

Phổ biến

ReverseReference

Bảng sau đây liệt kê các thuộc tính cho loại ReverseReference:

Thuộc tính Loại Mô tả
@id String

Bắt buộc.

@id của thực thể mẹ.

displayOrder Số nguyên

Bắt buộc.

Hiển thị thứ tự của mục trong phần tử mẹ.

NutritionInformation

Bảng sau đây liệt kê các thuộc tính cho loại NutritionInformation:

Thuộc tính Loại Mô tả
description String

Thông tin dinh dưỡng ở dạng văn bản tự do. Ví dụ: "Chứa chất bảo quản".

calories String

Lượng calo tính bằng Cal, kcal hoặc kJ, theo định dạng sau: giá trị Cal hoặc min-max Cal

Ví dụ: 120.34 Cal

sodiumContent String

Số mg hoặc g natri, theo định dạng sau: giá trị g hoặc min-max g

Ví dụ: 1200 mg

Ví dụ sau đây cho thấy một phần tử NutritionInformation:

Ví dụ:

{
  "calories": "120-150 Cal",
  "sodiumContent": "100 mg"
}

Chất gây dị ứng

Bảng sau đây liệt kê các thuộc tính cho loại Allergen:

Thuộc tính Loại Mô tả
allergenType AllergenType

Bắt buộc.

Loại chất gây dị ứng.

levelOfContainment ContainmentLevel

Mức độ của một chất gây dị ứng nhất định trong mục trong trình đơn.

Ví dụ sau đây cho thấy một phần tử Allergen:

Ví dụ:

{
  "allergenType": "PEANUTS",
  "levelOfContainment": "MAY_CONTAIN"
}

Thành phần phụ gia

Bảng sau đây liệt kê các thuộc tính cho loại Additive:

Thuộc tính Loại Mô tả
additiveName String

Bắt buộc.

Tên của chất phụ gia.

levelOfContainment ContainmentLevel

Mức độ của một chất phụ gia nhất định trong mục trong trình đơn.

Ví dụ sau đây cho thấy một phần tử Additive:

Ví dụ:

{
  "additiveName": "Sodium nitrite",
  "levelOfContainment": "CONTAINS"
}

DepositInfo

Bảng sau đây liệt kê các thuộc tính cho loại DepositInfo:

Thuộc tính Loại Mô tả
depositCode DepositCode

Mã tiền gửi.

depositValue Number

Giá trị bằng số của khoản tiền đặt trước của mặt hàng, ví dụ: khi tái chế.

depositValueCurrency String

Đơn vị tiền tệ của giá trị tiền gửi

Ví dụ sau đây cho thấy một phần tử DepositInfo:

Ví dụ:

{
  "depositCode": "RECYCLABLE",
  "depositValue": 0.05,
  "depositValueCurrency": "USD"
}

ServingConfig

Cấu hình phân phát cho dịch vụ dùng để kiểm soát nhiều tính năng. Ví dụ: tắt tiện ích quảng bá, v.v.

Bảng sau đây liệt kê các thuộc tính cho loại ServingConfig:

Thuộc tính Loại Mô tả
disableOrderInstructions Boolean

Ẩn khả năng chỉ định hướng dẫn đơn đặt hàng.

disableMenuItemSpecialInstructions Boolean

Ẩn khả năng chỉ định hướng dẫn đặc biệt trên một mục trong trình đơn.

disableTipWidget Boolean

Ẩn tiện ích tiền boa trong trang "Đặt hàng" của quy trình đặt hàng.

disablePromoWidget Boolean

Ẩn tiện ích quảng cáo trên trang "Đặt hàng" trong quy trình đặt hàng.

menuItemSpecialInstructionsMaxLength Number

Chỉ định số ký tự tối đa mà hướng dẫn đặc biệt của một mục trong trình đơn có thể chứa.

orderInstructionsMaxLength Number

Chỉ định số ký tự tối đa mà một hướng dẫn đặt hàng có thể chứa.

Ví dụ sau đây cho thấy một phần tử ServingConfig:

Ví dụ 1

{
  "disableMenuItemSpecialInstructions": true
}

Ví dụ 2

{
  "disableTipWidget": true,
  "disablePromoWidget": true
}

Ví dụ 3

{
  "menuItemSpecialInstructionsMaxLength": 250,
  "orderInstructionsMaxLength": 1000
}

Enum

DayOfWeek

Loại DayOfWeek có thể có các giá trị sau:

  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
  • SUNDAY

ServiceType

Loại ServiceType có thể có các giá trị sau:

  • DELIVERY
  • TAKEOUT

OrderType

Loại OrderType có thể có các giá trị sau:

  • ASAP
  • ADVANCE

FeeType

Loại FeeType có thể có các giá trị sau:

  • DELIVERY
  • SERVICE

OptionType

Loại OptionType có thể có các giá trị sau:

  • SIZE
  • OPTION
  • PIZZA_SIDE

PizzaSide

Loại PizzaSide có thể có các giá trị sau:

  • PIZZA_SIDE_LEFT
  • PIZZA_SIDE_RIGHT
  • PIZZA_SIDE_WHOLE

AllergenType

Loại chất gây dị ứng theo gs1:AllergenTypeCode.

Loại AllergenType có thể có các giá trị sau:

  • ALMONDS
  • ALPHA_ISOMETHYL_IONONE
  • ALCOHOL
  • AMYL_CINNAMAL
  • ANISE_ALCOHOL
  • BARLEY
  • BENZYL_ALCOHOL
  • BENZYL_BENZOATE
  • BENZYL_CINNAMATE
  • BENZYL_SALICYLATE
  • BRAZIL_NUTS
  • BUTYLPHENYL_METHYLPROPIONATE
  • CARROTS
  • CASHEW_NUTS
  • CELERY
  • CEREALS_CONTAINING_GLUTEN
  • CINNAMAL
  • CINNAMYL_ALCOHOL
  • CITRAL
  • CITRONELLOL
  • COCOA
  • CORIANDER
  • CORN
  • COUMARIN
  • CRUSTACEANS
  • EGGS
  • EUGENOL
  • EVERNIA_FURFURACEA
  • EVERNIA_PRUNASTRI
  • FARNESOL
  • FISH
  • GERANIOL
  • GLUTEN
  • HAZELNUTS
  • HEXYL_CINNAMAL
  • HYDROXYCITRONELLAL
  • HYDROXYISOHEXYL_3_CYCLOHEXENE_CARBOXALDEHYDE_ISOEUGENOL_LIMONENE_LINAL
  • KAMUT
  • LACTOSE
  • LUPINE
  • MACADAMIA_NUTS
  • METHYL_2_OCTYNOATE
  • MILK
  • MOLLUSCS
  • MUSTARD
  • NO_DECLARED_ALLERGENS
  • OAT
  • PEANUTS
  • PEAS
  • PECAN_NUTS
  • PISTACHIOS
  • POD_FRUITS
  • QUEENSLAND_NUTS
  • RYE
  • SESAME_SEEDS
  • SOYBEANS
  • SPELT
  • SULPHUR_DIOXIDE
  • TREE_NUTS
  • TREE_NUT_TRACES
  • WALNUTS
  • WHEAT

ContainmentLevel

Loại ContainmentLevel có thể có các giá trị sau:

  • CONTAINS
  • FREE_FROM
  • MAY_CONTAIN

DepositCode

Loại DepositCode có thể có các giá trị sau:

  • REUSABLE
  • RECYCLABLE

DealType

Danh mục của ưu đãi để áp dụng chiết khấu. Danh mục này có thể là tổng giá trị của toàn bộ giỏ hàng hoặc phí giao hàng.

Loại DealType có thể có các giá trị sau:

  • CART_OFF
  • DELIVERY_OFF

RestrictedDiet

Loại chế độ ăn hạn chế theo schema.org:RestrictedDiet.

Loại RestrictedDiet có thể có các giá trị sau:

  • DIABETIC
  • GLUTEN_FREE
  • HALAL
  • HINDU
  • KOSHER
  • LOW_CALORIE
  • LOW_FAT
  • LOW_LACTOSE
  • LOW_SALT
  • VEGAN
  • VEGETARIAN