TorbatYar/docs-runtime/module-registry.md
Mortezakoohjani 5c6a2e78cf feat(platform): seed service registry, deploy all modules, and fix homepage catalog.
Register all active platform services and base features in core DB so admin can manage them, add delivery/hospitality/sports-center backend phases, update apps catalog and production deploy tooling.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 12:39:51 +03:30

900 lines
41 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.15.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.75.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.27.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.08.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.39.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.010.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.011.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)