Reservar una estadía
Reserva noches en un tipo de habitación que GET /lodging/availability
ofreció: llegada, salida y huéspedes. El huésped recibe la habitación que
deja menos noches sueltas. La política de pago del tipo decide qué pasa,
como en la página pública: sin pago queda confirmed; con anticipo, pago
total o tarjeta en archivo queda pending con checkout_url mientras el
huésped paga. Responde la reserva (stay trae la habitación y las
fechas); se lee, cambia y cancela como cualquier otra en /bookings.
Usa un Idempotency-Key único por estadía.
Authentication
Tu clave secreta de API.
Una llave de cuenta (sk_live_..., sk_test_...) opera sobre su propia cuenta y, con X-ACCOUNT-ID, sobre sus cuentas conectadas.
La llave también fija el ambiente: una sk_test_ solo lista y resuelve objetos de prueba (live_mode: false) y una sk_live_ solo objetos reales. Un ID del otro ambiente responde 404 (401 en /customers).
Una llave de organización (sk_org_live_..., sk_org_test_...) alcanza todas las cuentas de una organización y solo sirve para leer: saldos, movimientos y reportes. Para operar sobre una cuenta debe nombrarla con X-ACCOUNT-ID; omitirlo en una lectura devuelve todas las cuentas de la organización. Cualquier otro endpoint responde 403 con code: organization_key_unsupported.
Request
El tipo de habitación (un servicio kind: lodging).
Con política card_on_file: card deja la tarjeta; deposit paga la primera noche, para quien no tiene tarjeta.
Response
Estadía reservada
Cuenta (sucursal) de la cita.
pending mientras el cliente paga o el negocio decide; confirmed cuando la hora es del cliente.
Por dónde entró la reserva.
Los tramos de la cita, uno por servicio (dos si el servicio tiene tiempo de proceso). Vacío en un lugar de una clase.
La sesión, si la cita es un lugar en una clase.
Las noches en una habitación, si la reserva es una estadía de alojamiento.
Lo que el cliente ya pagó (anticipo, total o protección).
Lo que falta cobrar el día de la cita. 0 en una sesión de paquete o un saldo cobrado afuera.
Cuándo el negocio marcó el saldo como cobrado fuera de Recurrente.
Donde el cliente paga lo que la política pide, o deja su tarjeta.
El link del saldo, después de POST /bookings/{booking_id}/balance_charge.
La serie que la reservó, si se repite.
La página del cliente para ver, pagar o cancelar su cita (link firmado).
Hasta cuándo se aparta la hora si nadie paga.
La cita que esta reemplazó al moverse de hora.

