برنامج جدولة الورديات يُعِدّ وفق قواعد محددة جدولًا يبيّن أي موظف يعمل في أي يوم وفي أي وردية وبأي مهمة، ثم ينشره. الإجابة المختصرة: البرنامج الجيد يرسم أقل ويتحقق أكثر. فهو يكتشف مخالفة القواعد قبل نشر الجدول، ويُظهر عند الحفظ مباشرة الورديات المتداخلة، وفترات الراحة القصيرة، والوردية المسندة لموظف في إجازة، والموقع الذي يشغله شخص لا يملك المهارة المطلوبة.
ما فائدة برنامج جدولة الورديات؟
جدول الورديات في ملف إكسل يكفي لفريق صغير. ومع نمو الفريق تظهر ثلاث مشكلات: الإجازات في ملف آخر، والتبديلات يُتفق عليها في مجموعة دردشة ولا تُسجَّل في الجدول، والعمل الإضافي في نهاية الشهر يُحسب وفق المخطط لا وفق ما حدث فعلًا. البرنامج يجمع ذلك كله: الإجازات والمهارات ونوع العقد وقواعد العمل تصبح مدخلات للخطة، والخطة تصبح مدخلًا لكشف الدوام.
- قوالب الورديات: الصباحية والمسائية والليلية تُعرَّف مرة واحدة ببداية ونهاية ومدة استراحة.
- الاحتياج: لكل يوم وموقع يُحدَّد عدد الأشخاص المطلوبين في كل مهمة.
- إعداد الجدول: يملأ المخطِّط الاحتياج، ولا يعرض النظام من هم في إجازة أو بلا مهارة مناسبة.
- فحص القواعد: التداخل وفترات الراحة والحد الأسبوعي وحد الورديات الليلية المتتالية تُفحص قبل الحفظ.
- النشر والتبديل: يصل الجدول إلى هاتف الموظف، والتبديل يتطلب موافقة الموظفين الاثنين والمدير.
السجل الأساسي هو إسناد الوردية لا الجدول
حفظ الجدول كصورة لجدول ينتج أرشيفًا لا يمكن الاستعلام منه لاحقًا. النموذج الصحيح هو سطر الإسناد: الموظف، ووقت البداية والنهاية، والموقع، والمهمة، ومن قام بالإسناد. والجدول ليس إلا عرضًا لهذه السطور. وللورديات التي تتجاوز منتصف الليل تُحفظ لحظتا البداية والنهاية لا التاريخ، وإلا انقسمت وردية من 22:00 إلى 06:00 على يومين وفسد حساب الساعات. وعند تغيير إسناد منشور لا يُحذف السجل القديم، بل يُحفظ من غيّره ولماذا.
اكتشاف مخالفة القواعد بعد نشر الجدول متأخر جدًا. يجب أن يعمل فحص التداخل وفترات الراحة والحد الأسبوعي عند حفظ الإسناد، وأن يبقى زر النشر معطلًا ما دامت هناك مخالفات.
كيف تُفحص فترات الراحة والتداخل؟
قواعد وقت العمل والراحة تختلف حسب البلد والقطاع والعقد، ولا ينبغي للبرنامج أن يثبّتها في الكود، بل أن يقرأها من جدول ويطبقها على كل إسناد. يرتب المثال التالي ورديات موظف واحد ويكتشف التداخل وقصر الراحة بين ورديتين. حدد العتبة وفق سياستك ورأي مستشارك القانوني، فهذا المقال ليس استشارة قانونية.
type Assignment = { employeeId: string; start: Date; end: Date };
const MIN_REST_HOURS = 11; // set from your own policy and legal advice
function violations(list: Assignment[]): string[] {
const errors: string[] = [];
const byEmployee = new Map<string, Assignment[]>();
for (const a of list) {
byEmployee.set(a.employeeId, [...(byEmployee.get(a.employeeId) ?? []), a]);
}
for (const [id, items] of byEmployee) {
items.sort((x, y) => x.start.getTime() - y.start.getTime());
for (let i = 1; i < items.length; i++) {
const prev = items[i - 1];
const cur = items[i];
if (cur.start < prev.end) errors.push(id + ': overlapping shifts');
const restHours = (cur.start.getTime() - prev.end.getTime()) / 3_600_000;
if (restHours >= 0 && restHours < MIN_REST_HOURS) {
errors.push(id + ': rest period too short');
}
}
}
return errors;
}تبديل الورديات والفراغات المفاجئة
إذا لم تمر طلبات التبديل عبر مسار رسمي، يتوقف الجدول عن عكس الواقع. المسار الجيد: يحدد الموظف ورديته للتبديل، فيُبلَّغ الزملاء المناسبون والمؤهلون، ويقبل أحدهم، ويعتمد المدير، ويُحدَّث الإسناد للطرفين معًا. وفي الفراغات المفاجئة مثل المرض يعرض النظام من يناسبون الوردية ولا يخالفون قاعدة الراحة ولا يتجاوزون الحد الأسبوعي. يمكن إرسال الإشعارات الفورية عبر WhatsApp Business API أو داخل التطبيق، أما التذكيرات قبل النشر فتُضبط عبر مهمة مجدولة (cron job).
مقارنة المخطط بالفعلي
الجدول يقول ما يجب أن يحدث، وسجلات الدخول والخروج تقول ما حدث فعلًا. والقيمة الحقيقية في وضعهما جنبًا إلى جنب: ورديات بدأت متأخرة، وعمل إضافي غير مخطط، وغياب. لبيانات الحضور راجع مقال برنامج تتبع حضور الموظفين (PDKS)، ولسيناريو ارتباط الورديات بأوامر العمل في خط الإنتاج راجع مقال برنامج متابعة الإنتاج (MRP). والرقم الذي يذهب إلى كشف الدوام والرواتب يجب أن يكون الوقت الفعلي المعتمد لا المخطط.
هل تحتاج إلى جدولة تلقائية؟
الخوارزميات التي تُنشئ الجدول كاملًا تبدو جذابة، لكنها ليست الحاجة الأولى في معظم المؤسسات. يجب أولًا تعريف القواعد بشكل صحيح، وإظهار المخالفات فورًا، وتسجيل التبديلات. وبعد ترسيخ هذا الأساس، تخفف الأدوات شبه التلقائية مثل «نسخ الأسبوع الماضي» و«ملء الفراغات بالأشخاص المناسبين» معظم عمل المخطِّط. أما التحسين التلقائي الكامل فيستحق تقييمًا منفصلًا للفرق متعددة المواقع التي تضم مئات الأشخاص.
الخلاصة
قيمة برنامج جدولة الورديات أنه يجعل الإسناد سجلًا أساسيًا، ويطبق القواعد قبل النشر، ويقارن الخطة بالحضور الفعلي. إذا أردت إنشاء نظام ورديات ومناوبات يناسب فريقك، فاطّلع على صفحة الحلول المؤسسية أو تواصل معنا عبر نموذج طلب عرض سعر.