الجلسات والتقويم المزدوج ومنع التعارض الزمنيHearings, dual calendar and clash prevention
الجلسة موعد أمام الدائرة في مرحلة. تُحفظ بالتاريخ الميلادي وتُعرض بالهجري أم القرى بجانبه، وتُرسل تذكيرات، ويُحذَّر إذا كان للمحامي جلستان متداخلتان.
بطاقة الميزة
| البند | القيمة |
|---|---|
| 1. اسم الميزة | الجلسات والتقويم المزدوج ومنع التعارض الزمني — Hearings, dual calendar and clash prevention |
| 2. المعرّف (Feature ID) | B09 |
| 3. مصدر المتطلب | دليل المطور ص6، 11-12، 20، خطة ناجز للمطورين: محاضر الجلسات |
| 4. تصنيف المحتوى | متطلب وارد في الملفات DocType الجلسة، التخزين ميلاديًا والعرض بالتقويمين، تذكير الجلسات. اقتراح هندسي كشف التعارض الزمني بين جلسات المحامي. |
| الوحدة | التقاضي والجلسات |
| الأدوار المعنية | محامٍ، سكرتارية، شريك |
| درجة الخطورة | عالية |
| حالة الاعتماد | معتمد في الوثائق |
| المنصات المرتبطة | ناجز وناجز للمطورين، تقويم Google وOutlook، تقويم أم القرى والجريدة الرسمية |
5الهدف التجاري والمشكلة التي تعالجها
فوات جلسة قد يؤدي إلى شطب الدعوى. التقويم المزدوج ضروري لأن المواعيد الرسمية تُذكر بالهجري أحيانًا (دليل المطور ص6).
6المجال القانوني المرتبط للمطوّر غير المتخصص
الدائرة تنادي القضية، ويحضر الأطراف أو وكلاؤهم حضوريًا أو عن بعد، وتُثبت الوقائع في الضبط (دليل المطور ص38). موعد الجلسة تحدده المحكمة لا المكتب.
7المستخدمون والأدوار والصلاحيات
السكرتارية تدخل المواعيد. المحامي الحاضر يرى جلساته في «اليوم» على الجوال. الشريك يرى جلسات الأسبوع.
8شروط البدء والاعتماديات
B04 مراحل التقاضي ودورة حياة القضية مرحلة مسجّلة. قائمة العطلات للسنة B12 محرك المهل النظامية وحاسبة الاعتراض.
9السيناريو الأساسي خطوة بخطوة
- إدخال الجلسة: المرحلة، الموعد (تاريخ ووقت بتوقيت الرياض)، الطريقة (حضوري/عن بعد)، المحامي الحاضر، رابط الجلسة إن كانت عن بعد.
- النظام يعرض التاريخ الهجري بجانب الميلادي بـ
Intl.DateTimeFormat("ar-SA-u-ca-islamic-umalqura")(دليل المطور ص12). - فحص التداخل مع جلسات المحامي الأخرى ومواعيده اقتراح هندسي.
- جدولة التذكيرات للمحامي وللموكّل (نص معتمد) B44 الإشعارات والتذكيرات.
- بعد الجلسة: تقرير الجلسة إلزامي B10 تقارير الجلسات ومخرجاتها.
10السيناريوهات البديلة والاستثناءات
تأجيل: تُنشأ جلسة جديدة من التقرير وتُنقل التذكيرات (دليل المطور ص38). جلسة لم تنعقد: سبب وموعد بديل. تداخل: تحذير مع اقتراح محامٍ بديل من الفريق؛ لا منع لأن المحكمة تحدد الوقت. إدخال الموعد بالهجري: حقل مساعد يحوّل إلى ميلادي ويُعرض الناتج للتأكيد.
11المدخلات والحقول
| الاسم العربي | الاسم البرمجي | النوع | إلزامي | التحقق | القيمة الافتراضية | مصدر البيانات |
|---|---|---|---|---|---|---|
| المرحلة | proceeding | Link → Case Proceeding | نعم | — | — | B04 مراحل التقاضي ودورة حياة القضية |
| الموعد | starts_at | Datetime | نعم | منطقة Asia/Riyadh | — | المحكمة |
| المدة المتوقعة | expected_minutes | Int | لا | > 0 | 60 افتراض تنفيذي | السكرتارية |
| الطريقة | mode | Select | نعم | حضوري / عن بعد | حضوري | (دليل المطور ص11) |
| رابط الجلسة | remote_link | Data | عند «عن بعد» | https | — | المحكمة |
| المحامي الحاضر | attending_lawyer | Link → User | نعم | من فريق الملف | المسؤول | (دليل المطور ص11) |
| الحالة | status | Select | تلقائي | مجدولة / انعقدت / أُجلت / لم تنعقد | مجدولة | B10 تقارير الجلسات ومخرجاتها |
| الجلسة التالية | next_hearing | Link → Hearing | لا | — | — | التقرير |
| مصدر البيانات | data_source | Select | تلقائي | يدوي / ناجز | يدوي | (دليل المطور ص21) |
12المخرجات والإشعارات والسجلات والتقارير
تقويم المكتب والمحامي (يوم/أسبوع/شهر) بالتقويمين. ملخص مسائي بجلسات الغد بالبريد (دليل المطور ص18). نسخة مشفّرة على الجوال لجلسات الأيام القادمة B34 العمل دون اتصال.
13قواعد العمل بصيغة قابلة للتحويل إلى كود
RULE B09.1 store starts_at in UTC-aware datetime; display Asia/Riyadh + Hijri label
RULE B09.2 overlap(lawyer): exists other Hearing/Appointment where intervals intersect -> WARN
RULE B09.3 attending_lawyer must be in matter.team
RULE B09.4 status past + no approved Hearing Report after office period -> reminder then partner escalation (B10)
RULE B09.5 calendar export carries title "جلسة" only — no party names (DG p25)14حالات السجل وانتقالاتها وشروطها
| من | إلى | الحدث |
|---|---|---|
| مجدولة | انعقدت | تقرير بنتيجة غير «لم تنعقد» |
| مجدولة | أُجلت | نتيجة «تأجيل» مع موعد |
| مجدولة | لم تنعقد | نتيجة «لم تنعقد» |
15نموذج البيانات والعلاقات والقيود والفهارس
Hearing n → 1 Case Proceeding. فهرس (attending_lawyer, starts_at) لفحص التداخل والتقويم.
16DocTypes المطلوبة في Frappe
Hearing(دليل المطور ص11) مع حقول محسوبةactual_minutesوactual_costB19 تسجيل الوقت الفعلي والمتتبع المعلن.
17الشاشات والعناصر والأزرار ورسائل الخطأ
تقويم بعرض يوم/أسبوع، بطاقة الجلسة بالتقويمين، أزرار الجوال «انطلقت/وصلت/بدأت/انتهت» B19 تسجيل الوقت الفعلي والمتتبع المعلن. رسالة: «لديك جلسة أخرى من 9:00 إلى 10:00 في المحكمة نفسها. تابع أو أسند إلى زميل.»
18خدمات Backend ومسؤولية كل خدمة
legal_erp.court.hearings.check_overlap، legal_erp.court.hearings.schedule_reminders، legal_erp.calendar.ics_feed(user) اقتراح هندسي.
19واجهات API الداخلية
GET /api/method/legal_erp.api.v1.mobile.today
جلسات اليوم ومهله للمحامي (واجهة الجوال) (دليل المطور ص20).
الصلاحية: المستخدم نفسه.
{
"hearings": [
{
"hearing": "HRG-0042",
"starts_at": "2026-11-04T09:00:00+03:00",
"hijri": "13 جمادى الأولى 1448",
"court": "المحكمة العامة (تجريبي)",
"mode": "حضوري"
}
],
"deadlines": []
}20الأحداث والمهام الخلفية والجدولة وإعادة المحاولة
تذكيرات قبل الجلسة بالفترات المحددة B44 الإشعارات والتذكيرات. الملخص المسائي يوميًا. مزامنة التقويم الخارجي بالعنوان فقط تقويم Google وOutlook.
21التكاملات المرتبطة بالميزة وحدودها
ناجز وناجز للمطورين قد يعيد مواعيد الجلسات بعد الموافقة. تقويم أم القرى والجريدة الرسمية للتحويل الهجري.
22الأمن والخصوصية والتدقيق والاحتفاظ والحذف
التقويم الخارجي لا يحمل أسماء الأطراف ولا موضوع القضية (دليل المطور ص21). إشعار الجوال نص عام B44 الإشعارات والتذكيرات.
23حالات الاختبار
| المعرّف | النوع | السيناريو | النتيجة المتوقعة |
|---|---|---|---|
B09-T01 | طبيعي | جلسة 2026-11-15 10:00 | تظهر بالهجري بجانبها. |
B09-T02 | حدّي | جلستان للمحامي نفسه متداخلتان بنصف ساعة | تحذير مع اقتراح بديل. |
B09-T03 | سلبي | محامٍ حاضر ليس في الفريق | يُمنع الحفظ. |
B09-T04 | طبيعي | تصدير التقويم | العنوان «جلسة» فقط. |
B09-T05 | صلاحيات | محامٍ «ب» ليس في فريق الملف يفتح قائمة Hearing | لا يظهر سجل الملف، والعدّاد لا يحسبه. |
B09-T06 | صلاحيات | المحامي «ب» يفتح رابط سجل Hearing لملف المحامي «أ» مباشرة | رسالة عدم صلاحية، ولا تظهر أي حقول. |
B09-T07 | صلاحيات | المحامي «ب» يبحث في الشريط العلوي بعنوان السجل | لا نتيجة. |
B09-T08 | صلاحيات | مستخدم في قائمة حاجز المعلومات وهو عضو في الفريق | يُرفض الوصول ويُسجَّل. |
24معايير القبول
- التخزين ميلادي والعرض بالتقويمين.
- التذكيرات تصل للجلسات المؤكدة.
- التداخل يُكشف.
25تعريف الاكتمال (Definition of Done)
- كل قواعد العمل في هذه الصفحة منفذة في الخادم (Controller أو Service)، لا في الواجهة وحدها.
- حالات الاختبار المذكورة هنا مكتوبة اختباراتٍ آلية في إطار اختبار Frappe، وتنجح مع كل دفعة كود.
- اختبارات الصلاحيات تثبت أن مستخدمًا خارج فريق الملف لا يرى السجل في القائمة ولا برابطه المباشر ولا في البحث العام ولا في العدّادات.
- الحقول المخصصة والأدوار ومسارات الاعتماد مُصدَّرة في Fixtures التطبيق، وتظهر بعد تثبيت نظيف على موقع فارغ دون إعداد يدوي.
- لا تعديل في ملفات Frappe أو ERPNext.
- كل قيمة قانونية (مدة، نسبة، مبلغ، قائمة) محفوظة في إعداد قابل للتعديل، وموسومة بحالة اعتمادها.
- نصوص الواجهة ورسائل الخطأ بالعربية، وتخبر المستخدم بما يفعله.
- معايير القبول في هذه الصفحة مُتحقق منها ومسجلة في مصفوفة التتبع.
26القرارات المفتوحة والمخاطر والاعتمادات المطلوبة
المدة الافتراضية للجلسة لكشف التداخل افتراض تنفيذي.