Contexto
Un gran grupo de ocio nocturno que opera varias discotecas en paralelo, cada una con su programación, sus eventos y sus relaciones públicas. La operación se sostiene en tres roles con flujos completamente distintos: los RR. PP. que captan reservas en la calle y en redes, el personal de sala (camareros y hostess) que las gestiona en directo durante la noche, y la dirección que necesita ver el negocio con datos antes de que cierre el turno.
Reto
- Tres roles con necesidades opuestas convivían en herramientas dispares: hojas de cálculo para RR. PP., libretas en sala y reports manuales por noche.
- Los datos de cada local terminaban fragmentados al cerrar la noche. Imposible saber qué RR. PP. convertía mejor, qué locales rendían más o qué eventos atraían más reservas reales.
- La configuración de un nuevo local (capacidad, mesas, eventos, tarifas, comisiones) exigía intervención técnica cada vez.
Solución
El sistema se compone de tres herramientas conectadas a la misma base de datos en tiempo real:
- App móvil para RR. PP. — Captura de reservas en la calle.
- App móvil de sala — Gestión en directo de reservas, mesas y walk-ins para camareros y hostess.
- Backoffice web — Gestión de la plataforma y explotación de información mediante informes interactivos.
Resultado
- Una sola plataforma sustituye hojas de cálculo, libretas y reports manuales.
- La dirección consulta el rendimiento de cada local y cada evento sin esperar al cierre de noche.
- Los RR. PP. ven sus comisiones en vivo; el equipo de sala trabaja contra el mismo dato que la oficina.
- Alta de nuevos locales en minutos, sin tocar código ni intervenir el despliegue.
Stack
- Backend: Laravel 13 con Inertia, base de datos relacional y APIs en tiempo real.
- Web (backoffice): React renderizado vía Inertia.
- Mobile (RR. PP. + Sala): Ionic con Angular y Capacitor. Un solo código para iOS y Android.
- Infraestructura: cloud con CI/CD, monitorización de las apps en producción y reporte de errores desde el primer sprint.