Skip to main content
Las rutas y los campos de la API están en inglés; los conceptos, en el idioma del estudio. Esta página los une: la palabra del estudio y, entre paréntesis, el recurso de la API.

El negocio y sus lugares

  • El negocio (business) es el estudio dueño de la clave. Define la zona horaria, el país y la moneda de todo lo demás. Léelo primero.
  • Una sede (center) es un local del estudio. Un estudio puede tener una o varias.
  • Un salón (room) es un espacio dentro de una sede, con su capacidad.
  • Las reglas de reserva (booking_policy) dicen hasta cuándo se puede cancelar sin perder el crédito, con cuánta anticipación se reserva, cuántas reservas futuras puede tener un cliente, qué pasa con las ausencias y cómo funciona la lista de espera.

Lo que el estudio ofrece

  • Una disciplina (course) es lo que se practica: Yoga, Pilates, Funcional.
  • Una clase (class) es una disciplina con un horario semanal que se repite: “Yoga, lunes y miércoles a las 19:00, en la Sede Centro”. La da un instructor (teacher).
  • Una sesión (session) es una fecha concreta de una clase: “Yoga del lunes 1 de diciembre a las 19:00”. Tiene capacidad, lugares ocupados y lugares libres. El horario del estudio es la lista de sus sesiones (GET /sessions). Si un instructor reemplaza a otro en una fecha, la sesión ya trae a quien la da.
  • Una sesión puede estar programada (scheduled), cancelada por el estudio (cancelled) o caer en un día que el estudio cerró (studio_closed). Por defecto, la lista trae solo las que se dan.

Las reservas

  • Una reserva (booking) es un lugar de un cliente en una sesión.
  • Si la sesión está llena, la reserva queda en lista de espera (waitlisted), con su posición. Según las reglas del estudio, cuando se libera un lugar el primero de la lista pasa solo a confirmado.
  • Después de la sesión, una reserva confirmada queda como asistida (attended) o como ausencia (no_show).
  • Cancelación tardía: si el cliente cancela después del plazo del estudio, puede perder el crédito. El plazo está en las reglas de reserva, y una disciplina o una clase pueden tener el suyo.

Cómo pagan los clientes

Un estudio vende su lugar en las clases de dos formas, que pueden convivir:
  • Créditos. El cliente compra un pack (credit_pack), por ejemplo 8 clases para usar en 30 días, y cada reserva le descuenta créditos. Lo que recibió está en credit_grants, cada movimiento en credit_transactions y lo que tiene hoy en /clients/{id}/credit_balance. Una oferta de bienvenida (intro_offer) es un pack especial para quien llega por primera vez.
  • Membresía. El cliente se suscribe a un plan de membresía (membership_plan), por ejemplo “Ilimitado mensual”, y su membresía (membership) se renueva cada período. Una membresía se puede congelar (membership_freeze) por un tiempo, dentro de los límites del estudio.
Lo que el estudio le cobra a cada cliente son cuotas (fee); lo que el cliente paga, pagos (payment); y lo que el estudio devuelve, reembolsos (refund). Los montos van siempre en enteros, en amount_cents (el monto por 100), junto a la moneda en formato ISO 4217.

Los clientes

Un cliente (client) es una persona que reserva en el estudio. Su email y su teléfono vienen solo con el permiso clients.pii:read (lee Claves y permisos).

La hora local

Un estudio vive en su zona horaria, y la API la respeta:
  • Los instantes (starts_at, created_at…) van en RFC 3339 con el offset del estudio en ese momento, por ejemplo 2026-12-01T19:00:00-03:00.
  • Las fechas sin hora (local_date) y las horas del horario (local_start_time) son las del estudio, como las ve quien va a clase.
  • Los filtros por fecha, como local_date[gte] en /sessions, usan la fecha local del estudio.
Si el estudio no eligió una zona horaria, GET /business trae el aviso time_zone_not_set en warnings, y los instantes salen en +00:00.

Los ids

Cada objeto tiene un id con un prefijo que dice qué es: biz_ para el negocio, ses_ para una sesión, bkg_ para una reserva, cli_ para un cliente, y así. Son opacos: guárdalos como texto y no intentes leer nada de ellos. Un id con el prefijo equivocado en una ruta (un ses_ donde va un bkg_) responde validation_failed.