Pháp nhân dịch vụ

Thực thể Service xác định dịch vụ đặt đồ ăn có tại nhà hàng, chẳng hạn như mua mang đi hoặc giao hàng. Khi xác định thực thể Service, hãy sử dụng loại Service. Bạn cần kết nối mỗi nhà hàng với ít nhất một thực thể dịch vụ thuộc loại hình mua mang đi hoặc giao hàng và tối đa 2 pháp nhân dịch vụ; một hình thức giao hàng mang đi và một hình thức giao hàng.

Sơ đồ mối quan hệ với thực thể dịch vụ
Hình 1: Thực thể dịch vụ cho thấy mối quan hệ của nó với Các thực thể ServiceArea, ServiceHours, OperationHours và Fee (Phí).

Thực thể dịch vụ xác định các thuộc tính như loại dịch vụ, số giờ cung cấp, và khu vực phục vụ. Thực thể dịch vụ dự kiến sẽ thay đổi và làm mới mỗi lần tải nguồn cấp dữ liệu lên.

Ví dụ về thực thể dịch vụ

Ví dụ sau đây xác định thực thể Service cơ bản chấp nhận đơn đặt hàng mỗi ngày.

{
  "@type":"Service",
  "@id":"takeout_1",
  "serviceType":"TAKEOUT",
  "menuId":"menu_1",
  "restaurantId":"restaraunt_1"
}
{
  "@type":"OperationHours",
  "@id":"takeout_1_op_hours",
  "serviceId":"takeout_1",
  "opens":"00:00",
  "closes":"23:59"
}
{
  "@type":"ServiceHours",
  "@id":"takeout_1_service_hours",
  "orderType":"ASAP",
  "serviceId":"takeout_1",
  "operationHoursId":"takeout_1_op_hours",
  "opens":"11:00",
  "closes":"21:00",
  "dayOfWeek":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY", "FRIDAY", "SATURDAY"],
  "leadTimeMin":"20",
  "leadTimeMax":"20",
  "isSpecialHour":false
}
{
  "@type":"ServiceHours",
  "@id":"takeout_1_service_hours_sun",
  "orderType":"ASAP",
  "serviceId":"takeout_1",
  "operationHoursId":"takeout_1_op_hours",
  "opens":"16:00",
  "closes":"21:00",
  "dayOfWeek":["SUNDAY"],
  "leadTimeMin":"20",
  "leadTimeMax":"20",
  "isSpecialHour":false
}
{
  "@type":"Service",
  "@id":"delivery_1",
  "serviceType":"DELIVERY",
  "menuId":"10824",
  "restaurantId":"10824"
}
{
  "@type":"OperationHours",
  "@id":"delivery_1_op_hours",
  "serviceId":"delivery_1",
  "opens":"00:00",
  "closes":"23:59"
}
{
  "@type":"ServiceHours",
  "@id":"delivery_1_service_hours",
  "orderType":"ASAP",
  "serviceId":"delivery_1",
  "operationHoursId":"delivery_1_op_hours",
  "opens":"11:00",
  "closes":"21:00",
  "dayOfWeek":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY", "FRIDAY", "SATURDAY",
  "SUNDAY"],
  "leadTimeMin":"50",
  "leadTimeMax":"50",
  "isSpecialHour":false
}
{
  "@type":"ServiceArea",
  "@id":"delivery_1_service_area",
  "serviceId":"delivery_1",
  "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"]
}
{
  "@type":"Fee",
  "@id":"delivery_1_fee",
  "serviceId":"delivery_1",
  "feeType":"DELIVERY",
  "priceCurrency":"USD",
  "eligibleRegion":"delivery_1_service_area",
  "eligibleTransactionVolumeMin":20,
  "percentageOfCart": 7
}

Giờ làm việc sớm nhất có thể và Giờ làm việc trước

Người dùng có thể đặt hàng càng sớm càng tốt trong ServiceHours của nhà hàng hoặc họ có thể đặt trước trong phạm vi OperationHours của nhà hàng để đơn đặt hàng được thực hiện trong ServiceHours trước. Để xác định giờ phục vụ nâng cao, hãy tạo một thực thể ServiceHours, trong đó thuộc tính orderType được đặt thành ADVANCE. Bạn có thể xem bài viết Giờ giao hàng và lấy hàng để biết thêm thông tin chi tiết và ví dụ.

Tạm thời vô hiệu hoá thực thể Service

Bạn có thể tạm ngưng hoặc ghi đè ServiceHours trong một khoảng thời gian cụ thể mà hệ thống xác định trước bằng cách đặt giờ đặc biệt và ngày lễ. Để vô hiệu hoá một thực thể Service vì một lý do không lường trước được, hãy gửi yêu cầu cập nhật theo thời gian thực với thuộc tính isDisabled của thực thể Service được đặt thành true.

Hãy xem bài viết Xoá và tắt đối tượng để biết thêm thông tin và ví dụ.