Qué resuelve
Eventos administra la oferta de eventos del comercio y conecta la configuración del evento con la venta de entradas y su validación posterior.
Acceso y dependencia
La pantalla está protegida por capability/plan. Si la API devuelve un bloqueo, se muestra el estado de feature bloqueada y no debe intentarse saltar la restricción desde una URL.
Crear o editar un evento
La pantalla trabaja con estos campos:
| Campo | Valores / comportamiento | Default |
|---|---|---|
| Título | Obligatorio | vacío |
| Descripción | Texto opcional | vacío |
| Inicio | Fecha/hora obligatoria | vacío |
| Fin | Fecha/hora opcional | vacío |
| Tipo de ubicación | Presencial, Online, Híbrido | Presencial |
| Dirección | Visible para Presencial/Híbrido | vacío |
| Notas de ubicación | Texto opcional | vacío |
| Link online | Visible para Online/Híbrido | vacío |
| Capacidad | Numérica | 100 |
| Precio | Numérico | 0 |
| Reembolso habilitado | Booleano | false |
| Horas para reembolso | Numérico; se envía cuando reembolso está activo | 48 |
| Política de reembolso | Texto | vacío |
| Estado | Borrador, Activo, Cerrado, Cancelado | Borrador |
La dirección utiliza autocompletado de Google Places cuando está disponible.
Reglas condicionales
- Presencial: se muestra dirección.
- Online: se muestra link online.
- Híbrido: se muestran ambos.
- Reembolso: al activarlo se utiliza
refundHours; al desactivarlo el backend recibenullpara ese valor. - Un evento sold_out se presenta como activo al abrirlo para edición, porque agotado es un estado operativo derivado de capacidad/ventas.
Guardar
Título e inicio son obligatorios. El cliente transforma las fechas locales a ISO antes de enviarlas. Crear usa POST /api/eventos; editar usa PUT /api/eventos.
Después de guardar se cierra el formulario y se vuelve a cargar la lista desde servidor.
Estados
- Borrador: preparado pero no activo.
- Activo: disponible para venta según las reglas del storefront.
- Agotado: no quedan cupos vendibles.
- Cerrado: operación finalizada.
- Cancelado: evento cancelado.
No confundas estado del evento con estado del ticket.
Tickets
Cada evento puede desplegar su listado de tickets. Un ticket conserva comprador, email, teléfono, cantidad, QR y estado.
Estados de ticket: Pendiente, Confirmado, Utilizado, Cancelado, Reembolsado.
El listado de tickets se consulta bajo demanda; abrir el evento no significa que todos los tickets ya estén cargados.
Validador
La acción Validador QR abre /app/eventos/validar, donde una entrada se consume mediante cámara o código manual. La validación real ocurre en backend.
Flujo completo
Crear evento → guardar → activar → cliente compra entrada → ticket queda asociado a QR → puerta valida QR → ticket pasa a utilizado.
Diagnóstico
No puedo crear: revisá título e inicio.
No aparece dirección: revisá tipo de ubicación.
No aparecen tickets: abrí el evento y cargá su listado; no asumas que la venta falló.
Cupo incorrecto: revisá capacidad y tickets vendidos.
QR rechazado: usá el mensaje devuelto por backend y revisá estado del ticket antes de intentar otra entrada.