Advanced Scheduler (Lịch Trình Nâng Cao)¶
Advanced Scheduler là công cụ lập kế hoạch thông minh cho bộ phận housekeeping, tự động phân bổ công việc dựa trên ưu tiên, workload, và hiệu suất nhân viên.
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh màn hình: 1. Truy cập: http://localhost:8901/housekeeping/advanced-scheduler 2. Hiển thị scheduler interface với auto-assignment và timeline view 3. Chụp toàn bộ màn hình với calendar và staff workload 4. Lưu ảnh tại:
mkdocs/docs/assets/images/housekeeping/advanced-scheduler.png
Tổng Quan¶
Advanced Scheduler cung cấp:
- Auto-Assignment Algorithm - Tự động gán tasks dựa trên AI optimization
- Visual Timeline View - Xem lịch trình theo ngày/tuần/tháng
- Workload Balancing - Cân bằng công việc giữa các nhân viên
- Priority Management - Ưu tiên tasks dựa trên checkout time và VIP guests
- Conflict Detection - Phát hiện và giải quyết xung đột lịch trình
- Performance Analytics - Phân tích hiệu suất và đề xuất cải thiện
Scheduler Workflow¶
graph TD
A[Daily Tasks] --> B[Analyze Requirements]
B --> C{Auto-Assignment?}
C -->|Yes| D[AI Algorithm]
C -->|No| E[Manual Assignment]
D --> F[Calculate Priority]
F --> G[Floor Grouping]
G --> H[Workload Balance]
H --> I[Time Optimization]
I --> J[Generate Schedule]
E --> J
J --> K{Conflicts?}
K -->|Yes| L[Resolve Conflicts]
K -->|No| M[Publish Schedule]
L --> M
M --> N[Notify Staff]
N --> O[Monitor Progress]
O --> P{Adjustments Needed?}
P -->|Yes| Q[Re-optimize]
P -->|No| R[Complete Day]
Q --> J
style A fill:#e3f2fd
style D fill:#f3e5f5
style J fill:#fff9c4
style M fill:#c8e6c9
1. Scheduler Dashboard¶
1.1. Calendar View¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Focus vào calendar view với tasks 2. Hiển thị day/week/month views 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/scheduler-calendar.png
Calendar Interface:
┌──────────────────── ADVANCED SCHEDULER ───────────────────┐
│ │
│ View: ⭕ Day ○ Week ○ Month Date: Jan 23, 2025 │
│ │
│ [← Previous] [Today] [Next →] │
│ │
│ Quick Actions: │
│ [🤖 Auto-Assign All] [⚖️ Balance Workload] [🔄 Re-optimize]│
│ │
└────────────────────────────────────────────────────────────┘
┌──────────────────── TODAY: JANUARY 23, 2025 ──────────────┐
│ │
│ Summary: │
│ ├─ Total Tasks: 48 │
│ ├─ Assigned: 43 (90%) │
│ ├─ Unassigned: 5 (10%) │
│ ├─ High Priority: 15 │
│ └─ Conflicts: 2 ⚠️ │
│ │
│ ══════════════════════════════════════════════════════════ │
│ │
│ TIMELINE VIEW: │
│ │
│ 06:00 AM ───────────────────────────────────────────── │
│ ├─ Shift Start - Pre-shift Briefing │
│ │ │
│ 07:00 AM ├─ [Floor 4] Mai Lan │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ 401: Checkout (45min) 🔴 │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ ├─ [Floor 3] Hoa │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ 301: Stayover (20min) 🟡 │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ 08:00 AM ├─ [Floor 5-6] Linh │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ 501: Vacant Touch-up (15min) 🟢 │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ 09:00 AM ├─ [Floor 4] Mai Lan │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ 405: Checkout (45min) 🔴 │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ 10:00 AM ├─ [Floor 3] Hoa │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ 305: Stayover (20min) 🟡 │ │
│ │ │ 308: Stayover (20min) 🟡 │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ 11:00 AM ├─ [All Staff] Break Time (30min) │
│ │ │
│ 12:00 PM ├─ [Floor 4] Mai Lan │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ 410: Checkout (45min) 🔴 │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ 01:00 PM ├─ [Floor 5-6] Linh │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ 512: Suite Deep Clean (60min) 🔴 │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ 02:00 PM ├─ [Floor 3] Hoa + Mai Lan (Team) │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ 320: VIP Suite Setup (90min) 🔴 │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ 03:00 PM │ │
│ │ │
│ 04:00 PM ├─ [Break/Admin Time] │
│ │ │
│ 05:00 PM ├─ End of Main Shift │
│ │ │
│ 06:00 PM ├─ [Evening Shift] Turn-down Service │
│ │ ┌─────────────────────────────────────┐ │
│ │ │ Multiple Rooms (10 rooms, 60min) │ │
│ │ └─────────────────────────────────────┘ │
│ │ │
│ 07:00 PM ├─ Shift End │
│ │
└────────────────────────────────────────────────────────────┘
1.2. Staff Workload Panel¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Focus vào staff workload distribution 2. Hiển thị workload bars và balance status 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/staff-workload-panel.png
Workload Distribution:
┌──────────────── STAFF WORKLOAD TODAY ─────────────────┐
│ │
│ Balance Status: ⚖️ Balanced (95%) │
│ │
│ Mai Lan (Floor 4): │
│ ├─ Tasks: 8 │ Time: 290 min │ Efficiency: 95% │
│ └─ Workload: ████████████████░░ 82% │
│ Status: ✅ Optimal │
│ │
│ Hoa (Floor 3): │
│ ├─ Tasks: 10 │ Time: 250 min │ Efficiency: 98% │
│ └─ Workload: ███████████████████ 88% │
│ Status: ✅ Optimal │
│ │
│ Linh (Floor 5-6): │
│ ├─ Tasks: 12 │ Time: 350 min │ Efficiency: 88% │
│ └─ Workload: ██████████████████████ 92% │
│ Status: ⚠️ Near Capacity │
│ │
│ Trang (Floor 2): │
│ ├─ Tasks: 6 │ Time: 180 min │ Efficiency: 92% │
│ └─ Workload: ███████████░░░░ 65% │
│ Status: 🔵 Underutilized │
│ │
│ RECOMMENDATIONS: │
│ ├─ ⚠️ Linh approaching capacity - consider backup │
│ ├─ 💡 Trang can take 2-3 more tasks │
│ └─ ✅ Overall balance is good │
│ │
│ [Auto-Balance] [Manual Adjust] [View Details] │
│ │
└────────────────────────────────────────────────────────┘
1.3. Unassigned Tasks Queue¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Hiển thị unassigned tasks list 2. Show auto-assignment suggestions 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/unassigned-queue.png
Unassigned Tasks:
┌──────────────── UNASSIGNED TASKS (5) ─────────────────┐
│ │
│ Priority Queue: │
│ │
│ 1. Room 601 - Checkout Deep Clean 🔴 High │
│ ├─ Due: 2:00 PM (Next check-in 3:00 PM) │
│ ├─ Est. Time: 45 minutes │
│ └─ 🤖 Suggested: Trang (Available, Floor 6) │
│ Reason: Low workload (65%), floor match │
│ [Auto-Assign] [Choose Staff] │
│ │
│ 2. Room 312 - Stayover Service 🟡 Medium │
│ ├─ Due: 11:00 AM (Guest out till 1 PM) │
│ ├─ Est. Time: 20 minutes │
│ └─ 🤖 Suggested: Hoa (Available 10:45 AM) │
│ Reason: Floor match, efficient timing │
│ [Auto-Assign] [Choose Staff] │
│ │
│ 3. Room 515 - Vacant Touch-up 🟢 Low │
│ ├─ Due: Anytime today │
│ ├─ Est. Time: 15 minutes │
│ └─ 🤖 Suggested: Linh (Fill gap at 3:15 PM) │
│ Reason: Floor match, time gap available │
│ [Auto-Assign] [Choose Staff] │
│ │
│ 4. Room 203 - Deep Clean (Monthly) 🟡 Medium │
│ ├─ Due: This week │
│ ├─ Est. Time: 120 minutes (2 hours) │
│ └─ 🤖 Suggested: Team Assignment (Tomorrow) │
│ Reason: Requires 2 staff, better tomorrow │
│ [Schedule Tomorrow] [Assign Today] │
│ │
│ 5. Rooms 401-405 - Turn-down Service 🟢 Low │
│ ├─ Due: 6:00 PM (Evening shift) │
│ ├─ Est. Time: 50 minutes (5 rooms) │
│ └─ 🤖 Suggested: Evening shift auto-assign │
│ [Auto-Assign Evening] [Manual] │
│ │
│ BULK ACTIONS: │
│ [🤖 Auto-Assign All] [Assign to Available Staff] │
│ [Schedule for Tomorrow] [Clear Queue] │
│ │
└────────────────────────────────────────────────────────┘
2. Auto-Assignment Algorithm¶
2.1. Algorithm Configuration¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Navigate to Settings → Auto-Assignment 2. Hiển thị algorithm configuration options 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/auto-assignment-settings.png
Algorithm Settings:
┌───────────── AUTO-ASSIGNMENT CONFIGURATION ────────────┐
│ │
│ PRIORITY RULES: │
│ │
│ 1. Task Priority Weighting: │
│ ├─ 🔴 High (Checkout + Early Check-in): 100 pts │
│ ├─ 🟡 Medium (Standard Checkout): 70 pts │
│ ├─ 🟡 Medium (Stayover): 50 pts │
│ └─ 🟢 Low (Vacant): 30 pts │
│ │
│ 2. VIP Guest Bonus: │
│ └─ Add +50 points for VIP rooms │
│ │
│ 3. Same-day Check-in Multiplier: │
│ └─ Multiply priority by 1.5x │
│ │
│ ═══════════════════════════════════════════════════ │
│ │
│ ASSIGNMENT FACTORS: │
│ │
│ Floor Matching: ☑️ Enabled (Weight: 30%) │
│ ├─ Prefer staff assigned to same floor │
│ └─ Reduce travel time between rooms │
│ │
│ Workload Balance: ☑️ Enabled (Weight: 25%) │
│ ├─ Target: 10-12 tasks per staff │
│ └─ Max deviation: ±15% │
│ │
│ Staff Performance: ☑️ Enabled (Weight: 20%) │
│ ├─ High performers for VIP rooms │
│ └─ Consider quality scores (>4.5/5.0) │
│ │
│ Time Optimization: ☑️ Enabled (Weight: 15%) │
│ ├─ Group tasks by proximity │
│ └─ Minimize gaps in schedule │
│ │
│ Staff Availability: ☑️ Enabled (Weight: 10%) │
│ ├─ Check current task progress │
│ └─ Predict completion time │
│ │
│ ═══════════════════════════════════════════════════ │
│ │
│ CONSTRAINTS: │
│ │
│ Maximum Tasks per Staff: ☑️ 12 tasks/day │
│ Maximum Working Hours: ☑️ 8 hours/shift │
│ Mandatory Break Time: ☑️ 30 min after 4 hours │
│ Min Time Between Tasks: ☑️ 5 minutes │
│ Team Tasks (2+ staff): ☑️ Same time slot │
│ │
│ ═══════════════════════════════════════════════════ │
│ │
│ ADVANCED OPTIONS: │
│ │
│ Learning Mode: ☑️ Enabled │
│ ├─ Learn from manual overrides │
│ └─ Adjust algorithm based on patterns │
│ │
│ Conflict Resolution: ☑️ Auto-resolve │
│ ├─ Detect scheduling conflicts │
│ └─ Suggest alternative assignments │
│ │
│ Buffer Time: ☑️ 10% of estimated time │
│ ├─ Add safety margin to schedules │
│ └─ Reduce overruns │
│ │
│ [Save Settings] [Reset to Default] [Run Simulation] │
│ │
└─────────────────────────────────────────────────────────┘
2.2. Assignment Simulation¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Click "Run Simulation" button 2. Hiển thị simulation results với before/after comparison 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/assignment-simulation.png
Simulation Results:
┌──────────────── ASSIGNMENT SIMULATION ─────────────────┐
│ │
│ Simulating auto-assignment for: January 23, 2025 │
│ Total Tasks: 48 │ Staff Available: 4 │
│ │
│ ═══════════════════════════════════════════════════ │
│ │
│ CURRENT STATE (Manual Assignment): │
│ │
│ Staff Distribution: │
│ ├─ Mai Lan: 8 tasks │ 290 min │ 82% workload │
│ ├─ Hoa: 10 tasks │ 250 min │ 88% workload │
│ ├─ Linh: 12 tasks │ 350 min │ 92% workload │
│ └─ Trang: 6 tasks │ 180 min │ 65% workload │
│ │
│ Issues: │
│ ├─ ⚠️ Linh overloaded (92% - near capacity) │
│ ├─ ⚠️ Trang underutilized (65% - can take more) │
│ ├─ ⚠️ Uneven distribution (27% deviation) │
│ └─ ⚠️ 5 tasks unassigned │
│ │
│ ═══════════════════════════════════════════════════ │
│ │
│ PROPOSED STATE (Auto-Assignment): │
│ │
│ Staff Distribution: │
│ ├─ Mai Lan: 10 tasks │ 320 min │ 85% workload ⬆️ │
│ ├─ Hoa: 12 tasks │ 290 min │ 87% workload ⬇️ │
│ ├─ Linh: 10 tasks │ 285 min │ 82% workload ⬇️ │
│ └─ Trang: 11 tasks │ 310 min │ 83% workload ⬆️ │
│ │
│ Improvements: │
│ ├─ ✅ Balanced workload (85% average, 5% deviation) │
│ ├─ ✅ All tasks assigned (0 unassigned) │
│ ├─ ✅ Floor grouping optimized (-15% travel time) │
│ ├─ ✅ VIP rooms assigned to top performers │
│ └─ ✅ No scheduling conflicts │
│ │
│ ═══════════════════════════════════════════════════ │
│ │
│ PERFORMANCE METRICS: │
│ │
│ Current → Proposed: │
│ ├─ Efficiency: 88% → 94% (+6%) │
│ ├─ Balance Score: 68% → 95% (+27%) │
│ ├─ Travel Time: 120min → 102min (-15%) │
│ └─ Est. Completion: 5:30 PM → 5:00 PM (-30min) │
│ │
│ ═══════════════════════════════════════════════════ │
│ │
│ CHANGES PREVIEW: │
│ │
│ Tasks to Reassign (7): │
│ ├─ Room 601: Linh → Trang (Floor match) │
│ ├─ Room 605: Linh → Trang (Balance workload) │
│ ├─ Room 312: Unassigned → Hoa (Floor match) │
│ ├─ Room 515: Unassigned → Linh (Time gap) │
│ ├─ Room 203: Unassigned → Team (Tomorrow) │
│ ├─ Room 405: Linh → Mai Lan (Balance) │
│ └─ Turn-down: Unassigned → Auto (Evening shift) │
│ │
│ DECISION: │
│ [✅ Apply Changes] [📝 Modify] [❌ Cancel] │
│ │
└─────────────────────────────────────────────────────────┘
2.3. Real-time Optimization¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Hiển thị real-time optimization alerts 2. Show suggested adjustments during the day 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/realtime-optimization.png
Dynamic Re-optimization:
┌────────────── REAL-TIME OPTIMIZATION ──────────────┐
│ │
│ 🔄 Monitoring schedule in real-time... │
│ │
│ ACTIVE ALERTS (3): │
│ │
│ ⚠️ ALERT #1 - Delay Detected │
│ ├─ Time: 11:45 AM │
│ ├─ Issue: Mai Lan running 15min behind schedule │
│ │ Current task (Room 405) taking longer │
│ ├─ Impact: Next 2 tasks may be delayed │
│ └─ 🤖 SUGGESTION: │
│ Reassign Room 410 (next task) to Trang │
│ → Mai Lan: Catch up during break │
│ → Trang: Take over at 12:30 PM │
│ [Apply] [Dismiss] [Modify] │
│ │
│ 🔴 ALERT #2 - High Priority Task Added │
│ ├─ Time: 12:00 PM │
│ ├─ Issue: Emergency checkout Room 208 │
│ │ Guest needs to leave early (1 PM checkout) │
│ │ Next check-in: 2 PM (1 hour window) │
│ └─ 🤖 SUGGESTION: │
│ Priority assignment to Hoa (closest, best) │
│ → Delay Room 312 stayover by 30 min │
│ → Still within guest-out window │
│ [Apply] [Find Alternative] [Decline] │
│ │
│ 💡 ALERT #3 - Efficiency Opportunity │
│ ├─ Time: 2:15 PM │
│ ├─ Issue: Linh completed tasks 20min early │
│ │ Gap in schedule until next task at 3:00 PM │
│ └─ 🤖 SUGGESTION: │
│ Assign quick touch-up: Room 520 (15min) │
│ → Utilize idle time effectively │
│ → Improve overall efficiency │
│ [Assign Task] [Send to Break] [Ignore] │
│ │
│ ═══════════════════════════════════════════════ │
│ │
│ AUTO-ADJUST SETTINGS: │
│ │
│ ☑️ Auto-apply high-confidence suggestions │
│ ☑️ Notify staff of schedule changes │
│ ☐ Require supervisor approval (off-hours only) │
│ │
│ [Settings] [View History] [Pause Monitoring] │
│ │
└─────────────────────────────────────────────────────┘
3. Conflict Detection & Resolution¶
3.1. Conflict Dashboard¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Navigate to Conflicts tab 2. Hiển thị detected conflicts với resolution options 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/conflict-detection.png
Conflict Management:
┌───────────────── CONFLICT DETECTION ───────────────┐
│ │
│ Active Conflicts: 2 ⚠️ │
│ Resolved Today: 5 ✅ │
│ │
│ ═══════════════════════════════════════════════ │
│ │
│ CONFLICT #1 - Time Overlap │
│ │
│ Type: ⚠️ Schedule Overlap │
│ Severity: Medium │
│ Detected: Jan 23, 2025 - 10:30 AM │
│ │
│ Details: │
│ ├─ Staff: Hoa │
│ ├─ Task A: Room 305 Stayover (10:00-10:20 AM) │
│ └─ Task B: Room 308 Stayover (10:10-10:30 AM) │
│ Overlap: 10 minutes │
│ │
│ Root Cause: │
│ Manual assignment without time validation │
│ │
│ 🤖 RESOLUTION OPTIONS: │
│ │
│ Option 1: Delay Task B (Recommended) │
│ ├─ Reschedule Room 308 to 10:25 AM │
│ ├─ Impact: 5 min buffer added │
│ └─ Status: Guest still out (safe window) │
│ [Apply Solution] │
│ │
│ Option 2: Reassign Task B │
│ ├─ Assign Room 308 to Linh │
│ ├─ Impact: Cross-floor assignment │
│ └─ Status: Adds 5 min travel time │
│ [Apply Solution] │
│ │
│ Option 3: Manual Resolution │
│ [Resolve Manually] │
│ │
│ ═══════════════════════════════════════════════ │
│ │
│ CONFLICT #2 - Resource Constraint │
│ │
│ Type: 🔴 Workload Overload │
│ Severity: High │
│ Detected: Jan 23, 2025 - 11:00 AM │
│ │
│ Details: │
│ ├─ Staff: Linh │
│ ├─ Assigned Tasks: 12 tasks (350 minutes) │
│ ├─ Available Time: 8 hours (480 minutes) │
│ └─ Including breaks: -30 min → 450 min effective │
│ Workload: 78% → Approaching limit │
│ │
│ Risk Factors: │
│ ├─ ⚠️ No buffer for delays │
│ ├─ ⚠️ 2 tasks are complex (Suite cleaning) │
│ └─ ⚠️ High overtime probability │
│ │
│ 🤖 RESOLUTION OPTIONS: │
│ │
│ Option 1: Redistribute 2 Tasks (Recommended) │
│ ├─ Move Room 601 → Trang (available capacity) │
│ ├─ Move Room 605 → Trang (floor match) │
│ ├─ New workload: Linh 82%, Trang 83% │
│ └─ Impact: Balanced, reduces risk │
│ [Apply Solution] │
│ │
│ Option 2: Add Support Staff │
│ ├─ Request backup staff for 2 hours │
│ ├─ Cost: Additional labor ($25/hour) │
│ └─ Impact: Guaranteed completion │
│ [Request Backup] │
│ │
│ Option 3: Defer Non-Critical Tasks │
│ ├─ Move 2 low-priority touch-ups to tomorrow │
│ ├─ Impact: Reduces today's workload to 85% │
│ └─ Risk: Tomorrow may be busy too │
│ [Defer Tasks] │
│ │
│ [Dismiss] [Snooze 1 hour] [Escalate] │
│ │
└─────────────────────────────────────────────────────┘
3.2. Conflict Prevention Rules¶
Automatic Prevention:
┌──────────── CONFLICT PREVENTION RULES ─────────────┐
│ │
│ Active Prevention Rules: │
│ │
│ 1. Time Validation: │
│ ├─ ☑️ Check time overlap before assignment │
│ ├─ ☑️ Require 5-min minimum gap between tasks │
│ └─ ☑️ Validate against staff availability │
│ │
│ 2. Workload Limits: │
│ ├─ ☑️ Max 12 tasks per staff per day │
│ ├─ ☑️ Max 8 hours total work time │
│ ├─ ☑️ Alert at 90% capacity │
│ └─ ☑️ Block assignment at 100% capacity │
│ │
│ 3. Break Requirements: │
│ ├─ ☑️ Mandatory 30-min break after 4 hours │
│ ├─ ☑️ Auto-schedule break times │
│ └─ ☑️ No tasks during break time │
│ │
│ 4. Skill Matching: │
│ ├─ ☑️ VIP rooms → Senior staff only │
│ ├─ ☑️ Deep cleaning → Trained staff only │
│ └─ ☑️ Warn if skill mismatch │
│ │
│ 5. Physical Constraints: │
│ ├─ ☑️ Same floor preference (reduce travel) │
│ ├─ ☑️ Check equipment availability │
│ └─ ☑️ Team tasks → Same time slot │
│ │
│ Prevention Effectiveness: 95% │
│ Conflicts Prevented This Week: 24 │
│ │
│ [Edit Rules] [View Statistics] [Test Scenarios] │
│ │
└─────────────────────────────────────────────────────┘
4. Performance Analytics¶
4.1. Scheduler Performance¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Navigate to Analytics tab 2. Hiển thị performance charts và metrics 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/scheduler-analytics.png
Performance Metrics:
┌───────────── SCHEDULER PERFORMANCE ────────────────┐
│ │
│ Period: Last 30 Days │
│ │
│ KEY METRICS: │
│ │
│ Assignment Efficiency: 96% ⭐⭐⭐⭐⭐ │
│ ├─ Auto-assignments: 1,248 (85%) │
│ ├─ Manual overrides: 176 (15%) │
│ └─ Average time saved: 45 min/day │
│ │
│ Workload Balance: 94% ⭐⭐⭐⭐⭐ │
│ ├─ Avg deviation: ±8% (Target: ±10%) │
│ ├─ Overloads prevented: 12 │
│ └─ Underutilization reduced: 18% │
│ │
│ Schedule Adherence: 92% ⭐⭐⭐⭐ │
│ ├─ On-time completion: 1,148/1,248 tasks │
│ ├─ Avg delay: 8 minutes │
│ └─ Major delays (>30min): 12 (1%) │
│ │
│ Conflict Resolution: 98% ⭐⭐⭐⭐⭐ │
│ ├─ Auto-resolved: 142/145 conflicts │
│ ├─ Manual intervention: 3 (2%) │
│ └─ Prevention rate: 95% │
│ │
│ ═══════════════════════════════════════════════ │
│ │
│ TREND ANALYSIS (Last 7 Days): │
│ │
│ Efficiency: │
│ 100%│ ⚫─⚫─⚫ │
│ 95%│ ⚫─⚫ ⚫─⚫ │
│ 90%│ ⚫─⚫ │
│ 85%│ ⚫─⚫ │
│ └──────────────────────────────────────── │
│ Mon Tue Wed Thu Fri Sat Sun │
│ │
│ Workload Balance: │
│ 100%│ ⚫─⚫ │
│ 95%│ ⚫─⚫─⚫─⚫─⚫ │
│ 90%│ ⚫─⚫ │
│ 85%│ ⚫─⚫ │
│ └──────────────────────────────────────── │
│ Mon Tue Wed Thu Fri Sat Sun │
│ │
│ ═══════════════════════════════════════════════ │
│ │
│ COST SAVINGS: │
│ │
│ Labor Optimization: │
│ ├─ Overtime avoided: $1,240/month │
│ ├─ Efficiency gains: $890/month │
│ └─ Total savings: $2,130/month │
│ │
│ Time Savings: │
│ ├─ Supervisor time: 22.5 hours/month │
│ ├─ Manual planning: 15 hours/month │
│ └─ Conflict resolution: 8 hours/month │
│ Total: 45.5 hours/month ($1,138 value) │
│ │
│ MONTHLY TOTAL BENEFIT: $3,268 │
│ │
│ [Export Report] [View Details] [Share Dashboard] │
│ │
└─────────────────────────────────────────────────────┘
4.2. AI Learning Progress¶
Machine Learning Insights:
┌─────────────── AI LEARNING STATUS ─────────────────┐
│ │
│ Model Version: 2.3.1 │
│ Training Data: 1,248 assignments (Last 30 days) │
│ Accuracy: 96.2% │
│ │
│ LEARNED PATTERNS: │
│ │
│ 1. Staff Preferences: │
│ ├─ Mai Lan: Prefers VIP rooms (95% success) │
│ ├─ Hoa: Most efficient 9-11 AM (98% on-time) │
│ ├─ Linh: Best for Suite cleaning (4.9/5.0) │
│ └─ Trang: Quick touch-ups expert (12min avg) │
│ │
│ 2. Time Patterns: │
│ ├─ Checkouts spike: 10-11 AM (plan ahead) │
│ ├─ Guest out window: 10 AM - 2 PM (optimal) │
│ └─ Delays common: After lunch (add buffer) │
│ │
│ 3. Task Clustering: │
│ ├─ Floor grouping: -18% travel time │
│ ├─ Room type batching: +12% efficiency │
│ └─ Time slot optimization: -25% gaps │
│ │
│ 4. Override Analysis: │
│ ├─ Manual changes: 15% of assignments │
│ ├─ Common reasons: │
│ │ • Staff requests: 45% │
│ │ • Last-minute changes: 30% │
│ │ • Supervisor judgment: 25% │
│ └─ Learning: Adapt to override patterns │
│ │
│ IMPROVEMENT AREAS: │
│ │
│ ├─ 🔄 Predicting delays (88% → Target: 95%) │
│ ├─ 🔄 VIP room timing (92% → Target: 98%) │
│ └─ ✅ Workload balance (94% - Excellent!) │
│ │
│ Next Training: Tomorrow 2:00 AM │
│ Expected Improvement: +0.8% accuracy │
│ │
│ [View Training Log] [Retrain Now] [Export Model] │
│ │
└─────────────────────────────────────────────────────┘
5. Advanced Features¶
5.1. Multi-day Planning¶
📸 Chụp từ: http://localhost:8901/housekeeping/advanced-scheduler

Hướng dẫn chụp ảnh: 1. Switch to Week view 2. Hiển thị multi-day schedule với recurring tasks 3. Lưu tại:
mkdocs/docs/assets/images/housekeeping/multiday-planning.png
Weekly Planning:
┌──────────────── WEEKLY SCHEDULE ───────────────────┐
│ │
│ Week of: January 20-26, 2025 │
│ │
│ Mon Tue Wed Thu Fri Sat Sun │
│ ────────────────────────────────────────────── │
│ Mai 42 45 43 48 46 38 32 │
│ Hoa 45 48 46 50 48 40 35 │
│ Linh 48 50 48 52 50 42 38 │
│ Trang 38 40 38 42 40 35 30 │
│ ────────────────────────────────────────────── │
│ Total 173 183 175 192 184 155 135 │
│ │
│ RECURRING TASKS: │
│ │
│ Daily: │
│ ├─ Stayover service (Occupied rooms) │
│ ├─ Turn-down service (6:00 PM) │
│ └─ Common area cleaning │
│ │
│ Weekly: │
│ ├─ Monday: Deep clean public areas │
│ ├─ Wednesday: Linen inventory check │
│ └─ Friday: Equipment maintenance │
│ │
│ Monthly (Scheduled This Week): │
│ ├─ Thursday: Deep clean rooms 201-210 │
│ └─ Friday: Carpet shampooing Floor 3 │
│ │
│ FORECAST: │
│ │
│ ├─ Expected Checkouts: │
│ │ Mon(35) Tue(42) Wed(38) Thu(48) Fri(45) │
│ │ Sat(32) Sun(28) │
│ │ │
│ ├─ Predicted Workload: │
│ │ ▁▃▂▅▄▃▂ (Thu peak: Conference checkout) │
│ │ │
│ └─ Staffing Recommendations: │
│ ├─ Thu: +1 backup staff (high volume) │
│ └─ Weekend: Standard crew sufficient │
│ │
│ [Auto-Plan Week] [Adjust Staffing] [Export] │
│ │
└─────────────────────────────────────────────────────┘
5.2. Template Management¶
Schedule Templates:
┌───────────── SCHEDULE TEMPLATES ───────────────────┐
│ │
│ STANDARD TEMPLATES: │
│ │
│ 1. Weekday Standard (Mon-Fri) │
│ ├─ Daily tasks: 40-50 per day │
│ ├─ Staff: 4 full-time │
│ ├─ Shift: 7 AM - 5 PM │
│ └─ Break: 11:30 AM (30 min) │
│ [Use Template] [Edit] [Preview] │
│ │
│ 2. Weekend Light (Sat-Sun) │
│ ├─ Daily tasks: 30-35 per day │
│ ├─ Staff: 3 full-time + 1 part-time │
│ ├─ Shift: 8 AM - 4 PM │
│ └─ Break: 11:00 AM (30 min) │
│ [Use Template] [Edit] [Preview] │
│ │
│ 3. High Season Peak │
│ ├─ Daily tasks: 60-70 per day │
│ ├─ Staff: 5 full-time + 2 backup │
│ ├─ Shift: 6:30 AM - 5:30 PM │
│ └─ Break: Staggered (11 AM & 12 PM) │
│ [Use Template] [Edit] [Preview] │
│ │
│ 4. Low Season Minimal │
│ ├─ Daily tasks: 20-25 per day │
│ ├─ Staff: 2 full-time │
│ ├─ Shift: 8 AM - 3 PM │
│ └─ Break: 11:00 AM (30 min) │
│ [Use Template] [Edit] [Preview] │
│ │
│ CUSTOM TEMPLATES: │
│ │
│ 5. Conference Week │
│ Created: Manager Hoa │
│ Used: 8 times this year │
│ [Use] [Edit] [Delete] │
│ │
│ 6. Holiday Season │
│ Created: Supervisor Mai │
│ Seasonal: Dec 20 - Jan 5 │
│ [Use] [Edit] [Delete] │
│ │
│ [➕ Create New Template] │
│ │
└─────────────────────────────────────────────────────┘
6. Best Practices¶
6.1. Scheduler Optimization Tips¶
Maximizing Efficiency:
- Use Auto-Assignment Daily:
- Run auto-assignment at start of shift (6:00 AM)
- Review and adjust within first 30 minutes
-
Let AI learn from your overrides
-
Monitor Real-time:
- Keep real-time optimization enabled
- Review alerts every 2 hours
-
Act on high-priority suggestions immediately
-
Plan Ahead:
- Use weekly planning for recurring tasks
- Schedule monthly deep cleans in advance
-
Check forecasts for busy periods
-
Balance Workload:
- Target 80-90% capacity per staff
- Distribute high-priority tasks evenly
- Consider staff strengths for assignments
6.2. Conflict Resolution Strategy¶
Handling Conflicts:
- Prevention First:
- Enable all prevention rules
- Validate assignments before publishing
-
Use simulation before applying changes
-
Quick Resolution:
- Address time overlaps immediately
- Use recommended solutions (95% effective)
-
Escalate only complex conflicts
-
Learn and Improve:
- Review conflict patterns weekly
- Adjust prevention rules based on data
- Share insights with team
7. Troubleshooting¶
Common Issues & Solutions¶
Issue 1: Auto-Assignment Not Working - Cause: Insufficient data or constraints too strict - Solution: Check algorithm settings, ensure staff availability data is current
Issue 2: Too Many Manual Overrides - Cause: Algorithm not learning preferences - Solution: Enable learning mode, review override patterns
Issue 3: Workload Imbalance Persists - Cause: Constraint conflicts (floor vs. balance) - Solution: Adjust weighting in algorithm config (reduce floor weight to 20%)
Issue 4: Conflicts Not Detected - Cause: Prevention rules disabled - Solution: Enable all conflict detection rules in settings
Issue 5: Simulation Results Don't Match Reality - Cause: Outdated task time estimates - Solution: Update estimated times based on actual performance data
8. Keyboard Shortcuts¶
Scheduler Actions:
- Ctrl+A: Auto-assign all tasks
- Ctrl+B: Balance workload
- Ctrl+S: Run simulation
- Ctrl+O: Optimize schedule
- Ctrl+R: Refresh timeline
View Controls:
- D: Day view
- W: Week view
- M: Month view
- T: Today
Quick Filters:
- 1: High priority only
- 2: Unassigned tasks
- 3: Conflicts only
- 0: All tasks