domain

Reservations

Disponibilidad de turnos reservables. Publica los cambios de disponibilidad visibles externamente, con independencia del proveedor de reservas.

Domainreservations.*

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.

Arquitectura

publishes
event
routes to
consumes
publishes
event
routes to
subscribed by
publishes
event
routes to
publishes
event
routes to
publishes
event
routes to
Viewing
Service
Bigbox Backend(v1.0.0)
omega-backend+2
Event
Order Completed(v1)
omega-backend+1
Channel
Google Cloud Pub/Subv1.0.0
At least oncepubsub
ecommerzeta
Service
Analytics(v1.0.0)
ecommerzeta
Event
Product Created(v1)
ecommerzeta
Viewing
Service
Search(v1.0.0)
ecommerzeta
Event
Product Updated(v1)
ecommerzeta
Event
Product Deleted(v1)
ecommerzeta
Event
Availability Updated(v1)
alpha-centauri
  • services (3)
  • events (5)
  • channels (1)

Messages for this domain

Sends messages (5)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Order Completed
v1eventUna orden de compra se completó exitosamente. Es el evento de conversión del negocio.
Product Created
v1eventSe creó un producto (Activity o Box) elegible para indexarse. Lleva el documento completo, no solo el id.
Product Updated
v1eventSe actualizó un producto (Activity o Box) elegible para indexarse. Lleva el documento completo. También es el evento del resync masivo.
Product Deleted
v1eventUn producto debe salir del índice de búsqueda. No significa borrado físico: significa que dejó de ser indexable.
Availability Updated
v1eventUn slot de reserva cambió su estado visible de disponibilidad. Evento delta y selectivo: solo se emite al cruzar el límite disponible ↔ no disponible.

Receives messages (4)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Product Created
v1eventSe creó un producto (Activity o Box) elegible para indexarse. Lleva el documento completo, no solo el id.
Product Updated
v1eventSe actualizó un producto (Activity o Box) elegible para indexarse. Lleva el documento completo. También es el evento del resync masivo.
Product Deleted
v1eventUn producto debe salir del índice de búsqueda. No significa borrado físico: significa que dejó de ser indexable.
Availability Updated
v1eventUn slot de reserva cambió su estado visible de disponibilidad. Evento delta y selectivo: solo se emite al cruzar el límite disponible ↔ no disponible.