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ı birparty_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ı](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=7&hl=tr)
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ı](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_2.png?authuser=7&hl=tr)
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ı](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_1.png?authuser=7&hl=tr)
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ı](https://developers-dot-devsite-v2-prod.appspot.com/static/actions-center/images/tutorial_dining_flow_3.png?authuser=7&hl=tr)
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 |