Primeros pasos con la API de actividades de XeniCómo reservar una actividadCómo buscar etiquetas y categorías de actividadesCómo cancelar una reserva de actividadCómo comprobar la disponibilidad de la actividadCómo obtener detalles de la actividadCómo recuperar los detalles de la reserva de actividadesCómo buscar actividades con filtrosCómo buscar destinos de actividadesAPI de alquiler de coches: introducciónAPI de alquiler de coches: comprensión de los campos de respuestaCómo reservar un alquiler de cochesCómo obtener detalles del vehículo de alquiler y complementos de equipoCómo recuperar o cancelar una reserva de alquiler de cochesCómo buscar autos de alquiler disponiblesCómo buscar ubicaciones de recogidaCómo utilizar los filtros de búsqueda de alquiler de cochesMejores prácticas de integración de API de ofertasPreguntas frecuentes sobre la API de ofertasPrimeros pasos con la API de ofertas de XeniReferencia de encabezados y parámetros de solicitud de API de ofertasOfertas API Monedas admitidas y localizaciónCómo mostrar ofertas en su aplicaciónCómo buscar ofertas de hoteles por ubicaciónCódigos de error de la API de vuelos y solución de problemasPrimeros pasos con la API de vuelos de XeniCómo reservar un vueloCómo comprobar la disponibilidad y el precio de los vuelosCómo confirmar o cancelar una reserva de vueloCómo recuperar las reglas de tarifas de un vueloCómo recuperar los detalles de la reserva de un vueloCómo buscar aeropuertos usando AutocompletarCómo buscar vuelosCómo utilizar filtros, clasificación y paginación de búsqueda de vuelosCómo comprobar la disponibilidad y el precio de las habitacionesCómo filtrar los resultados de los alquileres vacacionalesCómo obtener detalles, comodidades y accesibilidad de la propiedad del resortCómo mantener y confirmar una reserva de resortCómo liberar una retención de resortCómo recuperar los detalles de la reserva del resortCómo buscar complejos turísticos disponiblesCómo buscar destinos turísticosCómo buscar ubicaciones de alquiler vacacionalCómo buscar alquileres vacacionalesCómo utilizar filtros de búsqueda y clasificación de complejos turísticosComenzando con la API de Xeni ResortsAPI de Resorts: comprensión de los estados y políticas de las reservasPrimeros pasos con la API de alquileres vacacionalesPreguntas frecuentes sobre alquileres vacacionalesTipos de propiedades admitidas para alquileres vacacionalesComprensión de la búsqueda asincrónica para alquileres vacacionalesAutenticación y firmas APIReserva de hoteles: API directa y pago SSOManejo de errores, límites de tasas y mejores prácticasPrimeros pasos con la API de Xeni HotelesGestión de reservas: estado, recuperación y cancelaciónConfirmación de precios y ciclo de vida del tokenRecuperar detalles del hotel y disponibilidad de habitacionesBúsqueda de hoteles: ubicaciones, filtros y paginaciónBuscando HotelesGestión de sesiones e ID de correlaciónAutenticación API y obtención de claves API

Cómo mantener y confirmar una reserva de resort

Última actualización: 2026-03-03

Cómo mantener y confirmar una reserva de resort

La API de Resorts utiliza un proceso de reserva de dos pasos: primero crea una retención en la reserva y luego la confirma. Esto le brinda una ventana para finalizar el pago o realizar una validación adicional antes de confirmar la reserva.

Paso 1: Crear una reserva

Punto final

POST {{apihost}}/resorts/api/v2/itineraries?token={token}&recommendationid={recommendation_id}

Encabezados requeridos

EncabezadoValorRequerido
Content-Typeapplication/json
x-api-keySu clave API
x-correlation-idIdentificador de correlación único

Parámetros de consulta

ParámetroTipoRequeridoDescripción
tokencadenaEl token específico de la habitación de la respuesta de disponibilidad o precio
recommendation_idcadenaEl ID de recomendación de los resultados de búsqueda

Cuerpo de solicitud

JSON
{
  "property_id": "RST-98765",
  "checkin": "2026-04-01",
  "checkout": "2026-04-07",
  "total_rate": 1710,
  "currency": "USD",
  "action": "CONFIRM",
  "communication_details": {
    "email": "guest@example.com",
    "phone": "+1-555-123-4567"
  },
  "traveler": {
    "first_name": "Jane",
    "middle_name": "",
    "last_name": "Doe",
    "address": "456 Palm Avenue",
    "city": "Los Angeles",
    "state": "CA",
    "zip_code": "90001",
    "country": "US",
    "email": "guest@example.com",
    "phone": "+1-555-123-4567"
  }
}

Campos del cuerpo de la solicitud

CampoTipoRequeridoDescripción
propertyidcadenaEl ID de propiedad
checkincadenaFecha de entrada en formato YYYY-MM-DD
checkoutcadenaFecha de salida en formato YYYY-MM-DD
totalratenúmeroLa tarifa total confirmada desde el punto final de fijación de precios. Debe coincidir exactamente.
currencycadenaCódigo de moneda ISO 4217 de tres letras
actioncadenaDebe ser "CONFIRM"
communicationdetails.emailcadenaDirección de correo electrónico para confirmaciones de reservas
communicationdetails.phonecadenaNúmero de teléfono para comunicaciones de reservas
traveler.firstnamecadenaNombre del huésped
traveler.middlenamecadenaNoSegundo nombre del huésped (puede ser una cadena vacía)
traveler.lastnamecadenaApellido del huésped
traveler.addresscadenaDirección del huésped
traveler.citycadenaCiudad del huésped
traveler.statecadenaEstado o provincia del huésped
traveler.zipcodecadenaCódigo postal del huésped
traveler.countrycadenaCódigo de país del huésped
traveler.emailcadenaDirección de correo electrónico del huésped
traveler.phonecadenaNúmero de teléfono del huésped

Ejemplo de respuesta: retención creada

JSON
{
  "status": 200,
  "data": {
    "reference_number": "XRN-2026040100123",
    "status": "HOLD"
  }
}

Ejemplo de respuesta: reserva confirmada inmediatamente

En algunos casos, la reserva podrá confirmarse inmediatamente sin pasar por un estado de espera:

JSON
{
  "status": 200,
  "data": {
    "reference_number": "XRN-2026040100123",
    "status": "CONFIRMED"
  }
}

Error: Tarifa no coincidente

Si el total_rate de su solicitud no coincide con el precio confirmado, la API devuelve un error 400:

JSON
{
  "message": "Total rate does not match the confirmed price",
  "status": 400
}

Utilice siempre el valor totalRate del punto final de confirmación de precios para evitar este error.


Paso 2: Confirmar la retención

Si la reserva se creó con un estado "HOLD", deberá confirmarlo explícitamente para finalizar la reserva.

Punto final

PUT {{apihost}}/resorts/api/v2/itineraries?referencenumber={reference_number}&status=CONFIRM

Encabezados requeridos

EncabezadoValorRequerido
Content-Typeapplication/json
x-api-keySu clave API
x-correlation-idIdentificador de correlación único

Parámetros de consulta

ParámetroTipoRequeridoDescripción
reference_numbercadenaEl número de referencia de la reserva de la respuesta de retención
statuscadenaDebe ser "CONFIRM"

Cuerpo de solicitud

El cuerpo de la solicitud debe estar vacío.

Ejemplo de respuesta

JSON
{
  "status": 200,
  "data": {
    "reference_number": "XRN-2026040100123",
    "status": "CONFIRMED"
  }
}

Error: Estado de retención no válido

Si la reserva no se encuentra actualmente en un estado HOLD (por ejemplo, ya ha sido confirmada o liberada), la API devuelve un error 417:

JSON
{
  "message": "Booking is not in HOLD state",
  "status": 417
}

Flujo de reserva completo

Aquí está la secuencia completa desde la búsqueda hasta la reserva confirmada:

  1. Autocompletar: obtiene el código de región del destino.
  2. Búsqueda de propiedades: busque complejos turísticos disponibles y obtenga un recommendation_id.
  3. Disponibilidad: consulta la disponibilidad de habitaciones y obtén un token.
  4. Precio: confirme la tarifa final utilizando token y recommendation_id.
  5. Reserva: cree una reserva con los total_rate, token confirmados y los detalles del viajero.
  6. Confirmar: si el estado de la respuesta es "HOLD", confirme la reserva para finalizarla.

Mejores prácticas- Confirma siempre el precio primero: nunca crees una reserva utilizando tarifas de la respuesta de búsqueda o disponibilidad. Utilice siempre la tarifa devuelta por el punto final de fijación de precios.

  • Manejar ambos estados: su integración debe manejar las respuestas "HOLD" y "CONFIRMED" desde el punto final de retención. Si el estado es "CONFIRMED", no es necesario realizar ninguna otra acción.
  • Confirmar de inmediato: las retenciones tienen un límite de tiempo. Confirme la reserva tan pronto como se complete su proceso de pago o validación.
  • Guarde el número de referencia: reference_number es su identificador principal para todas las operaciones posteriores (confirmar, liberar, recuperar).


Artículo siguiente: Cómo cancelar una retención de resort

¿Te resultó útil este artículo?