TorbatYar/project-reference.md
Mortezakoohjani 0d424c500a feat(platform): complete commercial runtime consolidation
Unify commercial runtime ownership across backend and frontend so platform, experience, and hospitality modules use the shared commercial source of truth.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 11:11:53 +03:30

1599 lines
80 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

====================
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)