# 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](../../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

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

## Related Documents

- [Phase 14.0](phase-14-0-beauty-foundation.md)
- [Beauty Business Roadmap](../../beauty-business-roadmap.md)
