محرّك الحجز في كلّ منتجٍ استشاريّ، وكلّ منتجٍ لعلاجٍ نفسيّ، وكلّ منتج جلسات، يفعل الشيء ذاته أربع مرّات: يعدّد نافذة العمل ليومٍ ما، ويطرح الحجوزات والحصص المشغولة، ويحترم مهلة التقدّم والفواصل، ويقدّم النتيجة في منطقة زمن المستدعي.

المحرّك صغير. أوجه الفشل كثيرة.

ساعات العمل لكلّ يوم

احفظ ساعات العمل هيكلاً لكلّ يومٍ من الأسبوع، لا رايةً مسطّحةً لـ"ساعات العمل". الأحد إلى الخميس في المملكة ليس الاثنين إلى الجمعة في مكانٍ آخر؛ أداةٌ عالميّةٌ تفرض الاثنين إلى الجمعة تُنتج نتائج خاطئةً بصمت.

المناطق الزمنيّة، بصدق

احفظ كلّ حجزٍ بـUTC. احسب التوفّر في منطقة زمن الخدمة الأصليّة (حيث تُعرَّف ساعات العمل). قدّم النتيجة في منطقة زمن المستدعي. لا تحفظ وقتاً محلّيّاً كسلسلةٍ عارية أبداً. كلّ خطأ مرتبطٍ بالتوقيت الصيفيّ بدأ باختصارٍ على القاعدة الأخيرة.

مهلة التقدّم والفواصل إعداداتٌ من الدرجة الأولى

خدمةٌ تقول "احجز قبل ساعتَين على الأقلّ، واترك خمس عشرة دقيقةً بين الجلسات" تُعبّر عن قيدَين يجب على المحرّك تطبيقهما آليّاً. مهلة التقدّم قيمةٌ، والفاصل قيمةٌ أخرى؛ خلطُهما في "زمنِ إعدادٍ" واحد سيُحاصرك في كلّ قرارٍ منتجٍ ثالث.

الحصص المُستثناة

تحتاج طريقةً لوسم يومٍ، أو تكرارٍ أسبوعيّ، أو مدىً محدَّد، على أنّه غير متاح — خارج نموذج ساعات العمل. عطلةٌ وطنيّة، أو أسبوع إجازةٍ شخصيّ، أو نافذة صيانة. مثّل هذه في جدولِ استثناءاتٍ منفصل بدلاً من تعديل نموذج ساعات العمل؛ سلوك الفرق أسهل في التفكير.