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>
2.9 KiB
2.9 KiB
Phase: Service Catalog
| Field | Value |
|---|---|
| Identifier | beauty-business-14-3 |
| Status | Planned |
| Owner | Platform |
| Module(s) | beauty_business.service_categories, beauty_business.services, beauty_business.service_variants |
| 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
Provide the beauty service catalog: categories (hair, skin, laser, spa, nails, men's grooming), services, variants (duration, price tier, required skills), availability by branch, and media refs — without owning Accounting price lists, CRM products, or Healthcare clinical service codes.
Enterprise Phase Discovery
Required before Implementation.
Target Responsibility (this phase when Complete)
- ServiceCategory tree (tenant-scoped)
- BeautyService with industry tags (salon, barbershop, clinic, laser, spa)
- ServiceVariant: duration, base price shell, skill requirements
- BranchServiceAssignment (which services offered where)
- Media refs (File Storage) for service images
- Events:
beauty_business.service.*,beauty_business.service_category.*
Explicitly Excluded
- Appointment booking (14.1)
- Package bundling (14.5)
- Journal posting / tax (Accounting)
- Healthcare clinic_services / CPT codes
Business Analysis
| Item | Detail |
|---|---|
| Actors | Branch manager, salon owner |
| Business capabilities | Define offerings, durations, branch availability |
| Success metrics | Services selectable in booking by ref |
| Non-goals | Marketplace product catalog |
Scope
In Scope
- ServiceCategory, BeautyService, ServiceVariant
- BranchServiceAssignment, ServiceSkillRequirement (refs staff skills from 14.6)
- ServiceMediaRef (storage ref only)
- Permissions:
beauty_business.services.*,beauty_business.service_categories.*
High-Level Entities
| Entity | Purpose |
|---|---|
| ServiceCategory | Hair, Skin, Laser, Spa, Nails, … |
| BeautyService | Cut, color, facial, laser session, massage |
| ServiceVariant | 30/60/90 min; standard/premium |
| BranchServiceAssignment | Branch-specific catalog |
| ServiceMediaRef | Portfolio / menu image ref |
Out of Scope
- Appointments consuming services (14.1 integration by ref only)
- Packages and memberships (14.5)
- Commission rates (14.6)
- Experience public menu pages (Experience consumes API)
Completion Criteria
- Catalog CRUD with variants and branch assignment
- No Accounting-owned price engine duplication
- Healthcare service catalog untouched