Rezervasyonlar için müsaitlik durumu verilerini yapılandırma

Parametre tanımları

Availability tanımında belirtildiği gibi:

  • party_size: Bu zaman aralığı boyunca ağırlanabilecek kişi sayısı. Bir restoran aynı anda birden fazla Slot ile ilişkilendirilebilir ve her biri farklı bir party_size belirtir (örneğin 2, 3 veya 4 kişi bir rezervasyonla oturabilirse)
  • spots_open: Bu müsaitlik durumu girişi için şu anda müsait olan spot sayısı
  • spots_total: Satıcının bu yapılandırma için sahip olduğu toplam spot sayısı (mevcut olmayanlar dahil)

Bu üç parametre birlikte çalışarak kat planının dijital bir temsilini oluşturur. party_size, her tablonun barındırabileceği kişi sayısıdır (tablonun barındırabileceği her boyut için bir giriş vardır). spots_open ve spots_total, bu party_size öğesini barındırabilecek tablonun sayısıdır.

Örnek boş kat planı

Aşağıdaki kat planına sahip olan ve aktif rezervasyonu olmayan bir restoran düşünün:

Şekil 1: Etkin rezervasyonu olmayan kat planı
Şekil 1: Etkin rezervasyonu olmayan kat planı

party_size, spots_open ve spots_total değerleri şöyle olur:

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

Bu satıcıdaki bir zaman dilimi için stok durumu feed'i şöyle görünür:

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

Rezervasyon içeren örnek kat planı

Şimdi, yuvarlak masalardan birinin rezerve edildiğini düşünün:

Şekil 2: Tek bir etkin rezervasyonu olan kat planı
Şekil 2: Tek bir etkin rezervasyonu olan kat planı

party_size, spots_open ve spots_total değerleri artık şu şekilde olur:

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

Birleşik masa desteği ile yemek müsaitlik durumunu belirtme

Bir restoranda daha büyük grupları desteklemek için masaları bir araya getirmenin birçok yolu vardır. Feed'lerinizde spots_open ve spots_total değerlerini belirli bir boyuttaki tarafları kabul edip edemeyeceğinizi doğru şekilde yansıtacak şekilde belirtmeniz beklenir. Aşağıda, birleştirilmiş tabloları nasıl belirtebileceğinize ilişkin bir örnek verilmiştir. Feed'leriniz bu hesaplama açısından biraz farklılık gösterebilir. spots_open ve spots_total değerlerini iş mantığınıza uygun bir şekilde belirtmeniz kabul edilebilir.

Bir restoran daha büyük bir parti oluşturmak için masaların birleştirilmesini destekliyorsa spots_open ve spots_total öğelerinizi bunu yansıtacak şekilde güncelleyebilirsiniz.

Bir restoranın iki küçük masayı bir araya getirerek 7-10 kişilik bir kişilik oturabileceğini varsayalım.

Şekil 3: Etkin rezervasyonu olmayan kat planı
Şekil 3: Etkin rezervasyonu olmayan kat planı

Etkin rezervasyon olmaması durumunda party_size, spots_open ve spots_total değerleri şu şekilde olur:

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

Şimdi, aynı kat planıyla iki küçük masanın bir araya geldiği 10 kişilik bir grup için rezervasyon yapılıyor.

Şekil 4: İki tabloyu kapsayan etkin bir rezervasyonu olan kat planı
Şekil 4: İki tabloyu kapsayan etkin bir rezervasyona sahip kat planı

Bu durumda party_size, spots_open ve spots_total değerleri artık şu şekilde olur:

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