هيكلة بيانات مدى التوفر للحجوزات

تعريفات المَعلمات

كما هو محدّد في Availability التعريف:

  • party_size: حجم الحفل الذي يمكن استيعابه خلال هذه الفترة الشريحة. يمكن ربط مطعم ما بعدة ألعاب فيديو في الوقت نفسه، يحدد كل منها party_size مختلف، إذا كان 2 أو 3 أو 4 أشخاص مثلاً يمكن الجلوس مع حجز
  • spots_open: عدد الأماكن المتاحة حاليًا لهذا الغرض إدخال مدى التوفّر
  • spots_total: إجمالي عدد الأماكن التي يملكها التاجر لهذا الغرض الإعدادات (بما في ذلك تلك غير المتاحة)

تعمل هذه المعاملات الثلاث معًا لإنشاء تمثيل رقمي مخطط الطابق. party_size هو عدد الأشخاص الذين يمكن لكل جدول استيعابه (سيكون هناك مدخلاً لكل حجم يمكن أن يستوعبه الجدول). spots_open وspots_total يتم احتساب عدد الجداول التي يمكنها استيعاب party_size.

مثال لمخطط مبنى فارغ

تخيل أن هناك مطعمًا بمخطط الطابق التالي وليس نشطًا الحجوزات:

الشكل 1: مخطط الطابق بدون حجوزات نشطة
الشكل 1: مخطط مبنى بدون حجوزات نشطة

ستكون قيم 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
          }
        }
      ]
}

مثال على مخطط مبنى مع حجز

تخيل الآن أنه تم حجز إحدى الطاولات الدائرية:

الشكل 2: خطة الطابق مع حجز واحد نشط
الشكل 2: مخطط مبنى واحد حجز نشط

أصبحت قيم 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 أشخاص. الأشخاص.

الشكل 3: مخطط الطابق بدون حجوزات نشطة
الشكل 3: مخطط مبنى بدون حجوزات نشطة

في حالة عدم وجود حجوزات نشطة، تكون قيم 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 أشخاص تجمع بين جدولين صغيرين.

الشكل 4: خطة الطابق التي تتضمن حجزًا نشطًا يشمل جدولين
الشكل 4: مخطط الطابق مع حجز واحد نشط يشمل جدولَين

بعد ذلك، أصبحت قيم 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