# Beauty Business Platform (Torbat Beauty)

| Field | Value |
| --- | --- |
| Service | `beauty-business-service` |
| Database | `beauty_business_db` |
| Port | 8011 |
| Permission prefix | `beauty_business.*` |
| Version | 0.14.7.0 |
| Phase | 14.7 Marketing & Loyalty |

## Owns

- Beauty organizations, branches, configuration/settings shells
- External provider / booking-engine **registrations** (adapters later)
- Booking: schedules, availability, appointments, waiting list
- Salon: treatment rooms, stations, branch policies
- Service catalog, customers, packages, memberships
- Staff profiles, commission rules
- Marketing campaign refs and Loyalty/Communication integration configs
- Beauty audit log + transactional outbox
- Health / capabilities / metrics discovery
- Publish-only `beauty_business.*` events

## Does not own

- Accounting journals / Posting Engine
- Communication SMS/email providers or message delivery timeline
- Loyalty ledger / campaigns engine
- Healthcare clinical entities
- Experience sites/pages (refs only)
- Delivery fleet / dispatch
- Identity user admin / CRM contact master / Storage blobs
- Frontend UI (separate track)

## APIs

| Method | Path |
| --- | --- |
| GET | `/health` |
| GET | `/capabilities` |
| GET | `/metrics` |
| CRUD | `/api/v1/organizations` |
| CRUD | `/api/v1/branches` |
| CRUD | `/api/v1/external-providers` |
| CRUD | `/api/v1/booking-engines` |
| CRUD | `/api/v1/configurations` |
| PUT/GET | `/api/v1/settings` |
| GET | `/api/v1/audit` |
| CRUD + lifecycle | `/api/v1/appointments` |
| CRUD | `/api/v1/staff-schedules`, `/api/v1/services`, `/api/v1/customers`, … |
| GET | `/api/v1/permissions/catalog` |

## Run (dev)

```bash
cd backend/services/beauty_business
python scripts/ensure_db.py
alembic upgrade head
uvicorn app.main:app --host 0.0.0.0 --port 8011 --reload
```

## Tests

```bash
ENVIRONMENT=test AUTH_REQUIRED=false JWT_VERIFY_SIGNATURE=false pytest -q
```
