# Service Manifest # Registry of independent deployable services for TorbatYar. # Keep aligned with docs/module-registry.md and runtime compose ports when wired. schema_version: 1 updated: "2026-07-25" services: - id: core-platform name: Core Platform owner: Platform path: backend/core-service database: core_platform_db api_prefix: /api/v1 permission_prefix: core.* dependencies: - postgres - redis - celery - shared-lib events: - tenant.* - domain.* - subscription.* - feature_access.* health_endpoint: /health documentation: - docs/architecture/ - docs/reference/ current_version: 0.4.x current_phase: onboarding-4 status: active - id: identity-access name: Identity & Access owner: Platform path: backend/services/identity-access database: identity_access_db api_prefix: /api/v1 permission_prefix: identity.* dependencies: - keycloak - core-platform - shared-lib events: - user.registered - tenant_member.added - tenant_member.removed health_endpoint: /health documentation: - docs/architecture/identity-architecture.md current_version: 0.2.x current_phase: identity-2 status: active api_port: 8001 - id: accounting name: Accounting owner: Platform path: backend/services/accounting database: accounting_db api_prefix: /api/v1 permission_prefix: accounting.* dependencies: - core-platform - shared-lib events: - voucher.posted - ledger.updated - cash.received - settlement.completed - sales_invoice.posted health_endpoint: /health documentation: - docs/phases/Accounting/README.md current_version: 0.5.11.0 current_phase: accounting-5.11 status: active api_port: 8002 - id: crm name: CRM owner: Platform path: backend/services/crm database: crm_db api_prefix: /api/v1 permission_prefix: crm.* dependencies: - core-platform - shared-lib events: - crm.lead.* - crm.contact.* - crm.organization.* - crm.opportunity.* - crm.pipeline.* - crm.task.* - crm.meeting.* - crm.call.* - crm.timeline.* - crm.comment.* - crm.mention.* health_endpoint: /health documentation: - docs/crm-phase-6-3.md - docs/phases/CRM/README.md current_version: 0.6.3.0 current_phase: crm-6.3 status: active api_port: 8003 - id: loyalty name: Enterprise Loyalty Platform owner: Platform path: backend/services/loyalty database: loyalty_db api_prefix: /api/v1 permission_prefix: loyalty.* dependencies: - core-platform - shared-lib events: - loyalty.program.* - loyalty.tier.* - loyalty.member.* - loyalty.point_account.* - loyalty.reward.* - loyalty.campaign.* health_endpoint: /health documentation: - docs/loyalty-phase-7-0.md - docs/loyalty-phase-7-1.md - docs/phase-handover/phase-7-1.md - docs/phases/Loyalty/README.md - docs/architecture/adr/ADR-011.md current_version: 0.7.1.0 current_phase: loyalty-7.1 status: active api_port: 8004 - id: communication name: Enterprise Communication Platform owner: Platform path: backend/services/communication database: communication_db api_prefix: /api/v1 permission_prefix: communication.* dependencies: - core-platform - shared-lib events: - communication.message.* - communication.provider.failover - communication.otp.* - communication.queue.dead_letter - communication.webhook.received health_endpoint: /health documentation: - docs/communication-phase-8.md - docs/architecture/adr/ADR-012.md current_version: 0.8.10.0 current_phase: communication-8 status: active api_port: 8005 - id: sports_center name: Sports Center Platform description: Independent multi-tenant sports club / gym / facility operations platform (members, memberships, coaches, attendance, booking, programs, competitions, integrations). owner: Platform path: backend/services/sports_center database: sports_center_db api_prefix: /api/v1 permission_prefix: sports_center.* health_endpoint: /health configuration: - SPORTS_CENTER_DATABASE_URL - AUTH_REQUIRED - tenant resolution via X-Tenant-ID / shared middleware - entitlement feature keys sports_center.* dependencies: - core-platform - shared-lib optional_dependencies: - accounting - crm - loyalty - communication events: - sports_center.member.* - sports_center.membership.* - sports_center.membership_type.* - sports_center.membership_package.* - sports_center.membership_plan.* - sports_center.pricing_model.* - sports_center.age_group.* - sports_center.sport_category.* - sports_center.membership_rule.* - sports_center.renewal_policy.* - sports_center.freezing_rule.* - sports_center.expiration_policy.* - sports_center.coach.* - sports_center.attendance.* - sports_center.booking.* - sports_center.session.* - sports_center.program.* - sports_center.workout.* - sports_center.competition.* - sports_center.event.* public_apis: - /health - /capabilities - /api/v1/sports-centers - /api/v1/membership-types - /api/v1/membership-packages - /api/v1/membership-plans - /api/v1/pricing-models - /api/v1/age-groups - /api/v1/sport-categories - /api/v1/membership-rules - /api/v1/renewal-policies - /api/v1/freezing-rules - /api/v1/expiration-policies - /api/v1/members - /api/v1/family-members - /api/v1/emergency-contacts - /api/v1/medical-information - /api/v1/membership-cards - /api/v1/digital-memberships - /api/v1/waivers - /api/v1/member-documents - /api/v1/memberships - /api/v1/coaches - /api/v1/facilities internal_apis: - service-to-service refs for Accounting / CRM / Loyalty / Communication (token-gated; not public) tenant_aware: true audit_enabled: true documentation: - docs/sports-center-roadmap.md - docs/sports-center-phase-9-0.md - docs/sports-center-phase-9-1.md - docs/sports-center-phase-9-2.md - docs/phase-handover/phase-9-2.md - docs/phases/SportsCenter/README.md - docs/architecture/adr/ADR-014.md - docs/module-registry.md current_version: 0.9.2.0 current_phase: sports-center-9.2 current_status: active status: active future_modules: - members - membership - membership_types - coaches - attendance - booking - facilities - equipment - programs - workouts - competitions - events - medical - nutrition - locker - mobile - reports - analytics - integrations - id: delivery name: Delivery & Fleet Platform description: Independent multi-tenant logistics platform (Torbat Driver) — drivers, fleet, dispatch, routing, tracking, POD, settlement intents, merchant connectors. Consumed by Restaurant, Marketplace, Pharmacy, Clinic, Sports Center, and future verticals via API/Events only. owner: Platform path: backend/services/delivery database: delivery_db api_prefix: /api/v1 permission_prefix: delivery.* health_endpoint: /health configuration: - DELIVERY_DATABASE_URL - AUTH_REQUIRED - tenant resolution via X-Tenant-ID / shared middleware - entitlement feature keys delivery.* dependencies: - core-platform - shared-lib optional_dependencies: - accounting - crm - loyalty - communication events: - delivery.driver.* - delivery.fleet.* - delivery.vehicle.* - delivery.dispatch.* - delivery.route.* - delivery.tracking.* - delivery.pod.* - delivery.settlement.* - delivery.shift.* - delivery.zone.* public_apis: - /health - /capabilities - /metrics - /api/v1 (phase-scoped resources) internal_apis: - service-to-service merchant connector and settlement refs (token-gated; not public) tenant_aware: true audit_enabled: true documentation: - docs/delivery-roadmap.md - docs/phases/Delivery/README.md - docs/phase-handover/phase-dp-reg.md - docs/architecture/adr/ADR-015.md - docs/module-registry.md current_version: 0.0.0 current_phase: delivery-reg current_status: registered status: planned api_port: 8007 commercial_product: Torbat Driver future_modules: - drivers - fleet - vehicle_types - vehicles - availability - shifts - working_zones - pricing - capabilities - bundles - dispatch - routing - optimization - tracking - proof_of_delivery - settlement - merchant_connector - notifications - driver_app_apis - dispatcher_panel_apis - customer_tracking - fleet_analytics - ai_hooks - external_providers - id: restaurant name: Restaurant / Cafe owner: TBD path: backend/services/restaurant database: restaurant_db api_prefix: /api/v1 permission_prefix: restaurant.* dependencies: - core-platform - loyalty events: - order.* health_endpoint: /health documentation: - docs/phases/Restaurant/README.md current_version: 0.0.0 current_phase: restaurant-foundation status: scaffolded - id: ecommerce name: Ecommerce owner: TBD path: backend/services/ecommerce database: ecommerce_db api_prefix: /api/v1 permission_prefix: ecommerce.* dependencies: - core-platform events: - order.* - product.* health_endpoint: /health documentation: - docs/module-registry.md current_version: 0.0.0 current_phase: ecommerce-foundation status: scaffolded - id: marketplace name: Marketplace owner: TBD path: null database: TBD api_prefix: TBD permission_prefix: marketplace.* dependencies: - ecommerce - identity-access - accounting events: [] health_endpoint: TBD documentation: - docs/phases/Marketplace/README.md current_version: 0.0.0 current_phase: marketplace-foundation status: planned - id: automation name: Automation owner: TBD path: null database: TBD api_prefix: TBD permission_prefix: automation.* dependencies: [] events: [] health_endpoint: TBD documentation: - docs/phases/Automation/README.md current_version: 0.0.0 current_phase: automation-foundation status: planned - id: academy name: Academy owner: TBD path: null database: academy_db api_prefix: /api/v1 permission_prefix: academy.* dependencies: - core-platform events: [] health_endpoint: /health documentation: - docs/phases/Future/README.md current_version: 0.0.0 current_phase: academy-foundation status: planned - id: clinic name: Clinic owner: TBD path: null database: clinic_db api_prefix: /api/v1 permission_prefix: clinic.* dependencies: - core-platform events: [] health_endpoint: /health documentation: - docs/phases/Future/README.md current_version: 0.0.0 current_phase: clinic-foundation status: planned - id: hotel name: Hotel owner: TBD path: null database: hotel_db api_prefix: /api/v1 permission_prefix: hotel.* dependencies: - core-platform events: [] health_endpoint: /health documentation: - docs/phases/Future/README.md current_version: 0.0.0 current_phase: hotel-foundation status: planned - id: tourism name: Tourism owner: TBD path: null database: tourism_db api_prefix: /api/v1 permission_prefix: tourism.* dependencies: - core-platform events: [] health_endpoint: /health documentation: - docs/phases/Future/README.md current_version: 0.0.0 current_phase: tourism-foundation status: planned - id: ai_assistant name: AI Assistant owner: TBD path: backend/services/ai_assistant database: ai_assistant_db api_prefix: /api/v1 permission_prefix: ai_assistant.* dependencies: - core-platform events: - assistant.* health_endpoint: /health documentation: - docs/architecture/ai-architecture.md - docs/phases/AI/README.md current_version: 0.0.0 current_phase: ai-assistant-foundation status: scaffolded - id: website_builder name: Website Builder owner: TBD path: backend/services/website_builder database: website_builder_db api_prefix: /api/v1 permission_prefix: website_builder.* dependencies: - file_storage events: [] health_endpoint: /health documentation: - docs/module-registry.md current_version: 0.0.0 current_phase: future-services status: scaffolded - id: live_chat name: Live Chat owner: TBD path: backend/services/live_chat database: live_chat_db api_prefix: /api/v1 permission_prefix: live_chat.* dependencies: - core-platform events: - conversation.* health_endpoint: /health documentation: - docs/module-registry.md current_version: 0.0.0 current_phase: future-services status: scaffolded - id: smart_messenger name: Smart Messenger owner: TBD path: backend/services/smart_messenger database: smart_messenger_db api_prefix: /api/v1 permission_prefix: smart_messenger.* dependencies: - core-platform events: [] health_endpoint: /health documentation: - docs/module-registry.md current_version: 0.0.0 current_phase: future-services status: scaffolded - id: sms_panel name: SMS Panel owner: TBD path: backend/services/sms_panel database: sms_panel_db api_prefix: /api/v1 permission_prefix: sms_panel.* dependencies: - core-platform events: [] health_endpoint: /health documentation: - docs/module-registry.md - docs/architecture/adr/ADR-012.md current_version: 0.0.0 current_phase: sms-panel-future status: scaffolded notes: Prefer communication service for new messaging work (ADR-012). - id: notification name: Notification owner: TBD path: backend/services/notification database: notification_db api_prefix: /api/v1 permission_prefix: notification.* dependencies: - core-platform events: [] health_endpoint: /health documentation: - docs/module-registry.md current_version: 0.0.0 current_phase: future-services status: scaffolded - id: file_storage name: File Storage owner: TBD path: backend/services/file_storage database: file_storage_db api_prefix: /api/v1 permission_prefix: file_storage.* dependencies: [] events: [] health_endpoint: /health documentation: - docs/module-registry.md current_version: 0.0.0 current_phase: future-services status: scaffolded - id: link_shortener name: Link Shortener owner: TBD path: backend/services/link_shortener database: link_shortener_db api_prefix: /api/v1 permission_prefix: link_shortener.* dependencies: - core-platform events: [] health_endpoint: /health documentation: - docs/module-registry.md current_version: 0.0.0 current_phase: future-services status: scaffolded - id: frontend name: Frontend owner: Platform path: frontend database: null api_prefix: consumes /api/v1 permission_prefix: UI gated by /me roles dependencies: - core-platform - identity-access - keycloak events: [] health_endpoint: null documentation: - docs/frontend/README.md current_version: Next-15.5.x current_phase: onboarding-4 status: active