# Phase: Customer Management | Field | Value | | --- | --- | | Identifier | `beauty-business-14-4` | | Status | Planned | | Owner | Platform | | Module(s) | `beauty_business.customers`, `beauty_business.customer_preferences`, `beauty_business.visit_history` | | Service(s) | `beauty_business` | | Depends On | `beauty-business-14-0`, `beauty-business-14-1` (visit refs) | | 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 Manage **beauty customers** in module context: profiles linked to CRM contact refs, preferences (stylist, allergies/sensitivities notes for beauty context only, communication opt-in), visit history shells, and customer portal API contracts — without owning CRM Contact aggregates or Healthcare patient records. ## Enterprise Phase Discovery > **Required before Implementation.** ### Target Responsibility (this phase when Complete) - CustomerProfile with `crm_contact_ref` and optional `identity_user_ref` - CustomerPreference (preferred stylist, notes, marketing opt-in flags) - VisitHistoryEntry (refs completed appointments; summary only) - CustomerDocumentRef (storage ref for patch tests, consent forms — beauty context) - Events: `beauty_business.customer.*` - Permissions: `beauty_business.customers.*` ### Explicitly Excluded - CRM Lead/Contact CRUD (CRM service) - Loyalty Member ledger (Loyalty service) - Healthcare Patient / medical records - Frontend customer portal UI ## Business Analysis | Item | Detail | | --- | --- | | Actors | Receptionist, stylist, customer (self-service APIs) | | Business capabilities | Register customers, track preferences, view visit summary | | Success metrics | CRM ref integrity; no duplicate CRM ownership | | Non-goals | Full Customer360 platform | ## Scope ### In Scope - CustomerProfile, CustomerPreference, VisitHistoryEntry, CustomerDocumentRef - Search/filter customers for reception workflows - Link appointments (14.1) to customer profile ### High-Level Entities | Entity | Purpose | | --- | --- | | CustomerProfile | Beauty-context customer | | CustomerPreference | Stylist, notes, opt-ins | | VisitHistoryEntry | Completed visit summary | | CustomerDocumentRef | Consent / patch test file ref | ## Out of Scope - CRM contact creation logic (call CRM API or store ref only) - Loyalty enrollment (14.7) - Packages (14.5) - Healthcare patient portal and PHI ## Completion Criteria - [ ] Customer module with CRM refs only — no CRM model imports - [ ] Visit history references appointments, does not duplicate booking engine - [ ] Healthcare patient module untouched ## Related Documents - [Phase 14.1](phase-14-1-booking-engine.md) - [Beauty Business Roadmap](../../beauty-business-roadmap.md) - [CRM module registry](../../module-registry.md#crm)