כיצד פועל מודל לוח הזמנים התלת-שכבתי?
פיתוח ניהול לוח הזמנים המותאם אישית שלנו כולל מערכת תזמון גמישה עם API להזמנת משבצות, טיפול בחופשות וחסימות, לוח חגים אוטומטי, אינטגרציית ייצוא iCal, הודעות על שינוי מועד, פיתוח לוח זמנים מותאם אישית, מערכת ניהול זמינות, מודל לוח זמנים תלת-שכבתי ו-REST API לתזמון. החיסכון השנתי האופייני עולה על 500,000 רובל עבור מרפאה עם 10 מומחים.
הטמעת ניהול לוח זמנים של מומחים באתר
מרפאת שיניים עם 15 רופאים מבלה 10 שעות בשבוע בתיאום לוחות זמנים ידני. הפסקות, חופשות, חסימות פתאומיות — כל בקשה דורשת שיחה למנהל. גיליון ה-Excel מאבד רלוונטיות תוך שעה. כדי למנוע כאוס, יש צורך במערכת עדכון בזמן אמת שמתחשבת בכל החריגים. הפתרון: מודול תזמון גמיש המשתמש במודל זמינות תלת-שכבתי.
אנו משלבים מודול כזה ביישומי אינטרנט בכל קנה מידה. הצוות שלנו מפתח לוחות זמנים מותאמים אישית כבר למעלה מ-5 שנים, עם יותר מ-40 פרויקטים שהושלמו עבור פלטפורמות רפואיות ושירות. המערכת מטפלת אוטומטית בהתנגשויות משבצות, מודיעה ללקוחות על שינויים ומסנכרנת עם יומנים חיצוניים. זה מפחית פעולות ידניות ב-80% ומבטל הזמנות כפולות. המודל התלת-שכבתי מעבד שינויים פי שלושה מהר יותר ממבנה שטוח, ומפחית עלויות תפעול ב-30–50%. החיסכון השנתי הממוצע למרפאה עם 10 מומחים עולה על 5,000 יורו.
מבנה ניהול לוח זמנים של מומחים
ניהול לוחות זמנים של מומחים דורש מערכת גמישה המותאמת לכל לוגיקה עסקית. לוח הזמנים בנוי משלוש שכבות, כאשר כל שכבה עוקבת מבטלת את הקודמת:
- תבנית בסיס — שעות סטנדרטיות לפי ימי שבוע: א'–ה' 09:00–18:00, משבצת 60 דקות, הפסקה 0 דקות; ו' 10:00–14:00, משבצת 30 דקות; שבת יום חופש.
- עקיפות תאריך — תאריך ספציפי עובד אחרת: יום חופש (חג), יום מקוצר, חופשה.
- חסימות — מרווחים סגורים בתוך יום עבודה: הפסקת צהריים, פגישה.
כיצד נפתרות התנגשויות?
ניהול לוח זמנים של מומחים: ממשק ו-API
מומחים מנהלים את לוח הזמנים שלהם דרך אזור אישי. פעולות מרכזיות:
| פעולה | יישום |
|---|---|
| הגדרת שעות בסיס | טופס לפי יום בשבוע עם שדות התחלה/סיום/משבצת |
| סגירת תאריך | לחיצה על תאריך ביומן → חלון מודאלי → סוג: יום חופש/חופשה |
| פתיחת תאריך שאינו יום עבודה | אותו חלון מודאלי, סוג: שעות מותאמות אישית |
| הוספת חסימה | גרירה על ציר הזמן או טופס עם תאריך ושעה |
| צפייה בהזמנות | תצוגת יומן שבועי עם משבצות פגישות |
הטמעת תזמון גמיש ללא כפילות קוד
הפרד בין תבנית, עקיפות וחסימות. כל שכבה נשמרת בנפרד ומיושמת בזמן ריצה. כך, שינויים פשוט מוסיפים רשומה לטבלת overrides או blocks. דוגמת API:
נקודות קצה של API
GET /api/specialists/{id}/schedule?date=2025-04-15 → { slots: [...], overrides: [...], blocks: [...] }
GET /api/specialists/{id}/available-slots?from=2025-04-15&to=2025-04-21 → { "2025-04-15": [{ start, end }], ... }
POST /api/specialists/{id}/overrides { override_date: "2025-05-01", type: "day_off" }
POST /api/specialists/{id}/blocks { starts_at: "2025-04-16T14:00", ends_at: "2025-04-16T15:00", reason: "Совещание" }
DELETE /api/specialists/{id}/overrides/{override_id}
DELETE /api/specialists/{id}/blocks/{block_id}
PATCH /api/specialists/{id}/schedule/{weekday} { start_time: "10:00", end_time: "18:00", slot_duration: 45 }לשינויים בכמות גדולה (למשל, חופשה של שבועיים), השתמש ברשומה אחת עם טווח GET /api/specialists/{id}/schedule?date=2025-04-15 → { slots: [...], overrides: [...], blocks: [...] } GET /api/specialists/{id}/available-slots?from=2025-04-15&to=2025-04-21 → { "2025-04-15": [{ start, end }], ... } POST /api/specialists/{id}/overrides { override_date: "2025-05-01", type: "day_off" } POST /api/specialists/{id}/blocks { starts_at: "2025-04-16T14:00", ends_at: "2025-04-16T15:00", reason: "Совещание" } DELETE /api/specialists/{id}/overrides/{override_id} DELETE /api/specialists/{id}/blocks/{block_id} PATCH /api/specialists/{id}/schedule/{weekday} { start_time: "10:00", end_time: "18:00", slot_duration: 45 } ו-date_from. בעת יצירת משבצות, הטווחים מורחבים בקוד. זה חוסך למנהלים עד 40 שעות בחודש.
פתרון אוטומטי של התנגשויות הזמנות הוא קריטי
כאשר מומחה סוגר תאריך שיש בו הזמנות, המערכת מבצעת אוטומטית:
- מוצאת את כל ההזמנות הפעילות לתקופה הסגורה.
- שולחת ללקוחות אימייל עם התנצלות והצעה לבחור זמן אחר.
- מסמנת הזמנות כ-
date_until. - מודיעה למנהל.
דוגמת לוגיקה בפייתון:
def close_date(specialist_id: int, date: date, reason: str):
affected_bookings = get_bookings_for_date(specialist_id, date)
with db.transaction():
create_override(specialist_id, date, 'day_off', reason=reason)
for booking in affected_bookings:
update_booking_status(booking.id, 'needs_reschedule')
send_reschedule_request_email(booking, specialist_id, reason)
notify_admin(specialist_id, booking, 'date_closed')גישה זו מבטלת שיחות ידניות והזמנות כפולות. עלויות הטיפול בהתנגשויות מופחתות בעד 40%.
מקרה אמיתי: רופא שיניים חולה פתאום וסוגר את היומן שלו ל-3 ימים. המערכת מוצאת 15 הזמנות פעילות, שולחת למטופלים אימייל עם כפתור 'בחר זמן אחר', ומודיעה למנהל. תוך שעה, 12 מטופלים קבעו מחדש עם רופא אחר, 3 בחרו להמתין. שיחות ידניות היו לוקחות שעתיים.
חגים אוטומטיים
בעת יצירת לוח הזמנים, כלול את האפשרות 'סגור חגים ציבוריים אוטומטית'. רשימת החגים נטענת דרך API (למשל, Calendarific) או נשמרת בטבלת הגדרות עם עדכונים שנתיים. ההגדרה מתבצעת פעם אחת במהלך ההתקנה.
ייצוא ליומנים חיצוניים
מומחים יכולים לסנכרן את לוח הזמנים שלהם עם Google Calendar או Outlook דרך הזנת iCalendar (RFC 5545):
GET /api/specialists/{id}/calendar.ics?token={private_token} הכתובת מתווספת ל-Google Calendar כמנוי — היא מתעדכנת אוטומטית כל 15 דקות.
מה כלול בעבודה
| שלב | תוצאה |
|---|---|
| ניתוח | תיאור של תוכנית התזמון הנוכחית והאינטגרציות |
| עיצוב | מודל נתונים (טבלאות עקיפות, חסימות, חגים_ציבוריים) |
| פיתוח | API, ממשק ניהול, הודעות, ייצוא iCal |
| בדיקות | אימות מקרי קצה (חפיפת משבצות, מעברי חצות) |
| תיעוד | מדריך למנהל ולמומחים |
| הדרכה | מפגש מקוון למשתמשים מרכזיים |
| תמיכה | חודש אחריות לאחר ההשקה |
ניסיון ואחריות
אנו מפתחים לוחות זמנים מותאמים אישית כבר למעלה מ-5 שנים, ומספקים יותר מ-40 מודולים לפלטפורמות רפואיות ושירות. הפתרונות שלנו מבטיחים פעולה יציבה בעומסים של עד 10,000 בקשות ביום לנקודת קצה של לוח זמנים. בניגוד לפתרונות שנבנים מאפס, המערכת שלנו מפחיתה שגיאות הזמנה ב-40%.
לוח זמנים
גרסה בסיסית (תבנית, חסימות, API, פאנל ניהול פשוט) — 5-7 ימי עסקים. גרסה מורחבת (חופשות, חגים אוטומטיים, הודעות, iCal, גישה מבוססת תפקידים) — 9-12 ימי עסקים. הערכה מדויקת לאחר בדיקת הפרויקט שלך.
צור קשר להערכת פרויקט תוך יום אחד. הזמן הטמעה סוהר: נדון בפרטים ונכין הצעה מסחרית.







