تنظيم بيانات مدى التوفّر للحجوزات

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

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

  • party_size: حجم المجموعة التي يمكن استيعابها خلال فترة الحجز هذه. يمكن ربط مطعم بفتحات حجز متعددة في الوقت نفسه، ويحدّد كل منها party_size مختلفًا، مثلاً إذا كان يمكن حجز طاولة لشخصَين أو 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