매개변수 정의
Availability
정의에 지정된 대로:
party_size
: 이 시간대에 수용할 수 있는 인원수입니다. 예를 들어 2명, 3명 또는 4명이 예약 가능한 좌석이 있는 경우 식당은 각기 다른party_size
를 지정하여 동시에 여러 시간대에 연결할 수 있습니다.spots_open
: 이 이용 가능 여부 항목에 현재 이용 가능한 자릿수spots_total
: 이 구성 (사용할 수 없는 스팟 포함)에서 판매자가 보유한 총 스팟 수
이 세 가지 매개변수가 함께 사용되어 평면도를 디지털 방식으로 표현할 수 있습니다. party_size
는 각 테이블을 수용할 수 있는 사용자 수입니다 (테이블에 수용할 수 있는 모든 크기의 항목이 있음). spots_open
및 spots_total
는 해당 party_size
를 수용할 수 있는 테이블 수를 나타냅니다.
빈 평면도의 예
다음과 같은 평면도가 있고 예약 내역이 없는 레스토랑을 가정해 보겠습니다.
![그림 1: 활성화된 예약이 없는 평면도](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=7&hl=ko)
party_size
, spots_open
, spots_total
의 값은 다음과 같습니다.
party_size | spots_open | spots_total |
---|---|---|
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 } } ] }
예약이 있는 평면도의 예
이제 라운드 테이블 중 하나가 예약되었다고 가정해 보겠습니다.
![그림 2: 하나의 예약이 활성화된 평면도](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_2.png?authuser=7&hl=ko)
이제 party_size
, spots_open
, spots_total
의 값은 다음과 같습니다.
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 } } ] }
결합된 테이블 지원으로 식사 가능 여부 지정
식당에서 테이블을 결합하여 대규모 그룹을 지원할 수 있는 방법에는 여러 가지가 있습니다. 특정 사이즈의 파티를 허용할 수 있는지 여부를 정확하게 반영하는 방식으로 피드에서 spots_open
및 spots_total
를 지정해야 합니다. 다음은 테이블 결합을 지정하는 방법의 한 가지 예입니다.
계산이 이루어지는 방식이 피드에 약간 다를 수 있으며 비즈니스 로직과 일치하는 방식으로 spots_open
및 spots_total
를 지정해도 됩니다.
식당에서 테이블을 결합하여 대규모 파티를 할 수 있다면 spots_open
및 spots_total
를 업데이트하여 이를 반영할 수 있습니다.
예를 들어 음식점에서 작은 테이블 2개를 합쳐 7~10명이 투숙할 수 있다고 가정해 보겠습니다.
![그림 3: 활성화된 예약이 없는 평면도](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=7&hl=ko)
활성 예약이 없는 경우 party_size
, spots_open
, spots_total
값은
다음과 같습니다.
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 |
이제 동일한 평면도를 사용하여 2개의 작은 테이블을 결합한 10인용 인원이 예약됩니다.
![그림 4: 두 개의 테이블에 걸쳐 하나의 예약이 활성화된 평면도](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_3.png?authuser=7&hl=ko)
이제 party_size
, spots_open
, spots_total
값은 다음과 같습니다.
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 |