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