Gestión de reservas: estado, recuperación y cancelación
Una vez creada una reserva, puedes recuperar sus detalles y procesar cancelaciones a través de la API de Xeni Hotels. Este artículo cubre los puntos finales de gestión de reservas y los estados de reserva que encontrará.
Recuperar detalles de la reserva
Punto final
GET /hotels/api/v2/bookings/{booking_id}
Parámetros de ruta
| Parámetro | Tipo | Requerido | Descripción | XENIKBPH 26
|---|---|---|---|
bookingidXENIKBPH_32 | string | Sí | El ID de reserva devuelto cuando se creó la reserva. |
Encabezados
| Encabezado | XEN IKBPH48RequeridoDescripción | XENIKBPH52|
|---|---|---|
Autoriza ción | Sí | Válido API firma. |
x-correlación ion-id | Sí | Correlación ID de la sesión que creó la reserva. |
Solicitud de ejemplo
GET /hotels/api/v2/bookings/XENI-1700000000-ABC123DEFAuthorization: {signature}x-correlation-id: {correlation_id}Content-Type: application/json
Ejemplo de respuesta
{
"data": {
"booking_id": "XENI-1700000000-ABC123DEF",
"confirmation_number": "HTL-98765",
"booking_status": "confirmed",
"property": {
"property_id": "XN00012345",
"name": "Oceanview Resort & Spa"
},
"guest": {
"title": "Mr",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@example.com",
"phone": {
"country_code": "1",
"number": "5551234567"
}
},
"room": {
"name": "Deluxe Ocean View King",
"check_in": "2025-06-01",
"check_out": "2025-06-05"
},
"pricing": {
"total_price": 891.08,
"base_price": 756,
"taxes": 95.08,
"fees": 40,
"currency": "USD"
},
"cancellation_policy": "Free cancellation until 48 hours before check-in.",
"created_at": "2025-05-20T14:30:00Z"
}
}*
Nota: Para obtener detalles completos sobre la creación de reservas (API directo y pago SSO), consulte Reservas de hoteles: API directo y pago SSO.
*
Cancelar una reserva
Punto final
PATCH /hotels/api/v2/bookings/{booking_id}
Cuerpo de solicitud
| Campo | TipoXE NIKBPH83 | Requerido | Descripción | XENIKBPH88
|---|---|---|---|
estadodereservaXENIKBPH94 _ | cadena | Sí | Establecer a "CANCELLED" para cancelar la reserva. |
Solicitud de ejemplo
PATCH /hotels/api/v2/bookings/XENI-1700000000-ABC123DEFAuthorization: {signature}x-correlation-id: {correlation_id}Content-Type: application/json
{ "booking_status": "CANCELLED"}
Ejemplo de respuesta
{
"status": "success",
"message": "Booking cancelled successfully",
"data": {
"booking_id": "XENI-1700000000-ABC123DEF",
"booking_status": "CANCELLED"
}
}Importante: Es posible que se apliquen cargos por cancelación dependiendo de la política de cancelación de la tarifa. Siempre verifique los campos cancellation_policy y refundable de la respuesta de disponibilidad antes de cancelar. Las reservas no reembolsables pueden no ser elegibles para cancelación o pueden incurrir en un cargo completo.
*
Estados de reserva
El campo booking_status indica el estado actual de una reserva:
| Estado | Descripción | XENIKBPH_11 4
|---|---|
confirmado | El la reserva está confirmada y la reserva está activa. |
CANCELADO | El la reserva ha sido cancelada. |
pendiente | La reserva se está procesando. Vuelva a consultar en breve. |
*
Formato de ID de reserva
Al crear reservas a través de la API directa, usted proporciona su propio booking_id. Recomendamos un formato que incluya:
- Un prefijo reconocible (por ejemplo,
XENI-) - Una marca de tiempo o identificador secuencial
- Un sufijo aleatorio para la singularidad.
Ejemplo
XENI-1700000000-ABC123DEF
La API también devolverá un confirmation_number: este es un identificador independiente generado por el hotel o proveedor y puede ser necesario para el check-in.
*
Mejores prácticas- Almacenar ambos ID: Guarde tanto el bookingid como el confirmationnumber. El ID de reserva es para búsquedas de API; Es posible que necesite el número de confirmación en el hotel.
- Consulta la política de cancelación antes de reservar: Muestra los términos de cancelación al huésped durante el flujo de reserva. Esto crea expectativas y reduce las disputas.
- Maneje los errores de búsqueda con elegancia: Si no se encuentra una reserva por ID, puede deberse a que la sesión o el ID de correlación han caducado. Solicite al usuario que verifique el ID de la reserva.
- Mantenga un registro local: Para fines de auditoría y soporte, guarde los detalles de la reserva en su propia base de datos junto con los datos de la reserva de Xeni.
_Artículo siguiente: Gestión de sesiones e ID de correlación
_