TorbatYar/docs/beauty-business-roadmap.md
Mortezakoohjani d579d0b142 feat(loyalty): add Loyalty Platform Frontend module
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>
2026-07-27 10:50:55 +03:30

9.3 KiB

Beauty Business Roadmap

Future only. Completed work → progress.md. Immediate milestone → next-steps.md.

Commercial product: Torbat Beauty — independent business management software for salons, barbershops, beauty clinics, laser centers, skin-care centers, hair-treatment centers, and spa & wellness centers.

Important: Beauty Business and Healthcare are completely independent business modules. They share Core platform services (Tenant, Identity, Authorization, CRM, Accounting, Loyalty, Communication, Delivery, Experience/Page Builder) via API and events only — never shared documentation, phases, frontend, dashboards, permissions, navigation, or branding.


Business Goals

  1. Enable beauty and wellness businesses to operate appointments, staff, services, and customer relationships in a single tenant-scoped workspace.
  2. Provide industry-specific booking, salon/branch management, service catalog, packages, commissions, and marketing workflows without owning platform capabilities.
  3. Integrate with Torbat Loyalty, Communication, Accounting, CRM, Delivery, and Experience without duplicating their domain data.
  4. Ship a dedicated frontend shell, permission tree (beauty_business.*), navigation, and branding separate from Healthcare and other verticals.

Boundaries

Owns

  • Salons / branches / treatment rooms / stations
  • Beauty service catalog (services, categories, durations, pricing shells)
  • Appointment and booking lifecycle (beauty-specific rules)
  • Staff profiles, schedules, skills, commission rules (beauty domain)
  • Customer profiles in beauty context (refs to CRM/Loyalty where applicable)
  • Packages, memberships, and session bundles (beauty commercial model)
  • Beauty marketing campaigns hooks (Loyalty/Communication client-side)
  • beauty_business.* permissions, events, audit, configuration

Must Not Own

  • Healthcare clinics, doctors, patients, medical records, prescriptions (healthcare)
  • Accounting journals / Posting Engine (accounting)
  • Sales CRM aggregates (crm)
  • Loyalty ledger, point accounts, campaigns (loyalty)
  • Communication providers and message delivery (communication)
  • Delivery drivers, fleet, dispatch (delivery)
  • Experience sites, pages, themes (experience)
  • Core tenant membership, Identity user admin (core-platform)

See module-boundaries.md.


Dependencies

Dependency Usage
Core Platform Tenant, entitlement, membership context
Identity & Access User refs for staff and customer portal
Authorization Workspace roles + module permission catalog
CRM Contact/organization refs; optional lead capture
Accounting Revenue/settlement intents via Posting Engine contracts
Loyalty Points, memberships, campaigns (client)
Communication Appointment reminders, marketing messages (client)
Delivery Product/home-service delivery intents (optional, later)
Experience (Torbat Pages) Public booking pages, salon sites, widgets
File Storage Media refs for portfolio, staff, service images

Database-per-service: sole owner of beauty_business_db. No cross-DB FKs (ADR-001).


Roles (High-Level)

Role Responsibility
Salon Owner Tenant beauty business admin; branches, billing settings, staff policies
Branch Manager Day-to-day branch operations, schedules, inventory of stations
Receptionist Booking, check-in, customer intake
Stylist / Therapist / Technician Own calendar, service delivery, commission view
Sales / Front Desk Packages, upsell, payment collection (refs Accounting)
Customer Self-service booking, history, loyalty (portal APIs; UI in frontend)
Platform Admin Cross-tenant ops (platform scope only)

Module-specific permissions under beauty_business.* (detailed per phase).


High-Level Entities (Planned)

Aggregate Purpose
BeautyOrganization Top-level beauty business entity (salon group / clinic chain)
BeautyBranch Physical location (salon, barbershop, clinic branch, spa)
TreatmentRoom / Station Bookable physical resources
BeautyRole / BeautyPermission Module RBAC shells
ServiceCategory / BeautyService Catalog: cuts, color, laser, facial, spa packages
ServiceVariant Duration, price tier, staff skill requirements
StaffProfile Beauty staff linked to Identity user ref
StaffSchedule / StaffAvailability Working hours and exceptions
CustomerProfile Beauty customer context (CRM contact ref)
Appointment Booking lifecycle (requested → confirmed → checked-in → completed / cancelled / no-show)
AppointmentType Consultation, service, package session, follow-up
WaitingListEntry Queue when slots full
PackageDefinition / CustomerPackage Prepaid multi-session bundles
MembershipPlan / CustomerMembership Recurring beauty memberships
CommissionRule / CommissionEntry Staff compensation shells
MarketingCampaignRef Hooks to Loyalty/Communication (refs only)
BeautyConfiguration / BeautySetting Tenant/module settings
BeautyAuditLog Immutable audit trail
OutboxEvent Publish-only domain events

Exact entity names and tables are defined at implementation time per phase-template.md.


Integration Points

Platform Integration pattern
CRM contact_ref / organization_ref on CustomerProfile; optional opportunity on high-value packages
Loyalty Earn/redeem on completed appointments; membership tier sync via API
Communication Template-based reminders (confirm, reschedule, no-show, birthday)
Accounting Invoice/payment intents on completed services; commission accrual intents
Experience Embeddable booking widget; public service menu pages
Delivery Optional product shipment for retail beauty products (job intents to Delivery)
Identity Staff and customer user refs only

All integrations: REST + async events + outbox; provider contracts in owning service; no foreign model imports.


Phase Plan

Phase Identifier Title Summary
14.0 beauty-business-14-0 Beauty Foundation Service scaffold, org/branch/roles, configuration, audit, health/capabilities
14.1 beauty-business-14-1 Booking Engine Schedules, availability, appointments, waiting list
14.2 beauty-business-14-2 Salon Management Branches, rooms/stations, branch policies, operational settings
14.3 beauty-business-14-3 Service Catalog Categories, services, variants, pricing shells, media refs
14.4 beauty-business-14-4 Customer Management Customer profiles, preferences, visit history shells, CRM refs
14.5 beauty-business-14-5 Package & Membership Prepaid packages, session balances, recurring memberships
14.6 beauty-business-14-6 Staff & Commission Staff profiles, skills, schedules, commission rules and entries
14.7 beauty-business-14-7 Marketing & Loyalty Campaign refs, referral hooks, Loyalty/Communication connectors

Phase documents: phases/BeautyBusiness/.

Implementation of every phase must follow the Enterprise / AI Development Framework (ADR-013, ADR-018, ADR-019).


Future Roadmap (Post 14.7)

Not registered as phases yet; track here only:

  • Retail product inventory and POS-lite for beauty retail
  • Advanced analytics and revenue dashboards
  • Multi-branch franchise reporting
  • AI-assisted scheduling and demand forecasting
  • Mobile stylist app and customer app deep links
  • Integration marketplace (payment gateways, review platforms)
  • Enterprise validation and compliance slice (14.8+ when scoped)

Technical Registration (Planned)

Field Value
Service folder backend/services/beauty_business (at 14.0)
Database beauty_business_db
API port 8011 (reserved)
API prefix /api/v1
Permission prefix beauty_business.*
Event prefix beauty_business.*
Frontend route prefix /beauty (dedicated shell; separate from /healthcare)

Documentation References