คำจำกัดความของพารามิเตอร์
ตามที่ระบุไว้ในคำจำกัดความของ
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 |
ฟีดความพร้อมจำหน่ายสำหรับช่วงเวลาหนึ่งของผู้ขายรายนี้จะมีลักษณะดังนี้
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 |
ตอนนี้เมื่อใช้ผังพื้นเดียวกัน ระบบจะทำการจองสำหรับกลุ่มขนาด 10 คนโดย รวมโต๊ะเล็ก 2 โต๊ะ
จากนั้นค่าของ 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 |