パラメータの定義
Availability
定義で指定されているとおり:
party_size
: この時間枠内に収容可能な人数。レストランを複数のスロットに同時に関連付けて、それぞれに異なるparty_size
を指定できます(たとえば、予約で 2 人、3 人、または 4 人を収容できる場合)spots_open
: この空室状況エントリで現在利用可能なスポットの数spots_total
: 販売者がこの設定で保持しているスポットの合計数(利用できないスポットを含む)
これらの 3 つのパラメータが連携して、間取り図のデジタル表現を作成します。party_size
は、各テーブルが保持できる人数です(テーブルが収容できるサイズごとにエントリがあります)。spots_open
と spots_total
は、その party_size
に対応できるテーブルの数を表します。
空の間取り図の例
次のような間取り図があり、有効な予約がないレストランがあるとします。
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 |