Contexto
Aquarium Mar del Plata gestionaba la validación de entradas desde una única PC en caja. En temporada alta, con más de 2.000 visitas diarias y 15 shows corriendo en paralelo, ese único punto de control generaba cuellos de botella en los accesos y filas innecesarias. A esto se sumaba la complejidad de administrar los horarios de los shows: modificaciones diarias de cupos, cambios de último momento y reprogramaciones que debían reflejarse de inmediato en todos los puntos de venta y validación. El equipo de gerencia tomaba decisiones sin visibilidad en tiempo real sobre cuánta gente había en el parque ni qué shows estaban por llenarse.
El desafío y la solución
Desarrollé el sistema operativo completo del parque y descentralicé la validación: de una PC fija a 30 dispositivos móviles distribuidos en cada acceso y show. Cada trabajador valida entradas desde su propio celular, con o sin conexión estable, reduciendo los tiempos de validación en un 60%.
El challenge más interesante fue la integración con Tango (GVA12), el ERP ya instalado. En lugar de reemplazarlo, lo integré mediante background jobs con Hangfire que sincronizan artículos y validan entradas de forma asíncrona — el sistema funciona con tolerancia a fallos del ERP.
Para hacer posible los 30 dispositivos sin invertir en hardware dedicado, construí una PWA con service workers que convierte cualquier celular del personal en terminal de validación.
Impacto
- +2.000 entradas/día procesadas en temporada alta
- 15 shows simultáneos con control de cupos y plateas en tiempo real
- 30 dispositivos móviles validando entradas en paralelo
- 60% de reducción en tiempos de validación al descentralizar desde una PC a múltiples puntos de acceso
- Dashboard gerencial con métricas en vivo: personas presentes, entradas vendidas, disponibilidad por show
Tecnologías
- Backend: .NET 6, ASP.NET Core, Entity Framework Core
- Frontend: Blazor WebAssembly + Blazor Server
- Base de datos: SQL Server
- Arquitectura: CQRS con MediatR, Repository, Specification, Unit of Work
- Jobs: Hangfire (sincronización con ERP, quemado de entradas)
- Autenticación: JWT Bearer con roles (caja, scanner, gerencia)
- Mobile: PWA con service workers para funcionamiento offline
- Logs: Serilog
- Integración: Tango GVA12 (ERP comercial)