Định nghĩa về các tham số
Như được chỉ định trong định nghĩa Availability
:
party_size
: Số lượng người tham dự bữa tiệc có thể nhận được trong khung giờ này. Một nhà hàng có thể liên kết với nhiều ô trống cùng một lúc, mỗi ô chỉ định mộtparty_size
riêng, nếu chẳng hạn như 2, 3 hoặc 4 người có thể đặt chỗspots_open
: Số lượng vị trí hiện còn trống cho mục thông tin về tình trạng còn hàng nàyspots_total
: Tổng số vị trí mà người bán có cho cấu hình này (bao gồm cả những vị trí không có sẵn)
Ba tham số này hoạt động cùng nhau để tạo thành bản trình bày kỹ thuật số của sơ đồ tầng. party_size
là số người mà mỗi bàn có thể chứa (sẽ có một mục nhập cho mọi kích thước mà bàn có thể phục vụ). spots_open
và spots_total
là số lượng bảng có thể chứa party_size
đó.
Ví dụ về sơ đồ tầng trống
Hãy tưởng tượng một nhà hàng có sơ đồ tầng như sau và không có lượt đặt trước nào:
![Hình 1: Sơ đồ tầng không có lượt đặt phòng nào đang hoạt động](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=5&hl=vi)
Giá trị của party_size
, spots_open
và spots_total
sẽ là:
party_size | spots_open | spots_total |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
Nguồn cấp dữ liệu tình trạng còn hàng cho một khung giờ tại người bán này sẽ có dạng như sau:
JSON
{ "availability": [ { "spots_total": 3, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 4 } }, { "spots_total": 3, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 5 } }, { "spots_total": 4, "spots_open": 4, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 6 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 7 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 8 } } ] }
Sơ đồ tầng mẫu có lượt đặt trước
Bây giờ, hãy tưởng tượng rằng một trong các bảng tròn đã được đặt trước:
![Hình 2: Sơ đồ tầng có một lượt đặt phòng đang hoạt động](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_2.png?authuser=5&hl=vi)
Giá trị cho party_size
, spots_open
và spots_total
hiện sẽ là:
party_size | spots_open | spots_total |
---|---|---|
4 | 2 | 3 |
5 | 2 | 3 |
6 | 3 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
JSON
{ "availability": [ { "spots_total": 3, "spots_open": 2, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 4 } }, { "spots_total": 3, "spots_open": 2, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 5 } }, { "spots_total": 4, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 6 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 7 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 8 } } ] }
Chỉ định tình trạng ăn uống bằng tính năng hỗ trợ bảng kết hợp
Có nhiều cách mà một nhà hàng có thể kết hợp các bàn để cho những nhóm lớn hơn. Trong nguồn cấp dữ liệu, bạn cần chỉ định spots_open
và spots_total
sao cho phản ánh chính xác việc bạn có thể chấp nhận các bên có quy mô nhất định hay không. Sau đây là ví dụ về cách chỉ định cách kết hợp các bảng.
Nguồn cấp dữ liệu của bạn có thể khác nhau đôi chút về cách tính toán này và bạn có thể chỉ định spots_open
và spots_total
sao cho phù hợp với logic kinh doanh của mình.
Nếu một nhà hàng hỗ trợ việc kết hợp các bảng để tạo thành một bữa tiệc lớn hơn, thì bạn có thể cập nhật spots_open
và spots_total
để phản ánh điều này.
Giả sử một nhà hàng có thể kết hợp hai bàn nhỏ để đặt chỗ cho 7-10 người.
![Hình 3: Sơ đồ tầng không có lượt đặt phòng nào đang hoạt động](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=5&hl=vi)
Trong trường hợp không có lượt đặt phòng nào đang hoạt động, giá trị của party_size
, spots_open
và spots_total
là:
party_size | spots_open | spots_total |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
9 | 1 | 1 |
10 | 1 | 1 |
Giờ đây, với cùng một sơ đồ tầng, bạn có thể đặt chỗ cho một bữa tiệc có 10 người và kết hợp với hai bàn nhỏ.
![Hình 4: Sơ đồ tầng có một lượt đặt phòng đang hoạt động trên hai bảng](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_3.png?authuser=5&hl=vi)
Khi đó, giá trị của party_size
, spots_open
và spots_total
hiện là:
party_size | spots_open | spots_total |
---|---|---|
4 | 1 | 3 |
5 | 1 | 3 |
6 | 2 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
9 | 0 | 1 |
10 | 0 | 1 |