> ## Documentation Index
> Fetch the complete documentation index at: https://docs.craqui.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conceptos de un estudio

> Cómo funciona un estudio de wellness en Craqui, para quien integra sin conocer el producto.

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](https://docs.craqui.com/authentication.md)).

## 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`](https://docs.craqui.com/errors/validation_failed).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.