パラメータの定義
Availability の定義で指定されているとおり。
party_size: このタイムスロット中に対応できる人数。1 つのレストランで同じ時間に複数の Slot を関連付けることができます。たとえば、2 人、3 人、または 4 人を予約できる場合は、それぞれに異なるparty_sizeを指定することが可能です。spots_open: この空き状況エントリで現在利用可能なスポットの数spots_total: この構成で販売者が利用できるスポットの合計数(利用できないスポットを含む)
これら 3 つのパラメータが連携して、フロアプランのデジタル表現を構築します。party_size は、各テーブルの収容人数です(テーブルの収容人数ごとにエントリがあります)。spots_open と spots_total は、その party_size を格納できるテーブルの数です。
空の間取り図の例
次のフロアプランで、予約が 1 件もないレストランを想定します。
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 |
この販売者の 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 } } ] }
予約を含むフロアプランの例
丸テーブルの 1 つが予約されたとします。
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 人のグループを座らせることができるとします。
有効な予約がない場合、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 人のパーティーの予約が行われました。
この場合、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 |