Rezervasyonlar için stok durumu verilerini yapılandırma

Parametre tanımları

Availability tanımında belirtildiği gibi:

  • party_size: Bu zaman aralığında kabul edilebilecek parti büyüklüğü. Bir restoran, aynı saat için birden fazla Slot ile ilişkilendirilebilir. Örneğin, rezervasyonla 2, 3 veya 4 kişi oturabiliyorsa her biri farklı bir party_size belirtir.
  • spots_open: Bu müsaitlik durumu girişi için şu anda mevcut olan yer sayısı
  • spots_total: Satıcının bu yapılandırma için sahip olduğu toplam yer sayısı (kullanılmayan yerler dahil)

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

Boş kat planı örneği

Aşağıdaki kat planına sahip ve etkin 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 şu şekilde 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ının bir zaman aralığı 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 de yuvarlak masalardan birinin rezerve edildiğini varsayalım:

Şekil 2: Etkin bir rezervasyonu olan kat planı
Şekil 2: Etkin rezervasyonu olan kat planı

party_size, spots_open ve spots_total değerleri ş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ştirilmiş tablo desteğiyle yemeklerin müsaitlik durumunu belirtme

Restoranlar, daha büyük grupları desteklemek için masaları birleştirmenin birçok yolunu kullanabilir. Feed'lerinizde spots_open ve spots_total parametrelerini, belirli bir boyuttaki partileri kabul edip edemeyeceğinizi doğru yansıtacak şekilde belirtmeniz gerekir. Aşağıda, tabloları nasıl birleştireceğinizi belirtebileceğinize dair bir örnek verilmiştir. Feed'leriniz bu hesaplamanın yapılma şeklinde biraz farklılık gösterebilir ve spots_open ile spots_total değerlerini iş mantığınıza uygun şekilde belirtmeniz kabul edilir.

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

Bir restoranın, 7-10 kişilik bir grup için iki küçük masayı birleştirebileceğini varsayalım.

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

Etkin rezervasyon yoksa party_size, spots_open ve spots_total değerleri:

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ında, iki küçük masanın birleştirildiği 10 kişilik bir grup için rezervasyon yapılıyor.

Şekil 4: İki masaya yayılan bir etkin rezervasyonun yer aldığı kat planı
Şekil 4: İki masaya yayılan bir etkin rezervasyon içeren kat planı

Ardından party_size, spots_open ve spots_total değerleri ş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