====================
FILE: F:\TorbatYar\docs\progress.md
====================
# Progress

> Completed work only. Future â†’ [roadmap.md](roadmap.md). Next milestone â†’ [next-steps.md](next-steps.md).

## Phase 1 â€” Core Platform âœ…

### Infrastructure & structure
- [x] Full project structure with mandatory `backend/` / `frontend/` separation
- [x] Shared library `backend/shared-lib`
- [x] Architecture section: Frontend & Backend Separation

### Core service
- [x] Config, database, cache, logging, base security
- [x] Models, APIs, Entitlement, Celery, Outbox
- [x] Tests and documentation

### Frontend
- [x] Independent Next.js, API client, white-label theme baseline

---

## Phase 2 â€” Identity & Access + SSO âœ…

- [x] `shared/auth/jwt.py`, `shared/auth/roles.py`, Identity events in `shared/events.py`
- [x] Identity service + `identity_access_db`
- [x] Keycloak realm/clients/theme import
- [x] Core API protection (`AUTH_REQUIRED`, role deps)
- [x] Frontend SSO flow (`/login`, `/auth/callback`, `/dashboard`)
- [x] Compose services Identity + Frontend; Postgres init for identity DB

---

## Phase 3 â€” OTP Login + Tenant Management âœ…

- [x] Core `users` + OTP request/verify + Payamak
- [x] Local JWT (HS256) for OTP users
- [x] Admin tenant CRUD + owner filtering
- [x] Frontend admin OTP/tenant UI (later aligned to central SSO)
- [x] `test_otp_auth.py`

---

## Phase 4 â€” Tenant Onboarding & Workspace Activation âœ…

> Brief alias: sometimes called â€œPhase 3â€‌ externally â€” see [phase-numbering decision](decisions/technical/phase-numbering.md).

- [x] Core `tenant_memberships`, tenant lifecycle, branding columns, domain primary/verification fields
- [x] `users.current_tenant_id`, FREE/STARTER plan seed, onboarding APIs
- [x] `UserService` / `MembershipService` / `OnboardingService` / `TenantContextService`
- [x] Frontend onboarding wizard, tenant dashboard, tenant switcher
- [x] `test_onboarding.py` + regression suite
- [x] JIT Core user from Keycloak JWT (`UserService.resolve_current`)
- [x] Automatic tenant subdomain SSL (Celery â†’ SSH â†’ `provision_ssl.py`)
- [x] Reverse proxy (Nginx) + base TLS + tenant SSL automation

### Intentionally incomplete after Phase 4 (tracked in roadmap, not claimed done)
Payment gateway آ· real DNS/TXT custom-domain verify آ· legacy `POST /admin/tenants` auto membership/plan آ· first business module

---

## Phase D â€” Documentation Architecture Consolidation âœ…

- [x] Target `docs/` tree (architecture, adr, development, reference, deployment, templates, phases, decisions)
- [x] Moved canonical docs with git history where possible
- [x] Deprecated stubs for old paths
- [x] ADR system initialized (ADR-001 â€¦ ADR-010)
- [x] Project principles, coding standards, testing/branching/release strategies
- [x] Module registry + provider registry + glossary
- [x] Deployment runbooks (production, SSL, monitoring, backup, restore, DR)
- [x] Roadmap / next-steps separation from progress
- [x] Phase area docs for Accounting, CRM, Restaurant, Marketplace, Automation, AI, Future
- [x] Cross-links updated in root and package READMEs

---

## Phase 5.1â€“5.11 â€” Accounting Module âœ…

- [x] Phases 5.1â€“5.6: Foundation through Sales Integration (see prior entry)
- [x] Phase 5.7: Purchase & Inventory accounting, InventoryValuationEngine
- [x] Phase 5.8: Fixed Assets, DepreciationEngine, asset lifecycle
- [x] Phase 5.9: HCM/Payroll, PayrollEngine, payroll accounting
- [x] Phase 5.10: Financial Reporting Engine, dashboards, export framework
- [x] Phase 5.11: Compliance, Audit Framework, Governance, SoD
- [x] Alembic migration `0002_phases_57_511`
- [x] 21 tests passing

---

## Accounting Enterprise Frontend (in SuperApp) âœ… baseline

- [x] Design system tokens (light/dark) + DS components (`components/ds`)
- [x] TanStack Query providers, Sonner toasts, ColorMode
- [x] Typed `accounting-api` client (JWT + `X-Tenant-ID`, no mocks)
- [x] Accounting shell + routes: dashboard, COA, fiscal, currencies, cost centers, projects, ledger, setup, suppliers
- [x] Vouchers list/create/detail with validate/post/reverse/cancel + draft edit (ADR-010)
- [x] Foundation masters: edit/archive drawers, fiscal year/period actions, COA template import wizard
- [x] Setup checklist + completion scoreboard on dashboard
- [x] Treasury, customers, assets, payroll, reports, audit, settings pages (real APIs)
- [x] Catalog tile available â†’ `/accounting`
- [x] Frontend docs under `docs/frontend/`

Remaining: Phase 5.12 AI UI blocked on AI provider; optional richer PDF export file delivery.

---

## Accounting Frontend Integration (FE â†” BE 5.1â€“5.11) âœ…

- [x] Full route/menu scan vs `/api/v1` routers; gap matrix executed
- [x] Domain rewires: payroll employees, compliance policies/risks, settlements, sales-accounting post, purchase GR + valuation, asset schedule, monitoring health
- [x] FE client: settlements, salesAccounting, purchaseInventory, compliance approvals/risks, ops PATCH
- [x] Ops documents: detail + edit; treasury receipt/payment cash/bank binding; voucher list pagination
- [x] BE list endpoints for settlements, risks, purchase posting-profiles (integration completeness)
- [x] Report: [accounting-frontend-integration-report.md](accounting-frontend-integration-report.md)
- [x] Scoreboard honesty for partial/ops-backed modules; AI remains blocked

---

## Accounting Frontend Completion Loop (business workflows) âœ…

- [x] Full sidebar/submenu audit (118 routes); generic BusinessDocs stubs replaced
- [x] Thin BE APIs on existing models: asset transfer/dispose/revaluation; payroll contracts/components/payrolls; compliance workflows/approvals list/SoD/controls/violations
- [x] Domain screens: `WorkflowScreens.tsx` + typed `SpecializedOpsPage` for budget/integration/documents/settings
- [x] Money thousand-separators + party/item AJAX across operational forms
- [x] Audit report: [audits/accounting-frontend-completion-report.md](audits/accounting-frontend-completion-report.md)
- [x] Menu QA tracker: [frontend/accounting-menu-qa.md](frontend/accounting-menu-qa.md)

Remaining (honest): Phase 5.12 AI blocked; budget/DMS/integration still typed-ops interim until dedicated engines exist.

---

## Phase 6.0 â€” CRM Service Foundation âœ…

- [x] `backend/services/crm` service scaffold (API / services / repositories / models)
- [x] Base aggregates: Lead, Contact, Organization, Opportunity, Pipeline, PipelineStage, SalesActivity, Quote
- [x] Publish-only event contracts (`crm.lead.*`, `crm.opportunity.*`, â€¦)
- [x] CRM APIs only (`/api/v1/leads|contacts|organizations|pipelines|opportunities|activities|quotes`)
- [x] Platform provider contracts only (Automation, Customer360, Notification, Analytics, AI, Communication, Helpdesk)
- [x] Permissions `crm.*` trees; tenant isolation via `X-Tenant-ID`
- [x] Alembic `0001_initial` + `crm_db` wiring (compose port 8003)
- [x] Architecture / dependency / repository / migration / API / permission / tenant / docs tests
- [x] Docs: [crm-phase-6-0.md](crm-phase-6-0.md), module registry, phase area README

---

## Phase 6.1 â€” Enterprise CRM Core Business Entities âœ…

- [x] Expanded Lead / Contact / Organization (numbers, multi-contact, soft delete, audit actors)
- [x] Lookups: lead_sources, lead_statuses, contact_types, organization_types, organization_industries
- [x] Lead assignments, tag engine, reusable addresses, custom fields + values
- [x] Versioned notes, attachment file-storage references (no binary), CRM audit log
- [x] Services / repositories / validators / permissions / events for Phase 6.1
- [x] Alembic `0002_phase_61_entities`
- [x] API coverage under `/api/v1` for entities + lookups
- [x] Tests: model, repository, service, API, permission, migration, validation, audit, tenant, docs
- [x] Docs: [crm-phase-6-1.md](crm-phase-6-1.md)

---

## Phase 6.2 â€” Enterprise Sales Process Engine âœ…

- [x] Opportunity engine (number, title, revenue, probability, priority, close dates, soft delete, actors)
- [x] Unlimited pipelines + pipeline stages (start/won/lost/closed flags, required fields, exit validation)
- [x] Stage history, opportunity products (product_ref only), contact roles, competitors
- [x] Sales playbooks (versioned) + steps + assignments + completion tracking
- [x] Win/loss categories, reasons, immutable opportunity_win_loss snapshot
- [x] Rule-based forecasts (pipeline / weighted / committed; monthly/quarterly/annual)
- [x] Sales goals + targets with achievement %
- [x] Sales process definitions + sales_audit trail
- [x] Services / validators / events / permissions (`crm.pipelines|playbooks|forecasts|goals|targets.*`)
- [x] Alembic `0003_phase_62_sales_engine`; version `0.6.2.0`
- [x] API coverage for sales engine under `/api/v1`
- [x] Tests: pipeline, stage, playbook, forecast, win/loss, business rules, migration, permission, tenant, docs
- [x] Docs: [crm-phase-6-2.md](crm-phase-6-2.md)

---

## Phase 6.3 â€” Enterprise Sales Collaboration Platform âœ…

- [x] Expanded sales activities (types, priority, CRM entity links, participants, reminders)
- [x] Tasks + checklists + completion tracking
- [x] Meetings + attendees + finish/outcome
- [x] Call logs (opportunity-linked) + call outcomes
- [x] Email threads/messages metadata only (no delivery)
- [x] Immutable sales timeline + timeline event links
- [x] Threaded/versioned comments, mentions, bookmarks, favorites
- [x] Sales team roles/members/assignments + notification preferences
- [x] Collaboration audit; events `crm.task|meeting|call|timeline|comment|mention.*`
- [x] Permissions `crm.tasks|meetings|calls|timeline|comments|mentions|team.*`
- [x] Alembic `0004_phase_63_collaboration`; version `0.6.3.0`
- [x] Tests + docs: [crm-phase-6-3.md](crm-phase-6-3.md)

### CRM Core Platform

- [x] Phases 6.0â€“6.3 complete (Foundation, Master Data, Sales Engine, Collaboration)

---

## Phase 7.0 â€” Loyalty Service Foundation âœ…

- [x] `backend/services/loyalty` service scaffold (API / services / repositories / models)
- [x] Foundation aggregates: LoyaltyProgram, MembershipTier, Member, PointAccount, Reward, Campaign, LoyaltyAuditLog, OutboxEvent
- [x] No mutable balance on PointAccount â€” direct balance mutation forbidden (`extra=forbid`)
- [x] Optimistic locking on Program / Member / PointAccount; campaign `rule_version`
- [x] Publish-only events via transactional outbox (`loyalty.program|tier|member|point_account|reward|campaign.*`)
- [x] Loyalty APIs only (`/api/v1/programs|tiers|members|point-accounts|rewards|campaigns|audit`)
- [x] Platform provider contracts only (Notification, Analytics, Customer360, AI, ModuleIntegration, CRM, Communication, FileStorage)
- [x] Permissions `loyalty.*` trees with manage/view inheritance; tenant isolation via `X-Tenant-ID`
- [x] Alembic `0001_initial` + `loyalty_db` wiring (compose port 8004)
- [x] Soft-delete unique reclaim; IntegrityError â†’ 409; null required-field â†’ 422; production config guards
- [x] Enterprise validation & self-heal (incl. removal of incomplete 7.1 residue) â€” **52 tests passed**
- [x] Docs: [loyalty-phase-7-0.md](loyalty-phase-7-0.md), [loyalty-phase-7-0-audit.md](loyalty-phase-7-0-audit.md), ADR-011, module registry, phase area README

## Phase 7.1 â€” Membership Engine âœ…

- [x] Lifecycle state machine (activate / renew / freeze / resume / cancel / expire / transfer)
- [x] Member lifecycle fields + `MembershipLifecycleEvent` append-only history
- [x] Program soft-delete cascade policy: reject when blocking members exist
- [x] Permissions `loyalty.members.{activate,renew,freeze,resume,cancel,expire,transfer,lifecycle.view}`
- [x] Events `loyalty.member.{activated,renewed,frozen,resumed,cancelled,expired,transferred}`
- [x] Alembic `0002_phase_71_membership`; version `0.7.1.0`
- [x] Tests green (59) including `test_phase71.py`
- [x] Docs: [loyalty-phase-7-1.md](loyalty-phase-7-1.md), [phase-handover/phase-7-1.md](phase-handover/phase-7-1.md), manifests, registry

---

## Phase 8.0â€“8.10 â€” Enterprise Communication Platform âœ…

- [x] Independent `communication-service` / `communication_db` (port 8005) â€” not owned by CRM/Loyalty/Restaurant
- [x] Provider framework + registry (mock, payamak; stubs for email/push/whatsapp/telegram/rubika/voice)
- [x] Communication router with priority, automatic failover, retry, circuit breaker
- [x] SMS platform: sender numbers, balance, rate limits, provider logs
- [x] Template engine: variables, locale, versioning, approval, preview, rendering
- [x] Dynamic contact sources (manual, CSV, CRM/Loyalty/Restaurant/Marketplace/Accounting/Website/External REST) â€” resolve only, no duplication
- [x] Queue engine: async queue, scheduling, priority, backoff retry, DLQ, batch
- [x] Delivery tracking: queued/sent/delivered/failed/expired/cancelled + timeline
- [x] OTP platform: generate/verify/expire, rate limit, brute-force lock, multi-channel path
- [x] Incoming provider webhooks with signature verification
- [x] Health `/health`, Capability `/capabilities`, providers status, monitoring stats
- [x] Permissions `communication.*`; events `communication.*`; audit on every send
- [x] Alembic `0001_initial`; version `0.8.10.0`
- [x] Tests: architecture, health/security, providers/SMS/failover/queue, templates/contacts/OTP/webhooks, validators
- [x] Docs: [communication-phase-8.md](communication-phase-8.md), ADR-012, module/provider registry, progress

---

## Phase AF â€” AI Development Framework âœ…

> Documentation-only. No business functionality. No modifications to existing services, schemas, or APIs.

- [x] Permanent area [`docs/ai-framework/`](ai-framework/README.md)
- [x] Master prompt, development loop, phase handover, quality gates
- [x] Templates: phase, service, module, entity, repository, service-layer, API, event, testing, documentation
- [x] Manifests: [phase-manifest.yaml](ai-framework/phase-manifest.yaml), [service-manifest.yaml](ai-framework/service-manifest.yaml)
- [x] Prompt rules + Cursor guidelines
- [x] Docs index / module registry / progress integration
- [x] ADR-013 Accepted
- [x] Architecture, documentation, cross-reference, link, template, and manifest validation

---

## Phase AF-Enterprise â€” Enterprise Development Framework Upgrade âœ…

> Documentation-only. Upgrades the AI Development Framework into an Enterprise Development Framework. No business feature code. No changes to completed business phases or implementations.

- [x] [Definition of Done](ai-framework/definition-of-done.md)
- [x] [Mandatory Phase Artifacts](ai-framework/mandatory-phase-artifacts.md)
- [x] [Enterprise Completeness](ai-framework/enterprise-completeness.md)
- [x] [Boundary Rules](ai-framework/boundary-rules.md)
- [x] Master prompt, development loop, quality gates, phase/handover/testing/documentation templates upgraded
- [x] Layer templates (service, module, entity, repository, service-layer, API, event) upgraded
- [x] Prompt rules + Cursor guidelines upgraded
- [x] Project principles, testing strategy, docs index, glossary updated
- [x] [ADR-018](architecture/adr/ADR-018.md) Accepted (extends ADR-013)
- [x] Phase registered: `ai-framework-enterprise` in [phase-manifest.yaml](ai-framework/phase-manifest.yaml)
- [x] Handover: [phase-handover/phase-af-enterprise.md](phase-handover/phase-af-enterprise.md)
- [x] Backward-compatible path `docs/ai-framework/` retained; no business services modified

---

## Phase AF-Discovery â€” Enterprise Phase Discovery Mandate âœ…

> Documentation-only. Adds mandatory Enterprise Phase Discovery before every phase. No business feature code. No changes to completed business phases or implementations.

- [x] [Enterprise Phase Discovery](ai-framework/enterprise-phase-discovery.md)
- [x] Development loop stage 1 = Discovery; quality gates include Discovery
- [x] Phase template, handover, DoD, completeness, mandatory artifacts, prompt/cursor rules updated
- [x] Master prompt + project principles updated
- [x] [ADR-019](architecture/adr/ADR-019.md) Accepted (extends ADR-018)
- [x] Phase registered: `ai-framework-discovery` in [phase-manifest.yaml](ai-framework/phase-manifest.yaml)
- [x] Handover: [phase-handover/phase-af-discovery.md](phase-handover/phase-af-discovery.md)
- [x] No business services modified

---

## Phase SC-Reg â€” Sports Center Platform Registration âœ…

> Documentation-only registration. No business code, models, APIs, migrations, or repositories.

- [x] Phase roadmap 9.0â€“9.10 registered in [phase-manifest.yaml](ai-framework/phase-manifest.yaml)
- [x] Service registered in [service-manifest.yaml](ai-framework/service-manifest.yaml)
- [x] Planned modules registered in [module-registry.md](module-registry.md#sports_center)
- [x] Sports terminology added to [glossary.md](glossary.md#sports-center)
- [x] Roadmap doc: [sports-center-roadmap.md](sports-center-roadmap.md)
- [x] ADR-014 Accepted â€” Independent Sports Center Platform
- [x] Module boundaries + phase area README updated
- [x] Manifest / cross-reference / documentation / module validation passed

---

## Phase 9.0 â€” Sports Center Platform Foundation âœ…

- [x] `backend/services/sports_center` service scaffold (API / services / repositories / models)
- [x] Foundation aggregates: SportsCenter, Branch, Sport, MembershipType, Membership, Coach, SportsRole, SportsPermission, Facility, Court, Room, LockerRoom, Locker, DeviceProvider, Device, AttendanceGateway, SportsConfiguration, SportsEvent, SportsSetting, SportsAuditLog
- [x] Adapter-based connector framework (QR/RFID/Barcode/Fingerprint/Face/Turnstile/Door/Payment/Attendance) â€” interfaces only
- [x] Platform provider contracts only (Accounting, CRM, Loyalty, Communication, Notification, Storage, AI, Identity, Customer360)
- [x] Publish-only events (`sports_center.member|membership|coach|facility|device|attendance|locker.*`)
- [x] Sports APIs under `/api/v1` + device connect/disconnect + locker assign/release
- [x] Permissions `sports_center.*` trees; tenant isolation via `X-Tenant-ID`
- [x] Alembic `0001_initial` + `sports_center_db` wiring (compose port 8006)
- [x] Architecture / API / permissions / migration / dependency / connectors / docs tests
- [x] Docs: [sports-center-phase-9-0.md](sports-center-phase-9-0.md), [phase-handover/phase-9-0.md](phase-handover/phase-9-0.md), ADR-014, module registry
- [x] No business workflow engines (booking/attendance lifecycle deferred)

---

## Phase 9.1 â€” Sports Center Membership Catalog âœ…

- [x] Catalog aggregates: SportCategory, AgeGroup, PricingModel, MembershipPackage, MembershipPlan, MembershipRule, RenewalPolicy, FreezingRule, ExpirationPolicy
- [x] MembershipType extended with catalog refs (package/plan/pricing/age/category/policies), transferability, sort order
- [x] Validators for age range, pricing/billing/rule kinds, money amounts, catalog ref integrity
- [x] Publish-only catalog events; permissions trees for catalog modules
- [x] APIs under `/api/v1/sport-categories|age-groups|pricing-models|membership-packages|membership-plans|membership-rules|renewal-policies|freezing-rules|expiration-policies`
- [x] `/capabilities` endpoint; version `0.9.1.0`
- [x] Alembic `0002_phase_91_membership_catalog`
- [x] Tests: catalog API, tenant isolation, age validation, architecture, docs
- [x] Docs: [sports-center-phase-9-1.md](sports-center-phase-9-1.md), [phase-handover/phase-9-1.md](phase-handover/phase-9-1.md)
- [x] No member enrollment / coach / attendance / booking engines

---

## Phase 9.2 â€” Sports Center Member Management âœ…

- [x] Members aggregate + family members, emergency contacts, medical information shells
- [x] Membership assignment (`member_id`) consuming Phase 9.1 catalog types
- [x] Status management: activate / suspend / cancel / freeze / unfreeze
- [x] Membership cards (QR/physical/digital), digital membership passes, waivers (sign), member documents (Storage refs)
- [x] Validators, permissions (`sports_center.members.*` trees), publish-only events
- [x] Alembic `0003_phase_92_member_management`; version `0.9.2.0`
- [x] Tests: members API, tenant isolation, transitions, architecture, migration, docs
- [x] Docs: [sports-center-phase-9-2.md](sports-center-phase-9-2.md), [phase-handover/phase-9-2.md](phase-handover/phase-9-2.md)
- [x] No coach / attendance / booking engines

---


## Phase DP-Reg â€” Delivery & Fleet Platform Registration âœ…

> Documentation-only registration. No business code, models, APIs, migrations, or repositories.

- [x] Phase roadmap 10.0â€“10.10 registered in [phase-manifest.yaml](ai-framework/phase-manifest.yaml)
- [x] Service registered in [service-manifest.yaml](ai-framework/service-manifest.yaml) (`delivery`, `delivery_db`, port 8007)
- [x] Planned modules registered in [module-registry.md](module-registry.md#delivery)
- [x] Delivery terminology added to [glossary.md](glossary.md#delivery--fleet-platform)
- [x] Roadmap doc: [delivery-roadmap.md](delivery-roadmap.md)
- [x] ADR-015 Accepted â€” Independent Delivery & Fleet Platform
- [x] Module boundaries + phase area README updated
- [x] Handover: [phase-handover/phase-dp-reg.md](phase-handover/phase-dp-reg.md)
- [x] Manifest / cross-reference / documentation / module validation passed

---

## Phase XP-Reg â€” Experience Platform Registration âœ…

> Documentation-only registration. No business code, models, APIs, migrations, or repositories.

- [x] Phase roadmap 11.0â€“11.10 registered in [phase-manifest.yaml](ai-framework/phase-manifest.yaml)
- [x] Service registered in [service-manifest.yaml](ai-framework/service-manifest.yaml) (`experience`, `experience_db`, port 8008)
- [x] Planned modules registered in [module-registry.md](module-registry.md#experience)
- [x] Experience terminology added to [glossary.md](glossary.md#experience-platform)
- [x] Roadmap doc: [experience-roadmap.md](experience-roadmap.md)
- [x] Phase doc: [experience-phase-xp-reg.md](experience-phase-xp-reg.md)
- [x] ADR-016 Accepted â€” Independent Enterprise Experience Platform (Torbat Pages)
- [x] Module boundaries + database architecture + schema notes + phase area README updated
- [x] Historical `website_builder` marked prefer-`experience` (ADR-016)
- [x] Handover: [phase-handover/phase-xp-reg.md](phase-handover/phase-xp-reg.md)
- [x] Manifest / cross-reference / documentation / module validation passed

---

## Phase 11.0 â€” Experience Platform Foundation âœ…

- [x] Independent `backend/services/experience` (`experience_db`, port **8008**, version **0.11.0.0**, commercial product **Torbat Pages**)
- [x] Foundation aggregates: Workspace, LocaleProfile, ExternalProviderConfig, RenderEngineRegistration, Configuration, Setting, Role/Permission shells, AuditLog
- [x] `GET /health`, `/capabilities`, `/metrics`; permissions `experience.*`; publish-only events
- [x] Provider contracts only (Storage, CRM, Hospitality, Marketplace, Sports, Delivery, Communication, Loyalty, Accounting, AI, Automation, â€¦)
- [x] Alembic `0001_initial`; compose + `.env.example` + `init-dbs.sql` wiring
- [x] Tests: architecture, API, tenant isolation, permissions, migration, dependency, security, docs
- [x] Docs: [experience-phase-11-0.md](experience-phase-11-0.md), [phase-handover/phase-11-0.md](phase-handover/phase-11-0.md)
- [x] No sites/pages/page-builder/theme/template/CMS/forms engines

---

## Phase 11.1 â€” Experience Sites & Page Resources âœ…

- [x] Sites under workspaces (multiple sites); draft/publish/archive lifecycle
- [x] Pages-as-resources with page types (landing, menu, bio, portfolio, QR, blog, â€¦)
- [x] Site domain/subdomain binding refs (`experience_site_domains`)
- [x] Permissions `experience.sites.*` / `experience.pages.*` / `experience.domains.*`
- [x] Events `experience.site.*` / `experience.page.*` / `experience.site_domain.*`
- [x] Alembic `0002_phase_111_sites_pages`; version `0.11.1.0`
- [x] Tests: sites API, tenant isolation, publish/archive rules, architecture, migration, docs
- [x] Docs: [experience-phase-11-1.md](experience-phase-11-1.md), [phase-handover/phase-11-1.md](phase-handover/phase-11-1.md)
- [x] No page builder / theme / template engines

---

## Phase 11.2 â€” Experience Component Library & Versioning âœ…

- [x] Versioned component catalog (`ExperienceComponent`) with kinds + lifecycle
- [x] Immutable published component versions (`ExperienceComponentVersion`)
- [x] Page composition shells (`PageComponentPlacement` slot pins)
- [x] Policies, specifications, commands, queries; list filter/sort/search
- [x] Permissions `experience.components.*`; events `experience.component*` / `experience.page_component.*`
- [x] Alembic `0003_phase_112_components`; version `0.11.2.0`
- [x] Tests: policies, API flow, immutability, tenant isolation, architecture, migration, docs
- [x] Docs: [experience-phase-11-2.md](experience-phase-11-2.md), [phase-handover/phase-11-2.md](phase-handover/phase-11-2.md)
- [x] No theme / layout engines

---

## Phase 11.3 â€” Experience Theme & Layout Engine âœ…

- [x] Replaceable theme packs (`ExperienceTheme`) with tokens + directionality
- [x] Dynamic layouts (`ExperienceLayout`) with regions/slots shells
- [x] Site theme + page layout assignments (swap without rewriting pages)
- [x] Policies, specifications, commands, queries; list filter/sort/search
- [x] Permissions `experience.themes.*` / `experience.layouts.*`
- [x] Events `experience.theme.*` / `experience.layout.*` / `experience.site_theme.*` / `experience.page_layout.*`
- [x] Alembic `0004_phase_113_themes_layouts`; version `0.11.3.0`
- [x] Tests: policies, API flow, tenant isolation, architecture, migration, docs
- [x] Docs: [experience-phase-11-3.md](experience-phase-11-3.md), [phase-handover/phase-11-3.md](phase-handover/phase-11-3.md)
- [x] No template catalog engine

---

## Phase 12.0 â€” Hospitality Platform Foundation âœ…

- [x] Independent `backend/services/hospitality` (`hospitality_db`, port **8009**, version **0.12.0.0**, commercial product **Torbat Food**)
- [x] Foundation aggregates: Venue, Branch, DiningArea, DiningTable, Menu, MenuCategory, MenuItem, BundleDefinition, TenantBundle, FeatureToggle, roles/permissions, configuration/settings/events/audit
- [x] Feature-based architecture: bundle licensing + feature toggles + `/capabilities` discovery
- [x] Venue formats catalog (cafe â†’ catering) without hardcoded engines
- [x] Publish-only events `hospitality.*`; permissions `hospitality.*`
- [x] Provider contracts only (Accounting, CRM, Loyalty, Communication, Delivery, Experience/Website, AI, â€¦)
- [x] Alembic `0001_initial`; compose + `.env.example` wiring
- [x] Tests: architecture, API, tenant isolation, permissions, bundles, migration, dependency, security, performance, docs
- [x] Docs: [hospitality-phase-12-0.md](hospitality-phase-12-0.md), [phase-handover/phase-12-0.md](phase-handover/phase-12-0.md), [hospitality-roadmap.md](hospitality-roadmap.md), ADR-017
- [x] Historical `restaurant-foundation` / restaurant scaffold superseded by hospitality
- [x] No POS / kitchen / ordering / reservation engines

---

## Phase 12.1 â€” Digital Menu Catalog âœ…

- [x] Catalog aggregates: Allergen, ModifierGroup, ModifierOption, MenuItemModifier, MenuItemAllergen, AvailabilityWindow, MenuMediaRef, MenuLocalization
- [x] Additive MenuItem fields (prep time, calories, dietary flags, tags, primary_media_ref)
- [x] Catalog APIs + validators + permissions + publish-only events
- [x] Alembic `0002_phase_121_digital_menu_catalog`; version **0.12.1.0**; capabilities `digital_menu_catalog`
- [x] Tests: catalog happy path, tenant isolation, validation, architecture/migration/docs updates
- [x] Docs: [hospitality-phase-12-1.md](hospitality-phase-12-1.md), [phase-handover/phase-12-1.md](phase-handover/phase-12-1.md)
- [x] No POS / kitchen / QR ordering / reservation engines

---


## Phase 10.0 â€” Delivery Platform Foundation âœ…

- [x] `backend/services/delivery` service scaffold (API / services / repositories / models)
- [x] Foundation aggregates: DeliveryOrganization, DeliveryHub, DeliveryRole, DeliveryPermission, ExternalProviderConfig, RoutingEngineRegistration, DeliveryConfiguration, DeliverySetting, DeliveryAuditLog
- [x] Platform provider contracts (Accounting, CRM, Loyalty, Communication, Notification, Storage, AI, Identity, RoutingEngine, Fleet)
- [x] Publish-only events (`delivery.organization|hub|external_provider|routing_engine|configuration|setting.*`)
- [x] Health `/health`, Capabilities `/capabilities`, Metrics `/metrics`
- [x] APIs under `/api/v1` for organizations, hubs, external-providers, routing-engines, configurations, settings, audit
- [x] Permissions `delivery.*` trees; tenant isolation via `X-Tenant-ID`
- [x] Alembic `0001_initial` + `delivery_db` wiring (compose port 8007); version `0.10.0.0`
- [x] Architecture / API / tenant / permissions / migration / dependency / security / docs tests
- [x] Docs: [delivery-phase-10-0.md](delivery-phase-10-0.md), [phase-handover/phase-10-0.md](phase-handover/phase-10-0.md)
- [x] No driver/fleet/dispatch/routing/tracking engines (deferred)

---

## Phase 10.1 â€” Driver Management âœ…

- [x] Aggregates: Driver, DriverCredential, DriverDocument, DriverLifecycleEvent, OutboxEvent
- [x] Lifecycle: activate / suspend / resume / deactivate / block / unblock / archive + append-only history
- [x] Soft delete + optimistic locking; list pagination / filter / sort / search
- [x] Commands, queries, policies, specifications, validators
- [x] APIs `/api/v1/drivers` + `/api/v1/permissions/catalog`; capabilities/metrics `phase: 10.1`
- [x] Permissions `delivery.drivers.*`; events `delivery.driver.*` via transactional outbox
- [x] Alembic `0002_phase_101_drivers`; version **0.10.1.0**
- [x] Tests: lifecycle, credentials/documents, tenant, architecture, migration, permissions, performance indexes, docs
- [x] Docs: [delivery-phase-10-1.md](delivery-phase-10-1.md), [phase-handover/phase-10-1.md](phase-handover/phase-10-1.md)
- [x] No fleet / dispatch / routing / tracking engines (deferred)

---

## Related Documents

- [Next Steps](next-steps.md)
- [Roadmap](roadmap.md)
- [Frontend docs](frontend/README.md)
- [docs/README.md](README.md)
- [CRM Phase 6.0](crm-phase-6-0.md)
- [CRM Phase 6.1](crm-phase-6-1.md)
- [CRM Phase 6.2](crm-phase-6-2.md)
- [CRM Phase 6.3](crm-phase-6-3.md)
- [Loyalty Phase 7.0](loyalty-phase-7-0.md)
- [Loyalty Phase 7.1](loyalty-phase-7-1.md)
- [Communication Phase 8](communication-phase-8.md)
- [Sports Center Phase 9.0](sports-center-phase-9-0.md)
- [Sports Center Phase 9.1](sports-center-phase-9-1.md)
- [Sports Center Phase 9.2](sports-center-phase-9-2.md)
- [Phase Handover 9.0](phase-handover/phase-9-0.md)
- [Phase Handover 9.1](phase-handover/phase-9-1.md)
- [Phase Handover 9.2](phase-handover/phase-9-2.md)
- [Sports Center Roadmap](sports-center-roadmap.md)
- [Delivery Roadmap](delivery-roadmap.md)
- [Delivery Phase 10.0](delivery-phase-10-0.md)
- [Delivery Phase 10.1](delivery-phase-10-1.md)
- [Phase Handover DP-Reg](phase-handover/phase-dp-reg.md)
- [Phase Handover 10.0](phase-handover/phase-10-0.md)
- [Phase Handover 10.1](phase-handover/phase-10-1.md)
- [Experience Roadmap](experience-roadmap.md)
- [Experience Phase XP-Reg](experience-phase-xp-reg.md)
- [Experience Phase 11.0](experience-phase-11-0.md)
- [Experience Phase 11.1](experience-phase-11-1.md)
- [Experience Phase 11.2](experience-phase-11-2.md)
- [Experience Phase 11.3](experience-phase-11-3.md)
- [Phase Handover XP-Reg](phase-handover/phase-xp-reg.md)
- [Phase Handover 11.0](phase-handover/phase-11-0.md)
- [Phase Handover 11.1](phase-handover/phase-11-1.md)
- [AI / Enterprise Development Framework](ai-framework/README.md)
- [Phase Handover AF-Enterprise](phase-handover/phase-af-enterprise.md)
- [Phase Handover AF-Discovery](phase-handover/phase-af-discovery.md)
- [ADR-013](architecture/adr/ADR-013.md)
- [ADR-018](architecture/adr/ADR-018.md)
- [ADR-019](architecture/adr/ADR-019.md)
- [ADR-014](architecture/adr/ADR-014.md)
- [ADR-015](architecture/adr/ADR-015.md)
- [ADR-016](architecture/adr/ADR-016.md)
- [ADR-017](architecture/adr/ADR-017.md)
- [Hospitality Phase 12.0](hospitality-phase-12-0.md)
- [Hospitality Phase 12.1](hospitality-phase-12-1.md)
- [Hospitality Roadmap](hospitality-roadmap.md)
- [Phase Handover 12.0](phase-handover/phase-12-0.md)
- [Phase Handover 12.1](phase-handover/phase-12-1.md)

====================
FILE: F:\TorbatYar\docs\next-steps.md
====================
# Next Steps

> Immediate next milestone only. History â†’ [progress.md](progress.md). Future map â†’ [roadmap.md](roadmap.md).

## Current Milestone: Phase 11.4 â€” Experience Template System

Follow the permanent [Enterprise / AI Development Framework](ai-framework/README.md) ([enterprise-phase-discovery.md](ai-framework/enterprise-phase-discovery.md), [definition-of-done.md](ai-framework/definition-of-done.md), [cursor-guidelines.md](ai-framework/cursor-guidelines.md), [development-loop.md](ai-framework/development-loop.md), [quality-gates.md](ai-framework/quality-gates.md)). Production readiness is the default â€” CRUD is never sufficient. Discovery runs automatically before Implementation.

### Why

Phase 11.3 Theme & Layout Engine is complete (replaceable themes, dynamic layouts, directionality shells, assignments).

Mandatory entry: [phase-handover/phase-11-3.md](phase-handover/phase-11-3.md).

### Scope

1. Template catalog, instantiation from templates, page-type starter packs
2. Permissions, events, APIs on top of themes/layouts from 11.3
3. Do **not** implement forms/surveys engine yet

### Exit Criteria

- [ ] Template APIs + validators + tests green
- [ ] Docs: `docs/experience-phase-11-4.md` + progress/registry + handover
- [ ] Quality gates + phase handover per AI framework

### After This Milestone

Phase 11.5 â€” Localization, RTL/LTR & Media.

### Other open tracks (not this milestone)

- Hospitality later 12.x
- Delivery 10.2+ (Fleet & Vehicle Types) â€” Phase 10.1 Driver Management complete
- Loyalty 7.2 Point Engine
- Sports Center 9.3 Coach & Staff Management

## Related Documents

- [Progress](progress.md)
- [Phase Handover 11.3](phase-handover/phase-11-3.md)
- [Experience Phase 11.3](experience-phase-11-3.md)
- [Experience Roadmap](experience-roadmap.md)
- [ADR-016](architecture/adr/ADR-016.md)
- [Phases / Experience](phases/Experience/README.md)
- [AI Development Framework](ai-framework/README.md)

====================
FILE: F:\TorbatYar\docs\module-registry.md
====================
# Module Registry

Canonical inventory of modules. Template: [module-template.md](templates/module-template.md).  
Architecture boundaries: [module-boundaries.md](architecture/module-boundaries.md).

Status legend: **Active** آ· **Scaffolded** (code placeholder) آ· **Planned**

---

## core-platform

| Field | Value |
| --- | --- |
| Name | Core Platform |
| Description | Tenants, domains, plans, entitlements, registries, onboarding, audit, outbox |
| Owner | Platform |
| Status | Active |
| Dependencies | Postgres, Redis, Celery |
| Internal Dependencies | shared-lib |
| External Dependencies | Payamak (OTP), Keycloak (JWT validate), SSL provision host |
| Database Ownership | Sole owner |
| Database | `core_platform_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `core.*` / platform admin deps |
| Events | `tenant.*`, `domain.*`, `subscription.*`, `feature_access.*` |
| Event Producers | Core services/workers |
| Event Consumers | Future business services |
| Provider Dependencies | Payamak, Let's Encrypt (via ops/SSL task) |
| AI Dependencies | None |
| Documentation | [architecture/](architecture/), [reference/](reference/) |
| Current Phase | Phase 4 complete; white-label polish in progress |
| Version | 0.4.x |
| Version Compatibility | Identity â‰¥ phase 2 |
| Migration Version | Alembic head (incl. `0005_tenant_onboarding`) |
| Tenant Aware | Yes |
| Permission Tree | platform_admin + membership roles |
| Future Plans | Payment gateway, DNS verify, advanced permissions |

---

## identity-access

| Field | Value |
| --- | --- |
| Name | Identity & Access |
| Description | OIDC BFF, profiles, mobile OTP handoff, Keycloak sync |
| Owner | Platform |
| Status | Active |
| Dependencies | Keycloak, Core OTP API |
| Internal Dependencies | shared-lib |
| External Dependencies | Keycloak, Core |
| Database Ownership | Sole owner |
| Database | `identity_access_db` |
| API Prefix | `/api/v1/auth`, `/api/v1/users`, `/api/v1/tenants/{id}/members` |
| Permission Prefix | Identity admin roles |
| Events | `user.registered`, `tenant_member.added`, `tenant_member.removed` |
| Event Producers | Identity service |
| Event Consumers | Core (future sync) |
| Provider Dependencies | Keycloak |
| AI Dependencies | None |
| Documentation | [identity-architecture.md](architecture/identity-architecture.md), service README |
| Current Phase | Phase 2+ delivered |
| Version | 0.2.x |
| Version Compatibility | Core with JWT + mobile |
| Migration Version | Identity Alembic head |
| Tenant Aware | Partial (membership listing) |
| Permission Tree | platform_admin for user/member admin APIs |
| Future Plans | Richer sync with Core memberships |

---

## frontend

| Field | Value |
| --- | --- |
| Name | Frontend |
| Description | Next.js UI: SSO, onboarding, dashboard, tenant site |
| Owner | Platform |
| Status | Active |
| Dependencies | Core API, Identity API, Keycloak |
| Internal Dependencies | None (no backend imports) |
| External Dependencies | Browser |
| Database Ownership | None |
| Database | â€” |
| API Prefix | Consumes `/api/v1` |
| Permission Prefix | UI gated by roles from `/me` |
| Events | N/A (consumer only via API) |
| Event Producers | None |
| Event Consumers | None |
| Provider Dependencies | None directly |
| AI Dependencies | None |
| Documentation | [frontend/README.md](../frontend/README.md) |
| Current Phase | White-label runtime partial |
| Version | Next 15.5.x |
| Version Compatibility | Core/Identity current |
| Migration Version | N/A |
| Tenant Aware | Yes (host + context) |
| Permission Tree | Mirrors Core roles in UI |
| Future Plans | Module UIs per business phase |

---

## accounting

| Field | Value |
| --- | --- |
| Name | Accounting |
| Description | 4-level COA, double-entry, posting engine, GL, treasury, AR/AP, sales integration |
| Owner | Platform |
| Status | Active (Phases 5.1â€“5.11) |
| Dependencies | Core entitlement |
| Internal Dependencies | Posting Engine (owned here) |
| External Dependencies | Tax/e-invoice providers (future) |
| Database Ownership | Sole owner |
| Database | `accounting_db` |
| API Prefix | `/api/v1` (service on port 8002) |
| Permission Prefix | `accounting.*`, `treasury.*`, `receivable.*`, `payable.*`, `sales_accounting.*` |
| Events | `voucher.posted`, `ledger.updated`, `cash.received`, `settlement.completed`, `sales_invoice.posted` |
| Event Producers | Accounting |
| Event Consumers | Reporting, compliance (planned) |
| Provider Dependencies | Payment/tax (planned) |
| AI Dependencies | Optional assistants only (Phase 5.12) |
| Documentation | [phases/Accounting](phases/Accounting/README.md), service README |
| Current Phase | 5.11 complete; 5.12 (AI) next |
| Version | 0.5.11.0 |
| Version Compatibility | Requires Core entitlement |
| Migration Version | `0002_phases_57_511` |
| Tenant Aware | Yes (required) |
| Permission Tree | `accounting.*`, `treasury.*`, `receivable.*`, `payable.*`, `sales_accounting.*` |
| Future Plans | Phases 5.7â€“5.12 (purchase/inventory, assets, payroll, reporting, compliance, AI) |

---

## crm

| Field | Value |
| --- | --- |
| Name | CRM |
| Description | Sales CRM: leads, contacts, organizations, opportunities, pipelines, playbooks, forecasts, goals, targets, win/loss, activities, tasks, meetings, calls, timeline, comments, mentions, team collaboration, quotes, tags, addresses, custom fields, notes, attachments, audit |
| Owner | Platform |
| Status | Active (Phase 6.3 collaboration â€” CRM Core Platform complete) |
| Dependencies | Core entitlement; File Storage + Product Service + Notification (reference/contracts only) |
| Internal Dependencies | None â€” Sales CRM only |
| External Dependencies | Platform providers via contracts only (Automation, Customer360, Notification, Analytics, AI, Communication, Helpdesk, FileStorage, ProductService) |
| Database Ownership | Sole owner |
| Database | `crm_db` |
| API Prefix | `/api/v1` (service on port 8003) |
| Permission Prefix | `crm.*`, `crm.opportunities.*`, `crm.pipelines.*`, `crm.playbooks.*`, `crm.forecasts.*`, `crm.goals.*`, `crm.targets.*`, `crm.activities.*`, `crm.tasks.*`, `crm.meetings.*`, `crm.calls.*`, `crm.timeline.*`, `crm.comments.*`, `crm.mentions.*`, `crm.team.*`, `crm.leads.*`, `crm.contacts.*`, `crm.organizations.*`, `crm.notes.*`, `crm.attachments.*`, `crm.customfields.*` |
| Events | `crm.opportunity.*`, `crm.pipeline.changed`, `crm.stage.changed`, `crm.playbook.*`, `crm.forecast.updated`, `crm.activity.*`, `crm.task.completed`, `crm.meeting.finished`, `crm.call.logged`, `crm.timeline.updated`, `crm.comment.created`, `crm.mention.created`, `crm.lead.*`, `crm.contact.created`, `crm.organization.created`, `crm.note.created`, `crm.attachment.added`, `crm.quote.created` |
| Event Producers | CRM |
| Event Consumers | Future platforms (not consumed in 6.3) |
| Provider Dependencies | Contracts only â€” no implementations |
| AI Dependencies | Optional via `AIProvider` contract only |
| Documentation | [crm-phase-6-0.md](crm-phase-6-0.md), [crm-phase-6-1.md](crm-phase-6-1.md), [crm-phase-6-2.md](crm-phase-6-2.md), [crm-phase-6-3.md](crm-phase-6-3.md), [phases/CRM](phases/CRM/README.md), service README |
| Current Phase | 6.3 complete (CRM Core Platform) |
| Version | 0.6.3.0 |
| Version Compatibility | Requires Core entitlement |
| Migration Version | `0004_phase_63_collaboration` |
| Tenant Aware | Yes (required) |
| Permission Tree | `crm.*` |
| Future Plans | Explicitly scoped Sales CRM slices only; no platform ownership |

---

## loyalty

| Field | Value |
| --- | --- |
| Name | Enterprise Loyalty Platform |
| Description | Shared loyalty: programs, members, tiers, point accounts, rewards, campaigns; reusable by all business modules |
| Owner | Platform |
| Status | Active (Phase 7.1 Membership Engine) |
| Dependencies | Core entitlement (feature-key gate deferred platform-wide; JWT + tenant header enforced) |
| Internal Dependencies | None â€” independent of CRM |
| External Dependencies | Platform providers via contracts only (Notification, Analytics, Customer360, AI, ModuleIntegration, CRM, Communication, FileStorage) |
| Database Ownership | Sole owner |
| Database | `loyalty_db` |
| API Prefix | `/api/v1` (service on port 8004) |
| Permission Prefix | `loyalty.*`, `loyalty.programs.*`, `loyalty.tiers.*`, `loyalty.members.*`, `loyalty.point_accounts.*`, `loyalty.rewards.*`, `loyalty.campaigns.*`, `loyalty.audit.*` |
| Events | `loyalty.program.*`, `loyalty.tier.*`, `loyalty.member.*`, `loyalty.point_account.*`, `loyalty.reward.*`, `loyalty.campaign.*` |
| Event Producers | Loyalty (transactional outbox) |
| Event Consumers | Future business modules / Customer360 (not consumed in 7.1) |
| Provider Dependencies | Contracts only â€” no implementations |
| AI Dependencies | Optional via `AIProvider` contract only |
| Documentation | [loyalty-phase-7-0.md](loyalty-phase-7-0.md), [loyalty-phase-7-1.md](loyalty-phase-7-1.md), [phase-handover/phase-7-1.md](phase-handover/phase-7-1.md), [phases/Loyalty](phases/Loyalty/README.md), service README |
| Current Phase | 7.1 complete (Membership Engine); 7.2 not started |
| Version | 0.7.1.0 |
| Version Compatibility | Designed for Core entitlement; runtime feature-check deferred |
| Migration Version | `0002_phase_71_membership` |
| Tenant Aware | Yes (required) |
| Permission Tree | `loyalty.*` (view/manage inheritance supported) |
| Future Plans | Phases 7.2â€“7.10 (points ledger, rewards, campaigns, coupon/voucher, wallet/gift, partner, integrations, AI/analytics, production readiness) |

---

## communication

| Field | Value |
| --- | --- |
| Name | Enterprise Communication Platform |
| Description | Independent shared messaging: providers, router, SMS, templates, dynamic contacts, queue, delivery tracking, OTP, webhooks, monitoring |
| Owner | Platform |
| Status | Active (Phase 8.0â€“8.10 complete) |
| Dependencies | Core entitlement (optional gate); no other business modules required |
| Internal Dependencies | None â€” independent of CRM / Loyalty / Restaurant |
| External Dependencies | SMS providers (Payamak, mock); future email/push/social/voice adapters |
| Database Ownership | Sole owner |
| Database | `communication_db` |
| API Prefix | `/api/v1` (service on port 8005); `/health`, `/capabilities` |
| Permission Prefix | `communication.*` |
| Events | `communication.message.*`, `communication.provider.*`, `communication.otp.*`, `communication.queue.*`, `communication.webhook.*`, `communication.template.*` |
| Event Producers | Communication |
| Event Consumers | Any subscribed business module (via API/events only) |
| Provider Dependencies | Payamak (SMS), Mock; stubs for smtp/fcm/whatsapp/telegram/rubika/voice |
| AI Dependencies | None |
| Documentation | [communication-phase-8.md](communication-phase-8.md), ADR-012, service README |
| Current Phase | 8.10 complete |
| Version | 0.8.10.0 |
| Version Compatibility | Standalone; Core JWT optional via AUTH_REQUIRED |
| Migration Version | `0001_initial` |
| Tenant Aware | Yes (required) |
| Permission Tree | `communication.*` |
| Future Plans | Worker drain, additional channel adapters, optional Core OTP handoff |

---

## sports_center

| Field | Value |
| --- | --- |
| Name | Sports Center Platform |
| Description | Independent sports platform: foundation, membership catalog, and member management (profiles, assignment, cards/waivers/documents) |
| Owner | Platform |
| Status | Active (Phase 9.2 member management) |
| Dependencies | Core entitlement; Accounting / CRM / Loyalty / Communication via API/Events when phases require them |
| Internal Dependencies | Foundation + catalog + member modules owned by this service |
| External Dependencies | Access-device vendors (adapters later); payment via Accounting (future) |
| Database Ownership | Sole owner |
| Database | `sports_center_db` |
| API Prefix | `/api/v1` (service on port 8006); `/health`, `/capabilities` |
| Permission Prefix | `sports_center.*` |
| Events | `sports_center.member.*`, `membership.*`, `family_member.*`, `emergency_contact.*`, `medical_information.*`, `membership_card.*`, `digital_membership.*`, `waiver.*`, `member_document.*`, catalog events, `coach.*`, `facility.*`, `device.*`, `locker.*` |
| Event Producers | Sports Center |
| Event Consumers | Accounting, CRM, Loyalty, Communication, Analytics (future consumers) |
| Provider Dependencies | Connector interfaces only |
| AI Dependencies | Optional via contracts only (Phase 9.9) |
| Documentation | [sports-center-phase-9-0.md](sports-center-phase-9-0.md), [sports-center-phase-9-1.md](sports-center-phase-9-1.md), [sports-center-phase-9-2.md](sports-center-phase-9-2.md), [phase-handover/phase-9-2.md](phase-handover/phase-9-2.md), [sports-center-roadmap.md](sports-center-roadmap.md), [phases/SportsCenter](phases/SportsCenter/README.md), [ADR-014](architecture/adr/ADR-014.md) |
| Current Phase | 9.2 complete (member management); next `sports-center-9.3` |
| Version | 0.9.2.0 |
| Version Compatibility | Requires Core entitlement; integrations per Phase 9.8 |
| Migration Version | `0003_phase_92_member_management` |
| Tenant Aware | Yes (required) |
| Permission Tree | `sports_center.*` |
| Future Plans | Phases 9.3â€“9.10 per [phase-manifest.yaml](ai-framework/phase-manifest.yaml) |

### Modules (owned by sports_center)

| Module Key | Name | Status | Phase |
| --- | --- | --- | --- |
| `sports_center.sports_centers` | Sports Centers | Active (shell) | 9.0 |
| `sports_center.branches` | Branches | Active (shell) | 9.0 |
| `sports_center.sports` | Sports catalog | Active (shell) | 9.0 |
| `sports_center.membership_types` | Membership Types | Active (catalog) | 9.1 |
| `sports_center.memberships` | Memberships (assignment + status) | Active | 9.2 |
| `sports_center.sport_categories` | Sport Categories | Active | 9.1 |
| `sports_center.age_groups` | Age Groups | Active | 9.1 |
| `sports_center.pricing_models` | Pricing Models | Active | 9.1 |
| `sports_center.membership_packages` | Membership Packages | Active | 9.1 |
| `sports_center.membership_plans` | Membership Plans | Active | 9.1 |
| `sports_center.membership_rules` | Membership Rules | Active | 9.1 |
| `sports_center.renewal_policies` | Renewal Policies | Active | 9.1 |
| `sports_center.freezing_rules` | Freezing Rules | Active | 9.1 |
| `sports_center.expiration_policies` | Expiration Policies | Active | 9.1 |
| `sports_center.members` | Members | Active | 9.2 |
| `sports_center.family_members` | Family Members | Active | 9.2 |
| `sports_center.emergency_contacts` | Emergency Contacts | Active | 9.2 |
| `sports_center.medical` | Medical Information | Active (shell) | 9.2 |
| `sports_center.membership_cards` | Membership Cards | Active | 9.2 |
| `sports_center.digital_memberships` | Digital Memberships | Active | 9.2 |
| `sports_center.waivers` | Waivers | Active | 9.2 |
| `sports_center.member_documents` | Member Documents | Active | 9.2 |
| `sports_center.coaches` | Coaches | Active (shell) | 9.0 |
| `sports_center.roles` | Sports Roles | Active (shell) | 9.0 |
| `sports_center.permissions` | Sports Permissions | Active (shell) | 9.0 |
| `sports_center.facilities` | Facilities | Active (shell) | 9.0 |
| `sports_center.courts` | Courts | Active (shell) | 9.0 |
| `sports_center.rooms` | Rooms | Active (shell) | 9.0 |
| `sports_center.locker_rooms` | Locker Rooms | Active (shell) | 9.0 |
| `sports_center.lockers` | Lockers | Active (shell) | 9.0 |
| `sports_center.devices` | Devices | Active (shell) | 9.0 |
| `sports_center.device_providers` | Device Providers | Active (shell) | 9.0 |
| `sports_center.attendance_gateways` | Attendance Gateways | Active (shell) | 9.0 |
| `sports_center.configuration` | Configuration | Active (shell) | 9.0 |
| `sports_center.events` | Sports Events | Active (shell) | 9.0 |
| `sports_center.settings` | Settings | Active (shell) | 9.0 |
| `sports_center.audit` | Audit | Active | 9.0 |
| `sports_center.attendance` | Attendance engine | Planned | 9.5 |
| `sports_center.booking` | Booking | Planned | 9.4 |
| `sports_center.equipment` | Equipment | Planned | 9.4 |
| `sports_center.programs` | Programs | Planned | 9.6 |
| `sports_center.workouts` | Workouts | Planned | 9.6 |
| `sports_center.competitions` | Competitions | Planned | 9.7 |
| `sports_center.competitions_events` | Competition events depth | Planned | 9.7 |
| `sports_center.nutrition` | Nutrition | Planned | Later slice |
| `sports_center.mobile` | Mobile | Planned | Cross-cutting |
| `sports_center.reports` | Reports | Planned | 9.9 |
| `sports_center.analytics` | Analytics | Planned | 9.9 |
| `sports_center.integrations` | Integrations | Planned | 9.8 |

| Module | Responsibilities | Non-responsibilities |
| --- | --- | --- |
| Members | Sports member profiles; links to platform user refs | Platform Tenant Member; Loyalty Member |
| Membership | Active membership instances; freeze/renewal/transfer | Accounting invoices ownership |
| Membership Types | Plans, packages, commercial definitions | Core SaaS plans |
| Coaches | Coach/trainer records and assignments | Identity user admin |
| Attendance | Check-in/out records | Physical device firmware |
| Booking | Reservations and conflict rules | Payment capture ownership |
| Facilities | Courts, rooms, zones | Building IoT cloud |
| Equipment | Equipment inventory for booking/tracking | Procurement accounting |
| Programs | Training programs | Generic LMS / Academy ownership |
| Workouts | Workout definitions / assignments | Wearable vendor platforms |
| Competitions | Competition definitions / results shells | External federation systems |
| Events | Sports calendar events | Domain/integration event bus |
| Medical | Clearance / note refs (privacy-aware) | Hospital EHR systems |
| Nutrition | Nutrition plan shells | Dietitian marketplace |
| Locker | Locker assignment status | Smart-lock vendor cloud |
| Mobile | Mobile API contracts / deep links | Native app store publishing (ops) |
| Reports | Operational reports | Central BI warehouse ownership |
| Analytics | Metrics export shells | Product AI platform |
| Integrations | Adapters to Accounting/CRM/Loyalty/Communication | Foreign DB ownership |

---

## delivery

| Field | Value |
| --- | --- |
| Name | Delivery & Fleet Platform (Torbat Driver) |
| Description | Independent logistics platform (Torbat Driver): foundation orgs/hubs/config/providers/routing-engine shells; drivers active; fleet/dispatch in later phases |
| Owner | Platform |
| Status | Active (Phase 10.1 drivers) |
| Dependencies | Core entitlement; Accounting / CRM / Loyalty / Communication / verticals via API/Events when phases require them |
| Internal Dependencies | Modules owned by this service only |
| External Dependencies | Routing engines and fleet providers (adapters); notifications via Communication; Storage file refs for driver docs |
| Database Ownership | Sole owner |
| Database | `delivery_db` |
| API Prefix | `/api/v1` (service on port 8007); `/health`, `/capabilities`, `/metrics` |
| Permission Prefix | `delivery.*` |
| Events | `delivery.organization.*`, `delivery.hub.*`, `delivery.external_provider.*`, `delivery.routing_engine.*`, `delivery.configuration.*`, `delivery.setting.*`, `delivery.driver.*` (+ planned fleet/dispatch/...) |
| Event Producers | Delivery |
| Event Consumers | Accounting, Communication, CRM, Loyalty, Restaurant, Marketplace, Clinic, Sports Center, Analytics (future) |
| Provider Dependencies | External routing/fleet provider interfaces (planned); Storage refs for documents |
| AI Dependencies | Optional via contracts only (Phase 10.10) |
| Documentation | [delivery-phase-10-1.md](delivery-phase-10-1.md), [phase-handover/phase-10-1.md](phase-handover/phase-10-1.md), [delivery-phase-10-0.md](delivery-phase-10-0.md), [delivery-roadmap.md](delivery-roadmap.md), [phases/Delivery](phases/Delivery/README.md), [ADR-015](architecture/adr/ADR-015.md) |
| Current Phase | 10.1 complete (drivers); next `delivery-10.2` |
| Version | 0.10.1.0 |
| Version Compatibility | Requires Core entitlement; integrations per later phases |
| Migration Version | `0002_phase_101_drivers` |
| Tenant Aware | Yes (required) |
| Permission Tree | `delivery.*` |
| Future Plans | Phases 10.0â€“10.10 per [phase-manifest.yaml](ai-framework/phase-manifest.yaml) |
| Commercial Product | Torbat Driver |

### Modules (owned by delivery)

| Module Key | Name | Status | Phase |
| --- | --- | --- | --- |
| `delivery.organizations` | Delivery Organizations | Active (shell) | 10.0 |
| `delivery.hubs` | Delivery Hubs | Active (shell) | 10.0 |
| `delivery.roles` | Delivery Roles | Active (shell) | 10.0 |
| `delivery.permissions_catalog` | Delivery Permissions Catalog | Active (shell) | 10.0 |
| `delivery.routing_engines` | Routing Engine Registrations | Active (shell) | 10.0 |
| `delivery.settings` | Settings | Active (shell) | 10.0 |
| `delivery.drivers` | Driver Management | Active | 10.1 |
| `delivery.fleet` | Fleet Management | Planned | 10.2 |
| `delivery.vehicle_types` | Vehicle Types | Planned | 10.2 |
| `delivery.vehicles` | Vehicles | Planned | 10.2 |
| `delivery.availability` | Availability | Planned | 10.3 |
| `delivery.shifts` | Shift Management | Planned | 10.3 |
| `delivery.working_zones` | Working Zones | Planned | 10.3 |
| `delivery.pricing` | Pricing | Planned | 10.4 |
| `delivery.capabilities` | Capabilities | Planned | 10.4 |
| `delivery.bundles` | Capability Bundles | Planned | 10.4 |
| `delivery.dispatch` | Dispatch Engine | Planned | 10.5 |
| `delivery.routing` | Routing | Planned | 10.6 |
| `delivery.optimization` | Optimization | Planned | 10.6 |
| `delivery.tracking` | Tracking | Planned | 10.7 |
| `delivery.proof_of_delivery` | Proof Of Delivery | Planned | 10.7 |
| `delivery.customer_tracking` | Customer Tracking | Planned | 10.7 / 10.9 |
| `delivery.settlement` | Settlement | Planned | 10.8 |
| `delivery.merchant_connector` | Merchant Connector | Planned | 10.9 |
| `delivery.notifications` | Notifications (Communication client) | Planned | 10.9 |
| `delivery.driver_app_apis` | Driver App APIs | Planned | 10.9 |
| `delivery.dispatcher_panel_apis` | Dispatcher Panel APIs | Planned | 10.9 |
| `delivery.fleet_analytics` | Fleet Analytics | Planned | 10.10 |
| `delivery.ai_hooks` | AI Ready Hooks | Planned | 10.10 |
| `delivery.external_providers` | External Providers Ready | Active (shell) | 10.0 |
| `delivery.audit` | Audit | Active | 10.0 |
| `delivery.configuration` | Configuration | Active (shell) | 10.0 |

| Module | Responsibilities | Non-responsibilities |
| --- | --- | --- |
| Drivers | Courier/driver profiles and status | Identity user admin; Platform Member |
| Fleet / Vehicles | Fleet units and vehicle catalog | Procurement accounting |
| Dispatch | Job assignment engine | Owning vertical order aggregates |
| Routing | Route plans and multi stop | Owning map vendor credentials outside adapters |
| Tracking / POD | Journey + proof refs | Communication message delivery status |
| Settlement | Settlement intents | JournalEntry / Posting Engine |
| Merchant Connector | Job intake contracts | Restaurant menu / Marketplace catalog |
| Notifications | Call Communication APIs | SMS/email provider ownership |

---

## experience

| Field | Value |
| --- | --- |
| Name | Enterprise Experience Platform (Torbat Pages) |
| Description | Independent experience platform: sites, pages-as-resources, versioned components, themes, layouts, templates, localization, forms/surveys/appointments, SEO/PWA, bundles, widgets for all verticals |
| Owner | Platform |
| Status | Active (Phase 11.0 foundation complete) |
| Dependencies | Core entitlement; Storage / CRM / Loyalty / Communication / Hospitality / Marketplace / Sports / Delivery / AI / Automation via API/Events when phases require them |
| Internal Dependencies | Modules owned by this service only |
| External Dependencies | File Storage for media refs; notifications via Communication |
| Database Ownership | Sole owner |
| Database | `experience_db` |
| API Prefix | `/api/v1` (port 8008); `/health`, `/capabilities`, `/metrics` |
| Permission Prefix | `experience.*` |
| Events | `experience.workspace.*`, `experience.locale_profile.*`, `experience.external_provider.*`, `experience.render_engine.*`, `experience.configuration.*`, `experience.setting.*`, `experience.site.*`, `experience.page.*`, `experience.site_domain.*`, `experience.component.*`, `experience.component_version.*`, `experience.page_component.*`, `experience.theme.*`, `experience.layout.*`, `experience.site_theme.*`, `experience.page_layout.*` (+ planned template/â€¦) |
| Event Producers | Experience |
| Event Consumers | Hospitality, Marketplace, Sports Center, CRM, Loyalty, Communication, Accounting, Clinic, Hotel, Tourism, Analytics (future) |
| Provider Dependencies | Optional theme/component marketplace adapters (planned) |
| AI Dependencies | Optional via contracts only (Phase 11.10) |
| Documentation | [experience-roadmap.md](experience-roadmap.md), [phases/Experience](phases/Experience/README.md), [experience-phase-11-3.md](experience-phase-11-3.md), [phase-handover/phase-11-3.md](phase-handover/phase-11-3.md), [ADR-016](architecture/adr/ADR-016.md) |
| Current Phase | 11.3 complete; next `experience-11.4` |
| Version | 0.11.3.0 |
| Version Compatibility | Requires Core entitlement; integrations per later phases |
| Migration Version | `0002_phase_111_sites_pages` |
| Tenant Aware | Yes (required) |
| Permission Tree | `experience.*` |
| Future Plans | Phases 11.0â€“11.10 per [phase-manifest.yaml](ai-framework/phase-manifest.yaml) |
| Commercial Product | Torbat Pages |

### Modules (owned by experience)

| Module Key | Name | Status | Phase |
| --- | --- | --- | --- |
| `experience.workspaces` | Workspaces | Complete | 11.0 |
| `experience.locale_profiles` | Locale Profiles | Complete | 11.0 |
| `experience.external_providers` | External Providers | Complete | 11.0 |
| `experience.render_engines` | Render Engines | Complete | 11.0 |
| `experience.audit` | Audit | Complete | 11.0 |
| `experience.configuration` | Configuration | Complete | 11.0 |
| `experience.sites` | Sites | Complete | 11.1 |
| `experience.pages` | Page Resources | Complete | 11.1 |
| `experience.page_types` | Page Types | Complete | 11.1 |
| `experience.domains` | Site Domains | Complete | 11.1 |
| `experience.components` | Components | Complete | 11.2 |
| `experience.component_versions` | Component Versions | Complete | 11.2 |
| `experience.page_component_placements` | Page Component Placements | Complete | 11.2 |
| `experience.themes` | Themes | Complete | 11.3 |
| `experience.layouts` | Layouts | Complete | 11.3 |
| `experience.site_theme_assignments` | Site Theme Assignments | Complete | 11.3 |
| `experience.page_layout_assignments` | Page Layout Assignments | Complete | 11.3 |
| `experience.templates` | Templates | Planned | 11.4 |
| `experience.locales` | Localization | Planned | 11.5 |
| `experience.media_refs` | Media References | Planned | 11.5 |
| `experience.forms` | Forms | Planned | 11.6 |
| `experience.surveys` | Surveys | Planned | 11.6 |
| `experience.appointments` | Appointment Pages | Planned | 11.6 |
| `experience.publishing` | Publishing | Planned | 11.7 |
| `experience.seo` | SEO | Planned | 11.7 |
| `experience.pwa` | PWA Readiness | Planned | 11.7 |
| `experience.bundles` | Capability Bundles | Planned | 11.8 |
| `experience.feature_toggles` | Feature Toggles | Planned | 11.8 |
| `experience.widgets` | Widgets | Planned | 11.9 |
| `experience.consumer_connectors` | Consumer Connectors | Planned | 11.9 |
| `experience.analytics` | Analytics | Planned | 11.10 |
| `experience.ai_hooks` | AI Content Hooks | Planned | 11.10 |

| Module | Responsibilities | Non-responsibilities |
| --- | --- | --- |
| Sites / Pages | Site and page resources + lifecycle | Vertical menu/product source of truth |
| Components | Versioned building blocks | Binary asset storage |
| Themes / Layouts | Replaceable themes; dynamic layouts | Core white-label tenant brand ownership |
| Templates | Starter packs and instantiation | Frontend builder UI |
| Forms / Surveys | Form/survey definitions + submission shells | Communication provider ownership |
| Publishing / SEO / PWA | Publish workflow + SEO/PWA shells | Nginx/DNS/SSL edge ownership |
| Bundles / Toggles | Commercial packs + feature flags | Core plan/subscription engine |
| Widgets / Connectors | Embed + vertical integration contracts | Owning CRM/Hospitality aggregates |
| Analytics / AI | Shells + optional AI contracts | Mandatory AI for publish |

---

## restaurant

| Field | Value |
| --- | --- |
| Name | Restaurant / Cafe (historical) |
| Description | Superseded by Hospitality Platform â€” see hospitality |
| Owner | Platform |
| Status | Superseded |
| Documentation | [phases/Restaurant](phases/Restaurant/README.md), [hospitality](#hospitality) |
| Current Phase | hospitality-12.0 |
| Version | 0.12.0.0 |
| Notes | Pointer only; runtime is `hospitality` |

---

## hospitality

| Field | Value |
| --- | --- |
| Name | Hospitality Platform |
| Description | Independent F&B platform (Torbat Food): venues, digital menu catalog, tables, bundle licensing, feature toggles; future QR ordering/POS/kitchen/reservation/connectors |
| Owner | Platform |
| Status | Active (Phase 12.1 Digital Menu Catalog) |
| Dependencies | Core entitlement; Accounting / CRM / Loyalty / Communication / Delivery / Experience via API/Events when phases require them |
| Internal Dependencies | None â€” independent of CRM / Loyalty / Delivery / Experience DBs |
| External Dependencies | Payment provider (future); Storage refs for media |
| Database Ownership | Sole owner |
| Database | `hospitality_db` |
| API Prefix | `/api/v1` (service on port 8009); `/health`, `/capabilities` |
| Permission Prefix | `hospitality.*` |
| Events | `hospitality.venue.*`, `hospitality.menu.*`, `hospitality.allergen.*`, `hospitality.modifier_*`, `hospitality.availability_window.*`, `hospitality.menu_media_ref.*`, `hospitality.menu_localization.*`, `hospitality.tenant_bundle.*`, `hospitality.feature_toggle.*`, â€¦ |
| Event Producers | Hospitality |
| Event Consumers | Accounting, CRM, Loyalty, Communication, Delivery, Experience (subscribed) |
| Provider Dependencies | Contracts only through 12.1 |
| AI Dependencies | Optional |
| Documentation | [hospitality-phase-12-1.md](hospitality-phase-12-1.md), [hospitality-phase-12-0.md](hospitality-phase-12-0.md), [hospitality-roadmap.md](hospitality-roadmap.md), ADR-017, service README |
| Current Phase | 12.1 complete |
| Version | 0.12.1.0 |
| Version Compatibility | Standalone; Core JWT optional via AUTH_REQUIRED |
| Migration Version | `0002_phase_121_digital_menu_catalog` |
| Tenant Aware | Yes (required) |
| Permission Tree | `hospitality.*` |
| Commercial Product | Torbat Food |
| Future Plans | QR Menu & QR Ordering (12.2), Table Service, POS, Kitchen, connectors |

---

## ecommerce

| Field | Value |
| --- | --- |
| Name | Ecommerce |
| Description | Store builder, catalog, cart, orders, shipments |
| Owner | TBD |
| Status | Scaffolded |
| Dependencies | Core, file_storage (future) |
| Internal Dependencies | â€” |
| External Dependencies | Payment, shipping (future) |
| Database Ownership | Sole owner |
| Database | `ecommerce_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `ecommerce.*` |
| Events | `order.*`, `product.*` (planned) |
| Event Producers | Ecommerce |
| Event Consumers | Accounting, notification |
| Provider Dependencies | Payment, S3 |
| AI Dependencies | Optional |
| Documentation | service README |
| Current Phase | Not started |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `ecommerce.*` |
| Future Plans | Marketplace handoff |

---

## marketplace

| Field | Value |
| --- | --- |
| Name | Marketplace |
| Description | Multi-vendor market capabilities |
| Owner | TBD |
| Status | Planned |
| Dependencies | ecommerce, identity, accounting |
| Internal Dependencies | ecommerce |
| External Dependencies | Payment |
| Database Ownership | TBD (likely dedicated DB) |
| Database | TBD |
| API Prefix | TBD |
| Permission Prefix | `marketplace.*` |
| Events | TBD |
| Event Producers | TBD |
| Event Consumers | TBD |
| Provider Dependencies | Payment |
| AI Dependencies | Optional |
| Documentation | [phases/Marketplace](phases/Marketplace/README.md) |
| Current Phase | Future |
| Version | 0.0.0 |
| Version Compatibility | TBD |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `marketplace.*` |
| Future Plans | After ecommerce foundation |

---

## website_builder

| Field | Value |
| --- | --- |
| Name | Website Builder |
| Description | Historical scaffold for sites/pages/blocks â€” prefer Enterprise Experience Platform (`experience` / Torbat Pages) for new work (ADR-016) |
| Owner | TBD |
| Status | Scaffolded (deferred; prefer `experience`) |
| Dependencies | file_storage |
| Internal Dependencies | â€” |
| External Dependencies | S3 |
| Database Ownership | Sole owner (historical scaffold) |
| Database | `website_builder_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `website_builder.*` |
| Events | TBD |
| Event Producers | Website Builder |
| Event Consumers | â€” |
| Provider Dependencies | S3 |
| AI Dependencies | Optional copy assist |
| Documentation | service README; [ADR-016](architecture/adr/ADR-016.md) |
| Current Phase | Not started â€” prefer Experience Phases 11.0+ |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `website_builder.*` |
| Future Plans | Do not expand; migrate capability intent to `experience` |

---

## live_chat

| Field | Value |
| --- | --- |
| Name | Live Chat |
| Description | Embeddable widget, conversations, agent routing |
| Owner | TBD |
| Status | Scaffolded |
| Dependencies | Core, optional CRM/AI |
| Internal Dependencies | â€” |
| External Dependencies | â€” |
| Database Ownership | Sole owner |
| Database | `live_chat_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `live_chat.*` |
| Events | `conversation.*` (planned) |
| Event Producers | Live Chat |
| Event Consumers | CRM, AI |
| Provider Dependencies | â€” |
| AI Dependencies | Optional handoff |
| Documentation | service README |
| Current Phase | Not started |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `live_chat.*` |
| Future Plans | Widget on tenant sites |

---

## ai_assistant

| Field | Value |
| --- | --- |
| Name | AI Assistant |
| Description | Intelligent chat, KB, handoff to humans |
| Owner | TBD |
| Status | Scaffolded |
| Dependencies | Core entitlement, model provider |
| Internal Dependencies | Independent â€” must not own money/compliance |
| External Dependencies | AI model provider |
| Database Ownership | Sole owner |
| Database | `ai_assistant_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `ai_assistant.*` |
| Events | `assistant.*` (planned) |
| Event Producers | AI Assistant |
| Event Consumers | Live Chat, CRM |
| Provider Dependencies | AI model provider |
| AI Dependencies | Self |
| Documentation | [ai-architecture.md](architecture/ai-architecture.md), [phases/AI](phases/AI/README.md) |
| Current Phase | Not started |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `ai_assistant.*` |
| Future Plans | Provider-agnostic adapters |

---

## smart_messenger

| Field | Value |
| --- | --- |
| Name | Smart Messenger |
| Description | Social channels, unified inbox, automations |
| Owner | TBD |
| Status | Scaffolded |
| Dependencies | Core |
| Internal Dependencies | Optional CRM |
| External Dependencies | Social network APIs |
| Database Ownership | Sole owner |
| Database | `smart_messenger_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `smart_messenger.*` |
| Events | TBD |
| Event Producers | Smart Messenger |
| Event Consumers | CRM |
| Provider Dependencies | Channel providers |
| AI Dependencies | Optional |
| Documentation | service README |
| Current Phase | Not started |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `smart_messenger.*` |
| Future Plans | Channel provider registry entries |

---

## sms_panel

| Field | Value |
| --- | --- |
| Name | SMS Panel |
| Description | Campaign SMS, templates, queues, multi-provider |
| Owner | TBD |
| Status | Scaffolded |
| Dependencies | Core |
| Internal Dependencies | â€” |
| External Dependencies | SMS providers |
| Database Ownership | Sole owner |
| Database | `sms_panel_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `sms_panel.*` |
| Events | TBD |
| Event Producers | SMS Panel |
| Event Consumers | â€” |
| Provider Dependencies | Payamak and others |
| AI Dependencies | None |
| Documentation | service README |
| Current Phase | Not started |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `sms_panel.*` |
| Future Plans | Separate from Core OTP path |

---

## link_shortener

| Field | Value |
| --- | --- |
| Name | Link Shortener |
| Description | Short links, custom domains, click analytics |
| Owner | TBD |
| Status | Scaffolded |
| Dependencies | Core |
| Internal Dependencies | â€” |
| External Dependencies | â€” |
| Database Ownership | Sole owner |
| Database | `link_shortener_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `link_shortener.*` |
| Events | TBD |
| Event Producers | Link Shortener |
| Event Consumers | Campaign analytics |
| Provider Dependencies | â€” |
| AI Dependencies | None |
| Documentation | service README |
| Current Phase | Not started |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `link_shortener.*` |
| Future Plans | Custom domain SSL via edge |

---

## notification

| Field | Value |
| --- | --- |
| Name | Notification |
| Description | Email, SMS, push, webhook, in-app fanout |
| Owner | TBD |
| Status | Scaffolded |
| Dependencies | Core |
| Internal Dependencies | â€” |
| External Dependencies | Email/SMS/push providers |
| Database Ownership | Sole owner |
| Database | `notification_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `notification.*` |
| Events | Consumes many domain events |
| Event Producers | Notification (delivery logs) |
| Event Consumers | Notification |
| Provider Dependencies | SMS/email providers |
| AI Dependencies | None |
| Documentation | service README |
| Current Phase | Not started |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `notification.*` |
| Future Plans | Central delivery for all modules |

---

## file_storage

| Field | Value |
| --- | --- |
| Name | File Storage |
| Description | Tenant-aware uploads, assets, S3 gateway |
| Owner | TBD |
| Status | Scaffolded |
| Dependencies | S3-compatible provider |
| Internal Dependencies | â€” |
| External Dependencies | S3 |
| Database Ownership | Sole owner |
| Database | `file_storage_db` |
| API Prefix | `/api/v1` |
| Permission Prefix | `file_storage.*` |
| Events | TBD |
| Event Producers | File Storage |
| Event Consumers | website_builder, ecommerce |
| Provider Dependencies | S3-compatible |
| AI Dependencies | None |
| Documentation | service README |
| Current Phase | Not started |
| Version | 0.0.0 |
| Version Compatibility | Core |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `file_storage.*` |
| Future Plans | Signed URL pattern |

---

## automation (platform capability)

| Field | Value |
| --- | --- |
| Name | Automation |
| Description | Cross-module workflow automation |
| Owner | TBD |
| Status | Planned |
| Dependencies | Event bus maturity |
| Internal Dependencies | Multiple modules |
| External Dependencies | â€” |
| Database Ownership | TBD |
| Database | TBD |
| API Prefix | TBD |
| Permission Prefix | `automation.*` |
| Events | Trigger/action events |
| Event Producers | Automation engine |
| Event Consumers | Modules |
| Provider Dependencies | â€” |
| AI Dependencies | Optional |
| Documentation | [phases/Automation](phases/Automation/README.md) |
| Current Phase | Future |
| Version | 0.0.0 |
| Version Compatibility | Requires real message bus |
| Migration Version | None |
| Tenant Aware | Yes |
| Permission Tree | `automation.*` |
| Future Plans | After event bus |

---

## Related Documents

- [Provider Registry](provider-registry.md)
- [Roadmap](roadmap.md)
- [Architecture Overview](architecture/architecture.md)
- [AI / Enterprise Development Framework](ai-framework/README.md)
- [Phase Manifest](ai-framework/phase-manifest.yaml)
- [Service Manifest](ai-framework/service-manifest.yaml)
- [ADR-013](architecture/adr/ADR-013.md)
- [ADR-018](architecture/adr/ADR-018.md)
- [ADR-019](architecture/adr/ADR-019.md)
- [Sports Center Roadmap](sports-center-roadmap.md)
- [ADR-014](architecture/adr/ADR-014.md)
- [Delivery Roadmap](delivery-roadmap.md)
- [ADR-015](architecture/adr/ADR-015.md)
- [Experience Roadmap](experience-roadmap.md)
- [ADR-016](architecture/adr/ADR-016.md)

====================
FILE: F:\TorbatYar\docs\roadmap.md
====================
# Roadmap

> Future only. Completed work â†’ [progress.md](progress.md). Immediate milestone â†’ [next-steps.md](next-steps.md).

## Near Term

1. Complete white-label runtime rendering (theme + public tenant paths)
2. First business module (preferred: Restaurant / digital menu)
3. Custom domain DNS/TXT verification
4. Advanced membership permissions & invites

## Mid Term

1. ~~Accounting module with Posting Engine~~ (Phases 5.1â€“5.11 done; 5.12 AI planned)
2. ~~CRM Service Foundation~~ (Phase 6.0 done)
3. ~~CRM Core Business Entities~~ (Phase 6.1 done)
4. ~~CRM Enterprise Sales Process Engine~~ (Phase 6.2 done)
5. ~~CRM Enterprise Sales Collaboration~~ (Phase 6.3 done â€” CRM Core Platform)
6. ~~Loyalty Service Foundation~~ (Phase 7.0 done)
7. ~~Loyalty Membership Engine~~ (Phase 7.1 done)
8. Loyalty Point Engine (Phase 7.2)
9. ~~Enterprise Communication Platform~~ (Phase 8.0â€“8.10 done)
10. ~~Sports Center Platform Foundation~~ (Phase 9.0 done)
11. ~~Sports Center Membership Catalog~~ (Phase 9.1 done)
12. ~~Sports Center Member Management~~ (Phase 9.2 done)
13. Sports Center Coach & Staff Management (Phase 9.3)
14. ~~Delivery & Fleet Platform Registration~~ (DP-Reg done)
15. ~~Delivery Platform Foundation~~ (Phase 10.0 done)
16. ~~Delivery Driver Management~~ (Phase 10.1 done)
17. Delivery Fleet & Vehicle Types through Enterprise Validation (Phases 10.2â€“10.10)
18. ~~Experience Platform Registration~~ (XP-Reg done)
19. ~~Experience Platform Foundation~~ (Phase 11.0 done)
20. ~~Experience Sites & Page Resources~~ (Phase 11.1 done)
21. ~~Experience Component Library & Versioning~~ (Phase 11.2 done)
22. ~~Experience Theme & Layout Engine~~ (Phase 11.3 done)
23. Experience Template System (Phase 11.4)
24. Experience Localization through Enterprise Validation (Phases 11.5â€“11.10)
25. Further CRM / cross-module work only when explicitly scoped
26. Notification service as thin consumer of Communication (or merge later)
27. File storage + S3 provider
28. Payment gateway for subscriptions and commerce

## Longer Term

1. Ecommerce â†’ Marketplace
2. Live Chat + AI Assistant
3. Smart Messenger + SMS Panel
4. Automation engine on real message bus
5. Subscription & Entitlement as independent service
6. Compliance connectors (e.g. tax authority)

## Phase Areas

- [Accounting](phases/Accounting/README.md)
- [CRM](phases/CRM/README.md)
- [Loyalty](phases/Loyalty/README.md)
- [Restaurant](phases/Restaurant/README.md)
- [Sports Center](phases/SportsCenter/README.md)
- [Sports Center Roadmap](sports-center-roadmap.md)
- [Delivery](phases/Delivery/README.md)
- [Delivery Roadmap](delivery-roadmap.md)
- [Experience](phases/Experience/README.md)
- [Experience Roadmap](experience-roadmap.md)
- [Marketplace](phases/Marketplace/README.md)
- [Automation](phases/Automation/README.md)
- [AI](phases/AI/README.md)
- [Future](phases/Future/README.md)

Implementation of every future phase must follow the [Enterprise / AI Development Framework](ai-framework/README.md) ([ADR-013](architecture/adr/ADR-013.md), [ADR-018](architecture/adr/ADR-018.md), [ADR-019](architecture/adr/ADR-019.md)). Production readiness is automatic via Enterprise Phase Discovery, Definition of Done, mandatory artifacts, and enterprise completeness â€” no extra prompt required.

## Related Documents

- [Module Registry](module-registry.md)
- [Provider Registry](provider-registry.md)
- [Architecture Overview](architecture/architecture.md)
- [AI Development Framework](ai-framework/README.md)
- [Phase Manifest](ai-framework/phase-manifest.yaml)
- [Sports Center Roadmap](sports-center-roadmap.md)
- [ADR-014](architecture/adr/ADR-014.md)
- [ADR-015](architecture/adr/ADR-015.md)
- [Experience Roadmap](experience-roadmap.md)
- [ADR-016](architecture/adr/ADR-016.md)

