
ARCOS FITNESS
Plataforma para un gimnasio premium: reservar y pagar clases y membresías en línea, y un panel de recepción que controla toda la operación.
Conocer al cliente. Quién es la marca y a quién le vende.
El cliente
Arcos Fitness Club es un gimnasio premium en Bosques de las Lomas, CDMX (dentro del hotel LIVE AQUA), con clases de funcional, Hyrox, boxeo y open gym. Su web anterior vivía en Wix y no dejaba pagar en línea: cada reserva y cada cobro pasaba por recepción, a mano. Construimos su plataforma propia con tres piezas de valor: un panel de recepción que controla toda la operación —reservas, clientes, clases, pagos, suscripciones, marketing y analytics—; pagos en línea con Stripe para clases, paquetes y membresías; y reservar y pagar 24/7, sin depender del horario de recepción. Cada reserva queda etiquetada con su origen (en línea, recepción, socio o convenio de app), y las confirmaciones, recibos y cupos se manejan solos.
Lo que venían a resolver, contado sin tecnicismos.
Reto
- 01Un sitio Wix cerrado, sin pagos en línea: todo se cobraba en recepción.
- 02Que el socio reserve y pague solo —clases y membresías— a cualquier hora.
- 03Dar a recepción un panel para controlar toda la operación en un solo lugar.
- 04Reducir el trabajo manual: confirmaciones, recibos y cupos sin tocar nada.
Qué cambió entre el primer día y el lanzamiento.
El antes y el después
WIX · PAGO EN RECEPCIÓN
- Sitio Wix genérico, sin pagos en línea
- Toda reserva y cobro, a mano en recepción
- Sin un panel para ver la operación
- Solo se podía pagar en horario de recepción
PLATAFORMA PROPIA
- Clases, paquetes y membresías se pagan en línea
- Reservar y pagar 24/7, sin pasar por recepción
- Un panel que controla toda la operación
- Confirmaciones, recibos y cupos automáticos
Cada feature pensada para que el cliente cierre la operación.
Lo que construimos
Panel de recepción que controla todo
Un solo panel donde el equipo administra toda la operación del gym sin tocar código: reservas con check-in y asistencia, clientes (CRM), clases, pagos, membresías, campañas de correo y analytics. Cada reserva muestra su origen —en línea, recepción, socio o convenio de app (TotalPass · Fitpass · Wellhub)—.
- Reservas con check-in y asistencia
- CRM de clientes con historial de pagos
- Clases editables, pagos y suscripciones
- Origen de cada reserva a la vista
- Marketing por correo y analytics propio
Pagos en línea (antes no se podía)
Lo que antes solo se cobraba en recepción ahora se paga en línea con Stripe: membresías mensuales (con inscripción), paquetes anticipados con descuento y clases sueltas. El precio se valida en el servidor y el cobro se concilia solo por webhook.
- Membresías recurrentes + inscripción
- Paquetes anticipados con descuento
- Clases sueltas en línea
- Precio validado en servidor, conciliado por webhook
Reservar y pagar 24/7
El socio reserva su clase o contrata su membresía solo, a cualquier hora, sin llamar ni pasar por recepción. El cupo se aparta al instante y se libera solo si no se paga a tiempo.
- Reserva y pago a cualquier hora
- Cupo apartado al instante
- Cupos que se liberan solos (cron)
Menos trabajo manual en recepción
Cada reserva y cada pago dispara su confirmación y recibo por correo sin que recepción capture nada. Un cron diario libera cupos no pagados y vence membresías. Recepción deja de anotar a mano y se dedica a atender.
- Confirmaciones y recibos automáticos (Postmark)
- Cron diario: cupos y membresías
- Cancelar y reagendar por link en el correo
Nuestros cinco pasos aplicados a este proyecto real.
Proceso
- 01
Migración desde Wix
Mapeo del sitio Wix y de la operación real: clases, horarios, membresías y cómo cobraban hoy (solo en recepción). De ahí salieron el modelo de datos y los flujos de reserva y pago.
- Modelo de clases, reservas y pagos
- Mapa de la operación
- 02
Arquitectura
Next.js 16 (App Router, server actions) con Prisma sobre PostgreSQL, y Stripe como fuente de verdad de los pagos vía webhooks idempotentes.
- Esquema Prisma + webhooks
- Capa de pagos y reservas
- 03
Pagos en línea
Stripe Embedded Checkout para clases, paquetes y membresías recurrentes. Precio validado en servidor, holds de cupo, y conciliación automática por webhook con recibo por correo.
- Checkout y suscripciones
- Webhooks + recibos
- 04
Panel de recepción
El panel que opera todo: reservas con check-in, CRM, clases, pagos, suscripciones, marketing y analytics, con el origen de cada reserva a la vista.
- Panel de recepción operativo
- Marketing y analytics
- 05
Lanzamiento
Deploy en Vercel con dominio propio, cron diario de mantenimiento y seguridad de punta a punta: precio en servidor, rate limiting (Vercel Firewall), firma de webhooks y honeypot.
- Producción en arcosfitness.com
- Cron + seguridad
- 01
Migración desde Wix
Mapeo del sitio Wix y de la operación real: clases, horarios, membresías y cómo cobraban hoy (solo en recepción). De ahí salieron el modelo de datos y los flujos de reserva y pago.
- Modelo de clases, reservas y pagos
- Mapa de la operación
- 02
Arquitectura
Next.js 16 (App Router, server actions) con Prisma sobre PostgreSQL, y Stripe como fuente de verdad de los pagos vía webhooks idempotentes.
- Esquema Prisma + webhooks
- Capa de pagos y reservas
- 03
Pagos en línea
Stripe Embedded Checkout para clases, paquetes y membresías recurrentes. Precio validado en servidor, holds de cupo, y conciliación automática por webhook con recibo por correo.
- Checkout y suscripciones
- Webhooks + recibos
- 04
Panel de recepción
El panel que opera todo: reservas con check-in, CRM, clases, pagos, suscripciones, marketing y analytics, con el origen de cada reserva a la vista.
- Panel de recepción operativo
- Marketing y analytics
- 05
Lanzamiento
Deploy en Vercel con dominio propio, cron diario de mantenimiento y seguridad de punta a punta: precio en servidor, rate limiting (Vercel Firewall), firma de webhooks y honeypot.
- Producción en arcosfitness.com
- Cron + seguridad
Los números que dejó el proyecto en producción.
Qué cambió
Clases, paquetes y membresías se cobran con Stripe; el sitio Wix anterior no permitía ningún pago en línea.
El socio aparta su lugar y paga solo, también de madrugada o en fin de semana.
Reservas, clientes, clases, pagos, suscripciones, leads, marketing, analytics y dashboard — todo en un lugar.
Cada reserva y pago se confirma solo por correo; un cron libera cupos no pagados y vence membresías, sin que recepción anote nada.
Capturas del sitio en producción.
Cómo se ve
Las tecnologías que sostienen la operación.
Tecnologías
- Next.js 16
- React 19
- Tailwind CSS 4
- Framer Motion
- Stripe
- Prisma
- PostgreSQL
- Postmark
- Vercel Cron
- @vercel/firewall
- Zod
¿Algo así para tu negocio?
Si este case te hizo click, hablamos. Te respondemos en menos de un día hábil, sin compromiso.