Saltar a contenido

Contratos HTTP — caso de uso Reservas

Índice del grafo de dependencias del caso de uso Reservas (implementación UnoSportClub). La documentación detallada de cada dominio vive en docs/ del repo del plugin (cortex-plugin-{id}).

Fuente canónica del grafo: products/unosportclub/cortex_product_unosportclub/composition.py
ADR: 025-product-composition
Frontera doc: Documentación framework vs plugins

clients

Campo Valor
provides clients
requires
optional_requires
namespace /api/v1/clients
consume GET /api/v1/booking/bookings?client_ref={id} (expediente, si booking enabled)
events

resources

Campo Valor
provides resources
requires
namespace /api/v1/resources
consume
events

pricing

Campo Valor
provides pricing
requires resources
namespace /api/v1/pricing
consume GET /api/v1/resources/resources (lookup tipos)
events

booking

Campo Valor
provides booking
requires resources
optional_requires clients, pricing, payments, discounts
namespace /api/v1/booking
consume GET /api/v1/resources/resources, GET /api/v1/clients/clients/{id}, POST /api/v1/payments/payments
events emite booking.confirmed (ADR 021, planificado)

payments

Campo Valor
provides payments
requires
namespace /api/v1/payments
consume
events

sales

Campo Valor
provides sales
requires clients, payments
optional_requires pricing, discounts
namespace /api/v1/sales
consume GET /api/v1/clients/clients, GET /api/v1/pricing/tariffs
events

events

Campo Valor
provides events
requires booking, clients
optional_requires sales
namespace /api/v1/events
consume GET /api/v1/booking/bookings, GET /api/v1/clients/clients
events

discounts

Campo Valor
provides discounts
requires
namespace /api/v1/discounts
consume
events

accounting

Campo Valor
provides accounting
optional_requires payments, sales
namespace /api/v1/accounting
consume vía events payment.completed, sale.completed (planificado)
events escucha hechos de dominio financiero
docs plugins/accounting/docs/ en cortex-plugin-accounting

store

Campo Valor
provides store
optional_requires sales
namespace /api/v1/store
consume GET /api/v1/sales/sales
events

subscriptions

Campo Valor
provides subscriptions
requires clients
optional_requires payments
namespace /api/v1/subscriptions
consume GET /api/v1/clients/clients, POST /api/v1/payments/payments
events

billing

Campo Valor
provides billing
requires clients
optional_requires payments, accounting
namespace /api/v1/billing
consume GET /api/v1/clients/clients, GET /api/v1/accounting/entries
events

ai-agents

Campo Valor
provides ai-agents
optional_requires booking, clients, payments
namespace /api/v1/ai-agents
consume MCP tools de plugins enabled
events
docs plugins/ai-agents/docs/ en cortex-plugin-ai-agents

template

Campo Valor
provides template
stateless true
namespace /api/v1/template
consume
events
docs plugins/_template/docs/ — plantilla del handbook

Namespaces de panel (convención caso Reservas)

panel_id Origen Plugins típicos en nav
control Framework embebido metadatos de plataforma
operations Generativo (ensure_panel) booking, clients, resources
admin Generativo sales, payments, pricing, billing
accounting Plugin + cortex.panels opcional accounting
trainer Plugin dedicado booking, clients, resources

Los namespaces generativos existen cuando plugins habilitados inyectan contenido con ese panel_id. No uses requires de dominio para forzar un namespace.