المواعيد والتقويم
إدارة التقويم الكاملة — الحجز وإعادة الجدولة ودورة حياة الحالة والسلاسل المتكررة وغرفة الانتظار.
Calendar views
The main calendar supports three views:
- Day: single-column per doctor, densest time grid
- Week: side-by-side columns for all doctors in the selected branch
- Month: overview — click any day to drill down
Switch views using the buttons in the top-right of the calendar. The selected view persists across sessions.
دورة حياة حالة الموعد
ينتقل كل موعد عبر مجموعة محددة من الحالات:
مجدوَل > مؤكَّد > وصل > انتظار > في الكرسي > مكتمل
> غائب
> مُلغى (من أي حالة إلا مكتمل)
مجدوَل — محجوز، لم يُؤكَّد بعد
مؤكَّد — أكّد المريض الحضور
وصل — المريض سجّل دخوله جسدياً في العيادة
انتظار — في غرفة الانتظار، يجري الفرز
في الكرسي — بدأ الطبيب الجلسة
مكتمل — الجلسة محفوظة، الفاتورة مُنشأة تلقائياً
غائب — المريض لم يحضر
مُلغى — تم إلغاء الموعد
تُسجَّل تغييرات الحالة في سجل التدقيق.
Drag-and-drop rescheduling
Drag any appointment block to a new time slot or a different doctor column. A confirmation dialog shows the old and new time before saving.
Drag rescheduling is blocked for:
- Appointments with status IN_CHAIR or COMPLETED
- Appointments in the past (unless you have ADMIN role)
After rescheduling, WhatsApp and SMS reminders are automatically re-queued for the new time.
Walk-in appointments
For unscheduled patients arriving at the door:
- Press Shift + W anywhere in the dashboard, or click the + FAB (floating action button).
- Search for the patient or add them on the spot.
- Select the doctor, appointment type, and chief complaint.
- Click Add to Waiting Room — the appointment is created with status ARRIVED immediately.
Walk-ins appear at the top of the waiting room queue with a Walk-in badge.
Recurring appointments (series)
For patients who need regular sessions (physiotherapy, chemotherapy, dialysis):
- Create a new appointment as normal.
- Before saving, toggle Repeat.
- Set the frequency (Daily, Weekly, Every 2 weeks, Monthly) and end condition (number of sessions or end date).
- Click Save Series — all sessions are created at once.
To edit a single session without affecting others, open it and choose Edit this appointment only.
To cancel the entire series, choose Cancel all remaining.
غرفة الانتظار
يعرض عرض غرفة الانتظار (/dashboard/waiting-room) ثلاثة دلاء مباشرة:
وصل — سجّل دخوله جسدياً، لم يُستدعَ بعد
انتظار — مؤكَّد لكن لم يصل بعد
في الكرسي — حالياً مع الطبيب
يعرض كل دلو شارة عدد مباشر. انقر "استدع التالي" لنقل أول مريض في "وصل" إلى "في الكرسي" وفتح جلسته.
تتحدث القائمة بشكل فوري عبر Supabase Realtime WebSockets.
Pre-session triage (kiosk)
Patients can self-check-in on a reception tablet before seeing the doctor:
- Enable kiosk mode at App Management > Kiosk Mode.
- The patient enters their phone number and receives an OTP.
- They enter their chief complaint, current medications, and pain level.
- The doctor sees this pre-filled in the session notes before entering the room.
This reduces average session time and ensures no information is lost.