diff --git a/docs/module-registry.md b/docs/module-registry.md index 0b559d4..080ad44 100644 --- a/docs/module-registry.md +++ b/docs/module-registry.md @@ -1,716 +1,790 @@ -# 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 | - ---- - -## restaurant - -| Field | Value | -| --- | --- | -| Name | Restaurant / Cafe | -| Description | Digital menu, tables, orders, kitchen; loyalty via Loyalty service | -| Owner | TBD | -| Status | Scaffolded | -| Dependencies | Core entitlement, white-label host; Loyalty (API/Events) | -| Internal Dependencies | Optional accounting postings via events | -| External Dependencies | Payment provider (future) | -| Database Ownership | Sole owner | -| Database | `restaurant_db` | -| API Prefix | `/api/v1` | -| Permission Prefix | `restaurant.*` | -| Events | `order.*` (planned) | -| Event Producers | Restaurant | -| Event Consumers | Accounting, notification | -| Provider Dependencies | Payment (planned) | -| AI Dependencies | Optional | -| Documentation | [phases/Restaurant](phases/Restaurant/README.md) | -| Current Phase | Candidate first business module after white-label | -| Version | 0.0.0 | -| Version Compatibility | Core + public tenant site | -| Migration Version | None | -| Tenant Aware | Yes | -| Permission Tree | `restaurant.*` | -| Future Plans | Guest ordering on tenant domain | - ---- - -## 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 | Sites, pages, blocks, forms, menus, media | -| Owner | TBD | -| Status | Scaffolded | -| Dependencies | file_storage | -| Internal Dependencies | — | -| External Dependencies | S3 | -| Database Ownership | Sole owner | -| 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 | -| Current Phase | Not started | -| Version | 0.0.0 | -| Version Compatibility | Core | -| Migration Version | None | -| Tenant Aware | Yes | -| Permission Tree | `website_builder.*` | -| Future Plans | Tie into white-label public sites | - ---- - -## 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 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) -- [Sports Center Roadmap](sports-center-roadmap.md) -- [ADR-014](architecture/adr/ADR-014.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: drivers, fleet, vehicles, dispatch, routing, tracking, POD, settlement intents, merchant connectors for all verticals | +| Owner | Platform | +| Status | Planned (registration complete; implementation from Phase 10.0) | +| 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 | +| Database Ownership | Sole owner | +| Database | `delivery_db` | +| API Prefix | `/api/v1` (planned service on port 8007); `/health`, `/capabilities`, `/metrics` | +| Permission Prefix | `delivery.*` | +| Events | `delivery.driver.*`, `delivery.fleet.*`, `delivery.vehicle.*`, `delivery.dispatch.*`, `delivery.route.*`, `delivery.tracking.*`, `delivery.pod.*`, `delivery.settlement.*`, `delivery.shift.*`, `delivery.zone.*` (grow per phase) | +| Event Producers | Delivery | +| Event Consumers | Accounting, Communication, CRM, Loyalty, Restaurant, Marketplace, Clinic, Sports Center, Analytics (future) | +| Provider Dependencies | External routing/fleet provider interfaces (planned) | +| AI Dependencies | Optional via contracts only (Phase 10.10) | +| Documentation | [delivery-roadmap.md](delivery-roadmap.md), [phases/Delivery](phases/Delivery/README.md), [phase-handover/phase-dp-reg.md](phase-handover/phase-dp-reg.md), [ADR-015](architecture/adr/ADR-015.md) | +| Current Phase | DP-Reg complete; next `delivery-10.0` | +| Version | 0.0.0 | +| Version Compatibility | Requires Core entitlement; integrations per later phases | +| Migration Version | None yet (Phase 10.0) | +| 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.drivers` | Driver Management | Planned | 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 | Planned | 10.0+ | +| `delivery.audit` | Audit | Planned | 10.0 | +| `delivery.configuration` | Configuration | Planned | 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 | + +--- + +## restaurant + +| Field | Value | +| --- | --- | +| Name | Restaurant / Cafe | +| Description | Digital menu, tables, orders, kitchen; loyalty via Loyalty service | +| Owner | TBD | +| Status | Scaffolded | +| Dependencies | Core entitlement, white-label host; Loyalty (API/Events) | +| Internal Dependencies | Optional accounting postings via events | +| External Dependencies | Payment provider (future) | +| Database Ownership | Sole owner | +| Database | `restaurant_db` | +| API Prefix | `/api/v1` | +| Permission Prefix | `restaurant.*` | +| Events | `order.*` (planned) | +| Event Producers | Restaurant | +| Event Consumers | Accounting, notification | +| Provider Dependencies | Payment (planned) | +| AI Dependencies | Optional | +| Documentation | [phases/Restaurant](phases/Restaurant/README.md) | +| Current Phase | Candidate first business module after white-label | +| Version | 0.0.0 | +| Version Compatibility | Core + public tenant site | +| Migration Version | None | +| Tenant Aware | Yes | +| Permission Tree | `restaurant.*` | +| Future Plans | Guest ordering on tenant domain | + +--- + +## 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 | Sites, pages, blocks, forms, menus, media | +| Owner | TBD | +| Status | Scaffolded | +| Dependencies | file_storage | +| Internal Dependencies | — | +| External Dependencies | S3 | +| Database Ownership | Sole owner | +| 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 | +| Current Phase | Not started | +| Version | 0.0.0 | +| Version Compatibility | Core | +| Migration Version | None | +| Tenant Aware | Yes | +| Permission Tree | `website_builder.*` | +| Future Plans | Tie into white-label public sites | + +--- + +## 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 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) +- [Sports Center Roadmap](sports-center-roadmap.md) +- [ADR-014](architecture/adr/ADR-014.md)