TorbatYar/docs/phases/BeautyBusiness/phase-14-1-booking-engine.md
Mortezakoohjani d579d0b142 feat(loyalty): add Loyalty Platform Frontend module
Add frontend/modules/loyalty with types, API client, design system, feature pages and thin App Router routes under app/loyalty/. BFF proxy at app/api/loyalty/. Include loyalty frontend docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 10:50:55 +03:30

104 lines
3.8 KiB
Markdown

# 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](../../ai-framework/phase-manifest.yaml) |
| Framework | [ADR-013](../../architecture/adr/ADR-013.md) · [ADR-018](../../architecture/adr/ADR-018.md) · [ADR-019](../../architecture/adr/ADR-019.md) |
## 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](../../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
- [ ] Booking lifecycle complete with tests
- [ ] No Communication/Accounting implementation inside booking service layer
- [ ] Healthcare module untouched
## Related Documents
- [Phase 14.0](phase-14-0-beauty-foundation.md)
- [Beauty Business Roadmap](../../beauty-business-roadmap.md)
- [Phase area README](README.md)