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

لعرض خاناتك بنجاح في مسار الحجز، يجب إرسال عملية ربط دقيقة ومحدّثة لمستودعك. يمكن أن يتغيّر عدد الأماكن المتاحة بشكل كبير بعد إجراء حجز واحد بسبب طبيعة أماكن تناول الطعام وإمكانية الانضمام إلى طاولات أو حجم المجموعة. تساعدك الأمثلة الواردة في هذا المستند في معرفة كيفية الحفاظ على مستودعك المتاح وربطه بشكل صحيح.

في ما يلي المَعلمات المحدّدة في Availability definition:

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

تبدو خلاصة معلومات التوفّر لفتحة زمنية واحدة لدى هذا التاجر على النحو التالي:

{
  "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. مخطّط طابق يتضمّن حجزًا نشطًا واحدًا

الشكل 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

تبدو خلاصة معلومات التوفّر لفتحة زمنية واحدة لدى هذا التاجر على النحو التالي:

{
  "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 أشخاص:

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

الشكل 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

والآن، باستخدام مخطط الطابق نفسه، تم إجراء حجز لمجموعة من عشرة أشخاص تجمع بين طاولتَين صغيرتَين.

الشكل 1. مخطط طابق يتضمّن حجزًا نشطًا يمتدّ على طاولتَين

الشكل 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