Reservations
Disponibilidad de turnos reservables. Publica los cambios de disponibilidad visibles externamente, con independencia del proveedor de reservas.
Overview
El dominio Reservations expone el estado de disponibilidad de los slots reservables
(actividad + sucursal + fecha + hora). Su único evento,
reservations.availability.updated, permite que la búsqueda muestre disponibilidad al día
sin consultar al monolito.
Está diseñado como agnóstico del proveedor: el payload lleva un campo source pensado
para distinguir Bigbox de RoomCloud, CoverManager, etc. Hoy el único adaptador que publica es
el de Bigbox (AutomaticReservationAvailabilityAdapter).
Evento delta, no snapshot
Este dominio no publica cada cambio de cupo: publica solo cuando el slot cruza el límite disponible ↔ no disponible. Un cupo que baja de 5 a 4 no genera evento; uno que baja de 1 a 0, sí.
Esa decisión (_visibility_changed en el publisher) es lo que mantiene bajo el volumen del
topic, y es parte del contrato: un consumidor no puede usar estos eventos para llevar la
cuenta exacta de cupos.