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