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

API de Resorts: comprensión de los estados y políticas de las reservas

Última actualización: 2026-03-03

API de Resorts: comprensión de los estados y políticas de las reservas

Este artículo cubre el ciclo de vida de la reserva, las transiciones de estado, las políticas de propiedad, las tarifas obligatorias y los escenarios de error comunes en Resorts API v2. Comprender estos conceptos es esencial para construir una integración sólida.

Ciclo de vida del estado de la reserva

Cada reserva de resort pasa por una serie de estados. El siguiente diagrama muestra las posibles transiciones:

                  ┌──────────┐
                  │   HOLD   │
                  └────┬─────┘
                       │
            ┌──────────┼──────────┐
            ▼                     ▼
    ┌──────────────┐      ┌──────────────┐
    │  CONFIRMED   │      │   RELEASED   │
    └──────────────┘      └──────────────┘

Definiciones de estado

EstadoDescripciónpuede hacer la transición a
HOLDLa reserva está reservada temporalmente. La sala está ocupada pero aún no confirmada.CONFIRMED, RELEASED
CONFIRMEDLa reserva está finalizada. La reserva está activa y se espera al huésped.Estado terminal
RELEASEDLa retención fue liberada antes de la confirmación. La habitación queda libre para otros huéspedes.Estado terminal

Detalles de estado

MANTENER

  • Creado cuando llamas al punto final POST /itineraries.
  • La habitación queda reservada temporalmente para el huésped.
  • Debes confirmar o liberar la retención dentro del plazo permitido.
  • Si no se actúa sobre una retención, ésta puede caducar automáticamente.

CONFIRMADO

  • La reserva está finalizada y activa.
  • Una reserva entra en este estado:
- Directamente desde la llamada POST /itineraries (algunas reservas omiten el paso de espera), o - Cuando confirmas explícitamente una retención a través de PUT /itineraries?status=CONFIRM.
  • Este es un estado terminal: las reservas confirmadas no se pueden liberar a través del punto final de los itinerarios.

LANZADO

  • La retención se liberó explícitamente a través de PUT /itineraries?status=RELEASE.
  • La habitación ya no está reservada y queda a disposición de otros huéspedes.
  • Este es un estado terminal: las reservas liberadas no se pueden restablecer.
  • Para volver a reservar, el huésped debe volver a realizar todo el flujo de búsqueda hasta reserva.

Importante: Confirmación Inmediata

No todas las reservas pasan por un estado de retención. Algunas reservas se confirman inmediatamente cuando llamas a POST /itineraries. Su integración debe marcar el campo status en la respuesta y manejar ambos escenarios:

JSON
// Scenario 1: Hold created
{ "reference_number": "XRN-001", "status": "HOLD" }

// Scenario 2: Immediately confirmed
{ "reference_number": "XRN-002", "status": "CONFIRMED" }

Si el estado es CONFIRMED, no intente llamar al punto final de confirmación: la reserva ya está finalizada.

Políticas de propiedad y tarifas obligatorias

Cuando recupera los detalles de la reserva, la respuesta incluye una sección urgentinfo en propertydetails. Contiene información crítica sobre políticas que debe comunicarse al huésped.

Tarifas obligatorias

Las tarifas obligatorias son cargos que se cobran en el establecimiento y que no están incluidos en el precio de la reserva. Estos son adicionales a los total_rate pagados al momento de la reserva.

JSON
"mandatory_fees": [
  {
    "description": "Resort fee",
    "amount": 25.00,
    "currency": "USD",
    "frequency": "per night"
  },
  {
    "description": "Parking fee",
    "amount": 15.00,
    "currency": "USD",
    "frequency": "per night"
  }
]

Mejores prácticas: Calcule y muestre las tarifas obligatorias totales para la estadía completa junto con la tarifa de reserva para que los huéspedes comprendan el costo completo. Por ejemplo: "Tarifa del complejo: $25,00/noche x 6 noches = $150,00 a pagar al momento del check-in".

Restricciones de política

Las restricciones de política definen las reglas y requisitos de la propiedad.

PolíticaTipoDescripción
petscadenaSi se permiten mascotas y condiciones
smokingcadenaReglas para fumar en la propiedad
minimumagenúmeroEdad mínima requerida para el huésped principal al momento del check-in
resortfeescadenaDescripción detallada de las tarifas del resort y su cobertura

JSON
"policy_restrictions": {
"pets": "No pets allowed.",
"smoking": "Non-smoking property. Smoking is prohibited in all rooms and common areas.",
"minimum_age": 21,
"resort_fees": "A mandatory resort fee of $25.00 per night is charged at check-in. This fee covers pool access, Wi-Fi, and fitness center."
}

Práctica recomendada: Muestra las restricciones de las políticas en dos puntos clave:

  1. Antes de reservar: muestra las políticas en los detalles de la propiedad o en la página de confirmación de la reserva para que los huéspedes puedan tomar una decisión informada.
  2. Después de la reserva: incluya las políticas en el correo electrónico de confirmación de la reserva y en las comunicaciones previas a la llegada.

Referencia de errores

A continuación se muestra un resumen de los errores comunes que puede encontrar a lo largo del ciclo de vida de la reserva.

400 — Solicitud incorrecta

EscenarioDescripción
Falta campo obligatorioFalta un parámetro obligatorio o un campo de cuerpo
Discrepancia de tarifasEl total_rate de la solicitud de reserva no coincide con el precio confirmado
Formato de fecha no válidoLas fechas no están en el formato YYYY-MM-DD esperado
JSON
{
  "message": "Total rate does not match the confirmed price",
  "status": 400
}

404 - No encontrado

EscenarioDescripción
ID de propiedad no válidaLa propiedad especificada no existe
Número de referencia no válidoEl número de referencia de la reserva no existe
No hay resultados de autocompletarNingún destino coincide con la palabra clave de búsqueda
JSON
{
  "message": "No results found",
  "status": 404
}

417 — Expectativa fallida| Escenario | Descripción |

|---|---| | Estado de reserva no válido | Intentar confirmar o liberar una reserva que no se encuentra en el estado HOLD |
JSON
{
  "message": "Booking is not in HOLD state",
  "status": 417
}

Lista de verificación de integración

Utilice esta lista de verificación para verificar que la integración de su API de Resorts maneje todos los escenarios clave:

  • [ ] Autocompletar devuelve resultados y códigos de región se almacenan correctamente.
  • [ ] Búsqueda de propiedad envía el código de región, fechas y coordenadas.
  • [] Los filtros y la clasificación se aplican correctamente y manejan conjuntos de resultados vacíos.
  • [ ] Los detalles de la propiedad y los datos de las instalaciones se recuperan y almacenan en caché de forma adecuada.
  • [ ] Verificación de disponibilidad almacena la habitación token para la habitación seleccionada.
  • [ ] Confirmación de precio utiliza el totalRate (camelCase) confirmado para la reserva.
  • [ ] Creación de retención pasa los totalrate, token y recommendationid correctos.
  • [ ] Ambos estados de reserva (HOLD y CONFIRMED) se manejan desde el punto final de retención.
  • [ ] Confirmar retención se llama solo cuando el estado inicial es HOLD.
  • [ ] Retención de liberación está disponible para reservas en el estado HOLD.
  • [ ] Recuperación de reservas muestra todos los detalles, incluido urgent_info.
  • [ ] Las tarifas obligatorias se calculan y se muestran claramente al huésped.
  • [ ] Las restricciones de la política aparecen antes y después de la reserva.
  • [ ] Respuestas de error (400, 404, 417) se manejan elegantemente con mensajes fáciles de usar.


Este es el artículo final de la serie Resorts API. Si tiene preguntas o necesita ayuda, comuníquese con customersupport@xeni.com.

¿Te resultó útil este artículo?