تنظيم مدى التوفّر في الخلاصات

اختيار تنسيق مدى التوفّر

هناك طريقتان لتحديد بيانات مدى التوفّر: (1) المواضع المفتوحة أو (2) التكرار. اختَر طريقة واحدة فقط لاستخدامها مع كل التجّار والخدمات. بعد اختيار طريقة، عليك الالتزام بها خلال عملية الدمج بأكملها (الخلاصات وخادم الحجز والتعديلات في الوقت الفعلي).

ويمكنك الاستعانة بالدليل التالي لتحديد تنسيق مدى التوفّر الأنسب لك:

  • في نظامك، هل تخزّن قيم مدى التوفّر كخانات صريحة، على سبيل المثال، من الساعة 8:00 صباحًا إلى الساعة 8:30 صباحًا؟
  • في نظامك، هل تخزّن بيانات مدى التوفّر بشكل متكرّر، أي أنّ التجّار يقدّمون خدمات يتم تقديمها بمعدّل تكرار ثابت مع بعض الانحرافات؟ على سبيل المثال، يتم تكرار الخانات كل 15 دقيقة من الساعة 9:00 صباحًا حتى الساعة 5:00 مساءً، ويتاح مقعد واحد فقط في كل زيادة تبلغ 15 دقيقة.
  • بالنسبة إلى خدمات التجّار، هل يمكن أن يكون هناك أكثر من مكان واحد متاح في الوقت نفسه؟ على سبيل المثال، 30 مكانًا مفتوحًا لأحد الصفوف
  • لا ينطبق أيٌّ مما سبق؟
    • استخدِم المشاركات المفتوحة.
    • ملاحظة: مع أنّ استخدام التكرار أكثر فعالية وقد يؤدي إلى أحجام خلاصات أصغر، إذا كان نموذج البيانات لا يتيح التكرار في الأساس، لا يُنصح باستخدام التكرار، حيث ستحتاج إلى إعادة احتساب ما يوازي اليوم بأكمله للخانات المتكررة لكل تعديل في الوقت الفعلي.

    الجلسات المفتوحة

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

    • مواضع_الفتح: عدد الأماكن المتاحة حاليًا لإدخال مدى التوفّر هذا.
    • spot_total: إجمالي عدد الأماكن التي يمتلكها التاجر لهذه الإعدادات، بما في ذلك الأماكن غير المتاحة.

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

    عند إجراء حجز، من المفترض أن يقل عدد مواضع الإعلانات بمقدار 1 من خلال تعديل في الوقت الفعلي (يجب أن يظل عدد الأماكن (إجمالي الأماكن) كما هو ). عند النقطة_open = 0، يجب ألا تظهر الخانة مرة أخرى.

    أمثلة على الخدمات

    تتوفّر صفوف اليوغا أو صالون التجميل بمخططات المباني التالية وليس لها حجوزات نشطة.

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

    تظهر خلاصة مدى التوفّر لخانتَين لدى هؤلاء التجار على النحو التالي:

    JSON

        {
          "availability": [
                {
                  "spots_total": 6,
                  "spots_open": 6,
                  "duration_sec": 3600,
                  "service_id": "1001",
                  "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT
                  "merchant_id": "1001"
                },
                {
                  "spots_total": 6,
                  "spots_open": 6,
                  "duration_sec": 3600,
                  "service_id": "1001",
                  "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT
                  "merchant_id": "1001",
                }
              ]
        }
        

    أمثلة على الخدمات مع الحجز

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

    الآن يحجز أحد المستخدمين إحدى الأماكن. عند إجراء حجز، يتم إصدار تعديل في الوقت الفعلي لتعديل مدى التوفّر. في الخلاصة اليومية التالية لمدى التوفّر، من المفترض أن يظهر هذا الحجز. سيتم تقليل قيمة spot_open لخلاصة مدى التوفّر لهؤلاء التجّار بمقدار 1 حسب خانة 1 أيلول (سبتمبر) 2018 الساعة 4:00:00 بعد الظهر بتوقيت غرينيتش. ولن يتم إجراء أي تغييرات على الخانة المتاحة في يوم 1 أيلول (سبتمبر) 2018 الساعة 8:00:00 مساءً بتوقيت غرينيتش.

    مقتطف الخلاصة مع حجز

    JSON

        {
          "availability": [
                {
                  "spots_total": 6,
                  "spots_open": 5,
                  "duration_sec": 3600,
                  "service_id": "1001",
                  "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT
                  "merchant_id": "1001"
                },
                {
                  "spots_total": 6,
                  "spots_open": 6,
                  "duration_sec": 3600,
                  "service_id": "1001",
                  "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT
                  "merchant_id": "1001",
                }
              ]
    }
        

    التكرار

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

    • التكرار: تمثيل خانات مدى التوفّر المتكررة باستمرار.
    • التكرار_unti_sec: الطابع الزمني للتوقيت العالمي المتفق عليه لوقت انتهاء الخانة الأخيرة التي يتكرر فيها مدى التوفُّر حتى.
    • تكرار_كل_ثانية: عدد الثواني بين خانات مدى التوفّر المتتالية. على سبيل المثال، إذا كانت قيمة التكرار = 1800 (30 دقيقة) وكانت تبدأ من الساعة 9:00 صباحًا، فسيتم تكرار الخانات كل 30 دقيقة في الساعة 9:00 صباحًا و9:30 صباحًا و10:00 صباحًا، وما إلى ذلك.
      • ملاحظة: ما مِن حاجة إلى تحديد spot_open وspot_total، لأنّه من المفترض أن يكون كلاهما 1 ما لم يكن الجدول schedule_exception .

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

    أمثلة على الخدمات

    يتوفّر لصالون تجميل بمخطط المبنى التالي ولا توجد حجوزات نشطة.

    الشكل 3: مخططات الطوابق التي لا تحتوي على حجوزات نشطة. تفترض أنّ مكانًا واحدًا فقط مفتوحًا لكل خدمة (على سبيل المثال، تقدِّم سالي خدمات قص الشعر كل 30 دقيقة، ولكنها لا يمكنها الحضور سوى لعميل واحد في الوقت نفسه.)

    تظهر خلاصة مدى التوفّر لشريحة واحدة لدى هؤلاء التجّار على النحو التالي:

    مقتطف الخلاصة:

    JSON

        {
        "availability": [
              {
                "merchant_id": "1001",
                "service_id": "1001",  # haircut
                "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT
                "duration_sec": 1800,
                "recurrence": {
                  "repeat_every_sec": 1800,
                  "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT
                }
              }
            ]
        }
        

    أمثلة على الخدمات مع الحجز

    الشكل 4: مخططات الطوابق التي تتضمّن حجزًا نشطًا واحدًا. تفترض أنّ مكانًا واحدًا فقط مفتوحًا لكل خدمة (على سبيل المثال، تقدِّم سالي خدمات قص الشعر كل 30 دقيقة، ولكنها لا يمكنها الحضور سوى لعميل واحد في الوقت نفسه.)

    تخيل الآن أن مستخدمًا يحجز قص شعر مع سالي في الساعة 12:30 ظهرًا. وعند إجراء حجز، يتم إصدار تعديل في الوقت الفعلي لتعديل مدى التوفّر. في الخلاصة اليومية التالية لمدى التوفّر، من المفترض أن يظهر هذا الحجز. وسيتم استثناء خلاصة مدى التوفّر لهؤلاء التجّار خلال الفترة من 12:30 إلى 1:00 بعد الظهر لخدمة مدتها 30 دقيقة.

    مقتطف الخلاصة مع حجز:

    JSON

        {
          "availability": [
                {
                  "merchant_id": "1001",
                  "service_id": "1001",
                  "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT
                  "duration_sec": 1800,
                  "recurrence": {
                    "repeat_every_sec": 1800,
                    "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT
                  },
                  "schedule_exception": [
                    {
                      "time_range": {
                        "begin_sec": 1493901000, # May 4, 2017 12:30:00 PM GMT
                        "end_sec": 1493902800 # May 4, 2017 1:00:00 PM GMT
                      }
                    }
                  ],
                }
              ]
        }