Recuperar detalles del hotel y disponibilidad de habitaciones
Una vez que haya identificado hoteles a partir de una búsqueda, podrá recuperar los detalles completos de la propiedad y verificar la disponibilidad de habitaciones en tiempo real con precios. Este artículo cubre ambos puntos finales.
Obtener detalles del hotel
Obtenga información completa sobre un hotel específico, incluidas fotografías, servicios, políticas y reseñas de huéspedes.
Punto final
GET /hotels/api/v2/property/{property_id}
Parámetros de ruta
| Parámetro | Tipo | Requerido | Descripción | XENIKBPH 24
|---|---|---|---|
propertyidXENIKBPH30 | string | Sí | El propertyid del hotel de los resultados de búsqueda. |
Solicitud de ejemplo
GET /hotels/api/v2/property/XN00012345Authorization: {signature}x-correlation-id: {correlation_id}Content-Type: application/json
Ejemplo de respuesta
{
"data": {
"property_id": "XN00012345",
"name": "Oceanview Resort & Spa",
"ratings": {
"star_rating": 4,
"user_rating": 8.5,
"review_count": 1240
},
"contact": {
"address": {
"line_1": "123 Ocean Drive",
"city": "Miami Beach",
"state": "FL",
"country": "US",
"postal_code": "33139"
},
"phone": "+1-305-555-0100",
"email": "info@oceanviewresort.com"
},
"location": {
"lat": 25.7825,
"long": -80.1305
},
"amenities": [
"Free WiFi",
"Outdoor Pool",
"Spa",
"Fitness Center",
"Restaurant",
"Bar/Lounge",
"Room Service",
"Concierge",
"Valet Parking",
"Business Center"
],
"images": {
"thumbnail": [
"https://images.xeni.com/hotels/12345/thumb_1.jpg"
],
"large": [
"https://images.xeni.com/hotels/12345/large_1.jpg",
"https://images.xeni.com/hotels/12345/large_2.jpg",
"https://images.xeni.com/hotels/12345/large_3.jpg"
],
"extra_large": [
"https://images.xeni.com/hotels/12345/xl_1.jpg"
]
},
"highlights": [
{
"type": "location",
"description": "Located on the beachfront in Miami Beach, this resort is steps from the ocean and minutes from South Beach attractions."
}
],
"policies": [
{
"type": "checkinbegin_time",
"description": "Check-in starts at 3:00 PM"
},
{
"type": "checkouttime",
"description": "Check-out by 11:00 AM"
},
{
"type": "knowbeforeyou_go",
"description": "Resort fee of $35 per night is charged at check-in. Rollaway beds are available for $25 per night."
}
],
"accessibilities": [
"Wheelchair accessible",
"Accessible parking",
"Roll-in shower"
]
}
}Campos de respuesta
| Campo | XEN IKBPH48TipoDescripción | |
|---|---|---|
propertyid XENIKBPH58 | string | Único hotel identificador. |
na yo | string | Hotel nombre. |
ratings.star calificación | entero | Estrella calificación (1–5). |
ratings.user calificación | número | Invitado puntuación de revisión (0–10). |
ratings.review count | entero | Total numero de invitado reseñas. |
contacto t | objeto | Dirección, teléfono y correo electrónico para el propiedad. |
ubicación n | objeto | Geográfico coordenadas (lat, largo). |
| XENI KBPH131amenidades | array | Completo lista de hoteles comodidades. |
ima ges | objeto | Foto URL organizadas por tamaño: thumbnail, large, extragrande. |
| XEN IKBPH157highlights | array | Propiedad aspectos destacados (descripciones de ubicaciones, características). |
policie s | array | Registro de entrada/salida Horarios, tarifas y conocimiento antes de partir. información. |
accesibilidad Ciudades | array | Accesibilidad características disponibles en la propiedad. |
*
Verificar disponibilidad de habitacionesVerifique qué tipos de habitaciones están disponibles para un hotel específico, incluidos los precios en tiempo real y los tokens de disponibilidad necesarios para el flujo de reservas.
Punto final
POST /hotels/api/v2/properties/availability
Cuerpo de solicitud
| Campo | TipoX ENIKBPH193 | Requerido | Descripción | XENIKBPH19 8
|---|---|---|---|
propertyidXENIKBPH204 | string | Sí | El hotel propertyid. |
checkin fecha | string | Sí | Registro fecha en AAAA-MM-DD formato. |
fecha de pagoXENIKBPH232 | string | Sí | Pagar fecha en AAAA-MM-DD formato. |
ocupaciónXENIKBPH246 | matriz | Sí | Igual formato de ocupación como búsqueda de hotel punto final. |
paísderesidenciaXENIKB PH_258 | string | Sí | ISO Código de país de 2 letras (p. ej., "US"). |
Solicitud de ejemplo
POST /hotels/api/v2/properties/availabilityAuthorization: {signature}x-correlation-id: {correlation_id}Content-Type: application/json
{ "propertyid": "XN00012345", "checkindate": "2025-06-01", "checkoutdate": "2025-06-05", "occupancy": [ { "adults": 2, "childs": 0, "childages": [] } ], "countryof_residence": "US"}
Ejemplo de respuesta
{
"data": [
{
"id": "room_101",
"name": "Deluxe Ocean View King",
"descriptions": "Spacious room with king bed and panoramic ocean views.",
"sleeps": 3,
"amenities": [
"Air Conditioning",
"Mini Bar",
"Safe",
"Coffee Maker"
],
"images": {
"large": [
"https://images.xeni.com/rooms/101/large_1.jpg"
],
"small": [
"https://images.xeni.com/rooms/101/small_1.jpg"
],
"thumbnail": [
"https://images.xeni.com/rooms/101/thumb_1.jpg"
]
},
"rates": [
{
"base_rate": 756,
"total_rate": 891.08,
"taxandfees": 135.08,
"currency": "USD",
"cancellation_policy": "Free cancellation until 48 hours before check-in.",
"refundable": true,
"beds": [
{
"name": "1 King Bed",
"availability_token": "eyJhbGciOiJIUzI1NiJ9.room101..."
}
]
}
]
},
{
"id": "room_102",
"name": "Standard Double Room",
"descriptions": "Comfortable room with two double beds.",
"sleeps": 4,
"amenities": [
"Air Conditioning",
"Safe",
"Coffee Maker"
],
"images": {
"large": [
"https://images.xeni.com/rooms/102/large_1.jpg"
]
},
"rates": [
{
"base_rate": 620,
"total_rate": 730.24,
"taxandfees": 110.24,
"currency": "USD",
"cancellation_policy": "Non-refundable.",
"refundable": false,
"beds": [
{
"name": "2 Double Beds",
"availability_token": "eyJhbGciOiJIUzI1NiJ9.room102..."
}
]
}
]
}
]
}Crítico: La estructura de respuesta para la disponibilidad es una matriz de habitaciones en data, no un objeto con una propiedad rooms. Asegúrese de que su código maneje esto correctamente: response.data es la matriz.
Campos de respuesta de disponibilidad
| Campo | X ENIKBPH276TipoDescripción | XENIKBPH2 80|
|---|---|---|
id XENIKBPH286 | string | Habitación identificador de tipo. Necesario para SSO pago. |
na yo | string | Habitación tipo nombre. |
descript iones | string | Habitación descripción. |
slee ps | entero | Máximo ocupación para el habitación. |
amenidades XENIKBPH326 | array | Específico de la habitación comodidades. |
ima ges | objeto | Habitación fotos en grande, pequeño y miniatura tamaños. |
tasas[].ba serate | número | Habitación tasa antes de impuestos (completa estancia). |
tasas[].tot alrate | número | Total precio incluyendo impuestos y tarifas. |
tasas[].impuestos ytarifas | número | Impuestos y tarifa monto. |
tasas[].cur rency | string | Moneda código (por ejemplo, "USD"). |
r ates[].cancellationpolicy | string | Cancelación términos para esto tasa. |
tasas[].refun dable | boolean | Si la tasa es reembolsable. |
tasas[]. camas[].nombre | string | Cama configuración descripción. |
tarifas[].camas[].disponibilidad itytoken | string | El token necesario para el siguiente paso. Pase esto al punto final de confirmación de precios. |
Concepto clave: El availabilitytoken que se encuentra en rates[].beds[].availabilitytoken es lo que pasará al punto final de Confirmación de precio. Este token identifica la habitación, la tarifa y la configuración de cama específicas que ha seleccionado el huésped.
Qué almacenar
Después de una verificación de disponibilidad exitosa, guarde estos valores de la respuesta; son necesarios para los pasos siguientes:
- ID de habitación (
id): necesario para la URL de pago de SSO. - Token de disponibilidad (
rates[].beds[].availability_token): necesario para confirmar el precio. - ID de propiedad: ya conocido por la búsqueda; necesario para realizar el pago.
*
_Artículo siguiente: Confirmación de precios y ciclo de vida del token
_