Todo lo que necesitás saber para configurar y aprovechar al máximo la plataforma.
Desde el primer WOD hasta la gestión de múltiples sedes.
Primeros pasos
¿Cómo empezar?
GymFlow se activa en minutos. Seguí estos pasos para tener tu primera clase
lista.
01
Registrá tu gimnasio
Ingresá a gymflow.com.ar/registro, completá los datos de tu
gimnasio y elegí tu plan. En menos de 2 minutos tenés acceso completo con 30 días de
prueba gratuita.
02
Configurá tu sala
En Configuración → Salas, creá tu primera sala y copiá el
link de display. Ese link lo abrís en el TV del gym para mostrar la pantalla a los
alumnos.
03
Armá tu primer WOD
Desde el Constructor de sesiones, creá bloques de
ejercicio con duración, descanso y modalidad. Podés guardarlos y reutilizarlos.
04
Ejecutá la clase
Abrí el Panel en vivo, asigná la sala, y arrancá. El
cronómetro, la música y la pantalla de los alumnos se sincronizan solos.
05
Invitá a tus alumnos a la app
Compartiles el código del gym. Los alumnos descargan la
app GymFlow de Google Play, ingresan el código y ya pueden reservar, hacer check-in
y ver su progreso.
Arquitectura
El ecosistema de 3 capas
GymFlow conecta tres actores en tiempo real. Todo sincronizado via
WebSocket, sin recargas ni apps de terceros.
🖥️
Panel del Instructor
El instructor controla todo desde su celular, tablet o PC.
Arma el WOD, controla el cronómetro, la música y los bloques en tiempo real.
📺
Pantalla de Sala
El TV del gym muestra en tiempo real el ejercicio actual, la
cuenta regresiva, la animación del movimiento y el bloque siguiente.
📱
App del Alumno
Los alumnos reservan clases, hacen check-in por QR, ven su
historial de asistencia y calculan su RM personal desde la app.
🔄
Sincronización en tiempo real
Toda la comunicación entre las tres capas ocurre via
WebSocket. El cambio de bloque del instructor se refleja en el TV y la app en
milisegundos.
Panel del Instructor
Constructor de WODs Todos los planes
Armá sesiones con bloques de ejercicio modulares. Cada bloque tiene
configuración independiente de tiempo, modalidad y ejercicio.
📦
Bloques de ejercicio
Cada bloque tiene: nombre, ejercicio, duración, series,
descanso y modalidad (Tabata, AMRAP, EMOM, circuito, tiempo libre).
🔀
Reordenar y duplicar
Arrastrá los bloques para reordenarlos. Duplicá un bloque con
un click para crear variaciones rápidamente.
💾
Sesiones guardadas
Las sesiones quedan guardadas para siempre. Reutilizalas,
editalas o clonalas para la próxima semana.
👥
Biblioteca compartida
Los instructores del mismo gimnasio comparten su biblioteca
de sesiones. El conocimiento queda en la institución, no en el celular de alguien.
💡
Tip: Podés usar el generador de IA para armar el WOD completo en segundos.
En la sección de IA explicamos cómo configurarlo.
Panel del Instructor
Prescripción de cargas Todos los planes
Definí el peso a trabajar por ejercicio y por ronda, con curvas de
progresión y tres niveles de dificultad que se muestran en tiempo real en la pantalla de sala.
Curvas de progresión
disponibles
Tipo
Descripción
Ideal para
🔒 Fija
El mismo peso en todas las rondas
Trabajo técnico, máximas sostenidas
↑ Progresiva
Sube linealmente del inicio al fin
Fuerza, calentamiento progresivo
↓ Descendente
Baja con cada ronda
Alta carga inicial, fatiga controlada
△ Pirámide
Sube hasta el pico y vuelve a bajar
Hipertrofia, máximo en el centro
〜 Wave
Ondas de 3 rondas que escalan
Potenciación del sistema nervioso
✎ Manual
Vos ingresás los pesos ronda por ronda
Programas específicos o test de fuerza
Niveles de dificultad (Fácil / Medio /
Difícil)
Para grupos heterogéneos
podés definir tres bandas de carga por ejercicio. Cada nivel sigue la misma curva pero con sus
propios valores de inicio y fin.
🟢
Fácil
Para alumnos principiantes, personas que vuelven de lesión o
cualquiera que ese día priorice calidad de movimiento sobre intensidad.
🟡
Medio
La referencia estándar para un alumno intermedio con buena
técnica. Si solo cargás un nivel, usá este.
🔴
Difícil
Para alumnos avanzados que dominan el patrón de movimiento y
buscan un estímulo de fuerza real.
⚖️
Redondeo automático: los pesos calculados se redondean al múltiplo de 2.5
kg más cercano (el incremento mínimo con discos estándar). Si la progresión da 72.3 kg, el
sistema muestra 72.5 kg. Los tipos Manual y Fijo no se redondean.
📺
Los tres niveles se muestran simultáneamente en la pantalla de sala y en
el panel del instructor, actualizados ronda a ronda en tiempo real. No hay que recordar nada
— el sistema lo calcula y lo muestra solo.
Panel del Instructor
Biblioteca de ejercicios Todos los
planes
Catálogo integrado de ejercicios con nombre, descripción, grupo muscular y
animación de movimiento. Disponible para todos los instructores del gym.
🔍
Búsqueda y filtros
Buscá ejercicios por nombre o filtrá por grupo muscular
(piernas, core, brazos, etc.) para encontrar rápido el ejercicio que necesitás.
🕺
Animaciones de movimiento
Cada ejercicio incluye una figura animada que muestra la
técnica de ejecución. La misma animación se proyecta en la pantalla de sala durante la
clase.
🎬
Videos por ejercicio NUEVO
Subí un video de demostración a cada ejercicio y el alumno lo
ve desde su plan en la app. Se transmite por streaming (por partes, a demanda): no
descarga el archivo completo ni ocupa espacio en el teléfono.
📦
Reutilización en WODs
Al crear un bloque en el Constructor, elegís el ejercicio
directamente desde la biblioteca. Todos los instructores del gym acceden a los mismos
ejercicios.
⚖️
Peso sugerido por nivel NUEVO
Al crear o editar un ejercicio, podés definir el peso
recomendado en 3 niveles: 🟢 Fácil, 🟡 Medio y
🔴 Difícil. Si dejás vacío, se entiende que es bodyweight (sin carga).
Estos valores se usan como punto de partida en el Builder y el generador IA.
💡
Los 50 ejercicios base del sistema ya vienen con pesos sugeridos realistas (barra sola para
fácil, KB estándar, etc.). Al agregar un ejercicio al Builder, los pesos se precargan
automáticamente. Siempre son editables.
Panel del Instructor
Sesiones compartidas Plan
Instructor
Los instructores del Plan Instructor pueden compartir sus sesiones WOD
directamente con sus alumnos. Los alumnos reciben acceso a una sesión interactiva desde la app.
📤
Compartir con clientes
El instructor selecciona una sesión guardada y la comparte
con clientes seleccionados. Ellos reciben el WOD en la app para verlo a su ritmo.
📥
Vista del instructor compartidor
En Sesiones compartidas conmigo el
instructor ve las sesiones que colegas del gym compartieron con él, y puede ejecutarlas
directamente.
ℹ️
Plan Gimnasio: la biblioteca es compartida entre todos los instructores
del gym. En el Plan Instructor, el share es individual entre instructor y sus clientes
específicos.
Panel del Instructor
Plan Personal de Entrenamiento (PT) Todos los
planes
Armá rutinas individuales y completamente personalizadas para cada alumno.
A diferencia del WOD grupal, el Plan PT es exclusivo para ese cliente: días, bloques,
ejercicios, series, repeticiones, peso y tiempo de descanso por separado.
📋
Planes por alumno
Cada plan se crea para un alumno específico. Definís el
nombre, la duración en semanas, los días por semana y las fechas de inicio y fin
(calculadas automáticamente).
🗓️
Días y bloques
Dentro de cada plan podés agregar los días que quieras (Día
1, Día 2…). Dentro de cada día, armás bloques de ejercicio: simples o en superserie.
⚡
Superseries A+B
Combiná dos o más ejercicios en superserie: se ejecutan sin
descanso entre ellos. Cada ejercicio de la superserie lleva su propia tabla de sets.
📊
Sets con detalle completo
Por cada ejercicio definís sets individuales con reps, peso,
unidad (kg/lb/%/bw) y tiempo de descanso. Podés clonar el último set para agilizar la
carga.
📚
Biblioteca de ejercicios
El builder usa la biblioteca completa del sistema (ejercicios
base + los que crea el instructor). Los nombres se muestran en inglés con su traducción
al español.
📱
El alumno lo ve en la app
Una vez armado el plan, el alumno lo visualiza desde la app
en Mi Plan PT. Puede navegar por cada día, ver los ejercicios con sus
series, pesos y descansos.
💬
Comentarios por día entre el alumno y el profe
Cada día del plan tiene su hilo. El alumno escribe desde la app («Comentarios con tu profe», al pie del día) y el profe lo ve en el armador, en el hilo de ese día, con contadores de no leídos en las pestañas y en la tarjeta del plan. Lo que escribe el profe dispara una push al alumno (toggle en Configuración → App del alumno) y queda en su bandeja de notificaciones; lo del alumno no dispara push: el profe lo ve pendiente en el plan.
🖨️
Hoja A4 imprimible para el alumno
Para el alumno que quiere la rutina en papel. Botón
🖨️ Imprimir en el armador, en cada tarjeta de Planes PT y en la ficha del
alumno (recepción también lo ve). Hoja A4 con el logo y el nombre del gimnasio y el plan
completo: días, bloques, ejercicios y series, con las superseries como A) / B) y las notas
de técnica. El peso impreso es el que prescribió el profe, no el que el alumno ajustó
desde la app. Se imprime o se guarda como PDF desde el navegador.
Flujo de trabajo
Paso
Acción
Dónde
1
Ir a Planes PT en el menú del instructor
Panel web
2
Crear nuevo plan: seleccionás el alumno, semanas y fechas
Botón "+ Nuevo Plan"
3
Abrir el builder del plan y agregar días
Botón "Abrir Builder"
4
Dentro de cada día, agregar bloques simples o superseries
Barra inferior del builder
5
Seleccionar ejercicios de la biblioteca y configurar sets
Panel lateral o modal picker
6
El alumno abre la app y accede desde Mi Plan PT
App GymFlow del alumno
7
(Opcional) Imprimir la hoja A4 o guardarla como PDF para entregarla en papel
Botón "🖨️ Imprimir / PDF" del builder, de Planes PT o de la ficha del alumno
💡
La fecha de fin se calcula automáticamente al ingresar la fecha de inicio
y la cantidad de semanas. También podés editarla manualmente si necesitás ajustar.
ℹ️
El Plan PT es distinto a las Sesiones Compartidas. Las sesiones compartes
un WOD de clase a varios alumnos. El Plan PT es una rutina individual, exclusiva para un
alumno específico, con progresión semanal.
Panel del Instructor
Plantillas de Plan PT Todos los planes
Creá plantillas reutilizables de rutinas PT. En lugar de armar cada plan
desde cero, definís la estructura de días y ejercicios una sola vez y la aplicás a cualquier
alumno.
🗂️
Plantillas de equipo
Las plantillas son compartidas entre todos los instructores
del gimnasio. Un instructor crea "Fuerza 3 días" y cualquier colega puede usarla para
asignarla a sus alumnos.
⚡
Misma estructura del builder PT
Las plantillas usan exactamente el mismo editor que los
planes individuales: días, bloques, superseries y sets con reps/peso/descanso. Todo lo
que sabés del builder PT aplica acá.
🚀
Aplicar con un click
Al crear un nuevo plan PT para un alumno, podés elegir una
plantilla como punto de partida. Todos los días y ejercicios se copian al plan y podés
ajustar lo que necesites.
👥
Varios alumnos a la vez
Si varias personas siguen la misma rutina, tildás a todas
en el modal de asignar y cada una recibe su propia copia del plan, editable por
separado. También podés duplicar una plantilla para armar una variante sin tocar la
original.
💡
Tip: Usá plantillas para tus programas más populares: Fuerza Hipertrofia
4x, Funcional 3 días, Rehabilitación baja carga. Una vez creadas, asignarlas a nuevos
alumnos tarda segundos.
Panel del Instructor
Rutinas por patrón de movimiento Todos los
planes
Una rutina que dice "press de banca" deja de servir el día que la sala
cambia la máquina, y le da lo mismo al que recién empieza que al que tiene una molestia de
hombro. Con este sistema la estructura de la sesión pide un patrón de movimiento
—empuje horizontal, bisagra, tirón vertical…— y el generador de rutinas del Plan PT lo resuelve
con las máquinas reales de tu sala. Es opt-in por gimnasio: apagado, el generador funciona como
siempre y no aparece nada nuevo.
🧬
La idea: un renglón de la sesión no nombra un ejercicio sino un patrón.
Hay 18 patrones (empuje horizontal, inclinado y vertical, aperturas, tirón vertical,
horizontal y bajo, rodilla, bisagra, glúteo directo, abductores/aductores, gemelos, deltoide
lateral y posterior, bíceps, tríceps, core y cardio) más 3 auxiliares (agarre, equilibrio,
movilidad). Así la misma estructura sigue sirviendo si el gym cambia de máquinas, y dos
alumnos de distinto nivel o con una molestia reciben máquinas distintas para el mismo lugar
de la sesión.
Las tres piezas
🏋️
1. Máquinas clasificadas
Cada máquina de la Biblioteca lleva su patrón, variante, tipo
de máquina y código de sala. Sin patrón, el generador no la ve.
📐
2. Estructuras semanales
En el Diagramador, cada estructura describe la semana: días,
zona de cada día y sus renglones en orden, cada uno con un patrón e intensidad.
✨
3. La rutina generada
El profe contesta 7 preguntas en el armador del Plan PT y el
sistema cruza estructuras + máquinas para armar los días con series, reps y RIR.
Pieza 1 — Máquinas
clasificadas (Biblioteca)
Con el sistema prendido, la
Biblioteca pasa a llamarse Máquinas y ejercicios y el alta o edición de un
ejercicio gana el bloque 🧬 Clasificación por patrón: patrón, variante, tipo de
máquina y código de sala. Un filtro 🧬 Sin clasificar (N) y un aviso ámbar en
cada máquina propia sin clasificar te muestran lo que falta (solo mira las máquinas propias del
gym).
📦 Cargar parque de máquinas (99): carga un parque estándar de 99 máquinas
ya clasificadas. Primero muestra qué va a crear y pide confirmación; lo que ya cargaste a
mano se completa, no se duplica.
Cobertura a la vista: el panel "Generador de rutinas por patrón" dice
"X de Y lugares de las rutinas que el generador puede armar tienen máquina en tu sala", con
el porcentaje y un botón Ver qué falta.
Pieza 2 — Estructuras
semanales (Diagramador)
Se abre desde el menú del
instructor → Diagramador (el ítem aparece solo con el sistema prendido) o con
el botón 📐 Diagramar mis rutinas junto al interruptor en Configuración. El gimnasio
arranca con un set de referencia en uso, visible con Ver los días;
Editar copia el set completo al gimnasio y desde ahí se edita libremente, y
+ Estructura crea una propia. El Diagramador también muestra la cobertura de máquinas
de lo que el generador va a usar.
Nivel
Qué se define
La estructura
Nombre, días por semana (1 a 6), estilo (Full Body, Torso / Pierna, Push · Pull ·
Legs, por grupos musculares o libre), nivel desde/hasta y si es la recomendada para
esa cantidad de días.
Cada día
Rótulo y zona (torso, pierna o cuerpo entero).
Cada renglón
Nombre, patrón, variante e intensidad, en orden. Un renglón pide un patrón, no un
ejercicio.
Pieza 3 — Las 7
preguntas que contesta el profe
En el armador del Plan PT
(Planes PT → Abrir Builder → ✨ Generar con IA). Las contesta el profe, no el
alumno.
Pregunta
Opciones
Objetivo
Hipertrofia / salud / recomposición, o Fuerza. Fuerza no se ofrece a un nivel
inicial.
¿Cuántos días por semana va a venir?
1 a 6.
Experiencia entrenando con pesas
Inicial I — Adaptación, Inicial II — Principiante, Intermedio, Avanzado.
¿Cómo dividimos el entrenamiento?
Los estilos disponibles para esos días y ese nivel, con el recomendado marcado.
¿Qué quiere priorizar?
Tren inferior / glúteo, Torso / brazos, Parejo. El énfasis suma volumen donde se
pide sin restar del resto.
¿Cuánto tiempo tiene para entrenar?
45 minutos, 1 hora o 1 h 30 → 6, 8 o 10 ejercicios por sesión.
Molestias o lesiones
Hombro, Rodilla, Lumbar, Cadera. Cambian la máquina, no el patrón. Vienen
pre-tildadas desde las lesiones activas de la ficha del alumno.
Con eso el sistema cruza
estructuras + máquinas y arma los días con series, repeticiones y RIR según un cuadro por
objetivo × nivel, con entrada en calor y cierre, y muestra una vista previa
antes de guardar. El peso queda vacío para que lo cargue el profe. El nivel no filtra máquinas:
son las mismas para todos, lo que cambia es carga, técnica y volumen. Si el plan ya tiene días,
reemplazarlos pide confirmación explícita y avisa cuántos se van a reemplazar.
Qué ve el alumno
Exactamente lo mismo que
cualquier Plan PT: Mi Plan PT en la app (Mi Plan de Entrenamiento
en el portal web), con los días, bloques, series, reps y descansos, y la regla de progresión como
nota del primer bloque de fuerza; el plan también queda en la ficha del alumno, y el profe o el
mostrador pueden imprimirle la hoja A4. No hay que instalar ni actualizar nada del lado del
alumno, y el alumno no contesta las preguntas: las contesta el profe.
Cómo prenderlo
01
Activar el interruptor
El administrador entra a Configuración → 📱 App
del alumno → Sistema de rutinas por patrón de movimiento. Arranca
apagado y no depende del plan: es parte de las herramientas del profe.
02
Cargar o clasificar las máquinas
En Máquinas y ejercicios, cargá el parque
estándar o clasificá las tuyas una por una hasta que la cobertura llegue a lo que
el generador necesita.
03
Revisar las estructuras
En el Diagramador, mirá el set de
referencia con Ver los días. Si tu metodología es otra, Editar lo
copia al gimnasio y lo adaptás.
04
Generar la primera rutina
Desde el armador del Plan PT, ✨ Generar con
IA: contestás las 7 preguntas, revisás la vista previa, cargás los
pesos y guardás. El alumno la ve en Mi Plan PT.
Cómo deshacer
Dónde
Botón
Qué hace
Diagramador
↩ Volver al set de referencia
Guarda tus estructuras propias y vuelve al set de referencia. ↺ Recuperar mis
estructuras las trae de vuelta.
Biblioteca
↩ Deshacer la carga
Da de baja las máquinas que cargó el sistema y conserva las que editaste (peso,
nota, video o clasificación). ↺ Recuperar (N) las revive sin duplicar.
Configuración
Apagar el interruptor
Vuelve al generador de siempre.
🛟
Todo es baja lógica, nada se borra, y las rutinas ya generadas no se tocan en
ningún caso: el alumno sigue viendo su plan tal cual.
🔐
Permisos: el Diagramador y la clasificación por patrón son un módulo del
grupo Instructor en Seguridad. El administrador lo tiene siempre; a un
instructor se le puede quitar; el mostrador entra solo si se le otorga.
Panel del Instructor
Planes Nutricionales Todos los planes
Creá y asigná planes de alimentación individuales a cada alumno. Definís
targets calóricos y de macros, estructurás las comidas del día y cargás los alimentos desde la
biblioteca. El alumno lo consulta desde la app GymFlow.
🎯
Targets y objetivos
Al crear el plan definís el objetivo (déficit calórico,
mantenimiento, superávit, definición, volumen, salud general) y los targets diarios:
calorías totales, proteínas, carbohidratos y grasas en gramos.
🍽️
Estructura de comidas automática
Al crear el plan, un checkbox crea automáticamente las
comidas base: Desayuno, Media Mañana, Almuerzo, Merienda y Cena.
También podés agregar Colación, Pre-entreno, Post-entreno y las que necesités desde el
builder.
📊
Macros en tiempo real
El builder muestra una barra de macros en el header que se
actualiza en tiempo real: kcal total / target, proteínas, carbos y grasas. La barra de
calorías se colorea en verde cuando alcanzás el target, y en rojo si lo superás.
📱
Visible en la app del alumno
El plan activo es visible para el alumno en la app GymFlow en
la sección Mi Nutrición, con todas las comidas, alimentos, cantidades y
macros por comida.
⏸
Activar / Pausar
Los planes tienen estado Activo o
Inactivo. Solo el activo es visible al alumno. Podés pausar un plan y
activar otro sin perder nada. Los planes inactivos quedan guardados y se pueden
reactivar.
✏️
Cantidades editables en el builder
Cada alimento muestra un campo de gramos editable
directamente en la lista. Al modificar la cantidad, los macros de esa comida y el total
del plan se recalculan al instante sin recargar la página.
Flujo de trabajo
Paso
Acción
Dónde
1
Ir a Nutrición → Planes en el menú del instructor
Panel web
2
Crear nuevo plan: elegís alumno, nombre, objetivo y targets de kcal/macros
Botón "+ Nuevo Plan"
3
Activar el checkbox para crear la estructura de comidas base (o agregar comidas
manualmente después)
Modal de creación
4
En el builder, en cada comida hacés clic en "+ Alimento" para
buscar en la biblioteca por nombre o categoría
Builder del plan
5
Ajustás la cantidad en gramos de cada alimento directamente en la lista
Campo editable en el builder
6
Cuando los macros estén listos, activás el plan con ▶ Activar
Listado de planes
7
El alumno abre la app y accede desde Mi Nutrición
App GymFlow del alumno
💡
El picker de alimentos tiene filtro por categoría: Carnes, Pescados, Lácteos, Cereales,
Frutas, Suplementos, etc. Si el alimento no está en la base, podés ingresarlo manualmente
con solo el nombre desde el mismo picker sin cerrar el builder.
ℹ️
Una vez creado el plan, el sistema redirige directamente al builder. Si usaste el checkbox
de comidas base, ya aparecen Desayuno, Media Mañana, Almuerzo, Merienda y Cena listas para
cargar alimentos.
Panel del Instructor
Biblioteca de Alimentos Todos los planes
Catálogo centralizado de alimentos con su tabla nutricional por cada 100g.
Incluye una base de datos global pre-cargada con los alimentos más comunes, más la posibilidad
de agregar alimentos personalizados del gym.
🌍
Base global pre-cargada
GymFlow incluye cientos de alimentos comunes ya cargados:
proteínas, carbohidratos, grasas, frutas, verduras, lácteos y más. Disponibles para usar
de inmediato sin configuración.
➕
Alimentos del gimnasio
Agregá alimentos específicos de tu gym: suplementos propios,
recetas del plan de nutrición del gym, marcas que usás con tus alumnos. Están
disponibles solo para tu gimnasio.
🔍
Búsqueda rápida
Al armar el plan nutricional, buscás el alimento por nombre y
lo agregás con la cantidad en gramos. Los macros se calculan al instante
proporcionalmente a la porción ingresada.
📊
Por cada 100g
Cada alimento tiene registrado: calorías, proteínas,
carbohidratos, grasas y fibra por cada 100g. Al ingresar la cantidad real de la porción,
el sistema hace el cálculo proporcional automático.
💡
Tip: Si trabajás con un suplemento específico (whey, caseína, gainer),
cargalo una vez en la Biblioteca con sus macros reales del envase. Después estará disponible
para usar en todos los planes de cualquier alumno del gym.
Panel del Instructor
Panel en vivo Todos los planes
La cabina de control de la clase. Todo lo que necesitás para dirigir el
entrenamiento sin distracciones.
⏱️
Cronómetro automático
Al avanzar al siguiente bloque, el cronómetro arranca
automáticamente con la duración configurada. También podés controlarlo manualmente.
⏭️
Navegación de bloques
Avanzá o retrocedé entre bloques con un click. La pantalla
del TV y la información de los alumnos se actualiza instantáneamente.
📋
Resumen WOD en sala
Mostrá u ocultá el resumen completo del WOD en el TV para que
los alumnos puedan consultarlo al inicio de la clase.
🕐
Reloj de sala
Mostrá el reloj de tiempo real en el TV, o activá el modo
pantalla completa para usar el TV exclusivamente como clock.
Función
Descripción
Atajo
Play / Pause
Inicia o pausa el cronómetro actual
—
Siguiente bloque
Avanza al próximo bloque y resetea el timer
—
Display
Abre el link de la pantalla de sala en nueva pestaña
—
WOD
Muestra / oculta el resumen del WOD en el TV
—
Reloj
Activa el reloj en el TV de sala
—
Full
Pone el reloj en pantalla completa en el TV
—
Panel del Instructor
Pantalla de sala Todos los planes
La pantalla que ven los alumnos en el TV del gimnasio. Se configura una vez
y funciona sola.
1
Obtener el link de Display
En Configuración → Salas, cada sala
tiene un link único de Display. Copialo.
2
Abrir en el TV
Pegá el link en el TV (Chromecast, browser del smart TV,
HDMI desde notebook, etc.) y dejalo abierto. Se actualiza solo.
3
Asignar la sala al panel de vivo
Desde el Panel en vivo → selector de sala, elegí la sala
correspondiente. La pantalla conecta automáticamente.
🏃
Ejercicio en curso
Nombre del bloque y ejercicio actual en tamaño grande,
legible desde toda la sala.
⏱️
Cuenta regresiva
Cronómetro sincronizado con el instructor. Cambia de color
automáticamente en los últimos segundos.
🕺
Animación del movimiento
Figura animada que muestra la ejecución del ejercicio.
Disponible para los ejercicios de la biblioteca integrada.
⏭️
Próximo bloque
Muestra el nombre y ejercicio del siguiente bloque para que
los alumnos puedan prepararse.
📺
Para configuraciones multi-sala, cada sala tiene su propio link de Display y puede mostrar
un WOD diferente simultáneamente.
Panel del Instructor
Integración Spotify Todos los planes
Controlá la música de la clase directamente desde el panel del instructor,
sincronizada con los bloques del WOD.
▶️
Control de reproducción
Play, pause, siguiente canción y control de volumen
directamente desde el panel en vivo.
🎧
Playlists por bloque
Asociá una playlist de Spotify a cada bloque del WOD. Al
avanzar de bloque, la música cambia automáticamente.
🔁
Modo repeat
Configurá el modo de repetición de la playlist: normal,
repeat, repeat one o shuffle.
🎵
Now playing en sala
La canción en reproducción se muestra discretamente en la
pantalla del TV para los alumnos.
💡
Requisito: Necesitás una cuenta de Spotify Premium activa para usar la
integración. La vinculación se hace en Configuración → Integración Spotify.
Panel del Instructor
Generador de WOD con IA Todos los planes
El módulo de inteligencia artificial arma el WOD completo en segundos, con
ejercicios, tiempos y música seleccionados de forma inteligente. Incluye prescripción automática
de cargas según el tipo de ejercicio y el bloque.
1
Configurar los parámetros
Elegí el nivel del grupo (Principiante / Intermedio /
Avanzado), el estilo de sesión (CrossFit, HIIT, Fuerza, Mixto) y el porcentaje de
grupos musculares a trabajar (Tren superior / Tren inferior / Core).
2
Elegir la Prescripción de Carga
Seleccioná cómo querés que la IA maneje los pesos de los
ejercicios. Ver tabla de modos más abajo.
3
Generar
La IA crea el WOD completo: bloques de calentamiento,
trabajo, descanso y vuelta a la calma, con ejercicios de la biblioteca, tiempos y
cargas pre-configuradas.
4
Revisar y ajustar
Podés editar cualquier bloque antes de guardar. El WOD
generado es tu punto de partida, no el resultado final obligatorio.
⚖️ Modos de
Prescripción de Carga
Al generar el WOD, podés
elegir cómo la IA maneja los pesos. El modo Inteligente está seleccionado por
defecto.
Modo
Qué hace
Cuándo usarlo
🚫 Sin carga
No asigna peso a ningún ejercicio
El instructor prefiere configurar todo manualmente
🧠 InteligenteDefault
Elige automáticamente el patrón y los kg según el tipo de bloque y el ejercicio
Uso diario — genera el WOD listo para dictar
🔒 Todo Fija
Todos los ejercicios con carga quedan en peso constante (mismo kg en todas las
rondas)
Circuitos o clases donde no se quiere cambiar el peso
↑ Todo Progresiva
Todos los ejercicios con carga quedan en progresión ascendente
Clases de fuerza o cuando se quiere escalar la carga
🧠 Cómo funciona el
modo Inteligente
El sistema clasifica cada
ejercicio automáticamente y elige el patrón de carga más adecuado:
🏋️
Compuesto con barra
Squats, deadlifts, presses, cleans → recibe carga. Patrón
según el bloque: series → progresiva, circuit/AMRAP →
fija, fortime → descendente.
🔔
Implemento específico
Wall Ball, Kettlebell Swing, mancuernas → recibe carga con kg
realistas de su implemento (medicine ball, KB, DB). No kg de barra.
🤸
Bodyweight
Pull-ups, push-ups, burpees, TTB, box jumps → sin
carga automáticamente. El sistema detecta estos ejercicios por nombre.
📊 Kg sugeridos por
nivel
Los pesos son
orientativos y siempre editables. Se calculan según el grupo muscular y el
nivel que se seleccionó:
Categoría
🟢 Fácil — Principiante
🟡 Medio — Intermedio
🔴 Difícil — Avanzado
Piernas (squat, deadlift, lunge)
20 / 30 / 40 kg
40 / 60 / 80 kg
60 / 80 / 100 kg
Tren superior empuje (press, bench)
10 / 15 / 20 kg
20 / 30 / 40 kg
30 / 40 / 60 kg
Tren superior tracción (row, lat pulldown)
15 / 20 / 30 kg
25 / 35 / 50 kg
40 / 55 / 70 kg
Olímpicos (clean, snatch, thruster)
15 / 25 / 35 kg
30 / 45 / 60 kg
50 / 65 / 80 kg
Accesorios (curl, extensión, core)
5 / 8 / 10 kg
10 / 15 / 20 kg
15 / 20 / 25 kg
Medicine Ball (wall ball, slam ball)
4 / 6 / 8 kg
6 / 9 / 12 kg
9 / 12 / 15 kg
Kettlebell (swing, TGU, goblet)
8 / 12 / 16 kg
12 / 16 / 24 kg
16 / 24 / 32 kg
Mancuernas (lateral raise, curl, fly)
5 / 8 / 10 kg
10 / 14 / 18 kg
14 / 20 / 26 kg
💡
Los tres valores de cada celda corresponden a los 3 niveles dentro del bloque: 🟢
Fácil / 🟡 Medio / 🔴 Difícil. Todos son editables en el builder una vez
generado el WOD.
📚 Prioridad: pesos de
la Biblioteca NUEVO
Si un ejercicio tiene
pesos sugeridos definidos en la Biblioteca (⚖️ Fácil/Medio/Difícil), el
generador IA usa esos valores en vez de la tabla genérica. Esto permite que el
instructor tenga control total sobre los kg que aparecen en los WODs generados.
1️⃣
Pesos de la Biblioteca
Si el ejercicio tiene peso definido por el instructor → usa
esos kg exactos.
2️⃣
Detección de implemento
Si no tiene peso definido → detecta el implemento (KB,
medicine ball, DB) y usa sus rangos.
3️⃣
Tabla por grupo muscular
Como último recurso → usa la tabla heurística según el grupo
muscular y nivel seleccionado.
ℹ️
El generador IA usa ejercicios de la biblioteca del gimnasio. Si tu biblioteca tiene pocos
ejercicios, el WOD generado puede repetirse. Agregá más ejercicios en Entrenamiento
→ Biblioteca de Ejercicios.
Gestión del Gimnasio
Grilla semanal Gimnasio+
Vista completa del horario del gimnasio, organizado por día, hora y sala.
Los alumnos pueden reservar directamente desde la app.
🗓️
Vista semanal
Visualizá todas las clases de la semana organizadas por día y
hora. Editá o eliminá clases directamente desde la grilla.
🏛️
Por sala
Filtrá la grilla por sala para ver el horario de cada espacio
físico del gimnasio por separado.
👨🏫
Instructor asignado
Cada clase tiene un instructor asignado. Si el instructor
cambia, actualizá la clase en segundos.
🎯
Cupo máximo
Configurá el cupo máximo por clase. Cuando se llena, no se
pueden hacer nuevas reservas automáticamente.
📋
Copiar día completo
¿El martes tiene el mismo horario que el jueves? Copiá todas
las clases de un día a uno o varios días destino con un click. El sistema replica
horarios, salas, cupos e instructor.
📅
Clases puntuales (una vez)
¿Una clase especial el miércoles que viene, una clínica el primer sábado del mes próximo? Marcá "Solo una vez" al crearla y elegí la fecha. La clase aparece solo ese día — no contamina la grilla semanal.
⛔
Suspender clases
Suspendé una clase puntual (por ejemplo, un feriado) sin
eliminarla del cronograma permanente. Los alumnos con reserva reciben notificación
automática y se les devuelve el crédito.
Clases puntuales vs recurrentes
Al apretar "+ Agregar" en la grilla, el modal pide elegir el tipo:
🔁 Semanal recurrente (por defecto): la clase se repite todas las semanas el mismo día. Aparece en la grilla LUN-DOM. Ideal para tu horario fijo.
📅 Solo una vez: pide una fecha exacta (cualquier día desde hoy en adelante). Aparece en un panel separado "Próximas clases puntuales" abajo de la grilla. Ideal para clínicas, eventos, talleres, profes invitados o cualquier clase de fecha única.
Las dos modalidades comparten todo lo demás (sala, cupo, instructor, tipo de actividad grupal/personalizada) y los alumnos las ven igual en su app — pueden reservar, recibir recordatorios y aparecer en lista de asistencia.
💡
Cuándo NO usar puntual: si la clase se va a repetir más de 2 veces, conviene crearla recurrente y suspender los días que no aplican (usando Suspender clase arriba). Las puntuales son para casos donde repetir la operación de crear sería más laburo que crear una sola vez.
Cómo copiar un día
01
Buscá el ícono de copiar
En la cabecera de cada día que tiene clases aparece un
pequeño ícono de clipboard (📋). Hacé click en él.
02
Elegí los días destino
Se abre un modal que muestra el día origen y su cantidad
de clases. Marcá con checkboxes los días a los que querés copiar. Si un día ya tiene
clases, te lo avisa.
03
Elegí el modo de copiado
Si activás "Reemplazar clases
existentes", las clases del día destino se borran y se reemplazan por
las del origen. Si no, las nuevas se suman a las existentes (y se omiten las que
generen conflicto de horario).
💡
Tip: Podés copiar un día a múltiples destinos a la vez.
Por ejemplo, copiá el Lunes al Miércoles y Viernes en una sola operación. Ideal para armar
la semana rápidamente.
Panel del Instructor
Cartelera de sala Gimnasio+
Pantalla pública del horario semanal del gym. Puede proyectarse en la TV de
la recepción o sala de espera, visible sin iniciar sesión mediante el link del gym.
📋
Horario semanal público
Muestra todas las clases de la semana con horario, sala,
instructor y cupo disponible. Se actualiza automáticamente cuando el admin edita la
grilla.
🔗
Link público por gym
Cada gimnasio tiene su URL de cartelera única. No requiere
login. Ideal para proyectar en una TV de recepción o compartir por WhatsApp con los
alumnos.
🔄
Actualización automática
La cartelera se refresca sola. No es necesario recargar la
página ni intervenir: los cambios de horario aparecen en tiempo real.
Gestión del Gimnasio
Alumnos y membresías Gimnasio+
CRM completo integrado al sistema de clases. Gestioná membresías, pagos y
asistencia sin salir del panel.
👤
Ficha del alumno con semáforo del mostrador
Las tres preguntas del mostrador con el alumno enfrente —¿debe?
¿puede entrar? ¿cuándo vence?— tienen respuesta directa. La ficha (Ver en Alumnos)
abre con foto, etiquetas (VIP, congelada, convenio, baja) y los botones para cobrar, renovar
y editar. Debajo, el semáforo: Pago, Acceso (si no entra,
con el motivo; misma regla que el molinete), Vence, Apto
médico y Última visita. Avisa si la cuota tiene un link de
MercadoPago vivo, para no cobrarla dos veces. Cinco solapas: Membresías, Asistencia, Datos,
Salud y Entrenamiento.
💳
Membresías y créditos
Asignale un plan de membresía a cada alumno: clases por mes,
créditos disponibles y fecha de vencimiento.
🎟️
Pase por día
Un botón 🎟️ Pase por hoy en la ficha vende un pase que vale solo ese día. Se configura eligiendo qué plan es el pase en Configuración → Membresías y facturación → Pase por día (precio, franja horaria, salas y sedes se definen en ese plan). El cobro es el de siempre: caja del turno, factura o recibo, convenios, deuda anterior, y queda en el historial como «Pase por día». No cierra ni reemplaza la membresía vigente —convive con ella— y no se vende dos veces el mismo día («Pase de hoy ✓»). En la puerta (molinete, PIN y QR) el pase de hoy tiene prioridad sobre las demás membresías: se aplican sus condiciones y no la franja ni el tope semanal de la mensual; a medio pagar no abre, y el de ayer tampoco. Apto médico, sede y tope diario del gimnasio siguen aplicando.
👨👩👧
Grupos familiares
Un titular paga una cuota por toda la familia, con precio por integrante, o el grupo es solo un vínculo y cada uno paga lo suyo. Se activa en Configuración y se arma desde la ficha del alumno (el mostrador, con el permiso especial). Con cuota consolidada impaga, todo el grupo queda sin acceso en molinete, QR y reservas. En la app, el titular ve el grupo y la cuota vigente y la paga por MercadoPago; los integrantes no ven cápitas ni el estado de los demás, y no pueden pagar una cuota individual mientras la familiar los cubre.
📉
Clientes perdidos (del mostrador)
Pantalla propia en el menú, también para el staff: quiénes dejaron de venir, con filtros por días sin asistencia, sede y búsqueda, y el botón 💬 que abre WhatsApp con el número ya normalizado con código de país. El dueño la ve resumida en Reportes con enlace a la planilla completa. La exportación a CSV es solo del administrador, y el módulo se puede quitar a un perfil desde Seguridad.
🎁
Bonificación de bienvenida (las primeras N cuotas)
"La cuota sale con descuento los primeros dos meses y después
vuelve al precio de lista." En cada plan (Planes de membresía → Bonificación de
bienvenida 🎁) definís el porcentaje (100 = cuotas gratis) y cuántas cuotas aplica
(1 a 12). Es solo para el recién anotado: se precarga en el alta y, si son varias cuotas, en
las renovaciones que siguen. El mostrador puede destildar el 🎁 al cobrar (un alumno
importado que no es nuevo, por ejemplo) y queda eximido en todas las vías.
🎯
Membresías concurrentes
Un alumno puede tener más de un plan activo al mismo tiempo
si son de tipos distintos: por ejemplo, una membresía grupal y una de
clases personalizadas simultáneamente.
🗂️
Tipos de plan por actividad
Cada plan de membresía tiene un tipo:
Grupal, Personalizada o Ambas
actividades. El tipo controla a qué turnos de la grilla puede acceder el
alumno.
⚠️
Alertas automáticas
El sistema alerta de vencimientos próximos, membresías
vencidas y alumnos sin renovar para que ninguno se pierda.
📊
Asistencia histórica
Registro completo de clases asistidas, ausentes,
cancelaciones y reservas por alumno.
🕓
Último login real
La columna Último login muestra la última vez que el
alumno abrió la app (se actualiza cada vez que el alumno usa la app).
Antes mostraba la fecha del primer ingreso en ese dispositivo, que podía ser muy vieja. Los
alumnos sin actividad aparecen como "Nunca ingresó".
🔀
Fusión de fichas duplicadas
Con inscripciones que llegan desde redes o el link público, el
mismo alumno termina con dos fichas. En Alumnos → 🔀 Duplicados el sistema
lista los pares que parecen la misma persona, muestra qué se va a mover y fusiona con
confirmación. La historia (reservas, membresías, pagos, asistencias) pasa a la ficha que
queda; la otra se da de baja y los lectores biométricos se enteran solos. El administrador
siempre puede; el mostrador solo si se le otorga el permiso en Seguridad → Permisos
especiales.
🔁
Cambio de plan con diferencia automática
Un alumno que a mitad de mes quiere pasar a otro plan ya no
obliga a borrar la membresía y cargarla de nuevo. En su perfil,
🔁 Cambiar de plan prorratea por los días que quedan: compara lo que le
queda sin usar del plan actual contra lo que vale el nuevo por esos mismos días, y muestra
el detalle antes de confirmar. La caja no se toca: el cobro anterior queda
donde estaba, con su turno y su comprobante. Si sube de plan, la diferencia queda como
saldo a cobrar —el alumno sigue entrando mientras tanto— y se cobra en el momento o más
tarde, con su propio comprobante. Si baja, le queda saldo a favor y la próxima cuota sale
con el descuento ya aplicado. Todo queda en el historial y en la auditoría; el mostrador
lo hace solo si se le otorga el permiso especial.
🎫
Editar pases restantes
En el modal Editar membresía, si el plan
tiene un límite de pases, aparece un campo Pases restantes. Ideal
para traspasos desde otro sistema: un alumno que entra con 90 de 100 pases consumidos.
El hint muestra el total del plan y los consumidos actuales para contexto.
❌
Baja del alumno
Desactivar da de baja al alumno conservando toda su
historia: reservas, pagos y asistencias. Sus reservas futuras se cancelan solas, liberan
el cupo y devuelven el crédito. No hay borrado definitivo de alumnos: la ficha queda
vinculada al lector biométrico y borrarla desincronizaría el molinete. Una ficha dada
de baja se puede reactivar después.
💡
Membresías concurrentes: si un alumno tiene plan Grupal + plan
Personalizado activos, el sistema los suma y le habilita acceso ambas actividades
automáticamente. No se permite asignar dos planes del mismo tipo de forma simultánea, ni
asignar un plan "Ambas" junto a cualquier otro.
⚠️
Desactivar, no borrar:Desactivar (❌) oculta al alumno sin
perder su historia — reservas, pagos y asistencias se preservan, y sus reservas futuras se
cancelan solas, liberando el cupo y devolviendo el crédito. No existe el borrado definitivo
de alumnos. Los planes de membresía sí pueden borrarse, pero solo mientras
ninguna membresía (activa o histórica) los use; con historia, se desactivan.
Gestión del Gimnasio
Salud y apto médico Gimnasio+
Ficha de salud completa por alumno: certificado médico con control de
vigencia automático, registro de lesiones, datos físicos (peso, altura, IMC) y objetivos de
entrenamiento.
🩺
Apto médico con vigencia
Subí el certificado del alumno (PDF, JPG, PNG — hasta 8 MB).
El sistema registra la fecha de emisión y calcula automáticamente la vigencia de 1 año.
Alerta visual cuando está por vencer o vencido.
🤕
Registro de lesiones
Anotá lesiones activas del alumno con descripción y fecha. Al
recuperarse, marcala como resuelta. El historial completo queda guardado en la ficha.
📏
Ficha física
Registrá peso, altura e IMC de cada alumno. El sistema
calcula el IMC automáticamente. También podés ingresar objetivos de entrenamiento y
notas físicas del instructor.
⚠️
Alerta en lista de alumnos
La columna Alertas en la lista de alumnos
muestra badges cuando alguien no tiene apto médico válido, facilitando el control de
cumplimiento.
🚫
Bloquear check-in sin apto vigente
Activá esta opción en ⚙️ Configuración para
que los alumnos sin certificado médico vigente (o vencido) no puedan hacer check-in por QR.
El alumno ve un mensaje en la app indicándole que necesita presentar su certificado.
Ideal para gimnasios que requieren apto obligatorio por normativa.
ℹ️
Toggle en Configuración: Tanto la visibilidad del módulo de Apto Físico
como el bloqueo de check-in se controlan desde ⚙️ Configuración del Sistema.
Al desactivar el módulo, los badges 🩺 y la ficha de salud desaparecen de todo el sistema.
Gestión del Gimnasio
Suspensión de membresías Gimnasio+
Congelá temporalmente la membresía de un alumno (vacaciones, lesión, pausa
voluntaria) sin perder los días restantes. El período de freeze no se descuenta del plan.
🧊
Freeze con fechas
Definí la fecha de inicio y fin del freeze, y el motivo. La
membresía queda suspendida durante ese período. El alumno no puede reservar mientras
está congelado.
▶️
Descongelar anticipado
Si el alumno vuelve antes de lo esperado, podés descongelar
la membresía en cualquier momento. El vencimiento se recalcula automáticamente.
📋
Historial de suspensiones
Cada membresía registra el historial completo de freezes:
fechas, duración y motivo para transparencia total en la gestión.
Fidelización y retención
Fidelidad — tarjeta de sellos Gimnasio+
La tarjeta de sellos de papel, pero digital y automática. Cada mes consecutivo
que el alumno paga gana un sello; a los hitos que definís, gana el premio que vos elegís. Se activa
con un toggle y no requiere ninguna planilla. El premio lo decidís vos: el sistema lo informa.
🏅
Sellos automáticos
Cada mes pagado estampa un sello a partir del propio pago
(mostrador, transferencia o débito de MercadoPago). No hay que sellar ni anotar nada.
🎯
Hitos y premios que vos definís
Configurá los hitos (ej: 4, 8 y 12 meses) y qué gana en cada uno,
con su nombre e ícono. GymFlow detecta el logro e informa; el premio lo elegís y lo entregás vos.
🔁
Racha con red de seguridad
Si deja de pagar, la tarjeta vuelve a cero. Pero hay período de
gracia (pagar unos días tarde no borra sellos) y el congelamiento no corta la racha.
⏳
Reconocé la antigüedad
Tus alumnos de años no arrancan de cero: podés reconocer su
historial de pagos y mostrarles los sellos que ya se ganaron. O que todos empiecen parejo.
📱
El alumno la ve y le llega
Tarjeta de sellos en la app y el portal web, con "te falta N para tu
premio", premios a retirar y una notificación push en el momento en que gana uno.
📊
Panel del dueño
Premios ganados, entregados y pendientes; quiénes llegaron a cada
hito; ranking de tus alumnos más constantes; y entrega con un clic desde el panel o la ficha.
Gestión del Gimnasio
Check-in por QR Gimnasio+
El alumno llega al gym, escanea el QR y listo. El sistema registra la
asistencia y descuenta la clase automáticamente.
1
Imprimí o mostrá el QR del gym
En Configuración → QR del gimnasio encontrás el código QR
único de tu sede. Imprimilo y pegalo en la entrada, o mostralo en un tablet.
2
El alumno escanea con la app
Con la cámara de la app GymFlow, el alumno escanea el QR
al llegar. El sistema detecta si tiene clase reservada para esa fecha y hora.
3
Registro automático
La asistencia queda registrada, el crédito de la clase se
descuenta y el alumno aparece como presente en la vista del instructor.
💡
Sin celular, lo anota el mostrador: en modo Walk-in, el botón ✅ por fila en
Alumnos y «✅ Registrar ingreso» en la pestaña Asistencia de la ficha hacen lo
mismo que el escaneo: registran la asistencia, descuentan el crédito de la membresía que
corresponde (la que vence antes y tiene cupo) y respetan la ventana anti doble ingreso. Queda
auditado con el usuario que lo anotó. Y si tu gimnasio entra por QR sin molinete, el toggle
Configuración → Control de acceso → «Mostrar los ingresos por QR en la Cartelera»
hace que esos ingresos (y los del mostrador, con ✍️) se vean en la pantalla de accesos.
⚠️
El check-in solo funciona si el alumno tiene la app GymFlow instalada y vinculada a tu
gimnasio. El QR de cada sede es único e intransferible.
Gestión del Gimnasio
Notificaciones Push Gimnasio+
Comunicación directa con todos tus alumnos. Notificaciones manuales y
automáticas, sin WhatsApp, sin grupos, sin intermediarios.
Notificaciones manuales
📢
Broadcast al gimnasio
Enviá un aviso a todos los alumnos del gym a la vez. Llega
directo como notificación al celular, aunque la app esté cerrada. Título y cuerpo
editables con preview en tiempo real.
📋
Historial con destinatario
El panel muestra cada notificación enviada con su tipo
(badge), quién la recibió —alumno individual o �� Todos los socios— y cuántos
dispositivos la recibieron con éxito.
Notificaciones automáticas
El servidor GymFlow envía
alertas automáticas según el estado de membresía y asistencia de cada alumno. No requieren
configuración adicional.
Tipo
Cuándo se envía
Destinatario
🎉 Bienvenida
Primeras 24 hs desde el alta
Nuevo alumno
⏰ Recordatorio de clase
25–35 min antes de una clase reservada
Alumno con reserva
📅 Recordatorio de vencimiento
7 días antes del vencimiento
Alumno próximo a vencer
🔔 Vence pronto
3 días o menos al vencimiento
Alumno por vencer
⚠️ Membresía vencida
Vencimiento superado (hasta 30 días)
Alumno sin renovar
😴 Re-engagement
Más de 14 días sin concurrir con membresía activa
Alumno inactivo
🎂 Cumpleaños
El día del cumpleaños del alumno
Alumno con fecha de nacimiento cargada
🎂
Saludo de cumpleaños personalizable: En ⚙️ Configuración
podés editar el título y mensaje del push de cumpleaños. Usá los placeholders
{nombre} (primer nombre del alumno) y {gym} (nombre del gimnasio)
para personalizarlo. Se envía una sola vez por año.
⚙️
Todos los push automáticos son configurables. Desde
⚙️ Configuración del Sistema podés activar o desactivar individualmente
cada tipo de notificación: recordatorio de clase, aviso de vencimiento de membresía y
saludo de cumpleaños.
🔍
Panel de historial: en Notificaciones Push del panel admin podés
ver cada push con su badge de categoría, quién lo recibió y cuántos dispositivos lo
recibieron correctamente.
Comunicación con el alumno
Documentos PDF Gimnasio+
Subí PDFs desde el panel del gym y que el alumno los descargue desde su app. Para reglamentos, protocolos, rutinas, planes de nutrición, aptos firmados o cualquier archivo que tu gym necesite compartir de forma persistente — sin pasar por WhatsApp y sin que se pierdan en el chat.
Dos tipos de documentos
📋
Generales del gym
Visibles para todos los alumnos del gimnasio. Útil para reglamento, política de cancelación, tarifas vigentes, protocolo COVID, calendario de feriados. Se suben desde el menú Documentos del panel.
👤
Personales del alumno
Visibles solo para ese alumno. Ideal para rutina del mes, plan de nutrición, apto físico firmado, certificados de cursos. Se suben desde la ficha de cada alumno.
Lo que ve el alumno
En la app, dentro de Mi Cuenta → Mis documentos, aparece una lista unificada con los generales del gym + los personales del alumno. Cada item muestra título, tamaño y fecha de subida. Al tocar un archivo, se abre con el visor de PDF nativo del dispositivo — se puede leer, guardar, imprimir o reenviar.
Push automática al subir un personal
Cuando subís un PDF personal a un alumno, el sistema dispara automáticamente una notificación push al celular del alumno — aunque la app esté cerrada. Título: 📄 Documento personal nuevo, cuerpo: el nombre del archivo.
Los documentos generales NO disparan push (para no saturar a 300 alumnos cada vez que actualizás el reglamento). Si necesitás avisar de un general específico, usá Notificaciones Push manuales con el título y texto que prefieras.
Validaciones técnicas
Validación
Detalle
Tipo de archivo
Solo PDF. Se valida el contenido real del archivo, no solo la extensión.
Tamaño máximo
20 MB por archivo.
Módulo habilitado
Si Documentos PDF está OFF en Configuración, la subida se rechaza.
Destinatario
Si subís un personal, el alumno debe pertenecer a tu gimnasio.
Almacenamiento
Cada archivo se guarda con un nombre aleatorio irrepetible y aislado por gimnasio — imposible adivinar la dirección de un documento ajeno.
Auditoría
Cada subida queda registrada en la auditoría con el usuario que la subió, el alcance (general/personal) y el tamaño.
Configuración del módulo
Dos toggles en Configuración del Sistema:
Documentos PDF: enciende/apaga el módulo entero. Apagado: no aparece el menú Documentos en el panel, ni la pestaña "Mis documentos" en la app del alumno.
Notificar al alumno al subirle un PDF: controla si llega push cuando le subís un personal. Default ON. Solo se habilita si el toggle padre está ON.
💡
Por qué desacoplarlo del chat: el chat sirve para diálogo, los documentos para referencia. Buscar "mi rutina más reciente" en una lista de archivos toma segundos; buscarla en 800 mensajes de WhatsApp es horror. Además, el alumno no puede borrar accidentalmente un documento subido por el gym — el módulo es solo de lectura del lado del alumno.
Gestión del Gimnasio
Chat en tiempo real Gimnasio+
Canal directo entre alumnos (desde la app) y el staff (desde el panel web).
Mensajes instantáneos vía WebSocket, con notificaciones push cuando la app está cerrada y
alertas de browser para el staff.
📱
Vista del alumno (app)
El alumno escribe desde la pestaña Chat en la app móvil. Los
mensajes llegan instantáneamente al panel del staff. El historial completo se carga al
abrir el chat.
🖥️
Vista del staff (panel web)
En Chat con Alumnos del panel, el staff ve
todas las conversaciones abiertas, con el número de mensajes sin leer por sala. Responde
en tiempo real desde el navegador.
🔔
Notificaciones push al alumno
Cuando el staff responde, el alumno recibe una notificación
push aunque tenga la app cerrada. Al tocarla, se abre directamente el chat — sin pasar
por la pantalla de inicio.
💡
Alertas de browser para el staff
Si el staff tiene el panel abierto en otra pestaña, aparece
una notificación del navegador al recibir un mensaje nuevo. El globo del nav se
actualiza en tiempo real y desaparece sólo al abrir el chat.
1
Alumno escribe desde la app
Pestaña “Chat” en el menú inferior de la app → escribir
mensaje → enviar. El mensaje llega instantáneamente al panel del staff.
2
Staff recibe notificación en el nav
Un globo verde con el conteo de mensajes sin leer aparece
en el ícono de Chat del menú de navegación en todas las páginas del panel.
3
Staff abre la sala y responde
En Chat con Alumnos, hace click sobre la conversación del
alumno, carga el historial y escribe la respuesta. El globo desaparece al entrar a
la sala.
4
Alumno recibe la respuesta
Llega una notificación push al celular. Al tocarla, la
app abre el chat directamente. Si ya tiene el chat abierto, el mensaje aparece
instantáneamente.
ℹ️
Reconexion automática: Si el alumno pierde la señal, la app muestra un
aviso de error de conexión. Al recuperar WiFi o datos, el socket se reconecta
automáticamente sin intervención del usuario.
💡
Tip para el staff: Para recibir alertas del browser cuando estás en otra
pestaña, aceptá los permisos de notificación la primera vez que te lo pida el navegador. La
alerta se cierra automáticamente a los 8 segundos.
Gestión del Gimnasio
Por cobrar Gimnasio+
Todo lo que el gimnasio tiene por cobrar, en una pantalla. Las cuotas con
saldo van partidas en dos: las vencidas sin pagar (mora, hay que reclamarlas) y
las vigentes sin cobrar (la cobranza del período: la persona se anotó y todavía
no pagó). No es lo mismo un moroso que una alta de esta semana, y la pantalla no los mezcla.
Debajo, la cuenta corriente del shop (el fiado de alumnos y equipo) y las
diferencias de plan sin cobrar, que también suman en el total.
📛
Mora y vigentes, separadas
Cada bloque muestra nombre, plan, saldo y vencimiento: en la
mora, hace cuántos días venció; en las vigentes, cuántos faltan. Arriba, el total de
cada balde por separado.
⚡
Acción directa
Desde la lista podés abrir el perfil del alumno, asignarle
una nueva membresía o enviarle una notificación de recordatorio sin salir de la
pantalla.
📝
Seguimiento de cobranza
Cada cuota sin pagar tiene su seguimiento: marcás el estado
(sin contactar, ya hablamos, prometió pagar con fecha, no responde), anotás cada
contacto y cuándo volver a insistir, con el WhatsApp a un clic. Filtros para ver a quién
falta contactar, a quién le toca hoy y quién prometió y no cumplió. Se cierra solo
cuando la persona paga.
🔔
Alertas en la lista de alumnos
Los alumnos en deuda aparecen con un badge 💳
Con deuda visible en la lista general de alumnos, para identificarlos de un
vistazo.
🧾
Cobrar la deuda anterior junto con la cuota nueva
Cuando un alumno con deuda se anota o renueva, el modal de alta lista la deuda anterior itemizada —cuotas viejas, diferencias de plan y cuenta corriente del shop— y un «Total a cobrar hoy». Modo por gimnasio en Configuración → Membresías y facturación → Deuda anterior al inscribir o renovar: No hacer nada, Sugerir cobrarla o Exigir saldarla, con antigüedad máxima en meses. Todo se cobra en una sola operación y con un solo comprobante; la cuota nueva no se infla: cada deuda se salda contra su propia fila. En modo exigir, el administrador (o un staff con el permiso «dejar deuda pendiente») puede postergarla indicando el motivo, que queda en auditoría.
Gestión del Gimnasio
Calificaciones de clases Gimnasio+
Los alumnos califican la clase desde la app después de asistir. El admin y
los instructores ven el puntaje y los comentarios para medir la satisfacción y mejorar.
⭐
Rating post-clase
Luego de asistir, el alumno puede dejar una calificación de 1
a 5 estrellas y un comentario opcional. El rating queda asociado a la clase y al
instructor.
📊
Dashboard de calificaciones
Vista consolidada de todas las calificaciones recibidas, con
promedio por instructor, por tipo de clase y por período. Detectá qué clases generan
mayor satisfacción.
💬
Comentarios anónimos
Los comentarios se muestran de forma anónima para el
instructor. Solo el admin puede ver qué alumno dejó cada calificación.
Gestión del Gimnasio
Equipo de trabajo Gimnasio+
Alta, baja y gestión de instructores, staff y administradores. Cada usuario
tiene su propio acceso con los permisos de su rol.
👨🏫
Instructores
Acceso al constructor de WODs, panel en vivo, biblioteca y
scheduler. Comparten la biblioteca de sesiones con todos los instructores del gym.
🧑💼
Staff
Acceso al CRM de alumnos, chat, check-in y caja. Ideal para
el personal de recepción que gestiona alumnos y cobros pero no dirige clases.
🔑
Administradores
Acceso total: ven todo lo de instructores y staff más la
gestión del equipo, sedes, reportes, calificaciones, medios de pago y configuración del
gym.
🔒
Credenciales independientes
Cada miembro del equipo tiene su propio usuario y contraseña.
Al desvincularlo del gym, pierde el acceso automáticamente.
👁
Qué ve cada perfil
Tildaste un permiso extra para los profes, lo probaste con tu
usuario de administrador y no viste ningún cambio: los permisos extra no aplican al admin. En
Seguridad → 👁 Qué ve cada perfil (solo administradores) elegís un perfil o
un empleado y el sistema muestra el menú que va a ver y, pantalla por pantalla, un veredicto:
Entra, Entra a medias, No entra o
No se sabe. Es una simulación: no crea sesión ni entra como otro usuario, y
cada consulta queda en la auditoría.
Gestión del Gimnasio
Personal / RRHH Gimnasio+
Control horario de tu equipo: padrón de empleados, fichadas de entrada y
salida (a mano o con el mismo molinete que identifica a tus alumnos), horario esperado y reporte
de horas con llegadas tarde, ausencias y horas extra. Lo maneja el administrador; la vista del
staff se configura en Seguridad y los sueldos son solo del admin.
👥
Padrón de personal
Puesto, DNI, teléfono, sede, fecha de ingreso y modalidad de
pago. A diferencia de Equipo, admite empleados sin usuario del sistema
(limpieza, mantenimiento, seguridad). Se crea solo a partir de tu equipo actual.
🕒
Fichada manual
Botón de marcar entrada y salida por empleado desde el panel.
El sistema calcula las horas. Cualquier fichada se puede corregir después y la
corrección queda auditada (quién y cuándo). Para cargar de una vez las horas de la
quincena está la vista 🗓️ Planilla de quincena (empleados × días), que se
guarda toda o nada; + Agregar fichada carga una fichada suelta de otro día, y
🖨️ Comprobantes imprime el comprobante de horas trabajadas por empleado, para que
vea lo que se le liquida.
📟
Fichada por molinete
Opt-in: el mismo lector facial, huella o tarjeta que usan tus
alumnos abre y cierra la jornada del empleado. Requiere que esté vinculado a un usuario
del sistema y enrolado en el lector. No demora ni condiciona la apertura de la puerta.
🔁
Modos de conteo
El personal entra y sale varias veces al día.
Presencia (del primer paso al último, ideal para molinetes de solo
ingreso), Entrada/salida (cada paso alterna y descuenta las salidas) o
Lectores dedicados (uno abre, otro cierra).
🗓️
Horario esperado
Turno semanal por empleado, incluidos los que cruzan la
medianoche. Se compara con lo fichado para marcar llegadas tarde (con tolerancia
configurable), ausencias y horas extra.
📊
Reporte de horas
Por período: turnos, horas trabajadas vs esperadas,
diferencia, tardanzas, ausencias y costo estimado. Un turno que no terminó no cuenta
como falta, y no se le reclaman días previos al alta ni posteriores a la baja.
Gestión del Gimnasio
Caja y reportes Gimnasio+
Control completo de ingresos y egresos por turno de caja, con cierre de
arqueo y reporte consolidado por sede y cajero exportable como PDF.
🔓
Turnos de caja
Cada cajero abre un turno con el efectivo inicial. Mientras
el turno está activo puede registrar ingresos y egresos. Al cierre, el sistema hace el
arqueo comparando el efectivo esperado vs el real.
💳
Medios de pago
Configurá los métodos que acepta el gym (Efectivo, Tarjeta,
Transferencia, MercadoPago, etc.). Cada método tiene un tipo (efectivo,
transferencia, tarjeta, digital) que define cómo se comporta en el arqueo y qué extras
pide al cobrar. Efectivo y Mercado Pago quedan
bloqueados: no se pueden renombrar ni eliminar para que el arqueo y el webhook de MP
sigan funcionando sin sorpresas.
🏦
Cuentas bancarias del gym
Cargá una o más cuentas bancarias con alias, CBU/CVU, titular
y banco (por ej. Santander, Mercado Pago, Uala). Marcá una como predeterminada. Al
cobrar por Transferencia, el sistema muestra un selector para elegir a qué
cuenta ingresó la plata — así conciliás fácil con tu extracto y sabés qué titular
recibió cada operación.
🔗
Registro automático al cobrar
Al asignar una membresía a un alumno con turno abierto, el
pago se registra automáticamente en la caja con el monto, el medio de pago y —si
corresponde— la cuenta bancaria destino elegida.
🧾
Recibo de pago (no fiscal)
Para que quien paga en efectivo o por transferencia no se vaya
sin nada en la mano. Se prende en Configuración → Membresías y facturación → Recibo
de pago (no fiscal); arranca apagado y no depende de AFIP. Tras cobrar una membresía
o una venta del shop que no se factura, ofrece imprimirlo en la comandera (80 o 58 mm) o
mandarlo por email al alumno. Lleva impreso "DOCUMENTO NO VÁLIDO COMO FACTURA". Si el cobro
se facturó, no se ofrece: un solo papel por cobro.
🔄
Renovación automática sin cobro previo
Toggle por gym en Configuración → Membresías y
facturación. Cuando está activo, un proceso automático de GymFlow corre 1 vez por
día y renueva las membresías vencidas de tus alumnos activos aunque no haya
entrado el pago: la nueva queda impaga y en estado pendiente,
así el alumno nunca queda sin entrenar. El dueño cobra por afuera (efectivo/
transferencia) y marca el pago cuando lo cobra. Respeta bajas, cuotas sin pagar, congelamientos
y no duplica si el alumno ya se renovó por otro flujo.
📊
Reporte consolidado
Vista de todos los movimientos agrupados por Sede →
Cajero, con subtotales por cajero, totales por sede y gran total del gym.
Filtrable por período, sede, cajero y tipo.
🏷️
Socios por plan y tasa de renovación
En Reportes → Alumnos, la tarjeta
Socios por plan muestra por cada plan cuántos socios, cuántas membresías,
cuánto se cobró y cuánto se adeuda en el período: por ejemplo, para liquidarle al profe un
porcentaje de su actividad. Al lado, la tasa de renovación: de las membresías
que vencieron en el período, qué porcentaje siguió con el mismo plan dentro de los 15 días.
Los vencimientos de los últimos 15 días todavía no se juzgan, así el mes en curso no se hunde
solo.
📍
Una caja por sede, todas a la vez
En gyms multi-sede cada turno nace con una sede obligatoria, así
ventas, cobros y movimientos quedan en la sucursal correcta. El mismo operador puede tener
una caja abierta por sede al mismo tiempo y elige con el selector de sede en
cuál está operando: los cobros van a la caja de esa sede. Abrir dos en la misma sede sigue
bloqueado. La 👁 Vista global (solo administradores) es de consulta: sin caja
operable, con el neto de cada sede. En gyms de una sola sede nada cambia.
🔓
Editar cajas cerradas (solo dueño)
Por defecto un arqueo cerrado queda congelado: no se anula nada
de un turno que ya cerró. Si lo necesitás, en Configuración → Operación diaria →
Permitir editar cajas cerradas el administrador puede anular movimientos de
turnos cerrados: el arqueo de ese cierre se recalcula (el efectivo contado no cambia) y
cada anulación queda en la auditoría, igual que el cambio del propio interruptor. El
mostrador nunca puede, ni con permisos especiales.
1
Configurar medios de pago
En Caja → Medios de pago, revisá los
métodos que vienen preconfigurados (Efectivo, Transferencia, Débito, Crédito, QR
/ Mercado Pago). Podés agregar los que necesites y asignarles un tipo. Los
métodos Efectivo y Mercado Pago están bloqueados por diseño.
2
(Opcional) Cargar cuentas bancarias
Si aceptás transferencias, cargá tus cuentas en
Caja → Cuentas bancarias: alias, CBU/CVU, titular, banco. Marcá
una como Predeterminada. Cuando cobres por transferencia, vas a poder
elegir a qué cuenta ingresó.
3
Abrir turno
Clic en Abrir turno, elegí la sede (si tu gym es multi-sede) e ingresá el efectivo inicial disponible (puede ser $0). Los botones de Ingreso y Egreso se habilitan automáticamente.
4
Operar: ingresos y egresos
Los pagos de membresías se registran solos. Si cobrás
por transferencia, elegí a qué cuenta ingresó del selector que aparece. También
podés agregar ingresos o egresos manuales (proveedores, gastos, etc.).
La fecha del movimiento: el movimiento manual tiene un campo
Fecha y, en Gastos → Registrar pago, hay un campo
Fecha del pago (por defecto hoy). Sirve para imputar un cobro o un gasto
al mes que corresponde —los sueldos de la segunda quincena cargados el día 1 del mes
siguiente— sin fecha futura ni más de 90 días hacia atrás. Reportes imputa por esa
fecha; el arqueo no se mueve: el movimiento retrofechado sigue pegando en el turno
abierto, porque la plata sale del cajón de hoy y el arqueo es la constancia de lo que
se contó ese día. En Gastos también se puede anular un pago suelto sin anular el
gasto: la obligación vuelve a pendiente o parcial y el pago sale del total pagado,
respetando la política de turnos cerrados de la caja.
5
Cerrar turno y arcar
Clic en Cerrar turno / Arqueo. Ingresá
el efectivo físico contado. La diferencia con el esperado queda registrada en el
historial. El sistema separa efectivo del resto (transferencias, tarjetas y MP se
concilian aparte).
6
Exportar reporte como PDF
Abrí Reporte de Caja en el menú, filtrá
el período y la sede que necesitás, y presioná 🖨️ Imprimir / PDF
(o Ctrl+P).
💡
El reporte agrupa por Sede → Cajero. Ideal para el dueño que quiere ver
qué cajero movió qué en cada sucursal, con totalizadores y en un solo PDF.
NUEVO
Shop — Stock & Ventas Gimnasio+
Punto de venta integrado con gestión de stock por lotes FIFO (el que entra
primero se vende primero). Cada venta genera un movimiento de caja automáticamente.
📦
Catálogo de productos
Creá productos con nombre, categoría, código de barras y
precio de venta. Activá o desactivá productos según necesites.
📥
Ingresos de stock (Lotes FIFO)
Cada ingreso de mercadería crea un lote con cantidad y precio
de costo. Los lotes se consumen en orden cronológico al vender — las unidades más viejas
salen primero.
🛒
Punto de venta (POS)
Grilla visual para seleccionar productos, elegir cantidad y
medio de pago, y registrar la venta con un clic. Requiere turno de caja abierto.
📊
Ganancia por venta
El sistema calcula automáticamente el costo FIFO y la
ganancia de cada venta. Ejemplo: si compraste 10 a $800 y vendés a $1.500, ganás $700
por unidad.
💰
Integración con Caja
Cada venta genera un ingreso en la caja del turno activo.
Aparece en el arqueo, en los reportes y en la auditoría.
📒
Cuenta corriente (fiado)
Alumnos y staff pueden consumir sin pagar en el momento: el
consumo queda como deuda y se salda después, total o parcial. El cargo no entra a la caja
(es deuda); el pago sí entra, al saldar, en la caja del turno. Configurable: factura al
consumir o al saldar, y tope de crédito por persona (libre o limitado). El saldo pendiente
aparece en Por cobrar.
👤
Venta a nombre del alumno
El buscador «👤 ¿Quién compra? (opcional)» está siempre en el punto de venta, con cualquier medio de pago. Con el alumno elegido, la venta queda en su historial, la factura electrónica sale con su nombre y el comprobante se puede enviar por email a la casilla de su ficha sin tipearla (si no tiene, se pide en el momento). A cuenta corriente el comprador sigue siendo obligatorio.
⚠️
Alertas de stock bajo
Definí un stock mínimo por producto. El sistema alerta
visualmente cuando un producto está por debajo del umbral.
🏢
Inventario separado por sede
En gyms multi-sede cada lote pertenece a una sucursal física. El FIFO de venta consume lotes de la sede del turno; el stock de otras sedes no se toca. Visibilidad de cuánto hay en cada sucursal desde el detalle del producto.
🔀
Transferir stock entre sedes
Mové unidades físicas de sede A a sede B (o desde el "pool sin sede" si tenés stock histórico). El sistema parte los lotes si hace falta y preserva el costo de compra y la antigüedad original — el FIFO histórico no se rompe.
Paso a paso
1
Crear un producto
Ir a Shop → Productos → + Nuevo
producto. Ingresá nombre, categoría, precio de venta y stock mínimo.
2
Ingresar stock
Ir a Shop → Ingresos. Seleccioná el
producto, ingresá la cantidad y el costo unitario de compra. Cada ingreso crea un
lote independiente.
3
Vender
Ir a Shop → Vender. Seleccioná el
producto de la grilla, elegí la cantidad y el medio de pago, y hacé clic en
Vender. Necesitás un turno de caja abierto.
💡
Si comprás 10 aguas a $800 y después 5 más a $1.000, las primeras 10 ventas usan el costo
de $800. Recién cuando se agotan, las siguientes ventas usan el costo de $1.000. Así
funciona FIFO.
Soporte
Tickets de soporte Todos los planes
Sistema de tickets para reportar problemas o consultas al equipo de
GymFlow. Cada ticket tiene historial de mensajes en tiempo real.
🎫
Apertura de tickets
Cualquier miembro del equipo (instructor, staff o admin)
puede abrir un ticket con título, categoría y descripción del problema directamente
desde el panel.
💬
Hilo de mensajes en tiempo real
Cada ticket tiene su propia sala de conversación con el
equipo de soporte de GymFlow. Los mensajes se intercambian en tiempo real vía WebSocket.
📊
Estado del ticket
Los tickets tienen estado: Abierto, En proceso y Resuelto. El
equipo puede priorizar y hacer seguimiento de cada caso hasta su resolución.
📨
Requerimientos: pedir una función o reportar un error
Distinto de un ticket de soporte: en Requerimientos
(menú Sistema, solo el administrador) el dueño pide una función nueva o reporta un error del
producto, con capturas de pantalla que se pegan con Ctrl+V o se arrastran. Cada requerimiento
tiene su hilo de mensajes con el equipo de GymFlow y un estado visible —Recibido → En
desarrollo → Implementado o Descartado—. Cuando hay respuesta o cambio de estado, el dueño
recibe un email y un contador en el menú.
📈
Estado del sistema, con histórico: la página pública
gymflow.com.ar/estado.php muestra la disponibilidad de cada servicio
—plataforma web, sincronización en tiempo real y base de datos— en barras por día, hasta 90
días hacia atrás desde que empezó el monitoreo. Cada servicio se sondea cada 5 minutos contra
la dirección pública, lo mismo que ve el usuario. Un día sin mediciones se muestra "Sin datos"
y no cuenta ni como caída ni como 100%; nunca se publica "100%" como número: dice "sin
incidentes registrados".
Integraciones
Access Bridge Add-on
Servicio local de Windows que conecta lectores biométricos (huella
dactilar, tarjeta RFID, reconocimiento facial) con GymFlow para controlar el acceso al molinete
en tiempo real — sin intervención humana. Soporta también acceso por PIN/DNI
como alternativa a la huella, y se actualiza automáticamente sin intervención
del administrador.
👆
Enrolamiento en mostrador
El alumno registra su huella en el reloj del mostrador al
momento de inscribirse. El sistema mapea automáticamente esa huella a su perfil en
GymFlow.
🚪
Validación en el molinete
Al poner el dedo (o tarjeta/rostro) en el reloj del molinete,
el sistema valida la membresía en tiempo real. Si está activa: abre el relay. Si venció
o está en deuda: deniega el acceso con señal sonora.
🔢
Acceso por PIN / DNI NUEVO
Si un alumno no tiene la huella registrada o se borró, puede
ingresar su PIN (DNI u otro número) desde el teclado del molinete. El PIN se configura
desde el perfil del alumno en el panel web → Alumnos. Queda registrado como asistencia
igual que la huella.
📟
Teclado web para tablet (el alumno tipea su DNI)
Para el gimnasio que no quiere una PC por puerta. En
Access Bridge → Teclado web para tablet — ingreso por DNI → + Nueva tablet
cargás etiqueta, molinete, sede y la casilla Abre el molinete; el panel entrega un
enlace y un QR para la tablet, sin login. El alumno tipea su DNI y el sistema valida con la
misma regla de cuota que el teclado físico. Sin Abre el molinete la tablet es
solo consulta: registra el ingreso sin disparar nada.
🖥️
Posnet Clover del mostrador NUEVO
El mismo Bridge conecta el posnet Clover del mostrador: la
pestaña 🖥️ Posnet Clover enlaza el equipo por la red (código de enlace en
grande la primera vez) y desde ahí GymFlow cobra cuotas, shop y cuenta corriente con
tarjeta desde cualquier PC del gym. Ver Posnet Clover.
📋
Check-in automático
Cada acceso exitoso queda registrado como asistencia en
GymFlow, igual que el check-in por QR. Sin pasos extra para el staff.
🖼️
Aviso con la foto de quien ingresa
Para chequear que quien pasó sea el titular del pase. Se prende
en Configuración → Control de acceso → Avisar con la foto de quien ingresa
(apagado por defecto). Cada vez que alguien pasa por el molinete aparece en la esquina la
foto y el nombre del alumno, en cualquier pantalla del panel donde esté la recepción. Muestra
también los rechazados, en rojo y con el motivo. Un botón 🔕 lo silencia en esa pantalla
hasta el final del día. Requiere ingreso por Access Bridge.
🔌
Funciona sin internet
Si se cae la conexión, el bridge mantiene caché local de los
últimos resultados (24 hs por default) y sigue validando accesos sin interrupciones.
⬆️
Auto-actualización NUEVO
Al iniciar, el bridge verifica automáticamente si hay una
nueva versión disponible. Si existe, muestra un banner informando la versión y la
descarga e instala con un click — sin intervención técnica.
⚙️
Configuración sin técnicos
La app de escritorio incluye ABM visual de dispositivos,
generador de token, log en vivo y guía paso a paso. No requiere editar archivos de
configuración.
🔑
Seguridad por token
La comunicación entre el bridge y GymFlow se autentica con
Bearer token generado desde el panel de admin. Cada token es único por gimnasio y
revocable.
🛑 Motivos de rechazo (deny reasons)
Cada intento de acceso (granted o denied)
queda registrado en el historial de accesos y se emite en tiempo real al panel
Access Live. Los críticos disparan alerta roja full-screen con countdown.
Motivo
Cuándo ocurre
Alerta roja
Membresía vencida
La membresía venció.
✅
Deuda pendiente
La membresía está impaga.
✅
Miembro inactivo
El alumno fue desactivado en el CRM.
✅
Sin huella registrada
La huella/tarjeta no está asociada a ningún alumno.
—
Sede no permitida
La membresía no habilita esta sede.
—
Límite diario alcanzado
El gym tiene configurado un tope de ingresos por día y el alumno ya agotó sus pases del día (se cuentan sólo ingresos autorizados, reset a las 00:00).
✅
Sin apto médico
El gym exige apto médico vigente y el alumno no tiene certificado cargado.
✅
Apto médico vencido
El certificado médico del alumno venció.
✅
🚪 Límite de pasos por día (gyms sin grilla)
Para gimnasios que controlan el ingreso por
biometría/molinete sin reservar clases, la opción Límite de ingresos por día
(Configuración → Control de acceso) limita cuántas veces puede ingresar un alumno en el día.
Opciones 0 (sin límite, default), 1, 2, 3, 4 o 5. Caso típico: "solo dejar pasar
una vez por día a alumnos con cuota al día". Aplica tanto al ingreso por lector (UID
huella/tarjeta/rostro) como al ingreso por PIN.
📥 Reporte «Quién vino y quién no»
El gimnasio sin grilla también registra
ingresos, y necesita saber quién vino y quién paga y no viene. En Control de acceso →
Quién vino, disponible en todos los planes, el reporte lee tanto los ingresos por
molinete o teclado de DNI como los presentes en clase y el check-in por QR o app. Filtra por
fecha y por sede.
Pestaña
Qué responde
Exporta
Vinieron
Quiénes entraron en el período, cuántas veces, días distintos, primer y último
ingreso, concentración horaria y el abono al lado del nombre (las membresías que se
solapan con el período: "A + B" si tiene dos; una congelada se muestra marcada).
CSV y PDF (impresión del navegador)
No vinieron
Quiénes no aparecieron, su plan, cuándo vence y cuándo fue la última vez que vinieron.
Por defecto solo los alumnos con membresía vigente en el período —el que paga y no
viene—; un link incluye a todo el padrón activo. Las membresías congeladas no cuentan
como ausencia. Ordena primero a los que nunca vinieron y después por antigüedad de la
última visita.
CSV con teléfono y email, solo para administradores; el mostrador ve la lista sin
datos de contacto
Dos fuentes, una por vez, nunca
sumadas:Ingreso al establecimiento (molinete / teclado de DNI) y
Presente en clase / check-in por QR (QR, app o presente del profe). El mismo paso físico
puede quedar en las dos, así que sumarlas duplicaría ingresos. La pantalla dice cuál está
mostrando, deja cambiarla con un botón y avisa cuando la otra fuente tiene más ingresos. Con una
sede elegida, "Vinieron" son quienes entraron a esa sucursal y "No vinieron" es el padrón de esa
sede.
🤝 Partner oficial de hardware — GSD Tecnología
GymFlow tiene convenio oficial con GSD Tecnología
para la provisión de molinetes, terminales biométricos y lectores de huella/RFID/facial
para gimnasios.
Recomendamos sus equipos y
garantizamos compatibilidad absoluta
con Access Bridge: instalación verificada en clientes productivos, soporte conjunto y
actualizaciones sincronizadas. Si comprás el hardware con GSD, te conectamos al gimnasio
sin sorpresas.
¿Querés cotizar molinetes o terminales? Escribinos y te ponemos en contacto con GSD.
🖥️ Marcas de hardware
compatibles
El bridge usa arquitectura de plugins:
cada marca de reloj biométrico es un módulo independiente que se puede agregar sin actualizar el
sistema core.
⭐
ZKTeco — Lector USB GARANTIZADO
Modelo verificado: ZK9500 USB. Lector de
huella dactilar por USB, utilizado en el mostrador de enrolamiento. Compatibilidad
garantizada con SDK ZKFinger 5.x (incluido en el instalador). Nota: es un lector de
solo huella, sin teclado ni relay.
⭐
DigitalPersona HID — Lector USB GARANTIZADO
Lectores de huella USB de HID Global / DigitalPersona:
U.are.U 4500 y 5300. Integración vía SDK
DigitalPersona / U.are.U para enrolamiento en mostrador. Alternativa al ZK9500 cuando
el gym ya tiene hardware HID instalado. Lector de solo huella, sin teclado ni
relay.
⭐
ZKTeco — Terminales de molinete GARANTIZADO
Modelo verificado: F22 / F22-ID. Validado
sobre hardware real, incluye verificación online: el terminal no
resuelve por su cuenta, le consulta la membresía a GymFlow y espera la respuesta antes
de mostrar el resultado en su propia pantalla. Así una cuota vencida se ve como acceso
denegado en el display del equipo, y no solamente como un molinete que no abre.
También MA300, K40, F18, C2-260, C3-400 y similares. Soportan huella
dactilar, tarjeta RFID, reconocimiento facial y acceso por PIN desde el teclado físico.
Conexión vía protocolo PUSH o SDK.
🔧
Anviz A PEDIDO
Protocolo OAP/TCP. Huella y tarjeta. Modelos EP300, T5, W1
Pro. Disponible bajo solicitud en 2-5 días hábiles.
Enrollment desde el Bridge: En la pestaña Biométrico aparece el botón
📷 Enrolar en terminal. Al hacer clic, el Bridge crea el usuario en el
terminal vía ISAPI y lo mapea en GymFlow. El alumno completa el registro de su cara
directamente en la pantalla táctil del equipo (o el cajero lo asiste).
Nota: no tiene lector de huella dactilar. Usa cara + tarjeta.
⭐
Uniubi UFace-5 GARANTIZADO
Modelo verificado: UFace-5 (K52). Terminal facial vía API HTTP
en red local. Validado sobre hardware real de punta a punta, incluye
verificación online: el equipo no decide por su cuenta, le consulta la
membresía a GymFlow y espera la respuesta antes de abrir. Una cuota vencida se ve como
«VENCIDA» en la pantalla del terminal y el molinete no abre.
Enrolamiento a distancia: desde la solapa Uniubi UFace-5 del Bridge se
hace doble clic en el alumno y el equipo entra en modo captura — la persona sólo se
para enfrente. La foto queda guardada en GymFlow y viaja sola a las otras sedes.
Nota: el relé del propio equipo queda gobernado por GymFlow, así que no hace falta
cablear un relé externo.
🔧
Uniubi UFace-5 Pro-FP A PEDIDO
Variante del UFace-5 que suma lector de huella
dactilar al reconocimiento facial. Comparte la misma API HTTP que el K52 ya
verificado, así que el acceso por cara funciona igual. El camino de huella todavía
no se probó sobre este hardware: consultanos disponibilidad y lo validamos antes de
la instalación.
🔧
Dahua / Virdi / FingerTec A PEDIDO
Integraciones adicionales disponibles para otras marcas
presentes en el mercado latinoamericano. Consultá disponibilidad y tiempo de desarrollo.
➕
Otras marcas
¿Tu reloj no está en la lista? Consultá con el equipo de
GymFlow. Si el fabricante provee SDK o API documentada, desarrollamos el adaptador para
tu hardware específico.
💡 ¿Tu molinete o reloj no aparece? Comunicáte
con nosotros indicando la marca y modelo. Si el fabricante provee SDK o documentación de
API, podemos desarrollar el adaptador y tenerlo disponible en pocos días hábiles.
🔌 Cómo conectar un molinete ZKTeco al Bridge
Los molinetes ZKTeco no se conectan como
un lector USB: es el molinete el que llama al Bridge, no al revés. Por eso hay
que configurar los dos lados — primero el equipo, después el Bridge. Toda la configuración es
de red; no hace falta cablear nada entre la PC y el molinete.
01
Dale una IP fija al molinete
Antes de empezar, reservale una IP fija
en el router (o configurala en el equipo). Si la IP cambia, el Bridge deja de poder
enviarle altas y huellas nuevas.
02
En el molinete: activá el modo servidor
Entrá a Menú → Red → Configuración Servidor en
Nube (según el modelo puede figurar como Comunicación → Conf. serv.
en nube) y activá el Modo Servidor ADMS. Es lo que en
otros equipos aparece como "PUSH" o "CloudPunch": son el mismo protocolo.
03
Apuntá el molinete a la PC del Bridge
En esa misma pantalla cargá:
• Dirección del servidor: la IP de la PC donde corre el Bridge
• Puerto del servidor:4370
• HTTPS: desactivado Ojo con el HTTPS: si queda activado, el molinete se conecta cifrado, el Bridge
no lo entiende y el equipo aparece como si nunca se hubiera conectado.
04
En el Bridge: agregá el dispositivo
Andá a Configuración → Dispositivos → Agregar
y completá:
• Marca / Tipo:ZKTecoPush (F22 / nueva gen.) para
equipos de la generación nueva; ZKTeco para los modelos antiguos
• Rol:access (molinete). Se usa enrollment solo
para el lector del mostrador
• Dirección IP: la IP fija del molinete
• Puerto:4370,
el mismo que cargaste en el equipo
05
Verificá que se hayan encontrado
El molinete llama al Bridge cada pocos segundos, así que
la conexión aparece sola: en la solapa del equipo vas a ver el número de serie y el
estado en línea, y en el Log una línea de equipo conectado. Si no pasa nada
en un minuto, revisá el HTTPS del paso 3 y el firewall del paso siguiente.
06
Enrolá y probá
Tomá una huella desde el lector del mostrador: se guarda
en GymFlow y viaja sola al molinete (y a los de las otras sedes). Dale unos segundos
antes de probar el dedo en el molinete — el equipo recibe las órdenes de a una por
vez y la huella tarda unos instantes en quedar activa.
⚠️ Dos cosas que
explican casi todos los problemas
El puerto 4370 lo puede escuchar un solo programa a la vez. Si el servicio
de Windows del Bridge ya lo tomó, la ventana de la aplicación no va a poder atender el
molinete (y al revés). Cuando el equipo "no se conecta" pero la red está bien, casi siempre
es esto.
El firewall de Windows tiene que permitir la conexión entrante al puerto
4370 en la PC del Bridge. El instalador lo configura, pero un antivirus con firewall propio
puede volver a bloquearlo.
💡 ¿Varios molinetes? Cada equipo necesita su
propio puerto en el Bridge (4370, 4371, 4372…): cargá ese mismo puerto en
la configuración de nube de cada molinete. El enrolamiento sigue siendo uno solo — la huella
se distribuye a todos los equipos de todas las sedes automáticamente.
Integraciones
Monitor HR en tiempo real — ANT+ Add-on
El módulo de HR monitoring permite proyectar en el TV de la sala el ritmo
cardíaco de cada alumno en tiempo real mediante cinturones ANT+. El instructor
controla la sesión desde el panel web; el Bridge transmite las lecturas vía Socket.IO. No
requiere apps adicionales.
❤️
BPM en tiempo real
Cada cinturón ANT+ transmite el BPM del alumno cada ~1
segundo al Bridge, que lo relaya al display vía Socket.IO. Sin polling, sin delay
perceptible.
🟢
Zonas de entrenamiento
El sistema clasifica automáticamente el esfuerzo:
Zona 1 Verde (<65% FCmax), Zona 2 Azul (65–80%) y
Zona 3 Roja (>80%). El FCmax es 220 - edad por default o
configurable por alumno.
🔥
Calorías acumuladas
Se calculan con la fórmula Keytel (2005) en base a BPM, edad,
peso y sexo del alumno. Se acumulan durante toda la sesión y se muestran en el display.
🎽
Asignación de cinturones
El instructor asigna el serial ANT+ de cada cinturón a cada
alumno desde el panel HR Monitor → tabla de enrolamiento. Un serial por alumno, un
alumno por serial.
📺
Display proyectable
Abrís el HR Display en el TV de la sala (link
desde el dashboard). Se auto-ajusta la grilla según la cantidad de alumnos. Diseño
oscuro optimizado para proyección.
💾
Historial de sesiones
Cada sesión queda registrada en la base de datos con promedio
y máximo de BPM, calorías, y minutos por zona para cada alumno. Datos disponibles para
reportes futuros.
🔄 Flujo de uso
1️⃣
Habilitá el módulo HR en Configuración del Sistema
Admin → ⚙️ Configuración (en el menú
lateral) → activá el toggle ❤️ ANT+ HR Monitoring. Esto hace aparecer
el botón HR Display y el ítem de nav al instructor.
2️⃣
Asigná cinturones a alumnos
Instructor → ❤️ HR Monitor → tabla de enrolamiento. Ingresá
el serial del cinturón (impreso en el dispositivo, ej: A3F2C1) para cada
alumno. También podés ajustar su FCmax individual.
3️⃣
Abrí el display en el TV
Dashboard → sala → botón ❤️ HR. El display
se abre en una nueva pestaña. Poné pantalla completa (F11) y listo. También desde el
panel HR Monitor → botón 📺 Abrir Display.
4️⃣
Iniciá la sesión
Desde el panel HR Monitor, ingresá el nombre de la sesión
(ej: "CrossFit 18hs") y presioná ▶ Iniciar sesión. El Bridge detecta
los cinturones ANT+ activos y comienza a transmitir.
🛜 Hardware requerido
📡
Dongle ANT+ USB
Cualquier dongle USB ANT+ estándar (ej: Garmin ANT+
USB-m, aprox. USD 15). Se conecta a la misma PC donde corre el GymFlow
Bridge.
🎽
Cinturones / brazaletes ANT+
Cualquier cinturón de frecuencia cardíaca con protocolo ANT+
(Garmin HRM, Polar H7/H10, Wahoo TICKR, Decathlon, etc.). Sin restricción de marca.
🖥️
PC con GymFlow Bridge
El mismo servicio Bridge que ya usás para el control de
acceso. Solo necesitás activar el módulo HR desde la app del Bridge.
💡 Modo Mock para pruebas: El Bridge incluye un
modo de simulación que genera lecturas ficticias para
hasta 16 alumnos sin necesidad de hardware ANT+. Ideal para probar el display antes de
comprar el equipamiento.
Gestión del Gimnasio
Cobros online: MercadoPago y Payway Gimnasio+
Tu gimnasio conecta su propia cuenta de MercadoPago, su comercio de Payway
(tarjetas de crédito y débito) o las dos pasarelas, y tus alumnos pagan la cuota desde la app.
Si hay dos, el alumno elige con cuál. La membresía se activa automáticamente sin intervención manual.
💳
Pago desde la app
El alumno ve su cuota pendiente en la app, toca "Pagar" y se
abre MercadoPago o el formulario de tarjeta de Payway (si tenés las dos, elige). Una vez
aprobado, la membresía se activa sola.
🔄
Débito automático
El alumno adhiere su cuota al débito automático desde la app:
con MercadoPago cobra MP cada mes; con Payway, el alumno carga su tarjeta una vez y
GymFlow la cobra en cada vencimiento y renueva la membresía sola. Si el banco rechaza,
reintenta y avisa.
📅
Renovación anticipada
Cuando faltan menos de 10 días para el vencimiento, la app
ofrece "Renovar ahora". El alumno paga y la nueva membresía arranca al día siguiente del
vencimiento actual.
💳
Payway: tarjeta en el momento
Con el comercio de Payway del gimnasio, el alumno carga su
tarjeta de crédito o débito en un formulario con la marca del gym y el cobro se aprueba
o rechaza al instante, con el motivo real del emisor. Los datos de la tarjeta van
cifrados directo a Payway: GymFlow no los ve ni los guarda.
🔔
Webhooks validados
Cada gym configura su propia clave secreta de webhook. Los
pagos se validan con firma criptográfica HMAC-SHA256 y se registran en el log de
auditoría.
MercadoPago, paso a paso
1
Conectá tu cuenta
En Configuración → Cobros online → MercadoPago,
pegá el Access Token de tu aplicación de MercadoPago y tocá Verificar token.
No se cobra nada: solo se comprueba que la credencial sea válida.
2
Configurá el webhook
En la misma pestaña, sección Notificaciones (webhook):
copiá la URL, pegala en tu panel de MercadoPago Developers, marcá los eventos de pagos y
suscripciones y guardá la clave secreta. Es lo que le permite a MercadoPago avisarle a
GymFlow que un pago se aprobó.
3
Suscripciones (opcional)
Prendé «Suscripciones desde la app» para que el
alumno pueda adherirse al débito automático mensual de MercadoPago. MP cobra cada mes
y avisa por el mismo webhook; el alumno lo cancela desde la app cuando quiere.
Payway, paso a paso NUEVO
1
Cargá las claves de tu comercio
Tu comercio de Payway Venta Online tiene una clave
pública (la usa el formulario para cifrar la tarjeta) y una
privada (la usa GymFlow para cobrar). En Configuración → Cobros
online → Payway pegá las dos, elegí el entorno y tocá Verificar claves:
se prueban contra Payway sin cobrar nada. Ahí mismo elegís si aceptás débito además de crédito.
No hay webhook que configurar.
2
Los alumnos pagan con tarjeta
Desde ese momento ven «Tarjeta (Payway)» al pagar
la cuota en la app: cargan la tarjeta en un formulario con la marca de tu gimnasio y el
cobro se aprueba o rechaza en el momento. Desde la ficha también podés generar un link
de pago con tarjeta para mandar por WhatsApp.
3
Débito automático (opcional)
Primero pedile a tu ejecutivo de Payway que habilite en tu
comercio la tokenización de tarjetas y el cobro sin código de
seguridad. Después prendé «Débito automático con tarjeta» en la
misma pestaña. El alumno toca «Adherir mi tarjeta» en la app: paga la
cuota pendiente si tiene una (o se le hace un cargo de validación de $10 que se devuelve
al instante) y la tarjeta queda guardada en Payway. En cada vencimiento, GymFlow crea la
cuota siguiente, cobra el valor vigente del plan, la registra en caja y la factura si
tenés AFIP activo. Si el alumno viene con la tarjeta al mostrador y no tiene
la app, lo adherís vos desde su ficha («🔁 Adherir al débito»): se abre el mismo
formulario en tu pantalla para que él cargue la tarjeta, con el texto de autorización a la
vista. Y desde tu propia web, con la API de GymFlow.
⚠️
Las dos habilitaciones de Payway no vienen activas por defecto y GymFlow no
puede activarlas por vos: sin tokenización no hay tarjeta guardada, y sin cobro sin código de
seguridad no se puede cobrar con el alumno ausente. Con las claves solas ya se cobran cuotas
con tarjeta desde la app; el débito automático recién anda con el trámite hecho. Si un alumno
intenta adherirse antes, recibe un mensaje claro, el cargo de validación se le devuelve, la
cuota que haya pagado en el intento queda paga, y el gimnasio recibe el aviso en el panel.
🔁
Cuando el banco rechaza un débito de Payway: la cuota siguiente no se crea (sin
cuotas fantasma), se reintenta al día siguiente hasta tres veces y, si las tres rechazan, la
adhesión queda pausada: el alumno ve el motivo en la app y puede pagar a mano o
adherir otra tarjeta; el gimnasio lo ve en el panel y en la auditoría. Si el mostrador ya cobró
la renovación, el débito se reprograma y no cobra dos veces. Los débitos corren solo de día.
Vale para las dos
ℹ️
Comisiones: GymFlow no cobra comisión. Solo aplica la de la pasarela que uses
(la estándar de MercadoPago, ~4,99% + IVA, o el arancel de tu comercio de Payway). El dinero
llega directamente a la cuenta del gimnasio.
⚠️
Cobrás online sin facturación electrónica en GymFlow: si MercadoPago o Payway
está activo y AFIP apagado o sin configurar, GymFlow no emite factura por esos cobros y lo avisa
en el panel y en Configuración → Cobros online. Facturar desde otro sistema es válido —la obligación fiscal
es del gimnasio—; el banner se cierra con «Entendido» (queda constancia de quién y cuándo) y el
aviso de Cobros online se puede ocultar con «No mostrar más». Solo el administrador lo ve y lo
confirma.
🔁
Administrar los débitos automáticos: en la misma pestaña, la fila
Débitos automáticos lista a todos los adheridos (MercadoPago y Payway) con plan,
tarjeta, monto adherido y precio vigente (⚠ si difieren), próximo débito, estado y el último cobro
con hasta cuándo dejó paga la cuota. Por fila: pausar, reanudar, cancelar, actualizar el monto al
precio vigente y, con Payway, cobrar ahora. Lo mismo está en la ficha del alumno. Con Payway cada
débito cobra el precio vigente del plan; con MercadoPago el monto queda fijo hasta que lo actualizás
(«Actualizar montos» lo hace para todos los desactualizados).
💡
Un solo listado: todos los pagos online, de MercadoPago y de Payway, aparecen en
Pagos online realizados con su pasarela, estado, monto y detalle, entran a la caja
con su propio medio de pago y se ven en la ficha del alumno. Si tenés las dos pasarelas, el
alumno elige con cuál pagar y con cuál adherirse al débito automático; el alumno cancela desde
la app en cualquier momento y, con Payway, la tarjeta se borra del comercio al cancelar.
Gestión del Gimnasio
Posnet Clover en el mostrador Gimnasio+NUEVO
El posnet Clover (Mini / Flex) como un medio de pago más del sistema. Al cobrar
con «Posnet Clover» el monto aparece solo en el equipo, el alumno pasa la tarjeta y
GymFlow espera la respuesta del banco: aprobado, se registra; cancelado o rechazado, no queda nada.
Sin tipear el monto dos veces, sin cobros fantasma.
🖥️
Un medio de pago más
Aparece en el desplegable de medios de todas las pantallas de
cobro: alta y pago de cuotas (incluida la deuda anterior), shop (también en pago mixto:
el posnet cobra solo su parte), cuenta corriente, diferencia de cambio de plan, cuota
familiar e ingreso manual de caja.
⏳
El sistema espera al banco
En la PC se abre una pantalla de espera con el importe, un
cronómetro y Cancelar. Cuando el posnet responde, el pago se registra con
todo lo de siempre (caja del turno, factura o recibo, historial de la ficha) y guarda la
marca y los últimos cuatro dígitos de la tarjeta.
🌐
Desde cualquier PC del gym
El navegador no habla con el posnet: GymFlow le pasa el cobro al
GymFlow Bridge que tiene el equipo y el resultado vuelve por el mismo
camino. Un posnet por Bridge; con varias sedes, un Bridge por sede y cada cobro va al
posnet de la sede de la caja abierta.
📺
Pantalla de bienvenida propia
Mientras el equipo está libre muestra el texto que escribís en
Configuración (hasta 10 líneas, {gym} = nombre del gimnasio), con vista previa.
Los cambios llegan al posnet al instante. Después de cada cobro aprobado agradece y vuelve
a la bienvenida.
1
Preparar el posnet
Instalá la app Secure Network Pay Display
desde el App Market de Clover y asignale una IP fija en el router
(reserva por MAC). Es el modo en que Clover acepta cobros de un sistema externo por la
red local.
2
Enlazar el Bridge
En una PC de la misma red, en el GymFlow Bridge activá la
pestaña 🖥️ Posnet Clover, cargá la IP y tocá Conectar.
La primera vez el posnet muestra un código de enlace: el Bridge lo
muestra en grande (y también GymFlow, en Configuración); confirmalo en el equipo. Queda
guardado y el Bridge conecta solo al reiniciar la PC.
3
Activarlo en GymFlow
En Configuración → Membresías y facturación → Posnet
Clover prendé el toggle: se crea el medio de pago en Caja. Ahí ves el estado del
equipo en vivo (listo, cobrando, esperando enlace, sin conexión), escribís la bienvenida
y elegís si aceptás crédito además de débito.
ℹ️
Cuando algo sale mal: si el alumno cancela o la tarjeta es rechazada, no se
registra nada y el cajero ve el motivo. Si el posnet está apagado o el Bridge cerrado, el sistema
lo dice antes de intentar. Un cobro sin respuesta vence solo a los dos minutos. Si el banco aprobó
pero el registro falló, el cajero recibe un aviso y el cobro queda en Últimos cobros
como «aprobado sin registrar», con monto, tarjeta y hora, para registrarlo a mano o devolverlo
desde el equipo. Un monto distinto del pedido tampoco se da por aprobado.
💡
En la caja y en los reportes el medio queda identificado como posnet: no se
mezcla con el efectivo del arqueo ni con MercadoPago. El medio «Posnet Clover» es del sistema:
no se renombra ni se borra, solo se ordena; apagar el toggle lo oculta.
Gestión del Gimnasio
Multi-sede Centro · Gimnasio + addon · Red
Cuando tu gym crece más allá de un local, GymFlow deja de tratar la "sede" como algo opcional y la convierte en el eje operativo: cada venta, cobro, lote de stock y turno de caja queda vinculado a una sucursal concreta. Un solo panel, datos separados donde importa y consolidados donde hace falta.
Concepto: sede central + sucursales
Todo gym multi-sede nace con una Sede Central — la dirección principal del local original. Después sumás sucursales (BIS, Palermo, Villa Crespo, etc.). El sistema auto-crea la Central al activarse un plan con soporte multi-sede, y si la creaste antes del fix te muestra un banner azul "Te falta la sede central" con un clic para resolverlo.
El nav del admin muestra el ítem "Sedes" solamente cuando el plan efectivo soporta más de una sede (Centro o Red). Plan Gimnasio (1 sede por definición) opera como single-sede, sin los gates de multi-sede ni la pantalla de gestión.
Addon: sumar sedes al plan Centro
El plan Centro incluye 3 sedes y permite sumar sedes extra por un adicional mensual por sede ($127.470 ARS por sede al mes). El plan Red trae sedes ilimitadas sin addon. El plan Gimnasio no admite sumar sedes — si abrís una sucursal y necesitás operarla en el sistema, pasás a Centro.
Lo que se separa por sede
💰
Turno de caja por sede
Cada turno nace con una sede asignada — no se puede abrir "sin sede". Las ventas y cobros del turno quedan atados a esa sucursal. Podés tener una caja abierta por sede a la vez y pasar de una a otra con el selector de sede; cada una cierra con su propio arqueo.
📦
Inventario de shop separado
Cada lote de stock pertenece a una sede física. El FIFO de venta consume primero los lotes de la sede donde se hace la venta. Podés transferir stock entre sedes preservando el costo y la antigüedad del lote original.
🧾
Cobros de membresía con sede
Cada pago de cuota se liga al turno de caja, que a su vez tiene sede. Los reportes financieros por sede dejan de tener ingresos "fantasma" sin ubicación. Los pagos online (cuota por MercadoPago, cuota familiar, cuenta corriente desde la app) van a la caja abierta de la sede del alumno; si esa sede no tiene caja abierta, los absorbe la próxima apertura de esa misma sucursal.
👥
Permisos de staff por sede
Desde el equipo asignás a cada cajero / instructor a una o más sedes. Al entrar a Caja, Shop o reportes, solo ve movimientos y ventas de sus sedes. El administrador del gimnasio ve todo.
🎨
Branding por sede
Cada sede puede tener su propio logo y paleta de colores. Si no lo define, hereda el branding del gym. El QR de check-in de cada sede muestra la identidad correcta.
📍
Alumnos con sede preferida
Cada alumno tiene una sede preferida. Podés transferirlo entre sedes con un click — migra su vinculación en membresías restringidas. El historial (asistencias, pagos) queda intacto.
Lo que se unifica
Catálogo de productos: una sola lista para todas las sedes. Lo que cambia es el stock físico por sede.
Alumnos y membresías: el padrón es único. Un alumno "pertenece al gym", no a una sede. La restricción de sede es una propiedad de la membresía (todas las sedes, o una lista de sedes específicas).
Planes y precios: los planes de membresía son del gym, no de la sede. Si querés precios distintos por sede, lo resolvés con convenios.
Biblioteca de sesiones WOD y plantillas PT: compartidas entre todas las sedes. Un WOD creado en Palermo puede ejecutarse en Villa Crespo al mismo tiempo.
Reportes consolidados: el admin tiene una "vista global" opcional que cruza todas las sedes. Los breakdowns por sede y por cajero son el default del panel financiero.
Flujo operativo en un día típico
Cajero llega a su sede: entra a Caja → elige su sede en el selector → abre turno con monto inicial de efectivo.
Operatoria: vende productos, cobra cuotas, registra movimientos. Todo queda atado al turno de esa sede.
Cambio de sede: elige la otra sede en el selector; si no tiene caja abierta ahí, abre una. La de la sede A queda abierta con su arqueo pendiente.
Fin del día: cierre de turno con arqueo. Diff cero o con nota de explicación.
Modo grupal vs modo por usuario
Las cajas pueden funcionar en dos modos configurables por el admin:
Por usuario (default): cada cajero tiene su propio turno. Arqueo individual al cierre.
Grupal: un solo turno por sede donde todos cargan movimientos. Coexisten varios grupales simultáneos si hay varias sedes (uno por sucursal).
En ambos modos todo turno nace con sede, y puede haber una caja abierta por sede al mismo tiempo: una por usuario por sede en modo Por usuario, una grupal por sede en modo Grupal.
Gestión del Gimnasio
Configuración del Sistema Todos los planes
Panel centralizado de configuración del gimnasio. Desde ⚙️ Configuración
en el menú lateral controlás módulos, reglas de negocio, notificaciones automáticas y políticas de acceso.
Cada gimnasio tiene su propia configuración independiente.
Módulos activables
Cada módulo se activa o desactiva
con un toggle. Al desactivar un módulo, desaparece de todo el sistema (menú, badges, perfiles).
Módulo
Descripción
Estado por defecto
❤️ ANT+ HR Monitoring
Monitor de frecuencia cardíaca en tiempo real. Display por sala para TV, panel de instructor con BPM en vivo. Requiere GymFlow Bridge con cinturones ANT+.
Inactivo
🩺 Apto Físico
Gestión del certificado médico. Al desactivarlo, el apto no se muestra en la lista de alumnos ni en el perfil, y los badges de 🩺 desaparecen del sistema.
Activo
🧾 Factura Electrónica AFIP
Emisión de facturas electrónicas a través de AFIP/ARCA. Soporta Monotributo (Factura C) y Responsable Inscripto (Factura A/B). Cada gym configura sus credenciales.
Inactivo
📜 Términos y condiciones del gimnasio
Texto libre del gimnasio (reglamento, cláusulas) que el alumno debe leer y aceptar —«He leído y acepto todas las condiciones»— la próxima vez que abre la app o el portal web; hasta que no acepta, no puede seguir. Cada aceptación queda registrada con fecha y hora, versión y texto exacto, y se ve en la ficha. Al publicar un texto nuevo se elige si todos deben volver a aceptarlo; las versiones anteriores no se pisan. En Configuración → App del alumno.
Inactivo
Reglas de acceso y control
Regla
Descripción
Estado por defecto
🚫 Bloquear check-in sin apto vigente
Los alumnos sin certificado médico vigente no pueden hacer check-in por QR. El alumno ve un mensaje en la app indicándole que necesita presentar su certificado. Requiere que "Apto Físico" esté activo.
Inactivo
🏦 Requerir turno de caja abierto para vender
El Shop no permite registrar ventas si el cajero no tiene un turno de caja abierto. Al desactivarlo, las ventas se registran aunque no haya turno abierto (útil para gyms que no usan el módulo de caja). Las ventas sin turno no quedan vinculadas a ningún arqueo.
Activo
💰 Modo de caja (Por usuario / Grupal)
Por usuario (default): cada usuario abre y opera su propio turno; los admins pueden ver y cerrar las cajas de otros. Grupal: una única caja compartida por gimnasio (o por sede). Cualquier usuario con acceso carga movimientos; solo un administrador o quien la abrió puede cerrarla. Mientras haya una caja grupal abierta en una sede, nadie puede abrir otra en esa misma sede. Al cambiar de modo se cierran automáticamente los turnos abiertos (sin arqueo) con audit log.
Por usuario
🎟️ Pase por día
Qué plan se vende como pase de un día desde la ficha del alumno (botón «🎟️ Pase por hoy»). El pase vale solo ese día en molinete, PIN y QR, convive con la membresía vigente y entra a caja y factura como una cuota. Precio, franja horaria, salas y sedes se configuran en ese plan. En Configuración → Membresías y facturación.
Sin plan (apagado)
Notificaciones push automáticas
Cada tipo de push automático
se activa o desactiva individualmente. Requiere que los alumnos tengan la app instalada.
Notificación
Descripción
Estado por defecto
🔔 Recordatorio push de clases
Envía un push 30 minutos antes de la clase reservada con el nombre y horario de la clase.
Activo
📋 Aviso de vencimiento de membresía
Push automático cuando la membresía vence en los próximos 3 días. Se envía una sola vez por membresía.
Activo
🎂 Saludo de cumpleaños
Push automático el día del cumpleaños. Título y mensaje editables con placeholders: {nombre} (primer nombre del alumno) y {gym} (nombre del gimnasio). Se envía una sola vez por año. Requiere fecha de nacimiento cargada.
Activo
✏️
Personalización del mensaje de cumpleaños: En la configuración podés editar
el título (máx 50 caracteres) y el mensaje (máx 100 caracteres). Ejemplo por defecto:
Título: 🎂 ¡Feliz cumpleaños, {nombre}! Mensaje: Todo el equipo de {gym} te desea un gran día. ¡Pasá a entrenar! 💪🎉
Reglas de reservas
Configuraciones que controlan
el comportamiento de las reservas, el check-in y el acceso de los alumnos.
⏳
Tiempo límite de cancelación sin penalidad
Establece la anticipación mínima para cancelar una reserva
sin perder el crédito. Si el alumno cancela pasado este límite o falta a la clase, se
considera ausente y se le descuenta la sesión del plan.
Valor: el que quieras, escrito en minutos u horas — 10, 15, 20 minutos,
3 horas, 2 días… Con 0 se puede cancelar hasta que la clase empieza; el tope es 7 días.
Default: 2 horas antes.
⌚
Gracia antes de marcar Ausente
El alumno puede registrar su presencia durante
toda la clase: por QR, con el presente del profe o desde el mostrador.
Cuando la clase termina, el sistema espera además esta ventana de gracia y recién ahí
marca como Ausente a los que no ficharon. Un Ausente marcado por error se revierte con
un clic desde Asistencias o desde Mis clases del profe.
Opciones: 5, 10, 15, 20, 30 minutos o 1 hora.
Default: 15 minutos.
🚪
Límite de ingresos por día
Cuántas veces puede cruzar el molinete un alumno con la cuota
al día. Es independiente del crédito: cuenta puertas, no cupos — aplica también a los
planes ilimitados y funciona aunque "El molinete descuenta crédito" esté apagado. Si el
alumno llega al límite, rebota sin gastarle un cupo. El conteo se resetea a las 00:00 y
solo suma ingresos autorizados. Vive en la pestaña 🚪 Control de acceso.
Opciones: 1, 2, 3, 4, 5, Sin límite.
Default: Sin límite.
📅
Anticipación máxima de reserva
Los alumnos solo pueden reservar clases dentro de los
próximos N días desde hoy. Si la clase cae fuera de ese rango, la app no les muestra
el botón de reserva.
Opciones: 3, 5, 7, 10, 14, 21 o 30 días.
Default: 14 días.
🚫
Penalización por inasistencias
Para el que reserva y no viene. Si un alumno acumula
ausencias en la misma clase (reservas marcadas Ausente: no canceló a tiempo y no fue),
se lo bloquea temporalmente para volver a reservar esa franja desde la app. El mostrador
sigue pudiendo anotarlo. Se configura cuántas faltas disparan el bloqueo (2 a 5), la
ventana de conteo en días (número libre, 1 a 365) y la duración del bloqueo como número
libre en horas o días, con la equivalencia a la vista (hasta 90 días).
Default: apagada.
⚠️
Importante: Los cambios en las reglas de reservas aplican inmediatamente
a todas las reservas futuras. Las reservas existentes no se ven afectadas por los cambios
retroactivamente.
Integraciones
API propia Gimnasio+
Para que el sitio web del gimnasio —u otro sistema— hable con GymFlow en
nombre de ese gimnasio: leer los planes con precio real, registrar y validar alumnos, generar el
link de pago e informar cobros. Se administra desde Integraciones → API propia
y la documentación técnica completa se descarga en PDF desde ese mismo panel.
🔑
Una clave por sistema
El admin crea una clave con nombre ("Web del gimnasio") y
elige uno por uno qué puede hacer. La clave se muestra una sola vez: el sistema guarda
una huella, no la clave. Se regenera o se revoca en un clic y los accesos mueren en el
acto.
⏱️
Token de 12 horas
La clave sirve para pedir un token; el token es el que opera.
Así la credencial permanente no viaja en cada llamada. Al vencer, el sistema conectado
pide otro y sigue.
🎯
Permisos granulares
Once permisos independientes: leer planes; consultar alumnos
(que incluye ver el padrón sin contacto y ver teléfono y mail, también otorgables por
separado); registrar y editar; validar el login; generar links de pago; informar pagos;
consultar pagos; ver el estado de cuota; y leer asistencias y accesos. Lo que no está
tildado, no se puede.
🧾
Todo auditado
Cada llamada queda en la pestaña Actividad (endpoint,
resultado, IP) y cada acción con consecuencias aparece en la Auditoría del sistema
firmada con el nombre de la clave que la hizo.
Qué habilita cada permiso
Permiso
Qué puede hacer el sistema conectado
Leer planes
Lista de planes activos con precio, duración, clases incluidas y bonificación de
bienvenida. Si el plan tiene bonificación, viene también el precio bonificado ya
calculado por GymFlow, para que la web no replique el redondeo. Para un alumno con
ficha, el precio que se le cobra es el suyo (con convenio y cuotas bonificadas ya
usadas), que se pide por alumno.
Consultar alumnos
Buscar por email o DNI y ver el estado de la membresía: vigente, vencida, con deuda
o sin membresía.
Ver el padrón (sin datos de contacto)
Buscar por nombre y ver la ficha sin teléfono ni mail.
Ver teléfono y mail del alumno
Habilita buscar por email y ver los datos de contacto.
Ver el estado de cuota
Listar las cuotas de un alumno: importe, período, si está paga, pendiente o parcial, y cuándo vence.
Registrar y editar alumnos
Crear fichas nuevas con las mismas reglas del mostrador (email único, DNI
normalizado, PIN = DNI) y actualizar datos básicos. La baja no se hace por API.
Validar el login del alumno
Verificar email y contraseña de la app para que el alumno entre a la web del
gimnasio con su cuenta de GymFlow. Incluye "olvidé mi contraseña": la web pide que
GymFlow le mande al alumno el mail de recuperación (el mismo link de 1 hora que usa
la app); nunca devuelve el token y responde siempre igual, exista o no el email.
Generar links de pago
Pedir un link de Checkout Pro con la cuenta de MercadoPago del gimnasio. Cuando el
alumno paga, GymFlow recibe el aviso y acredita la membresía solo. Incluye
"Ya me registré / Completar pago": con el email o el DNI, la web pide el
link de la cuota impaga y GymFlow reusa el vigente o genera otro, nunca otra membresía.
Regla de un solo checkout pendiente por alumno: pedir un link para otra
cuota cancela el anterior sin pagar; alcanza solo a los links generados por la API.
Informar pagos
Acreditar una cuota cobrada por otra vía (transferencia, pasarela propia). Es
idempotente: reintentar con el mismo número de operación nunca duplica.
Consultar pagos
Ver los pagos que entraron por la API, por referencia o por alumno.
Leer asistencias
Ingresos por molinete, QR o PIN y presentes en clase, para análisis de uso o
retención.
💡
Documentación para el desarrollador: en la pestaña
Documentación del módulo está la referencia completa —cómo pedir el token,
cada endpoint con sus campos, respuestas de ejemplo y códigos de error—, un historial de
cambios por fecha y un botón para descargarla en PDF y mandársela a quien programa el
sitio.
ℹ️
Es de servidor a servidor: la clave se usa desde el backend del sitio,
nunca desde el navegador. Para probar el circuito de cobro completo conviene usar una cuenta
de prueba y las credenciales de prueba de MercadoPago.
Integraciones
Link de inscripción Gimnasio+
Una URL propia del gimnasio para compartir o poner como botón en su web:
quien entra completa sus datos y queda registrado en el padrón de alumnos. Sin programar nada.
Se activa desde Integraciones → Link de inscripción.
🔗
URL propia del gimnasio
El panel entrega el link listo para copiar, el HTML del botón
para pegar en la web y un QR para imprimir. Se comparte por WhatsApp, va en el link de
Instagram o en el mostrador.
🎨
Con la marca del gimnasio
La página muestra el logo, el nombre y los colores del gym.
Es responsive: la mayoría entra desde el celular.
📋
Cae en el padrón
La ficha nace con las reglas del mostrador y queda como
Sin membresía. En pantalla y por mail el alumno recibe los tres datos
para entrar por primera vez —el código del gimnasio, su email y una contraseña
provisoria de 4 dígitos— más un botón para entrar al portal web sin instalar nada. Al
entrar elige su propia contraseña y la provisoria deja de servir.
🛡️
Con frenos
Arranca apagado. Activo, admite 8 inscripciones cada 15
minutos por dispositivo y 40 por hora en todo el gimnasio, con trampa anti-bot y sin
aceptar emails ni DNI repetidos.
ℹ️
Qué NO hace: no cobra, no asigna plan y no abre el molinete. Reemplaza el
tipeo del alta, no el cobro. Si además querés cobrar desde tu web, eso se hace con la
API propia.
💡
Datos obligatorios: por defecto pide nombre y email. Si en Configuración
marcás DNI, teléfono y fecha de nacimiento como obligatorios, el formulario los exige — la
misma regla que aplica al registro desde la app. Con molinete, conviene pedir el DNI: es el
PIN del alumno. Aparte, en Integraciones → Link de inscripción el
interruptor 🏠 Pedir domicilio y teléfono de emergencia (apagado por defecto) suma
esos dos campos como obligatorios solo en el link público; los datos quedan en la ficha del
alumno, solapa Salud.
✉️
Mail de bienvenida y contraseña olvidada: al registrarse por el link (o por
la API), GymFlow le manda al alumno un mail con los tres datos que pide la pantalla de ingreso
—Código del gimnasio, Email y Contraseña provisoria— y un botón Entrar al portal con
el código ya cargado. El mostrador no puede ver esa contraseña después: solo blanquearla. Si
el alumno la olvida, desde la app pide un link por mail de un solo uso que dura 1 hora. Esa
recuperación no está en el portal web.
Cumplimiento fiscal
Facturación electrónica AFIP/ARCA Gimnasio+
Emisión de facturas electrónicas con CAE directo desde GymFlow. Soporta
Monotributo (Factura C) y Responsable Inscripto (Factura A/B). Cada gimnasio configura sus
propias credenciales (CUIT, certificado, clave) en ⚙️ Configuración → Factura Electrónica AFIP.
Emisión automática por origen
Tres toggles controlan cuándo
se emite automáticamente una factura. En modo Manual, GymFlow pregunta al operador
antes de emitir.
Origen
Comportamiento Activo
Comportamiento Inactivo
🛒 Ventas del Shop
Emite automáticamente al cerrar la venta.
Pregunta al operador "¿Emitir factura?" con modal.
💳 Cobros de Membresías
Emite automáticamente al marcar como pagada.
El cobro se registra pero la factura queda pendiente para emisión manual.
💙 Checkout MercadoPago
Emite al recibir el webhook de aprobación.
Pago procesado pero factura pendiente.
Notas de Crédito (parciales y totales)
Cada factura emitida (status ✅ Emitida)
muestra en su detalle un botón 🔄 Emitir Nota de Crédito. Abre un modal con dos opciones:
Total: acredita el saldo completo disponible de la factura.
Parcial: ingresá un importe específico (bloqueado al saldo restante).
El mapeo AFIP es automático
(Factura A → NC A, B → NC B, C → NC C). La NC se asocia al comprobante origen vía CbtesAsoc,
hereda receptor y concepto, y respeta el ratio IVA 21% si corresponde. El panel de facturas muestra
el saldo acreditado y bloquea nuevas NC cuando la factura está totalmente acreditada.
Los KPIs del libro IVA Ventas restan las NC del neto/IVA/total.
Impresión térmica del comprobante
Toggle maestro en Configuración
que habilita la impresión del ticket fiscal (80mm o 58mm) con QR AFIP validable en afip.gob.ar.
Tres sub-controles aparecen cuando se activa:
🔀
Modo de impresión
Auto: dispara window.print() sin preguntar (ideal
con Firefox + print.always_print_silent = true y la comandera como impresora
predeterminada del SO). Preguntar: muestra "¿Imprimir comprobante?" tras
cada emisión exitosa.
📐
Ancho del papel
Select 80 mm (default, la mayoría de las
comanderas) o 58 mm (mini impresoras). Ajusta QR, padding y font-size
automáticamente.
👁
Vista previa
Botón que abre un popup con la última factura emitida aplicando
ancho y logo actuales, sin imprimir. El logo del gym se toma automáticamente del que
subas en el Dashboard.
Cada factura del listado tiene
un botón 🖨 Imprimir ticket permanente para reimpresión manual. El flujo auto-print
funciona también en Shop (POS), membresías (cobro + alta con pago) y NC emitidas desde el panel.
Bloqueo del ambiente en Producción
🔒
Una vez que el gimnasio elige 🚀 Producción y guarda la configuración AFIP,
el selector de ambiente desaparece de la UI y queda fijo. Esto previene que alguien rebaje
por accidente a Homologación y pierda la continuidad de numeración fiscal. Para revertir
(casos de debug de certificado) hay que gestionarlo con el equipo de soporte.
App del Alumno
Sistema de reservas Gimnasio+
Los alumnos reservan su lugar en la clase con un toque desde la app. El
sistema controla el cupo y gestiona las cancelaciones automáticamente.
📅
Reserva desde la app
El alumno ve el horario semanal, elige la clase y reserva en
un toque. Recibe confirmación y recordatorio automático.
❌
Cancelación con ventana
El administrador define la ventana de cancelación sin
penalidad. Cancelaciones fuera de esa ventana se marcan como ausente sin devolver el
crédito.
🎟️
Créditos automáticos
Cada reserva descuenta un crédito. Si la cancelación es a
tiempo, el crédito se devuelve automáticamente.
🔢
Control de cupo
Cuando una clase llega al cupo máximo, el botón de reserva se
deshabilita en la app para todos los alumnos.
👥
Cupos ocupados en vivo (scheduler)
La vista semanal de Programación Semanal (que
ven admin, staff/recepcionista e instructores) muestra en cada slot
reservados/cupo · N libres. Colores: gris (ok), naranja
si quedan ≤3, LLENO en rojo si se agotó. Cuenta sólo
las reservas vigentes y los presentes (cancelados/ausentes no suman).
Desde Configuración → Reservas y clases se puede cambiar el contador a
lugares que quedan: 6 lugares y COMPLETO
al agotarse, para leer la disponibilidad sin restar.
⚡
Sincronización en tiempo real
Cuando un alumno reserva/cancela desde la app o el portal web,
la grilla del scheduler y la vista Asistencias del admin se actualizan al instante
en tiempo real a las pantallas conectadas de ese gimnasio.
Los contadores cambian sin recargar la página.
🛎️
Acceso a Asistencias para recepción
Los usuarios rol staff (recepcionista) ahora
tienen el link Asistencias directo en su menú (antes solo admin lo tenía). Ideal
para control interno sin escalar permisos.
App del Alumno
Calculadora RM Personal Todos los planes
Seguimiento del peso máximo de cada ejercicio por alumno, con gráfico de
evolución. Único en Argentina.
1
El instructor activa el QR de RM
Al finalizar el WOD, el instructor activa el QR de carga
de RM desde el panel. Aparece en el TV del gym.
2
El alumno escanea y carga
Cada alumno escanea el QR con la app y carga el peso
máximo con el que ejecutó el ejercicio.
3
Cálculo automático del RM
El sistema calcula el RM (1 repetición máxima), actualiza
el récord personal si lo supera y guarda el historial con gráfico de evolución.
🏋️
Los alumnos pueden ver su historial de RM por ejercicio desde "Mi progreso" en la app. El
gráfico muestra la evolución mes a mes.
App del Alumno
Portal editorial Gimnasio+
La pantalla de inicio de la app del alumno, personalizable por el
administrador con contenido editorial del gym.
📰
Bloques de contenido
Creá bloques de texto con imagen, estilo banner, que los
alumnos ven al abrir la app. Noticias, promos, novedades.
🎨
Personalizable
Cada bloque puede tener título, cuerpo de texto e imagen. El
admin define el orden y la visibilidad de cada bloque.
Planes
Comparativa de planes
Todos los planes incluyen 30 días de prueba gratuita sin tarjeta de
crédito.
GymFlow registra automáticamente un log de auditoría completo de todas las
operaciones sensibles: cada cambio queda asociado a quién lo hizo y cuándo.
Área
Eventos auditados
💰 MercadoPago
Pagos aprobados y rechazados, suscripciones creadas y canceladas, cobros recurrentes
automáticos, facturas subidas y borradas
🔐 Autenticación
Login de usuarios del panel (éxito y fallo), verificación OTP, activación y
desactivación de 2FA
👥 Miembros
Alta, baja y modificación de alumnos, membresías, cambios de contraseña, reset de
PIN, datos de salud, check-in por QR
🏋️ Operaciones
Salas, sedes, sesiones, horarios, ejercicios, templates, cambio manual de estado de
reservas
💵 Finanzas
Movimientos de caja, renovaciones de membresía, suscripciones manuales
📢 Comunicaciones
Envío de notificaciones push masivas, creación y eliminación de códigos de
bienvenida
👤 Equipo
Gestión de usuarios, equipo de trabajo, perfiles, registros de gimnasios,
convenciones
📖
Legible para el dueño
En Auditoría (menú Sistema) cada acción
aparece con un nombre legible en vez del código interno, y el detalle traducido (Pagado, Plan,
Medio, Motivo, esperado antes/después) con los montos formateados.
🔢
Resumen del período
Arriba del listado, un mini-resumen del período filtrado:
Pagos, Altas, Bajas e Ingresos al panel. Son conteos, no plata.
📥
Exportar a CSV
Descarga el filtro actual (hasta 10.000 filas, listo para
Excel) con la acción legible y su código.
🎯
Filtros rápidos
Un clic sobre el operador o sobre el alumno u objeto de cada
fila filtra por él. Además, filtro por tipo agrupado (Caja/Shop incluye anulaciones).
🔒
Seguridad adicional: Los webhooks de MercadoPago se validan con firma
criptográfica HMAC-SHA256 en producción. Las conexiones a APIs externas usan verificación
SSL completa. Los montos de pago se validan contra el monto esperado antes de activar
suscripciones.
App del Alumno
Portal Web para Alumnos Gimnasio+
Además de la app móvil, los alumnos pueden acceder a su cuenta desde
cualquier navegador — sin instalar nada. El portal web replica las funciones principales de la
app Flutter.
🏠
Inicio / Portada
El alumno ve su membresía activa, días restantes, créditos
disponibles y la próxima clase reservada. Además, los bloques editoriales configurados
por el admin (imágenes, texto).
📅
Agenda semanal con bottom sheet
Grilla de clases por semana, con filtros por sede. Cada
slot tappable abre un bottom sheet con detalle completo (paridad Flutter):
fecha larga, hora, sala, profe, sede, cupos N/M reservas. Badges contextuales:
● EN VIVO si la clase está en curso ahora, ⚠️ quedan ≤3 lugares,
Suspendida con motivo, Lleno. Botón primario adaptativo: Reservar lugar /
Cancelar reserva / Clase pasada / Lleno / Suspendida.
✅
Mis Reservas con cancelación inteligente
Historial con estadísticas: reservadas, asistencias, ausencias
y créditos disponibles. Botón ✕ por reserva con warning de
Tiempo límite de cancelación: si ya pasó el plazo, avisa que la reserva se marcará
Ausente sin crédito. Si está dentro del plazo, devuelve el crédito automáticamente.
🏋️
RMs e historial
Lista de ejercicios con el PR actual. Al tocar un ejercicio,
se despliega el historial completo de cargas, repeticiones y RM estimado por fecha.
👤
Perfil
Datos personales, plan activo, vencimiento, clases
disponibles y estado del apto médico. Incluye código de check-in y botón de logout.
🔐
Autenticación
Login con email, contraseña y código del gym (slug). Token
Bearer idéntico a la app Flutter. Auto-login silencioso si hay sesión válida.
💡
Acceso: Los alumnos acceden al portal desde /portal/ en tu dominio GymFlow. No requiere instalación ni
descarga. Funciona en cualquier navegador moderno, celular o PC.
ℹ️
API compartida: El portal web consume las mismas APIs que la app Flutter.
Reservas, cancelaciones y cambios se reflejan en tiempo real en ambos canales.
🔗 Embeber el portal en tu sitio web
Si tu gym tiene su
propia web, podés incrustar el portal de alumnos directamente con un iframe. Desde el panel de
admin (QR Check-in) tenés el código listo para copiar con el slug de tu gym ya
incluido — los alumnos solo necesitan email y contraseña. Ejemplo genérico:
<!-- Portal GymFlow para alumnos -->
<iframe
src="https://gymflow.com.ar/portal/"
width="100%"
height="700"
frameborder="0"
style="border:none;border-radius:12px;max-width:480px;margin:0 auto;display:block;"
allow="clipboard-write"
title="Portal de alumnos GymFlow">
</iframe>
💡
Personalización: Podés ajustar height y
max-width para que se adapte al diseño de tu página. El portal
se adapta automáticamente al tamaño del contenedor.
Seguridad
Portabilidad de datos Todos los planes
Descargá una copia completa de todos los datos de tu gimnasio en formato
XML, en cualquier momento. Tus datos son tuyos.
📦
Export completo
Alumnos, membresías, pagos, planes de entrenamiento,
nutrición, ejercicios, sesiones, movimientos de caja, historial de acceso, chat, soporte
y configuración completa — todo en un solo archivo.
🔒
Siempre disponible
La exportación funciona incluso con la suscripción vencida.
Es un derecho, no una funcionalidad premium. Accedé desde Facturación → Portabilidad de
datos.
🔮
A prueba de futuro (auto-discovery)
El exportador tiene una pasada de auto-discovery:
al generarse el XML se revisan todos los datos de tu gimnasio y se agrega automáticamente todo módulo nuevo
aunque la exportación todavía no se haya actualizado.
Garantiza que los módulos futuros de GymFlow (nuevas features, nuevos datos) salgan en el
export sin tener que esperar un update. Las tablas auto-descubiertas aparecen listadas en
el bloque <_auto_discovered> al principio del XML para transparencia.
💡
Formato XML: El archivo generado es un XML estándar que podés abrir con
cualquier editor de texto, Excel, o importar a otro sistema. Los campos sensibles
(contraseñas, secretos OTP) se excluyen automáticamente.
🛡️
Redacción de campos sensibles en módulos nuevos: lo que se detecta automáticamente pasa por el mismo
filtro de seguridad: contraseñas, claves, certificados y cualquier otro dato sensible salen
reemplazados por [redacted] en el XML.
También se
excluyen completamente los registros internos de sesión, de autenticación y de auditoría.
Facturación
Renovación directa Todos los planes
Si tu suscripción venció, no necesitás contactar a nadie. Podés pagar
directamente desde la pantalla de "Suscripción vencida".
01
Pantalla de expiración
Al vencer tu suscripción, cualquier usuario del gym ve la
pantalla de "Suscripción vencida". Si sos admin, además ves tu plan, ciclo y precio.
02
Pagar con MercadoPago
Hacé clic en "Pagar con MercadoPago". Se genera un link
de checkout seguro. Podés pagar con tarjeta de crédito, débito, transferencia,
Rapipago o Pago Fácil.
03
Reactivación automática
Una vez acreditado el pago, la suscripción se reactiva
automáticamente. No necesitás esperar ni contactar soporte.
📦
Exportación de datos: Incluso con la suscripción vencida, podés descargar
todos tus datos en XML desde la misma pantalla de expiración.
Gestión del Gimnasio
Facturación Electrónica AFIP Gimnasio+
Emití facturas electrónicas válidas ante AFIP directamente desde GymFlow. Emisión automática al cobrar membresías y vender productos, con CAE, QR fiscal y Libro IVA Ventas integrado.
⚡
Emisión automática
Al cobrar una membresía o vender un producto del Shop, la factura se emite sola contra AFIP vía WSFEv1. Sin intervención del operador, sin abrir otra web.
🧾
Tipo de comprobante inteligente
El sistema elige Factura A, B o C automáticamente según la condición de IVA del gimnasio y el tipo de receptor. IVA 21% desglosado para Responsables Inscriptos.
📊
Libro IVA Ventas
Exportá el Libro IVA Ventas como CSV compatible con Excel. Todos los campos que AFIP requiere: fecha, tipo de comprobante, neto gravado, IVA 21%, total, CAE y vencimiento.
📱
QR fiscal
Cada factura genera un código QR conforme a la normativa de AFIP. Verificable por cualquier persona con su celular desde la web de AFIP.
Configuración inicial
01
Generar certificado digital en AFIP
Desde la web de AFIP, en "Administración de Certificados Digitales", generá un CSR y subilo para obtener el certificado (.crt). Este certificado autoriza a GymFlow a emitir comprobantes en tu nombre.
02
Habilitar punto de venta electrónico
En AFIP, dar de alta un punto de venta tipo "Web Services" para que acepte comprobantes electrónicos vía API.
03
Cargar datos en GymFlow
En Configuración → Facturación AFIP, subí el certificado (.crt), la clave privada (.key), y completá: CUIT, razón social, condición de IVA (Responsable Inscripto o Monotributista) y número de punto de venta. El sistema valida la conexión al guardar.
Concepto según tipo de operación
Operación
Concepto AFIP
Fechas de servicio
Membresía
Servicios (Concepto 2)
Inicio y fin de la membresía
Venta del Shop
Productos (Concepto 1)
No aplica
Triggers de emisión automática
Acción
Módulo
Resultado
Crear membresía con pago
Alumnos → Asignar membresía
Factura de servicio emitida
Registrar pago de cuota
Perfil alumno → Pagar cuota
Factura de servicio emitida
Pago aprobado vía MercadoPago
Webhook automático
Factura de servicio emitida
Venta de producto
Shop → Vender
Factura de producto emitida
Venta de carrito
Shop → Carrito
Factura de producto emitida
💡
Prevención de duplicados: El sistema verifica que no exista una factura previa para el mismo ítem antes de emitir. Si ya hay una factura con estado "ok" para esa membresía o venta, no se emite otra.
📦
Tolerancia a caídas de AFIP: Si los WebServices de AFIP están caídos al momento del cobro, la operación se registra normalmente (membresía activa, caja impactada) y la factura queda pendiente para reintento automático. El gym nunca se bloquea por un corte de AFIP.
⚠️
Certificado digital: Los certificados de AFIP tienen una vigencia de 2 años. Cuando esté próximo a vencer, renovalo desde AFIP y actualizá el archivo en GymFlow. El sistema te avisa si el certificado expiró al intentar emitir.