Skip to main content

Descripción

Las reservas Partners se crean en dos pasos:
  1. Reserva temporal — crea la orden en Vulcano y bloquea cupos por 15 minutos.
  2. Confirmar reserva — envía datos del customer y pasajeros.
Requiere el permiso reservations:write.

Flujo recomendado

Si el hold expira antes del confirm → 409.

Paso 1 — Crear reservation (hold)

POST /reservations

Body

* Al menos 1 entre adult + child + senior.

Respuesta

Errores frecuentes del hold:

Paso 2 — Confirmar

POST /reservations/confirm

Body — campos de primer nivel

customer

passengers[]

La cantidad de pasajeros por type debe coincidir con el pax de la reserva temporal. Si no → 422.

additional_activities[]

Opcional. Los id salen de GET /tours → additional_activities. Cada extra se selecciona con cantidad. Errores frecuentes del confirm:
Si recibes 409 por hold expirado, no se puede “reactivar” el mismo hold. Debes crear uno nuevo.

Paso 3 — Consultar reservation

GET /reservations/{id} Devuelve la reserva por UUID (id del hold). El shape de data es el mismo que hold/confirm.
Requiere reservations:write. Solo puedes consultar reservas de tu canal.

Path

Respuesta

Si el hold ya venció al consultarlo, Vulcano lo marca EXPIRED y la respuesta es 200 con "status": "EXPIRED". Errores frecuentes:

Paso 4 — Anular reserva

POST /reservations/cancel Anula un hold o una reserva confirmada. Libera cupos de inmediato. En el calendario del operador la orden queda anulada (declined en los items).

Body

Un confirm posterior a un cancel → 409. Errores frecuentes:

Estados

Checklist de integración

  1. Partner con reservations:write.
  2. Elegir tour_id + date + time con availability suficiente.
  3. POST /reservations → guardar id y respetar expires_at.
  4. GET /reservations/{id} para consultar estado (HOLD, CONFIRMED, EXPIRED, CANCELLED).
  5. POST /reservations/confirm con id, customer, passengers y, si aplica, additional_activities.
  6. POST /reservations/cancel para anular un hold o una reserva confirmada.
  7. Persistir order_id / external_reference en tu sistema.