Módulo de Eventos (Panel) — PMV
Propósito
El módulo de eventos del panel (v0.4.1) permite al operador crear eventos deportivos que bloquean una cancha mediante una reserva de tipo Evento, definir metadatos (título, tipo, capacidad) y asignar participantes por casilla consumiendo boletos de tirillas disponibles.
No confundir con:
-
Inscripciones a clases (
enrollment, API trainer): flujo de entrenador/alumno. -
Eventos de dominio Relay: mensajes Socket.io (
Reservation Created, etc.); ver xref:diagrams.adoc#relay-domain-events.
Modelo de datos
| Entidad | Rol |
|---|---|
|
Catálogo (Evento, Cursos, …) |
|
Metadatos + |
|
Bloqueo de cancha ( |
|
Cliente + |
Detalle de columnas: xref:data-model.adoc#_2_17_event_type.
Rutas del panel
| Ruta | Uso |
|---|---|
|
Listado de eventos |
|
Wizard: disponibilidad → datos → participantes |
|
Detalle del evento |
|
Gestión de casillas y boletos |
|
Revisión del slot reservado |
Flujo del wizard
-
Disponibilidad: el operador elige cancha y rango horario en calendario (
/events/new). -
Datos: título, tipo de evento, capacidad, descripción opcional.
-
Creación:
POST /admin/eventscrea reserva pendiente (tipo Evento) + filaevent. -
Participantes: asignación por casilla con
client_idoticket_id(POST …/participants). -
Agenda: la reserva aparece en booking con
event_idasociado.
Integración con tickets (v0.4.1)
-
Emisión de tirillas/boletos: panel
/tickets(wizard) y APIGET /admin/tickets/sales. -
Al inscribir un participante, el backend valida que el boleto esté disponible y lo vincula en
event_participant.
Hora mural
Los horarios del evento provienen de reservation.checking y checkout (TIMESTAMP WITHOUT TIME ZONE, hora mural Bogotá).
La API devuelve checking_date, checking_time, checkout_date, checkout_time y cadenas checking/checkout sin Z. En el frontend usar utilidades de @cortex-ia-com-co/common (reservation-wall-time); no interpretar esos valores con new Date(isoZ).
Ver también: xref:api-reference.adoc#_fechas_y_horas_hora_mural, xref:coding-standards.adoc#_fechas_de_reserva_y_eventos.