تعريفات المَعلمات
كما هو موضّح في تعريف
Availability:
party_size: حجم المجموعة التي يمكن استيعابها خلال فترة الحجز هذه. يمكن ربط مطعم بفتحات حجز متعددة في الوقت نفسه، ويحدّد كل منهاparty_sizeمختلفًا، مثلاً إذا كان يمكن حجز طاولة لشخصَين أو 3 أو 4spots_open: عدد الأماكن المتاحة حاليًا في هذا الإدخال الخاص ببيانات التوفّرspots_total: إجمالي عدد الأماكن المتاحة لدى التاجر لهذا الخيار (بما في ذلك الأماكن غير المتاحة)
تعمل هذه المَعلمات الثلاث معًا لإنشاء تمثيل رقمي للمخطط الأرضي. 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 } } ] }
مثال على مخطط طابق يتضمّن حجزًا
لنفترض الآن أنّه تم حجز إحدى الطاولات المستديرة:
ستكون قيم 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 ليعكسا ذلك.
لنفترض أنّ مطعمًا يمكنه دمج طاولتَين صغيرتَين لاستيعاب مجموعة من 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 أشخاص، ويتم دمج طاولتَين صغيرتَين.
بعد ذلك، تصبح قيم 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 |