Menyusun data ketersediaan untuk Reservasi

Definisi parameter

Sebagaimana ditentukan dalam Availability definisi:

  • party_size: Jumlah tamu yang dapat diakomodasi selama waktu ini slot waktu. Restoran dapat dikaitkan dengan beberapa Slot untuk waktu yang sama, masing-masing menentukan party_size yang berbeda, jika misalnya 2, 3, atau 4 orang tempat duduk yang bisa dipesan
  • spots_open: Jumlah tempat yang tersedia saat ini untuk ini entri ketersediaan
  • spots_total: Total jumlah tempat yang dimiliki penjual untuk ini konfigurasi (termasuk yang tidak tersedia)

Ketiga parameter ini bekerja sama untuk membangun representasi digital dari denah lantai. party_size adalah jumlah orang yang dapat ditampung setiap tabel (akan ada menjadi entri untuk setiap ukuran yang dapat ditampung sebuah tabel). spots_open dan spots_total adalah jumlah dari berapa banyak tabel yang dapat menampung party_size tersebut.

Contoh denah lantai kosong

Bayangkan sebuah restoran dengan denah lantai berikut dan tidak ada aktivitas pemesanan:

Gambar 1: Denah lantai tanpa pemesanan aktif
Gambar 1: Denah lantai tanpa pemesanan aktif

Nilai untuk party_size, spots_open, dan spots_total adalah:

party_size spots_open spots_total
4 3 3
5 3 3
6 4 4
7 1 1
8 1 1

Feed ketersediaan untuk satu slot waktu di penjual ini akan terlihat seperti ini:

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
          }
        }
      ]
}

Contoh denah lantai dengan pemesanan

Sekarang bayangkan salah satu meja bundar sudah dipesan:

Gambar 2: Denah lantai dengan satu pemesanan aktif
Gambar 2: Denah lantai dengan satu pemesanan aktif

Nilai untuk party_size, spots_open, dan spots_total sekarang akan menjadi:

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
          }
        }
      ]
}

Menentukan ketersediaan tempat makan dengan dukungan meja gabungan

Ada banyak cara yang dapat dilakukan restoran untuk menggabungkan tabel untuk mendukung pencapaian yang lebih grup. Di feed Anda, Anda diharapkan untuk menentukan spots_open dan spots_total dengan cara yang secara akurat mencerminkan apakah Anda dapat menerima pihak ukuran. Berikut ini adalah salah satu contoh bagaimana Anda dapat menentukan tabel yang digabungkan. Feed Anda mungkin sedikit berbeda dalam cara penghitungan ini dilakukan dan hal itu Anda dapat menentukan spots_open dan spots_total dengan cara cocok dengan logika bisnis Anda.

Jika sebuah restoran mendukung penggabungan meja untuk membentuk pesta yang lebih besar, Anda bisa perbarui spots_open dan spots_total Anda untuk mencerminkan hal ini.

Katakanlah sebuah restoran dapat menggabungkan dua meja kecil untuk menampung 7-10 orang orang.

Gambar 3: Denah lantai tanpa pemesanan aktif
Gambar 3: Denah tanpa bangunan pemesanan aktif

Jika tidak ada pemesanan aktif, nilai untuk party_size, spots_open, dan spots_total adalah:

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

Sekarang, dengan denah lantai yang sama, pemesanan dilakukan untuk jumlah tamu 10 orang menggabungkan dua tabel kecil.

Gambar 4: Denah lantai dengan satu pemesanan aktif yang mencakup dua tabel
Gambar 4: Denah lantai dengan satu pemesanan aktif yang mencakup dua tabel

Kemudian, nilai untuk party_size, spots_open, dan spots_total sekarang adalah:

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