إدارة الرحلات
تجمع إدارة الرحلات العمل اليومي للشركة في ثلاثة أسطح:
- يوم التشغيل لرحلات اليوم والغد والسجل الكامل
- مخطط الرحلات لإنشاء رحلة واحدة أو سلسلة متكررة
- غرفة تشغيل الرحلة للتجهيز والحضور والحالة وسجل الإجراءات
إنشاء رحلة جديدة
- افتح الرحلات واضغط رحلة جديدة.
- اختر المسار والباص.
- اختر نقطة صعود فعلية في مدينة الانطلاق أو أنشئ نقطة خاصة بالشركة على الخريطة.
- أدخل تاريخ ووقت الانطلاق والوصول المتوقع والسعر.
- عيّن السائق الآن أو اتركه لمرحلة التجهيز.
- راجع الملخص ثم أنشئ الرحلة.
نقطة الصعود الخاصة بالرحلة
لا يفترض شام باص وجود محطة مركزية محترفة في كل مدينة. كل رحلة تحمل نقطة صعود دقيقة يحددها المشغل، تشمل الاسم والعنوان والإحداثيات وإرشادات الوصول بالعربية والإنجليزية عند توفرها. يعرض المخطط النقاط العامة ونقاط الشركة في مدينة منشأ المسار فقط، ويمكن لصاحب صلاحية التشغيل إنشاء نقطة جديدة واختيارها مباشرة.
تنسخ الرحلة بيانات النقطة عند الإنشاء كي تبقى التذكرة والتأكيد والإشعارات متسقة حتى لو غيّرت الشركة اسم النقطة الأصلية لاحقاً. لا يمكن تغيير نقطة رحلة لديها حجز؛ أنشئ رحلة بديلة واتبع مسار نقل/إشعار الركاب بدلاً من توجيههم إلى مكان جديد بصمت. تحمل السلسلة المتكررة نقطة افتراضية واحدة، وتنسخها كل رحلة منشأة منها.
المسار والباص
إذا لم تجد المسار، أنشئه أولاً من صفحة المسارات. تعرض شاشة التخطيط الباصات النشطة التي لها مخطط مقاعد منشور وصالح؛ لأن إنشاء الرحلة يهيئ المقاعد مباشرة من سعة الباص.
إذا ظهر أن بعض الباصات غير جاهزة، افتح إعداد الباص وراجع الترقيم والممر والسعة، ثم انشر المخطط وارجع إلى التخطيط. يفحص النظام كذلك تداخل موعد الباص والصيانة والسائق قبل الإنشاء.
يعرض حقل السائق الملفات المرتبطة بحساب شركة من دور سائق فقط. عند إسناد السائق، ينشئ النظام تكليف تطبيق السائق تلقائياً ويزامنه إذا تغير السائق أو الباص قبل بدء التشغيل. إذا ظهر تنبيه «يحتاج إكمال ربط حسابه»، افتح صفحة السائقين وأكمل بيانات الدخول والربط أولاً؛ لا تنشئ تكليفاً يدوياً بمعرف مختلف.
كل التواريخ والأوقات التي يدخلها المستخدم تُفسر بتوقيت دمشق ثم تُحفظ بصيغة UTC.
يوم التشغيل
تفتح قائمة الرحلات على اليوم بتوقيت دمشق وتعرض الرحلات زمنياً من أول موعد إلى آخره. يمكن الانتقال مباشرة إلى غداً أو اختيار تاريخ محدد. يعرض كل السجل الرحلات من الأحدث إلى الأقدم، ولا يخلط الرحلات القديمة بيوم التشغيل.
تعرض القائمة 25 رحلة في الصفحة مع العدد الإجمالي وعدادات مرتبطة بالعرض الحالي: رحلات العرض، قيد التشغيل، المغلقة، والاستثناءات. البحث والحالة والتاريخ تعمل في الخادم وتشمل المسار ولوحة الباص واسم السائق.
يتزامن البحث والتاريخ والحالة ورقم الصفحة مع عنوان الصفحة، لذلك يمكن نسخ رابط يعيد فتح العرض نفسه أو الرجوع إليه من تفاصيل رحلة من دون فقد السياق. يؤخر البحث الطلب زمناً قصيراً أثناء الكتابة كي لا يرسل طلباً لكل ضغطة مفتاح. يمكن حفظ مجموعة المرشحات كعرض شخصي أو عرض مشترك مع الشركة، تطبيقها من شريط المرشحات، أو مسحها دفعة واحدة. تبقى أزرار اليوم وغداً وكل السجل اختصارات تشغيلية فوق نظام المرشحات نفسه وليست قوائم منفصلة ببيانات متعارضة.
تعرض كل نتيجة:
- المسار باتجاه صحيح في واجهة RTL
- وقت الانطلاق والوصول بتوقيت دمشق
- الباص والسائق أو نقص التعيين
- المقاعد المحجوزة ونسبة الإشغال
- الحالة ورابط صريح إلى غرفة التشغيل
إذا فشل الطلب، تعرض الصفحة سبب الفشل وزر إعادة المحاولة. لا تستبدل الخطأ بحالة فارغة قد توحي بأن البيانات حُذفت.
دورة حالة الرحلة
تفرض قاعدة البيانات التسلسل التشغيلي، ولا تسمح الشاشة بالقفز إلى حالة اعتباطية:
| الحالة | المعنى |
|---|---|
| مجدولة | الرحلة محفوظة وتنتظر التجهيز |
| متأخرة | ما زالت قبل الصعود، مع سبب ومدة تأخير محفوظين |
| صعود الركاب | فتح كشف الحضور وعدم الحضور |
| انطلقت / على الطريق | غادرت الرحلة ولا يمكن إلغاؤها من غرفة الشركة |
| وصلت | وصلت إلى الوجهة وتنتظر الإغلاق التشغيلي |
| مغلقة | اكتملت الرحلة وحُفظت أوقات التشغيل |
| ملغاة | أُغلقت قبل الانطلاق بسبب مسجل |
تظهر القيمتان التوافقيتان IN_PROGRESS وIN_TRANSIT كرحلة على الطريق، ويمكن
نقلهما إلى الوصول من دون كسر بيانات تطبيق السائق القديمة.
غرفة تشغيل الرحلة
تعرض الغرفة حقيقة تشغيلية واحدة تشمل المسار والموعد والباص والسائق وكشف الركاب ونسبة الإشغال وآخر 25 إجراء. يظهر زر واحد للخطوة الأساسية التالية، وتبقى الإجراءات الاستثنائية مثل التأخير والإلغاء واضحة ومنفصلة.
تعرض الغرفة أيضاً بطاقة نقطة الصعود نفسها المستخدمة في الحجز والتذكرة والإشعارات، مع العنوان وإرشادات الوصول وزر الخرائط. إذا كانت رحلة قديمة رُحّلت إلى نقطة افتراضية ولم يؤكدها المشغل، تظهر حالة تحتاج مراجعة ورابط مباشر إلى تعديل التجهيز قبل بدء الصعود.
فحص الجاهزية
قبل بدء الصعود يفحص النظام:
- وجود باص نشط ومخطط مقاعد منشور وصالح
- عدم استحقاق صيانة الباص أو وجود صيانة غير مكتملة في نافذة الرحلة
- وجود سائق نشط بدور سائق
- وجود ملف سائق مرتبط وتكليف مطابق للباص والرحلة في تطبيق السائق
- رقم رخصة السائق وتاريخ صلاحيتها وقت الرحلة
إذا وجد عائقاً، يعطّل زر الخطوة التالية ويعرض السبب ورابط المعالجة. تعديل التجهيز لا يغيّر حالة الرحلة؛ كل تغيير حالة يمر من غرفة التشغيل حتى تُحفظ الجاهزية والأوقات والتكليف وسجل التدقيق معاً.
تحمي نافذة التشغيل الأخطاء الزمنية أيضاً: لا يبدأ الصعود قبل أكثر من أربع ساعات من الموعد، ولا تسجل المغادرة قبل أكثر من 30 دقيقة، ولا يمكن بدء الصعود أو المغادرة بعد وقت الوصول المجدول. إذا فاتت النافذة تبقى الرحلة ظاهرة لمعالجة الاستثناء بدلاً من تسجيل حدث زائف متأخر.
كشف الركاب
أثناء صعود الركاب يمكن تسجيل كل حجز مؤكد كـ حضر أو لم يحضر. يمكن التراجع عن عدم الحضور قبل الانطلاق. لا يسمح النظام بالانطلاق ما دام هناك حجز مؤكد لم يُحسم، ولا يعتمد على عدد الحجوزات وحده.
تحديث الحضور يقفل الحجز ويزامن الحجز وسجل الصعود وإجماليات تكليف الرحلة وسجل التشغيل في معاملة واحدة. يمكن البحث بالاسم أو رقم الحجز أو الهاتف أو المقعد، والتصفية حسب الحضور أو عدم الحضور أو الحجوزات غير المؤكدة.
لا تعرض قائمة الحجوزات اختصارات إكمال أو عدم حضور خارج غرفة التشغيل؛
كما ترفض قاعدة البيانات تغيير هذه الحالات مباشرة. يبقى الحجز المسجل عند
CHECKED_IN حتى إغلاق الرحلة، ثم يتحول إلى COMPLETED داخل معاملة الإغلاق.
سجل التشغيل
يحفظ السجل من نفّذ كل تغيير حالة أو حضور، والحالة السابقة والجديدة والسبب والوقت. تعرض الغرفة آخر 25 حدثاً، بينما تبقى السجلات الأقدم محفوظة في قاعدة البيانات.
التأخير
يتطلب تأخير مدة من دقيقة إلى 1,440 دقيقة وسبباً مفيداً لا يقل عن ثلاثة محارف. تحفظ الغرفة السبب والمدة وتعرضهما ضمن حقيقة الرحلة.
لا يعني حفظ التأخير وحده أن رسالة خارجية وصلت. تكاملات الإرسال الخارجية تُقاس وتُتابع بشكل مستقل.
إلغاء الرحلة
- افتح غرفة التشغيل.
- اختر إلغاء.
- أدخل سبباً واضحاً.
- راجع الأثر ثم أكد.
يمكن الإلغاء من الحالات مجدولة ومتأخرة وصعود الركاب فقط. عند التأكيد، ينفذ النظام داخل معاملة واحدة:
- إلغاء الحجوزات النشطة
- إنشاء إشعار داخل المنصة لكل راكب متأثر
- تسجيل السبب والمنفذ في سجل التشغيل
- إبقاء حقيقة الدفع المدفوع ووضع الحالة أمام مراجعة الاسترداد
الإلغاء لا يعني أن المال استُرد تلقائياً. ينفذ الاسترداد من دفتر التحصيل كقرار مالي منفصل وموثق.
لا يُحذف سجل رحلة بدأت أو أُلغيت أو ارتبطت بحجز أو تحصيل أو حدث تشغيلي. يقتصر الحذف النهائي على مسودة مجدولة أو متأخرة لم تمسها أي حركة؛ وهذا يحفظ السجل التشغيلي والمالي للمراجعة.
الرحلات المتكررة
تجمع شاشة تخطيط الرحلات بين رحلة واحدة وسلسلة متكررة.
إنشاء سلسلة متكررة
- افتح الرحلات ← رحلة جديدة واختر سلسلة متكررة.
- اختر المسار وباصاً جاهزاً. يمكن إسناد السائق الآن أو لاحقاً.
- حدد البداية والنهاية، ووقت الانطلاق، والمدة، وأيام التشغيل.
- راجع السعر المنسوخ من المسار وعدّله عند الحاجة.
- اضغط فحص المواعيد ومعاينتها.
لا تنشئ المعاينة أي رحلة. يفحص النظام كل موعد مقابل:
- رحلة أخرى متداخلة للباص
- صيانة مجدولة للباص
- رحلة متداخلة للسائق، إذا أُسند سائق
- انتهاء رخصة السائق قبل الموعد
- موعد أصبح في الماضي
تعرض الشاشة الجاهز والمتعارض وسبب كل تعارض. عند وجود تعارضات جزئية، يمكن تأكيد إنشاء المواعيد الجاهزة وتجاوز المتعارضة بقرار صريح. يعيد الخادم الفحص تحت أقفال المعاملة أثناء الإنشاء حتى لا يعتمد على معاينة قديمة.
تستخدم الرحلة المفردة والسلسلة المتكررة محرك التعارض وأقفال الموارد نفسها، لذلك لا تستطيع عمليتا إنشاء متزامنتان حجز الباص أو السائق في نافذتين متداخلتين.
قواعد السلسلة:
- يوم تشغيل واحد على الأقل
- مدة من 30 إلى 1,440 دقيقة
- نطاق لا يتجاوز 180 يوماً
- سعر أساسي أكبر من صفر، وسعر VIP ـ إن وجد ـ أكبر منه
- لا يُحفظ سجل سلسلة فارغ إذا تعارضت كل المواعيد
تظهر السلاسل الأخيرة أسفل المخطط، وترتبط كل رحلة منشأة بسلسلتها. تُدار الرحلات المنشأة فردياً في النسخة الحالية؛ لا يوجد بعد تعديل أو إلغاء جماعي لكل المواعيد المتبقية.
البيانات والتصدير
تعرض غرفة الرحلة الإشغال وكشف الركاب وحالة دفع كل حجز. تصدير سجلات الركاب متاح من صفحة الحجوزات ومرشح الرحلة؛ لا يوجد حالياً زر تصدير مستقل في قائمة الرحلات.
أسئلة شائعة
كيف أغيّر سعر الرحلة أو تجهيزها؟
استخدم تعديل التجهيز قبل بدء التشغيل. راجع الحجوزات المتأثرة قبل تغيير السعر؛ التغيير لا يعيد تسعير الحجوزات القديمة تلقائياً.
هل يمكنني نقل ركاب من رحلة لأخرى؟
لا يوجد حالياً تدفق نقل جماعي ذري بين رحلتين. لا تغيّر trip_id يدوياً؛ هذا
الإجراء يحتاج حفظ المقاعد والسعر والإشعارات معاً قبل إضافته للمنتج.
ماذا أفعل عند التأخير؟
اختر تأخير من غرفة التشغيل وسجل عدد الدقائق والسبب. تبقى الرحلة في مرحلة ما قبل الصعود ويمكن بدء الصعود بعد زوال العائق. تابع قناة التواصل الخارجية بشكل مستقل إذا كانت شركتك فعّلتها.