ADR 024: Ownership de dominios entre plugins¶
Estado¶
Aceptado — 2026-07
Relacionado con ADR 023 y plan maestro Fase 0.8.
Decisiones¶
| Conflicto | Decisión |
|---|---|
pricing vs sales/tariffs | pricing = catálogo tarifas reserva/clase; sales = tarifas paquete/ticket + POS |
resources vs booking resources | resources es dueño de recursos rentables; booking consume /api/v1/resources/resources |
accounting vs ledger | accounting = plugin de dominio contable (namespace /accounting); histórico ledger absorbido en accounting |
control framework vs plugin | Framework embebe panel control y API; plugin control legacy opcional |
| Contratos/convenios legacy | Fase 2: extender discounts o plugin contracts |
| Pagos en wizard reserva | payments dueño; booking usa capability payments (degradación graceful) |
| Clientes en reserva | clients dueño; booking referencia client_ref por HTTP |
Integración entre plugins¶
Solo HTTP (/api/v1/{namespace}) y capabilities (GET /api/v1/control/capabilities). Sin imports Python cruzados.
Consecuencias¶
pricing.register_resourcesdebe implementar CRUD real (no no-op).- Booking no duplica tablas de recursos ni clientes.
- Sales no redefine tarifas de reserva; delega lookup a pricing.