Thực thể Service
xác định các dịch vụ đặt đồ ăn có tại nhà hàng, chẳng hạn như dịch vụ mang đi hoặc giao hàng. Khi xác định một thực thể Service
, hãy sử dụng loại Service (Dịch vụ).
Mỗi nhà hàng cần được kết nối với ít nhất một thực thể dịch vụ thuộc loại mang đi hoặc giao hàng và tối đa là hai thực thể dịch vụ; một loại mang đi và một loại giao hàng.
Thực thể Dịch vụ xác định các thuộc tính như loại dịch vụ, giờ hoạt động và khu vực phục vụ. Thực thể dịch vụ dự kiến sẽ thay đổi và làm mới theo từng 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 một 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
}
Càng sớm càng tốt và Giờ trả lời trước
Người dùng có thể đặt món ăn theo yêu cầu giao hàng ngay trong ServiceHours theo yêu cầu giao hàng ngay của nhà hàng hoặc đặt trước trong OperationHours của nhà hàng để được thực hiện trong ServiceHours trước. Để xác định giờ làm việc trước, hãy tạo một thực thể ServiceHours với thuộc tính orderType
được đặt thành ADVANCE
. Hãy xem phần Giờ giao hàng và giờ đến 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á một thực thể Service
Bạn có thể tạm thời tạm ngưng hoặc ghi đè ServiceHours trong một khoảng thời gian cụ thể đã biết trước bằng cách đặt giờ làm việc đặc biệt và giờ làm việc vào ngày lễ. Để tắt một thực thể Dịch vụ vì lý do không lường trướ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ể Dịch vụ được đặt thành true
.
Hãy xem bài viết Xoá và tắt thực thể để biết thêm thông tin chi tiết và ví dụ.