Phase: Beauty Business Foundation
| Field |
Value |
| Identifier |
beauty-business-14-0 |
| Status |
Planned |
| Owner |
Platform |
| Module(s) |
beauty_business.* foundation |
| Service(s) |
beauty_business (new independent service) |
| Depends On |
Core Platform, Identity (JWT), shared-lib patterns |
| ADR(s) |
TBD at implementation (Independent Beauty Business Platform) |
| Manifest |
phase-manifest.yaml |
| Framework |
ADR-013 · ADR-018 · ADR-019 |
Objective
Establish the independent Beauty Business platform (Torbat Beauty): service scaffold, database ownership, tenant-scoped foundation aggregates, permission catalog shells, configuration/settings, audit, health/capabilities/metrics, and publish-only event infrastructure — without booking, catalog, customer, package, commission, or marketing engines.
Enterprise Phase Discovery
Required before Implementation. Full Discovery Record per enterprise-phase-discovery.md.
Baseline Inventory (exists today)
- BB-Reg documentation and architecture registration complete
- No
backend/services/beauty_business code
- Port 8011 and
beauty_business_db reserved in registry
Target Responsibility (this phase when Complete)
- Independent FastAPI service with Alembic, tenant middleware, outbox publisher
- Foundation aggregates: organization, branch shells, roles/permissions, external provider config shells, configuration, settings, audit
/health, /capabilities, /metrics; permission prefix beauty_business.*
- Provider contracts only (CRM, Loyalty, Communication, Accounting, Experience, Delivery, Storage, AI)
Gap Analysis
| Capability |
Status |
Action |
| Service scaffold |
Missing |
Implement at 14.0 |
| Foundation aggregates |
Missing |
Implement at 14.0 |
| Booking / catalog / customer engines |
Out of scope |
Phase 14.1+ |
| Healthcare overlap |
N/A |
Separate module — no shared tables |
Promoted to Implementation Scope
- Service + DB + migrations + foundation CRUD shells
- Architecture, tenant, permission, migration, docs tests
Explicitly Excluded (future phase or other service)
- Appointments, services catalog, customers, packages, commissions, marketing
- Healthcare clinical entities
- Frontend UI (separate frontend phase/track)
- Real provider SDK calls
Boundary Confirmations
Business Analysis
| Item |
Detail |
| Actors |
Salon owner, platform admin |
| Business capabilities (in phase) |
Register beauty business org structure; configure module; RBAC shells |
| Success metrics |
Service boots; tenant isolation proven; capabilities discoverable |
| Non-goals |
End-user booking; clinical workflows |
Scope
In Scope
backend/services/beauty_business scaffold mirroring platform conventions
- Database
beauty_business_db; compose port 8011
- Foundation models and APIs for organizations, branches, roles, permissions catalog, configuration, settings, external provider registrations, audit
- Transactional outbox; publish-only events
beauty_business.organization.*, beauty_business.branch.*, etc.
- Permissions
beauty_business.* trees
Modules
| Module |
Change type |
Notes |
beauty_business.organizations |
new |
Salon group / clinic chain |
beauty_business.branches |
new |
Location shells |
beauty_business.roles |
new |
Module RBAC |
beauty_business.permissions_catalog |
new |
Permission discovery |
beauty_business.configuration |
new |
Tenant config |
beauty_business.settings |
new |
Key-value settings |
beauty_business.external_providers |
new |
Adapter registration shells |
beauty_business.audit |
new |
Audit log |
Domain Model
| Aggregate |
Entities |
Invariants |
| BeautyOrganization |
Organization |
Tenant-scoped; soft delete |
| BeautyBranch |
Branch |
Belongs to organization; tenant-scoped |
| BeautyRole |
Role, Permission |
Module-local RBAC shells |
High-Level Entities (Planned at Implementation)
| Entity |
Soft delete |
Audit |
Tenant |
Notes |
| BeautyOrganization |
Yes |
Yes |
Yes |
Top-level beauty business |
| BeautyBranch |
Yes |
Yes |
Yes |
Salon / clinic location |
| BeautyRole |
Yes |
Yes |
Yes |
Staff role definitions |
| BeautyPermission |
No |
Yes |
Yes |
Permission catalog entries |
| ExternalProviderConfig |
Yes |
Yes |
Yes |
Adapter refs |
| BeautyConfiguration |
Yes |
Yes |
Yes |
Module configuration |
| BeautySetting |
Yes |
Yes |
Yes |
Settings |
| BeautyAuditLog |
No |
N/A |
Yes |
Append-only |
| OutboxEvent |
No |
N/A |
Yes |
Event publishing |
Out of Scope
- Booking engine (14.1)
- Rooms/stations operational management (14.2)
- Service catalog (14.3)
- Customer profiles (14.4)
- Packages and memberships (14.5)
- Staff commission (14.6)
- Marketing and Loyalty integration (14.7)
- Healthcare module entities or APIs
- Frontend dashboards and navigation
Completion Criteria
Architecture Impact
Database Impact
- New database
beauty_business_db
- Migration
0001_initial (at implementation)
Risks
- Confusion with Healthcare scheduling — mitigated by separate module keys, permissions, and documentation
- Pull-forward of booking into foundation — mitigated by explicit Out of Scope
Related Documents