Phase: Booking Engine
| Field |
Value |
| Identifier |
beauty-business-14-1 |
| Status |
Planned |
| Owner |
Platform |
| Module(s) |
beauty_business.schedules, beauty_business.appointments, beauty_business.waiting_list |
| Service(s) |
beauty_business |
| Depends On |
beauty-business-14-0 |
| ADR(s) |
TBD |
| Manifest |
phase-manifest.yaml |
| Framework |
ADR-013 · ADR-018 · ADR-019 |
Objective
Deliver the beauty-specific booking engine: staff schedules, availability windows, appointment types, appointment lifecycle (request → confirm → check-in → complete / cancel / no-show), conflict detection, and waiting list — without owning Communication delivery, Accounting postings, or full customer CRM profiles.
Enterprise Phase Discovery
Required before Implementation.
| Field |
Value |
| Discovery date |
Pending |
| Inputs reviewed |
Phase 14.0 handover · beauty-business-roadmap.md · Sports Center / Healthcare booking patterns (reference only) |
Target Responsibility (this phase when Complete)
- Schedules and availability per staff and branch
- Appointment aggregate with state machine and audit trail
- Waiting list when slots unavailable
- Events:
beauty_business.appointment.*, beauty_business.schedule.*
- Permissions:
beauty_business.appointments.*, beauty_business.schedules.*
Explicitly Excluded
- Service catalog pricing (14.3) — appointment may reference service ref UUID only
- Customer profile management (14.4) — customer ref only
- SMS/email reminders (Communication client in 14.7)
- Payment capture (Accounting intents later)
- Healthcare appointment types
Business Analysis
| Item |
Detail |
| Actors |
Receptionist, stylist, customer (via portal API later) |
| Business capabilities |
Book, reschedule, cancel, check-in, no-show handling |
| Success metrics |
No double-booking; tenant isolation; lifecycle audit |
| Non-goals |
Multi-vertical generic scheduling platform |
Scope
In Scope
- StaffSchedule, StaffAvailability, ScheduleException
- AppointmentType, Appointment, AppointmentStatusHistory
- WaitingListEntry
- Conflict rules (staff + optional room ref from 14.2)
- List APIs with pagination, filter, sort, search
High-Level Entities
| Entity |
Purpose |
| StaffSchedule |
Recurring working pattern |
| StaffAvailability |
Bookable slots |
| AppointmentType |
Consultation, service, follow-up |
| Appointment |
Core booking aggregate |
| WaitingListEntry |
Queue for full slots |
Events (Planned)
| Event |
When |
beauty_business.appointment.created |
New booking |
beauty_business.appointment.confirmed |
Confirmed |
beauty_business.appointment.checked_in |
Customer arrived |
beauty_business.appointment.completed |
Service done |
beauty_business.appointment.cancelled |
Cancelled |
beauty_business.appointment.no_show |
No-show marked |
Out of Scope
- Salon rooms/stations management (14.2)
- Service definitions and pricing (14.3)
- Customer preferences and history (14.4)
- Package session deduction (14.5)
- Commission calculation (14.6)
- Marketing reminders (14.7)
Completion Criteria
Related Documents