Skip to main content

Descripción

Igual que tours, las reservas de traslado se crean en dos pasos:
  1. Hold — bloquea cupo 15 minutos y crea la orden en Vulcano (sin pago).
  2. Confirm — envía el customer. No hay lista de pasajeros: se usa el comprador.
En el calendario del operador la reserva entra Pendiente hasta que el operador pulse Confirmar. En la API el partner ve CONFIRMED en cuanto cierra el hold.
Requiere reservations:write y canal Vulcano vinculado. No mezcles estos endpoints con /reservations de tours (tour_id vs transfer_id).

Flujo

Si el hold expira antes del confirm → 409.

Paso 1 — Hold

POST /transfers/reservations

Body

* Al menos 1 entre adult + child + senior.

Respuesta

Paso 2 — Confirmar

POST /transfers/reservations/confirm Solo customer. Los extras salen de additional_activities de GET /transfers.
Un confirm repetido del mismo hold es idempotente (200, sigue CONFIRMED).

Consultar

GET /transfers/reservations/{id} Mismo data que hold/confirm. Un hold vencido se marca EXPIRED y responde 200.

Anular

POST /transfers/reservations/cancel

Estados (API partner)

Checklist

  1. Permisos transfers:read + reservations:write.
  2. Buscar traslado con origen, destino, fecha, hora y pasajeros.
  3. POST /transfers/reservations → guardar id y expires_at.
  4. POST /transfers/reservations/confirm con customer (sin lista de pasajeros).
  5. POST /transfers/reservations/cancel si hay que liberar el cupo.