Crea una app de reservas y horarios de clases para tu gimnasio
En un gimnasio o estudio boutique, las clases grupales son el motor de retención —los socios que van a clases son mucho menos propensos a darse de baja—, pero cada bicicleta de spinning, cada reformer y cada esterilla es un lugar de aforo limitado que hay que reservar, poner en lista de espera y cobrar. La mayoría de los dueños siguen gestionando esto con una pizarra, una hoja de cálculo con los saldos de los bonos y un teléfono que no para de sonar en las horas punta. Una app de reservas pensada para cómo funcionan realmente las clases —horarios recurrentes, aforo por clase, ventanas de cancelación y créditos de bono— convierte ese caos en un sistema que tus propios socios gestionan solos.
El problema
- El spinning de las 6 de la mañana se llena, tres personas no aparecen y dieciocho bicicletas quedan medio vacías, mientras que a la lista de espera en papel de los socios que querían entrar nunca la llamó nadie.
- Los bonos de clases y las membresías viven en una hoja de cálculo, así que en recepción no saben si el bono de 10 clases de alguien está agotado, caducado, o si su membresía ilimitada está retenida por un pago fallido.
- No hay ninguna política de cancelación que nadie pueda hacer cumplir: los socios se borran cinco minutos antes de la clase sin coste alguno, así que las ausencias son crónicas y las franjas estrella parecen llenas pero salen vacías.
- Los cambios de instructor y los cierres por festivos se avisan a mano por mensaje, y aun así hay socios que se presentan ante un estudio cerrado para una clase que se había cancelado.
Qué crearías
Un horario semanal recurrente con un aforo real en cada clase: lunes 6:00 Spinning (18 bicicletas), martes 19:00 Reformer (10 máquinas). Los socios ven en vivo los "lugares disponibles", reservan su sitio y entran en una lista de espera ordenada cuando la clase está llena.
Un único lugar que conoce el plan de cada socio: mensualidad ilimitada, un bono de 10 clases o una clase suelta. Al reservar se descuenta un crédito del bono o se comprueba una membresía activa, y se bloquea la reserva cuando el bono está agotado, caducado o la membresía está congelada.
Aplica tu ventana de cancelación, asciende automáticamente a la siguiente persona de la lista de espera cuando se libera un lugar, la avisa y permite que el instructor pase lista para que las ausencias queden marcadas o cobradas según tu regla.
El modelo de datos
Un día con el sistema
- El dueño configura el horario semanal una sola vez —cada clase con su instructor, hora y aforo— y el sistema genera las instancias de clase con fecha para las semanas siguientes.
- Un socio inicia sesión en tu propio dominio, ve la parrilla de la semana con los "lugares disponibles" en vivo y reserva el HIIT del sábado a las 9:00; el sistema confirma que su bono tiene crédito y descuenta uno.
- El spinning de las 6:00 alcanza su tope de 18 bicicletas; el siguiente socio toca "unirme a la lista de espera" y queda en cola por orden en vez de quedarse fuera.
- A las 20:00 un socio con reserva cancela —dentro de la ventana de 12 horas, así que pierde el crédito— y el sistema asciende automáticamente al primero de la lista de espera y le avisa por SMS/email del lugar liberado.
- Un instructor se pone enfermo: el dueño reasigna un sustituto en esa única instancia de clase (o la cancela) y todos los que tenían reserva reciben aviso automático, así nadie se presenta ante una puerta cerrada.
- A la hora de la clase, el instructor abre la lista en una tableta y registra la asistencia; quien tenía reserva pero no vino queda marcado como ausente, lo que señala su cuenta según la política.
- A un socio le falla el pago mensual, su estado pasa a en espera y las nuevas reservas quedan bloqueadas hasta resolver el cobro, mientras que sus reservas ya hechas se mantienen intactas.
- Al final de la semana el dueño revisa la asistencia por clase e instructor, detecta las franjas que siguen quedando vacías y las recorta o las mueve.
Dónde falla la IA
- El aforo pertenece a la instancia de clase con fecha, no a la plantilla recurrente. Una implementación ingenua limita la clase una sola vez, de modo que una única cancelación parece "liberar un lugar" en todos los martes futuros. Cada ocurrencia necesita su propio recuento, lista de espera, sustituto y cancelación.
- La carrera por el último lugar: dos socios tocan "reservar" la última bicicleta en el mismo segundo. Sin una comprobación de aforo atómica dentro de una transacción, sobrevendes la clase, y el mismo fallo asciende a dos personas de la lista de espera a un único lugar libre.
- El cálculo de la ventana de cancelación tiene que hacerse contra la hora de inicio local de la clase y sobrevivir a los cambios de horario de verano. Si te equivocas con la zona horaria o con la hora que se adelanta en primavera, cobrarás cargos por ausencia sobre cancelaciones perfectamente válidas.
- Los créditos y los reembolsos son el modelo económico: si cancelas dentro de la ventana pierdes el crédito, si cancelas fuera de ella el crédito vuelve al bono. Una implementación que siempre reembolsa —o que nunca lo hace— rompe tus ingresos en silencio. Los bonos caducados y las membresías congeladas también deben bloquear la reserva.
- Un socio que viene por primera vez debe tener una exención de responsabilidad firmada / un cuestionario de salud en su ficha antes de poder asistir: dejar que alguien reserve y entrene sin exención es un verdadero agujero de responsabilidad legal, no un extra opcional. Y nunca guardes tú mismo los números de tarjeta; procesa los pagos a través de la bóveda de un proveedor conforme a PCI.
- El horario semanal recurrente con aforo por instancia, la autorreserva de los socios y un recuento en vivo de "lugares disponibles": el bucle central que vacía el teléfono de recepción.
- El monedero de membresías y bonos de clases que descuenta al reservar y bloquea cuando un bono está agotado, caducado o congelado.
- La ventana de cancelación más el ascenso automático de la lista de espera con un email/SMS automático al socio ascendido.
- Apps nativas de iOS/Android: una página de reservas adaptada a móvil en tu propio dominio cubre a casi todos los socios; sáltate las tiendas de apps en la v1.
- Un TPV completo para batidos, ropa y taquillas: en la v1 quédate con las clases y los bonos.
- El seguimiento de métricas corporales, el registro de entrenamientos y las integraciones con wearables: eso es una app de fitness, no un sistema de reservas, y hundirá tu primera versión.
Preguntas frecuentes
¿Cómo conviven los bonos de clases y las membresías ilimitadas en un mismo sistema?
La ficha de bono de cada socio lleva un tipo de plan y, para los bonos, un saldo de créditos. Al reservar se descuenta un crédito a quien tiene bono y, para los ilimitados, simplemente se comprueba que su estado esté activo y no congelado. Tanto la pantalla de reserva como el motor de cancelaciones leen ese mismo monedero, así que un socio nunca puede reservar una clase que su bono no cubra.
¿Qué pasa cuando una clase se llena?
Las nuevas solicitudes entran en una lista de espera ordenada en lugar de quedarse fuera. Cuando alguien cancela o se abre un lugar, el sistema asciende automáticamente a la primera persona de la cola y la avisa: nunca persigues bicicletas vacías a mano. En ybuild esto funciona en vivo en tu propio dominio, así que los socios gestionan todo el flujo por sí mismos.
¿Puedo aplicar una política de cancelación y cobrar por las ausencias?
Sí. Defines una ventana, digamos 12 horas. Si se cancela fuera de ella, el crédito vuelve al bono; si se cancela dentro, o simplemente no se presenta, el socio pierde el crédito o queda marcado y se le cobra según tu regla. La pantalla de registro del instructor es la que convierte una reserva en un registro de asistencia o de ausencia.
¿Cómo gestiono que un instructor se ponga enfermo o un cierre por festivo?
Como cada clase con fecha es su propia instancia, cancelas o reasignas solo esa ocurrencia y todos los que tienen reserva reciben aviso automático. La plantilla recurrente y todas las demás semanas quedan intactas, así que un cambio puntual nunca reescribe todo tu horario.
¿Los socios tienen que firmar una exención antes de reservar?
Puedes exigir una exención de responsabilidad firmada o un cuestionario de salud antes de confirmar la primera reserva de un socio, y guardar la fecha de firma en su ficha para que el personal pueda demostrarlo más adelante. Los pagos van a través de un proveedor conforme a PCI, así que los números de tarjeta se guardan en su bóveda y nunca en tu sistema.
Fuentes
- Cómo entrenan 77 millones de socios de fitness en EE. UU. — Health & Fitness Association — La HFA (antes IHRSA), el organismo del sector, con datos oficiales sobre el número de socios y el crecimiento del entrenamiento en grupos reducidos y en estudios: la demanda que una app de reservas tiene que organizar.
- Estadísticas de ejercicio en grupo y retención de socios — Datos de retención (citando investigaciones de Les Mills e IHRSA) que muestran que quienes asisten a clases grupales se quedan bastante más tiempo que los socios que entrenan solos: por qué importa llenar cada lugar de clase.
Descríbelo y publícalo en tu propio dominio de una vez: alojado, full-stack, sin servidor. Gratis para empezar.