Appointment Management
Comprehensive guide for managing the appointment lifecycle, calendar visualization, and scheduling logic.
UC-FRONT-001: Calendar Visualization & Navigation
Purpose: Provide a clear, actionable view of staff schedules and availability.
| Property | Value |
|---|---|
| Actor | Front Desk Staff |
| Trigger | Page load / Navigation |
| Priority | P0 |
Capabilities:
-
Daily Stylist Grid: View appointments in a matrix (Stylists as columns, Time as rows).
-
Date Navigation: Next/Prev Day, Date Picker, "Today" shortcut.
-
Load Balancing View: Visual indicator of staff utilization (e.g., "Stylist A: 80% full").
-
Color-Coded Services: Different colors for Haircut (Blue), Spa (Green), etc.
-
Filtering: Filter grid by Gender preference or Service Category.
-
Customer Display: Slots show Customer Name + Primary Service + Status Icon.
Main Success Scenario:
- Staff opens the "Appointment Board".
- System loads today's grid for all active stylists.
- Appointments are rendered as blocks spanning their duration.
- Staff can visually identify gaps (availability) and conflicts (red borders).
UC-FRONT-002: Scheduling & Booking Actions
Purpose: Facilitate all CRUD operations for appointments.
| Property | Value |
|---|---|
| Actor | Front Desk Staff |
| Trigger | Interaction with Grid |
| Priority | P0 |
Capabilities:
-
Create: Click blank slot -> "New Appointment" modal.
-
Edit: Rescheduling, changing service, updating customer info.
-
Cancel: Cancel with reason code (e.g., "Client Request").
-
Block Slots: Manually mark time as "Unavailable" (e.g., Lunch, Personal Emergency).
-
Full-Day Unavailability: Mark entire day as off for a stylist.
-
Walk-Ins: "Quick Add" for immediate walk-in customers (allocates next available slot).
-
Drag & Drop (Future): Support for moving appointments via drag-and-drop on the grid.
Main Success Scenario (Create):
- Staff clicks an empty 11:00 AM slot for Stylist A.
- System prompts for Customer Phone/Name.
- Staff selects "Haircut" + "Beard Trim".
- System calculates total duration and validates slot.
- Staff confirms booking.
Alternate Flows:
- Flow A: Drag & Drop: Staff drags booking from 11:00 to 2:00. System re-validates for conflicts.
UC-FRONT-003: Appointment Logic & Validation
Purpose: Ensure schedule integrity and enforce business rules.
| Property | Value |
|---|---|
| Actor | System |
| Trigger | Before Save/Update |
| Priority | P0 |
Capabilities:
-
Multi-Service Tagging: Add multiple services; total duration = sum(services).
-
Service Duration Auto-Calc: "Haircut (30m)" + "Spa (60m)" = 90m block.
-
Buffer Time: Auto-insert 5m buffer after appointment for cleanup.
-
Auto-Extension: Premium services trigger extra 10m slot extension.
-
Overbooking Prevention: Prevent creating booking if duration > available time.
-
Double-booking Validation: Error if slot overlaps with existing booking.
-
Conflict Detection: Warn if moving a booking creates a conflict.
Main Success Scenario:
- Staff tries to extend a 30m slot to 60m.
- System checks if the next 30m is free.
- If free, update successful.
- If occupied, show error: "Conflict with Booking #123".
UC-FRONT-004: Operational Status & Operations
Purpose: Manage day-of-service lifecycle and context.
| Property | Value |
|---|---|
| Actor | Front Desk Staff |
| Trigger | Customer Arrival / Event |
| Priority | P1 |
Capabilities:
-
No-Show Marking: Mark booking as "No Show" (triggers penalty logic if enabled).
-
Late Arrival: Log arrival time diff (e.g., "+15m").
-
Notes/Remarks: Add internal notes (e.g., "VIP client", "Allergic to latex").
-
Customer Card: Quick view of customer tier and history.
-
System logs timestamp.
Acceptance Criteria:
- [ ] Staff can view "Checked In", "In Service", and "Completed" statuses.
- [ ] Late arrivals (>15m) trigger an optional "Late Fee" prompt? (Check config).
- [ ] No-Show status releases the slot for walk-ins.
Related Use Cases
-
Staff Attendance: Check staff availability before booking.
-
AI Clienteling: Fill empty slots with targeted calls.
-
Business KPIs: View impact of utilization on revenue.