Software de gestión

Focus: reservas, pagos y gestión para un estudio boutique de Concepción

Desarrollamos la plataforma de Focus, estudio de Hot Boxing, Yoga y GAP en Concepción: reservas con cupos en tiempo real, pagos con Mercado Pago y un panel de gestión.

Por Pablo Reyes Cerda
Identidad de Focus, estudio boutique de Hot Boxing, Yoga y GAP en Concepción

Un estudio que se gestiona desde la web

Un estudio boutique trabaja con grupos pequeños: cada clase tiene cupos limitados, horarios fijos y personas que reservan, cancelan o esperan un lugar. Para Focus, estudio de Hot Boxing, Yoga y GAP en Concepción, desarrollamos una plataforma que reúne esa operación en un solo sistema: focusclub.cl.

El sitio presenta la marca, las disciplinas, los horarios y los planes. Detrás de esa presentación funcionan las reservas, los pagos, las cuentas de clientes y un panel para la administración diaria del estudio.

Cupos que no se sobrevenden

El calendario muestra la semana en curso y la siguiente, con cupos en tiempo real y filtro por disciplina. Cada clase tiene su capacidad: ocho personas en general y seis en Yoga.

El punto crítico aparece cuando dos personas intentan tomar el último cupo al mismo tiempo. Cada reserva se procesa en una transacción de PostgreSQL que bloquea esa clase mientras se confirma, de modo que nunca quedan dos reservas confirmadas para un mismo lugar. Si la clase está llena, la persona entra a una lista de espera y se confirma automáticamente cuando alguien cancela.

Las reglas de reserva están centralizadas: las reservas cierran 30 minutos antes de cada clase, se cancelan online hasta 4 horas antes y cada plan define cuántas clases semanales incluye. Los precios, límites y vigencias de los planes se editan desde el panel sin alterar las compras anteriores.

Pagos verificados en el servidor

Los planes mensuales y la clase de prueba se compran con Mercado Pago. Volver desde el checkout no acredita una compra: el servidor consulta el estado de la orden con las credenciales del comercio, compara referencia, monto y moneda, y solo entonces activa el plan. Las notificaciones de Mercado Pago se validan con su firma HMAC y una tarea diaria concilia los pagos pendientes por si alguna notificación no llegó.

Al pagar una clase de prueba, el cupo queda retenido durante quince minutos. Si un pago se aprueba tarde y la clase ya no tiene lugar, queda registrado como pendiente de asignación por el estudio: la plataforma no sobrevende la clase.

Cuentas sin contraseña y un panel para el estudio

Los clientes entran a Mi cuenta con un enlace de un solo uso que llega a su correo y vence en quince minutos. Allí revisan sus planes, pagos y reservas. Los enlaces de acceso y las sesiones se guardan como hashes, nunca como texto plano.

El equipo de Focus administra la operación desde un panel protegido: listas de cada clase con asistencia, ajustes de cupos, suspensión de clases, cobros del mes, vencimientos y registro de pagos por transferencia o efectivo. Para feriados o vacaciones, el panel suspende todas las clases de una fecha o un rango, sugiere los feriados nacionales de Chile y avisa a las personas inscritas.

Los avisos llegan por correo, y el panel prepara cada mensaje de WhatsApp para enviarlo desde el teléfono del estudio. Un proceso programado envía recordatorios el día de la clase y avisa tres días antes de que venza un plan.

La ingeniería detrás de la experiencia

La plataforma está construida con Next.js, React y TypeScript, con PostgreSQL como base de datos y funciones desplegadas en Vercel en la región de São Paulo, cerca de la base de datos. Las pruebas automatizadas cubren la firma de los pagos, la integración con Mercado Pago y escenarios de concurrencia sobre PostgreSQL real, como compras simultáneas, activaciones duplicadas y el uso único de cada enlace de acceso.

Para SYNAPTA, Focus resume nuestra forma de trabajar: entender cómo opera una organización y convertir sus reglas en un sistema confiable, con una experiencia simple para quienes lo usan todos los días.

Conoce el alcance del proyecto en el caso de Focus Club.

Volver al blog