Manage team practitioners, weekly working schedules, and availability overrides.
Manage practitioners and service providers under Staff (/staff). Records in staff_members track:
- Name, contact email, and phone number.
- Professional title or role (e.g., *Lead Dentist*, *Senior Stylist*).
- Active status toggle.
Each staff member has recurring schedule entries in staff_schedules:
- dayOfWeek: Integer 0 (Sunday) through 6 (Saturday).
- startTime: Working start time in 24-hour format (e.g., 09:00).
- endTime: Working end time in 24-hour format (e.g., 17:00).
- isWorkingDay: Boolean flag indicating whether the staff member takes bookings on that day.
When staff take vacations, sick days, or holidays, create an override in staff_availability:
- startDate & endDate: ISO timestamp window.
- isAvailable: false: Completely blocks the staff member from receiving appointments during this window.
In service_assignments, map which staff members are certified to perform which services:
- If a customer requests a specific practitioner, Operator checks that practitioner's schedule.
- If no practitioner is requested, Operator checks all certified staff and offers the first available slot.