Smart Calendar Assistant – مساعد مواعيد ذكي للعيادات (صوت + شات)
سيستم حجز وإدارة مواعيد للعيادات معمول بمستوى Production، بيخلّي الريسبشن تقدر تحجز وتعدّل وتلغي المواعيد بالكلام الطبيعي أو بالكتابة، من غير لخبطه أو فقدان للسياق. أقوى نقطة هنا إن النظام مبني بـ LangGraph كـ state machine، فبيفتكر تفاصيل الحوار خطوة بخطوة وبيحل تعارضات المواعيد لحظيًا.
بيحل إيه للعيادات؟
يمنع التداخل في المواعيد ويكشف التعارضات فورًا، ويقترح مواعيد بديلة تلقائي
بيفهم الطلبات اللي فيها غموض وبيسأل أسئلة توضيحية ذكية بدل ما يغلط
بيحافظ على سياق المحادثة (زي اسم المريض/اليوم/الساعة) حتى لو الحوار طول
بيطبّق قواعد العيادة (مواعيد العمل 9 ص–6 م، ومنع الحجز في تاريخ فات) برسائل واضحة ومفيدة
أهم المميزات
حجز مواعيد Multi-turn: يجمع البيانات تدريجيًا (الاسم/اليوم/الوقت) بشكل طبيعي
إدارة الجدول: عرض مواعيد يوم محدد أو فترة زمنية أو كل المواعيد الجاية
تعديل/إلغاء ذكي: بحث سياقي عن الموعد المقصود حتى لو المستخدم ماقالش كل التفاصيل
Voice I/O كامل: تحويل كلام لنص (Whisper) + تحويل نص لصوت (TTS) لتجربة استقبال شبه المكالمة
التقنيات المستخدمة (Tech Stack)
LLM: Qwen 2.5 72B عبر OpenRouter لفهم النية والردود الطبيعية
Orchestration/State: LangGraph لإدارة السياق وتتبّع المحادثة
Backend: FastAPI (Python 3.11)
Voice: Whisper STT + pyttsx3 TTS (+ أدوات صوت PyAudio/pygame)
Frontend: HTML/CSS/Vanilla JS
Calendar: Mock In-Memory (قابل للاستبدال بـ Google Calendar لاحقًا)
جاهزية الإنتاج
Error handling شامل + Retry/Timeouts
Parsing لأكتر من صيغة وقت
ردود طبيعية مش Templates
تطبيق قواعد العمل بشكل صارم مع توجيه للمستخدم
مثال سريع: لو حد طلب “احجزلي بكرة ٥” والوقت متحجز، السيستم يقولك فورًا إن فيه تعارض ويقترح أقرب مواعيد فاضية، ويكمّل معاك لحد ما يثبت الحجز.