Определения параметров
Как указано в определении Availability
:
-
party_size
: размер вечеринки, который может быть размещен в течение этого временного интервала. Ресторан может быть связан с несколькими слотами одновременно, в каждом из которых указан разныйparty_size
, если, например, при резервировании могут разместиться 2, 3 или 4 человека. -
spots_open
: количество мест, доступных в настоящее время для этой записи о доступности. -
spots_total
: общее количество мест, которые есть у продавца для этой конфигурации (включая те, которые недоступны).
Эти три параметра работают вместе, чтобы создать цифровое представление плана этажа. party_size
— это количество человек, которое может вместить каждый стол (для каждого размера стола будет своя запись). spots_open
и spots_total
— это количество столов, которые могут вместить этот party_size
.
Пример пустого плана этажа
Представьте себе ресторан со следующей планировкой и без активных заказов:
Значения party_size
, spots_open
и spots_total
будут следующими:
party_size | пятна_открыть | пятна_всего |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
Фид доступности для одного временного интервала у этого продавца будет выглядеть так:
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 } } ] }
Пример плана этажа с бронированием
А теперь представьте, что один из круглых столов забронирован:
Значения party_size
, spots_open
и spots_total
теперь будут такими:
party_size | пятна_открыть | пятна_всего |
---|---|---|
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 } } ] }
Указание доступности столовой с поддержкой комбинированных столов
Есть много способов, которыми ресторан может объединить столы для обслуживания больших групп. Ожидается, что в ваших фидах вы укажете spots_open
и spots_total
таким образом, чтобы точно отражать, можете ли вы принимать вечеринки заданного размера. Ниже приведен один из примеров того, как можно указать объединение таблиц. Ваши каналы могут несколько отличаться в том, как производится этот расчет, и вы можете указать spots_open
и spots_total
способом, соответствующим вашей бизнес-логике.
Если ресторан поддерживает объединение столов в большую вечеринку, вы можете обновить spots_open
и spots_total
чтобы отразить это.
Скажем, в ресторане можно объединить два небольших столика, чтобы вместить группу из 7–10 человек.
В случае отсутствия активных бронирований значения party_size
, spots_open
и spots_total
будут следующими:
party_size | пятна_открыть | пятна_всего |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
9 | 1 | 1 |
10 | 1 | 1 |
Теперь, при той же планировке, делается заказ на вечеринку из 10 человек, состоящую из двух небольших столиков.
Затем значения party_size
, spots_open
и spots_total
теперь будут такими:
party_size | пятна_открыть | пятна_всего |
---|---|---|
4 | 1 | 3 |
5 | 1 | 3 |
6 | 2 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
9 | 0 | 1 |
10 | 0 | 1 |