Contexto
Aquasol, uno de los parques recreativos más emblemáticos de Mar del Plata, reabrió sus puertas en enero de 2024 tras casi cuatro años de cierre. La reapertura implicó una inversión de más de un millón de dólares, la generación de más de 260 puestos de trabajo directos y una transformación del espacio en un ecoparque con actividades para todas las edades: área acuática, canchas deportivas, flora y fauna. Ante una reapertura de esta magnitud —con expectativa de alta afluencia desde el primer día— el control de acceso manual con el que contaban era inviable: la gerencia no tenía visibilidad en tiempo real sobre el flujo de visitantes, lo que dificultaba las decisiones operativas en los momentos de mayor afluencia.
El desafío
Diseñar y desarrollar un sistema de generación, validación y control de entradas en tiempo real, integrado con el ERP existente (Tango Software) y con los dispositivos de acceso físico (Hikvision), más un dashboard gerencial con métricas en vivo.
La solución
Servicio web que cubre el ciclo completo: emisión de entradas, validación en los puntos de acceso y monitoreo gerencial en tiempo real. La integración con Tango gestiona el inventario de entradas, mientras Hikvision controla los molinetes físicos. SignalR mantiene el dashboard actualizado de forma continua.
Desafíos Técnicos
Desafío 1 — Compatibilidad del lector de código de barras con tickets en PDF
El problema: El lector de código de barras integrado en el molinete Hikvision no lograba una tasa de lectura del 100%. En temporada alta, cada fallo en la lectura se traducía en filas, fricción operativa y presión sobre el personal.
La raíz del problema: El hardware del lector tenía restricciones específicas sobre el tamaño mínimo del código de barras y los márgenes de espacio en blanco alrededor del mismo. El caso de uso más común — la persona que llega con el PDF del ticket en la pantalla de su celular — amplificaba el problema: distintos dispositivos, distintos tamaños de pantalla, distintos niveles de brillo y distintos métodos de renderizado del PDF generaban variabilidad en la imagen que el lector recibía.
La solución: Se ajustaron los parámetros de generación del ticket — tamaño del código de barras e inclusión de márgenes de espacio en blanco suficientes según las especificaciones del hardware Hikvision — y se validó el resultado contra el lector físico en múltiples condiciones reales (celulares con distintos tamaños de pantalla, distintos brillos, PDF renderizado desde distintas apps). El objetivo no era solo que funcionara en condiciones ideales, sino que el 100% de las lecturas fuera exitoso en las condiciones reales de uso. Como contingencia operativa, se implementó además un flujo de validación manual desde la aplicación web, permitiendo al personal ingresar o escanear el código manualmente ante una eventual falla del lector físico — garantizando continuidad operativa sin depender exclusivamente del hardware.
Desafío 2 — Invalidación instantánea de entradas para prevenir doble ingreso
El problema: Una vez que un ticket era validado en el molinete, debía quedar inhabilitado de forma inmediata para que la misma persona no pudiera reingresar con el mismo ticket. Con alta afluencia en los torniquetes, cualquier ventana de tiempo era un riesgo real.
El constraint técnico: La API oficial de Hikvision tenía una latencia de ~3 segundos para propagar el cambio de estado de una entrada. Tres segundos es un tiempo inaceptable cuando el objetivo es prevenir el doble ingreso en tiempo real — en ese intervalo, la misma entrada podía ser presentada en otro molinete y pasar como válida.
La decisión técnica: La API oficial quedó descartada para este flujo crítico. Se identificó la base de datos interna propia del dispositivo Hikvision (HikCentral) y se configuró acceso directo a ella desde la API propia del sistema usando Dapper. La actualización del estado del registro se realiza directamente sobre esa base de datos, saltando la capa de la API oficial. El cambio es instantáneo y consistente.
Tecnologías
- .NET — backend y lógica de control de acceso
- Blazor — interfaz web y dashboard gerencial
- SQL Server — base de datos
- SignalR — actualizaciones en tiempo real
- Hangfire — tareas programadas
- Dapper — ORM para la comunicación hacia la base de datos Hikcentral
- Polly — resiliencia en integraciones externas