Cambio importante
La API de cambio importante de Rapid permite a los colaboradores ofrecer a los viajeros una opción de autogestión para que puedan ajustar los detalles clave de la reserva sin tener que cancelar y volver a reservar.
Información general
La flexibilidad sigue siendo una prioridad para los viajeros, y es importante crear una experiencia fluida para quienes necesiten cambiar los detalles de una reserva existente a medida que cambien sus planes de viaje.
Cuando estos cambios de reserva repercuten en el coste, se denominan cambios duros. La API de cambio brusco de Rapid te permite crear o mejorar tu experiencia de cambio de cara al viajero o al agente potenciando las modificaciones de fecha, tipo de habitación y ocupación a través de la API.
La API de cambio importante de Rapid ofrece los tipos de cambios siguientes:
- Las fechas se pueden ajustar o sustituir completamente por un nuevo intervalo de fechas en el futuro. Sin embargo, ten en cuenta que la nueva estancia no deberá realizarse más de un año después del intervalo de fechas reservadas originalmente.
- El tipo de habitación de la reserva original puede cambiarse a una categoría superior o inferior. Por ejemplo, una reserva estándar de dos camas se puede convertir en una reserva Deluxe King.
- El número de ocupantes puede aumentarse o reducirse.
- La fecha de la estancia y el número de ocupantes se pueden cambiar en conjunto (en forma de parámetros) para las habitaciones disponibles.
Los cambios anteriores pueden realizarse antes de la estancia en cualquier reserva rápida de habitación individual realizada en el inventario contratado por Expedia. Esto incluye cambios en el mismo día siempre que se hagan antes de la entrada, aunque pueden aplicarse penalizaciones por parte del establecimiento.
Ten en cuenta que la opción de cambio no aparecerá para las reservas no reembolsables cuando el penalty
determinado por el establecimiento sea igual al valor original de la reserva.
Esto proporciona a tus agentes y viajeros una mejor capacidad de autoservicio y reduce la necesidad de realizar cambios manuales que requieren la asistencia del servicio de Expedia.
Además, es posible ver un registro de todos los cambios realizados en una reserva por medio del historial del itinerario.
Beneficios del cambio duro
Resuelve los cambios de reserva más rápidamente y conserva a tus viajeros: Los agentes ya no necesitan conectarse a una herramienta independiente ni llamar a los agentes de Expedia para realizar cambios en las reservas, lo que te ahorra tiempo y costes de servicio. Además, al evitar una cancelación total de la reserva, los viajeros no se sentirán incitados a reiniciar el proceso de compra, por lo que es menos probable que los pierdas en favor de un competidor.
Asegúrate la última habitación disponible y mantén el precio original siempre que sea posible: Los viajeros han dedicado tiempo a seleccionar la propiedad adecuada para su viaje. Para una parte de las propiedades, el cambio duro conserva la habitación original, lo que significa que no hay riesgo de perder la última habitación disponible. Aunque no podemos garantizar que las tarifas nocturnas sean las mismas, si la propiedad lo permite, tu viajero puede recibir el mismo precio nocturno que el de su reserva original.
Mejora la experiencia del viajero manteniendo coherente el ID del itinerario: Mantienes el número de itinerario original a través de un cambio duro, lo que resulta en menos confusión para ti, los agentes y los viajeros.
Funcionamiento
- Solicita el itinerario al punto final de Recuperación de Itinerario de Rapid para ver si la reserva es apta para un cambio duro. Si es así, aparecerá un enlace tokenizado
shop_for_change
en la respuesta de recuperación de itinerario o búsqueda de itinerario.
Ejemplo de enlace en la respuesta:
[
{
"itinerary_id": "1293878723",
...
"rooms": [
{
"id": "307234070",
...
"links": {
"cancel": {
"method": "DELETE",
"href": "/v3/itineraries/9030154067083/rooms/d3a9f088-f8a9-4ac1-999d-d5bae3ae18b0?token=REhZAQsCBAEHU0cBW0NeEUocagFfXQcEMzUfXFREClxbAUBeUEsHC1UKTTtbAGxEXAZaFgAIKy5lfC4SURNFRltbUkFpQFVGRAtbC2tdBQtdU1EGAlBSBhRRVFIEFVJdA1UbUQNRA04LVVdZBwkAUVwFUQEXR1gXRw1WRGsWQQtfX1xWb1xXWQ8OVFYAVxZAXBJKWA1WPlEFCFMDAlVXC1NXH1YDBFMZAQVQVhkKBgMCHVdUUwIHBQFRVAZQARVJQVgSUhZCQGcIUAQHDV8NDB9VD1RRXQ4XUUdEQQYEAl4EC15KBgpdRyBQBlJfFkQOBQUNVgAGAFEHUAQ="
},
"change": {
"method": "PUT",
"href": "/v3/itineraries/9030154067083/rooms/d3a9f088-f8a9-4ac1-999d-d5bae3ae18b0?token=REhZAQsCBAEHU0cBW0NeEUocagFfXQcEMzUfXFREClxbAUBeUEsHC1UKTTtbAGxEXAZaFgAIKy5lfC4SURNFRltbUkFpQFVGRAtbC2tdBQtdU1EGAlBSBhRRVFIEFVJdA1UbUQNRA04LVVdZBwkAUVwFUQEXR1gXRw1WRGsWQQtfX1xWb1xXWQ8OVFYAVxZAXBJKWA1WPlEFCFMDAlVXC1NXH1YDBFMZAQVQVhkKBgMCHVdUUwIHBQFRVAZQARVJQVgSUhZCQGcIUAQHDV8NDB9VD1RRXQ4XUUdEQQYEAl4EC15KBgpdRyBQBlJfFkQOBQUNVgAGAFEHUAQ="
},
"shop_for_change": {
"method": "GET",
"href": "/v3/properties/480180/availability?token=XV1CBl5UWkdoCwc9RlNTCkoBCCp_bSd1QBRcX1BGEVEIVjlHXF1ZAVcHDVRRXlEbDVdQXEkBBlMFFFoBAFQbAAEHBgcOBlIED1sMQ0RRD1dURUwIBEpVAh8JUVhSTQdfVVlTXRo0YEVLWxETV10PE1gWXAFuRVwRQQpWQFFAVhxQRURaXlJsBlhXDQtaBm9QUQRaWg1NFQVTBVMBGVdRHwQBFAAHRQtQCFEXA0xaR0YIXlY9AFkNCFhaBTpFWkdYX2gQWAtbBAlUBRcABUBQQVBDFlxWVmwBW1tbDVxTOkEEFlc7DAENU1QIUgMBXAlXHkRZFkNdURFrFkcKAF4KXToNUAlVAwRbD1YXCUZdAEc-XQhWAGhfXAoLVlcDUltRBkhVUgYGHVZTUwEUDQBVCEwIAwRUXFEBVFMECQYfAExfF0xdDARvUgxfDlFaBmsXDVwLPgxXDwEIVQoIUlUHUB5TDQ1TUQ0BaEZWBVsWVm4ODgUERQ0UXlZWUwIOV1sHFl1dBF9ZCV5aBQ8FVV5RFh1RBQdISQddDwdeS1pBExYFXgsVRVgWF1oBSztGA1VTSwBbBwFqCgUMCVACBVICU1UbUwoABR0BAAEFSFYFUlcVUAENAgdVBl1XAAUEHhJIWQALBQdRA1MeRgEHUUpACFcBahZeQksGVl5BV0QPVztLU0RBWVBFARFREgtaBEJSSxhmWAYFWAlVBFMHA1BRBAYECkMDTQtHQQhfAWtRW10KWV8FPVUKBlJfCwsMBwMLABpTBUkHCh4ETFBAQA9bXmZSDVpTWF0Ea1tTB0dEBF0GGw9WQwdfDghRDVZrDEUGVWtRAAoABlsHVwNQUhEBXQsBRlUXV1E8Qw9cAwkLVQdSHFEOSAUEbAUBQFAjBQlBAyQDVxoEBlRvR11BXRZHWQ9WbFULClhRCFE5TV5NBFhpFldbDzxTRRFCAFZXGAkwMXdAAgpGXEdKHWZbDQBVXG1iRAdAURASXlpUOVYLXVoLDwE6RQ0SAglbUwIGTFEDFl1IDEVBXV1QOwMNW11ZC186VhdCSwdXBR8EbGZwRV0eWBVHXFcDPFYLVg9dCFRpSRdaFAFHFxhuUAYJBl4GAwwGEVZOWkNBXgxTOlZbDl1RX1JqXAUWbV0AQFlGURIFVgVaQFJHcAtdVw8SQVUPUw9RBVUDBA5dBA=="
}
}
}
]
}
]
Habitaciones o tarifas disponibles:
- A continuación, puedes llamar al punto final Tarifas adicionales de la API de disponibilidad utilizando el enlace tokenizado
shop_for_change
para buscar diferentes fechas y/o número de ocupantes para el mismo/diferente tipo de habitación. La respuesta de Disponibilidad devolverá todas las habitaciones disponibles con tarifas que sean aptas para las nuevas fechas de entrada/salida y/o ocupación. Esta Respuesta de disponibilidad es la misma que ya tienes integrada para los flujos de compra habituales. Utiliza el enlaceprice_check
asociado a los elementosroom
,rate
ybed_group
actualizados que corresponda según el cambio. - El
sales_channel
es un campo obligatorio en la Solicitud de disponibilidad. Si ese campo no se pasa en la solicitud, se devolverá un error en la respuesta. - Si la reserva original era una tarifa a cobrar de una propiedad/hotel y no se pasa
currency
en la solicitudshop_for_change
, se devolverá la moneda de la propiedad. Por ejemplo, si la propiedad está en España y se trata de una propiedad/hotel con tarifa de cobro revertido pero has reservado en USD, si no se pasa el USD en la solicitud deshop_for_change
los precios devueltos estarán en EUR. - Después de seleccionar la habitación, utiliza la URL
price_check
para obtener el reembolso o los importes de cualquier cargo adicional, así como las penalizaciones, si corresponde. Ten en cuenta que el cálculo del reembolso o la cantidad adeudada ya habrá tenido en cuenta las penalizaciones aplicables. Las penalizaciones por cambio o cancelación las determina el establecimiento. - El enlace de verificación de precios devuelve los campos
amount_owed
orefund
, o bien lapenalty
para las nuevas fechas, habitación o número de ocupantes. - Si la reserva original era con tarifa de socio, los socios deben pasar el parámetro
rate_option=member
para ver las tarifas de socio disponibles (MOD). No reutilizaremos el valor de la reserva original porque queremos asegurarnos de que, en el momento del cambio duro, el viajero se está registrando realmente como miembro para poder recibir correctamente las tarifas de miembro.
Limitaciones del cambio duro
- No es posible cambiar el modelo empresarial mediante un cambio duro. Por ejemplo, no se puede cambiar una reserva de
expedia_collect
aproperty_collect
. Tales intentos arrojarán un error 400 - Bad Request en el pasoshop_for_change
.
Ejemplo
{
"type": "invalid_input",
"message": "An invalid request was sent in, please check the nested errors for details.",
"errors": [
{
"type": "filter.mismatch",
"message": "Existing booking is property_collect, this cannot be changed.",
"fields": [
{
"name": "filter",
"type": "querystring",
"value": "expedia_collect"
}
]
}
]
}
- Tampoco es posible cambiar el tipo de tasa utilizando el cambio duro. Por ejemplo, al cambiar una reserva de paquete se comprarán las tarifas del paquete en el paso
shop_for_change
. Si no hay una tarifa de paquete disponible para el cambio, aparecerá como sin disponibilidad.
Ejemplo de respuesta de verificación de precios con reembolso:
En este ejemplo, estamos acortando la estancia 1 noche a 148,37 USD por noche sin penalty
, lo que resulta en esa cantidad como refund
.
{
"status": "available",
...
"refund": {
"request_currency": {
"value": "148.37",
"currency": "USD"
},
"billable_currency": {
"value": "148.37",
"currency": "USD"
}
}
}
Ejemplo de respuesta de verificación de precios con importe adeudado y penalización:
En este ejemplo, estamos acortando la estancia 1 noche a 148,37 USD por noche, pero hay 200,00 USD penalty
por cancelar esa noche, lo que da como resultado 51,63 USD adeudados.
{
"status": "available",
...
"amount_owed": {
"request_currency": {
"value": "51.63",
"currency": "USD"
},
"billable_currency": {
"value": "51.63",
"currency": "USD"
}
},
"penalty": {
"request_currency": {
"value": "200.00",
"currency": "USD"
},
"billable_currency": {
"value": "200.00",
"currency": "USD"
}
}
}
- Si el alojamiento aplica cargos por persona adicional, tasas del alojamiento o cargos por estancia, estos también se devolverán en la respuesta.
- El enlace
commit
confirma que el viajero desea cambiar las fechas y acepta las condiciones de dicho cambio. Cuando existe:- Una cantidad debida en el cuerpo de la confirmación de cambio, introduce la nueva información de pago. Los métodos de pago aceptados son tarjeta de cliente, tarjeta virtual, tarjeta corporativa o Affiliate Collect.
- Un reembolso el viajero no necesita introducir un nuevo pago y el reembolso se hará a la forma de pago original.
Notas importantes:
- Si hay
amount_owed
en la respuesta de Comprobación de los precios, el pago es obligatorio; no proporcionar el pago dará un error. - Si hay un
refund
en la respuesta, el pago no es necesario, pero si se proporciona será ignorado. - Si no hay
amount_owed
orefund
, el pago no es necesario, pero si se proporciona, se ignorará sin errores.
Ejemplo de enlace de confirmación de cambios en la respuesta de Comprobación de los precios:
{
"status": "available",
...
"links": {
"commit": {
"method": "PUT",
"href": "/v3/itineraries/9030222954615/rooms/036df797-f9a1-4ad8-a1e9-1e9a621ecd0a/pricing?token=QldfCGlcUA4EXVRWAxBCAF4ARxBZVwVmEg9dBFAFV11SAVAHGFhVBgBJDQENBB4PCAAHSVACW1gAAFFXUVIEBxJbUkFVW1FbQz1bA2tGBFVXQ1EIcTw1d30scRBFSg9bVTtVW1YPVAZcCQIAWEtXR0sHQQBuXl1YC1oGBAVAQA1NU29HSUVWWUNKBwZdFVlcVwBVbgBKDk8SUBMUWwUAR0VUXAYfCFYSWABDDVFHXVwGb1cHBxAOAl9TFwRWUA5cXRo3ZEJFVk0TV1wORgdFUF0dEkdRUlZOV1xVB1kSB1wKCVsKAjpCBABXEVVrDFVeCQIAVgYAEhFVElA6Ek4WXVg3YHUtdnQxc0BfA0BmF1QVVBIFA1ZaS1IUAAISXlxZAENUC1FRWwtbXAoJBlYeAFYcAwBCFVJKElgDS25JF1tQDVRRPQpUDVYGVQwNVBIIB14EBBcOVFJUF1weARFCE11fARsFbTAiEVlSFF8BRlgMBjkGWQMIDQAKXwcRAQpXU1NfEEIIBgMFV0xSAxsAXR4EWA1FVxZmCRFcXQgETQhWFwRWUWYNBwlXDlcFVhVCSQxRWVEFU1AXSgpbQhZfXFNpR1JCWw1mYyN6IXV4Lnh9F1dZWwcObVQAXVRQSjlXXghPbFMEUg9LCQIAWEtXR1gLWhBfQwRXBFEdDgVAQQFfU0JBWVtUO0RXExBXBA1BWBFQVU9IE1ECUExRXAMAWRNWRxYSWg9RRz5CA0dAXV0Pb1gGXwVRBQZWWgRQGFYPClFPAwUFXRVZDVsLGQACAAABVwcMAwVbDBJDAUFHDFwLPVsAWFBSWVoLWgYNSFdXDgUVUAJRDU4NVgJdSwUAAQBQDAJTUwxbBEBBFFtJAEcVSD5RAQoECAQEXFpEUF0KVRdWF1FWbxZcDF0EBlUBA0wBBRpVVmcKVhNVeAAKQAd3VwsaV1sJAlsIVwwBOxIHDVwNCAtUbVpMAVRnCwANVgEBU1oADlBXEVdcE1oQQEg9AgkBVF8zMEMEB1NoBgdBU0pZFUJcW10KVUozQVNVCxMnUAYWWwddOQVWV1NdBE0UUBJaWldZRgEmHFN2QwEETRxFAUEHUUQCeEcGADdDV1FYdVZSFgIHElB3QAYGEl9CVBAHBkFWcxxXAmdAXQNWFVYEFgUiFlEKRREAWkxbFUBDB1cUBHhUFlR3EwEiFRdMRkBfWVBBO15cW1AAR3NbXAJSQhdVXAtVBFYAAlNQCwE="
}
}
}
Ejemplo de cuerpo de solicitud de confirmación con aceptación del nuevo método de pago:
{
"payments": [
{
"type": "customer_card",
"number": "4111111111111111",
"security_code": "123",
"expiration_month": "08",
"expiration_year": "2030",
"billing_contact": {
"given_name": "John",
"family_name": "Smith",
"email": "john@example.com",
"phone": {
"country_code": "1",
"area_code": "487",
"number": "5550077"
},
"address": {
"line_1": "555 1st St",
"line_2": "10th floor",
"line_3": "Unit 12",
"city": "Seattle",
"state_province_code": "WA",
"postal_code": "98119",
"country_code": "US"
}
}
}
]
}
Después de aceptar los cambios, debes realizar una recuperación del itinerario para confirmar que se hayan aplicado los cambios.
Ejemplo de nuevas fechas:
Itinerario con fecha de entrada original el 13-12-2023 y fecha de salida el 14-12-2023:
{
"itinerary_id": "9141257626318",
"property_id": "480180",
"rooms": [
{
"id": "201300171",
"bed_group_id": "37321",
"confirmation_id": {
"expedia": "32831654",
"property": "53063928"
},
"checkin": "2023-12-13",
"checkout": "2023-12-14",
"number_of_adults": 2,
"given_name": "Jane",
"family_name": "Doe",
"status": "booked",
"special_request": "Top floor or away from street please",
"smoking": false,
"rate": {
"id": "270125984",
"merchant_of_record": "property",
"refundable": true,
"cancel_refund": {
"amount": "-151.31",
"currency": "USD"
},
"cancel_penalties": [
{
"currency": "USD",
"nights": "1",
"start": "2023-12-11T23:59:00.000-06:00",
"end": "2023-12-13T23:59:00.000-06:00"
}
],
"amenities": [
"2192",
"1073742786"
],
"pricing": {
"nightly": [
[
{
"value": "129",
"type": "base_rate",
"currency": "USD"
},
{
"value": "22.31",
"type": "tax_and_service_fee",
"currency": "USD"
}
]
],
"totals": {
"inclusive": {
"billable_currency": {
"value": "151.31",
"currency": "USD"
}
},
"exclusive": {
"billable_currency": {
"value": "129",
"currency": "USD"
}
},
"property_fees": {
"billable_currency": {
"value": "0.81",
"currency": "USD"
}
}
},
"fees": {
"mandatory_fee": {
"billable_currency": {
"value": "0.81",
"currency": "USD"
}
}
}
}
},
"loyalty_id": "123456789",
"loyalty": {
"member_id": "123456789",
"program_id": "Hotel"
},
"links": {
"cancel": {
"method": "DELETE",
"href": "/v3/itineraries/9141257626318/rooms/934aec56-b124-4f29-9ef8-90309b92eb07?token=REhZAQsDBAMHVEcBW0NeEUocagFfXQcEMzUfXFREClxbAUBeUEsHC1UKTTtbAGxEXAZaFgAIKy5lfC4SQgdERlpTRWxGQV9TXg5ROl1QXAAJAA0NBEIVQFYVVURBQTlRVFkCCwdQC1MeUQkAXVQPDFQHWwJQX1gWFlcDU0wWVgBQV1dBX0BDSlRXC0R3CVVQUhJMXF8NWAhSBVIEAFE="
},
"change": {
"method": "PUT",
"href": "/v3/itineraries/9141257626318/rooms/934aec56-b124-4f29-9ef8-90309b92eb07?token=REhZAQsDBAMHVEcBW0NeEUocagFfXQcEMzUfXFREClxbAUBeUEsHC1UKTTtbAGxEXAZaFgAIKy5lfC4SQgdERlpTRWxGQV9TXg5ROl1QXAAJAA0NBEIVQFYVVURBQTlRVFkCCwdQC1MeUQkAXVQPDFQHWwJQX1gWFlcDU0wWVgBQV1dBX0BDSlRXC0R3CVVQUhJMXF8NWAhSBVIEAFE="
},
"pricing": {
"method": "GET",
"href": "/v3/itineraries/9141257626318/rooms/934aec56-b124-4f29-9ef8-90309b92eb07/pricing?token=REhZAQsDBAMHVEcBW0NeEUocagFfXQcEMzUfXFREClxbAUBeUEsHC1UKTTtbAGxEXAZaFgAIKy5lfC4SQgdERlpTRWxGQV9TXg5ROl1QXAAJAA0NBEIRR1ABDQ4ACV4JBlMCBBERQQxIURYVTWdbBQRSDVUADwlDVg5SX1hbXglYWFdSWFRAQQMIAxpEBFRaWAZLXhdIT1sOWEdCVRQXXFBHbRcDUwdGUA9SA2taUA9RAgdVVgIDAhxQW1MHGAcOUAZPVVUFWBUAAAEFV1YBXQsAUQQeclsGV19DEV8JVwtXVgdRU10EUw=="
},
"shop_for_change": {
"method": "GET",
"href": "/v3/properties/480180/availability?token=XV1CBl5UWkdoCwc9RlNTCkoBCCp_bSd1QBRcX1BGEVEIVjlHXF1ZAVcHDVRRXlEbDVdQXEkBBlMFFFoBAFQbAAEHBgcOBlIED1sMQ0RRD1dURUwIBEpVAh8JUVhSTQdfVVlTXRo0YEVLWxETV10PE1gWXAFuRVwRQQpWQFFAVhxQRURaXlJsBlhXDQtaBm9QUQRaWg1NFQVTBVMBGVdRHwQBFAAHRQtQCFEXA0xaR0YIXlY9AFkNCFhaBTpFWkdYX2gQWAtbBAlUBRcABUBQQVBDFlxWVmwBW1tbDVxTOkEEFlc7DAENU1QIUgMBXAlXHkRZFkNdURFrFkcKAF4KXToNUAlVAwRbD1YXCUZdAEc-XQhWAGhfXAoLVlcDUltRBkhVUgYGHVZTUwEUDQBVCEwIAwRUXFEBVFMECQYfAExfF0xdDARvUgxfDlFaBmsXDVwLPgxXDwEIVQoIUlUHUB5TDQ1TUQ0BaEZWBVsWVm4ODgUERQ0UXlZWUwIOV1sHFl1dBF9ZCV5aBQ8FVV5RFh1RBQdISQddDwdeS1pBExYFXgsVRVgWF1oBSztGA1VTSwBbBwFqCgUMCVACBVICU1UbUwoABR0BAAEFSFYFUlcVUAENAgdVBl1XAAUEHhJIWQALBQdRA1MeRgEHUUpACFcBahZeQksGVl5BV0QPVztLU0RBWVBFARFREgtaBEJSSxhmWAYFWAlVBFMHA1BRBAYECkMDTQtHQQhfAWtRW10KWV8FPVUKBlJfCwsMBwMLABpTBUkHCh4ETFBAQA9bXmZSDVpTWF0Ea1tTB0dEBF0GGw9WQwdfDghRDVZrDEUGVWtRAAoABlsHVwNQUhEBXQsBRlUXV1E8Qw9cAwkLVQdSHFEOSAUEbAUBQFAjBQlBAyQDVxoEBlRvR11BXRZHWQ9WbFULClhRCFE5TV5NBFhpFldbDzxTRRFCAFZXGAkwMXdAAgpGXEdKHWZbDQBVXG1iRAdAURASXlpUOVYLXVoLDwE6RQ0SAglbUwIGTFEDFl1IDEVBXV1QOwMNW11ZC186VhdCSwdXBR8EbGZwRV0eWBVHXFcDPFYLVg9dCFRpSRdaFAFHFxhuUAYJBl4GAwwGEVZOWkNBXgxTOlZbDl1RX1JqXAUWbV0AQFlGURIFVgVaQFJHcAtdVw8SQVUPUw9RBVUDBA5dBA=="
}
}
}
],
"billing_contact": {
"given_name": "Jane",
"family_name": "Doe",
"address": {
"line_1": "123 Main Street",
"line_2": "",
"city": "Seattle",
"state_province_code": "WA",
"postal_code": "98122",
"country_code": "US"
}
},
"creation_date_time": "2023-06-21T19:52:42.477Z",
"affiliate_reference_id": "2023-06-21-02",
"affiliate_metadata": "data_point_1:|data_point2:",
"email": "janedoe@email.com",
"phone": {
"country_code": "1",
"area_code": "858",
"number": "1234567"
}
}
Itinerario con nueva fecha de entrada el 04-12-2023 y fecha de salida el 05-12-2023. Ten en cuenta que el número de itinerario seguirá siendo el mismo que en la reserva original.
{
"itinerary_id": "9141257626318",
"property_id": "480180",
"rooms": [
{
"id": "201300171",
"bed_group_id": "37321",
"confirmation_id": {
"expedia": "33633318"
},
"checkin": "2023-12-04",
"checkout": "2023-12-05",
"number_of_adults": 2,
"given_name": "Jane",
"family_name": "Doe",
"status": "booked",
"special_request": "Top floor or away from street please",
"smoking": false,
"rate": {
"id": "270125984",
"merchant_of_record": "property",
"refundable": true,
"cancel_refund": {
"amount": "-151.31",
"currency": "USD"
},
"cancel_penalties": [
{
"currency": "USD",
"nights": "1",
"start": "2023-12-02T23:59:00.000-06:00",
"end": "2023-12-04T23:59:00.000-06:00"
}
],
"amenities": [
"2192",
"1073742786"
],
"pricing": {
"nightly": [
[
{
"value": "22.31",
"type": "tax_and_service_fee",
"currency": "USD"
},
{
"value": "129.00",
"type": "base_rate",
"currency": "USD"
}
]
],
"totals": {
"inclusive": {
"billable_currency": {
"value": "151.31",
"currency": "USD"
}
},
"exclusive": {
"billable_currency": {
"value": "129.00",
"currency": "USD"
}
},
"property_fees": {
"billable_currency": {
"value": "0.81",
"currency": "USD"
}
}
},
"fees": {
"mandatory_fee": {
"billable_currency": {
"value": "0.81",
"currency": "USD"
}
}
}
}
},
"loyalty_id": "123456789",
"loyalty": {
"member_id": "123456789",
"program_id": "Hotel"
},
"links": {
"cancel": {
"method": "DELETE",
"href": "/v3/itineraries/9141257626318/rooms/ae70934e-1f8f-441c-9ae5-6f75a622ce55?token=REhZAQsDBAMHVEcBW0NeEUocagFfXQcEMzUfXFREClxbAUBeUEsHC1UKTTtbAGxEXAZaFgAIKy5lfC4SQgdERlpTRWxGQV9TXg5ROl1QXAAJAA0NBEIVQFYVVURBQTlRVFkCCwdQC1MeUQkAXVQPDFQHWwJQX1gWFlcDU0wWVgBQV1dBX0BDSlRXC0R3CVVQUhJMXF8NWAhSBVIEAFE="
},
"change": {
"method": "PUT",
"href": "/v3/itineraries/9141257626318/rooms/ae70934e-1f8f-441c-9ae5-6f75a622ce55?token=REhZAQsDBAMHVEcBW0NeEUocagFfXQcEMzUfXFREClxbAUBeUEsHC1UKTTtbAGxEXAZaFgAIKy5lfC4SQgdERlpTRWxGQV9TXg5ROl1QXAAJAA0NBEIVQFYVVURBQTlRVFkCCwdQC1MeUQkAXVQPDFQHWwJQX1gWFlcDU0wWVgBQV1dBX0BDSlRXC0R3CVVQUhJMXF8NWAhSBVIEAFE="
},
"pricing": {
"method": "GET",
"href": "/v3/itineraries/9141257626318/rooms/ae70934e-1f8f-441c-9ae5-6f75a622ce55/pricing?token=REhZAQsDBAMHVEcBW0NeEUocagFfXQcEMzUfXFREClxbAUBeUEsHC1UKTTtbAGxEXAZaFgAIKy5lfC4SQgdERlpTRWxGQV9TXg5ROl1QXAAJAA0NBEIRR1ABDQ4ACV4JBlMCBBERQQxIURYVTWdbBQRSDVUADwlDVg5SX1hbXglYWFdSWFRAQQMIAxpEBFRaWAZLXhdIT1sOWEdCVRQXXFBHbRcDUwdGUA9SA2taUA9RAgdVVgIDAhxQW1MHGAcOUAZPVVUFWBUAAAEFV1YBXQsAUQQeclsGV19DEV8JVwtXVgdRU10EUw=="
},
"shop_for_change": {
"method": "GET",
"href": "/v3/properties/480180/availability?token=XV1CBl5UWkdoCwc9RlNTCkoBCCp_bSd1QBRcX1BGEVEIVjlHXF1ZAAZWAFUGB1YbXFMNXUkBAFdXFANWV1IbBFcEUVUPUgZRUVEGQ0RRD1dURUwIBEpVAh8JUVhSTQdfVVlTXRo0YEVLWxETV10PE1gWXAFuRVwRQQpWQFFAVhxQRURaXlJsBlhXDQtaBm9QUQRaWg1NFQVTBVMBGVdRHwUAFAAHRQtQCFEXA0xaR0YIXlY9AFkNCFhaBTpFWkdYX2gQWAtbBAlUBRcABUBQQVBDFlxWVmwBW1tbDVxTOkEEFlc7DAENU1QIUgMBXAlXHkRZFkNdURFrFkcKAF4KXToNUAlVAwRbD1YXCUZdAEc-XQhWAGhfXApTAFRSDgtQVUgGBQxUHVYBUFsUDQRWBUwHVQBRBAUKVFUDDAQfAExfF0xdDARvUgxfDlFaBmsXDVwLPgxXDwEIVQoIUlUHUB5TDQ1TUQ0BaEZWBVsWVm4ODgUERQ0UXlZWUwIOV1sHFl1dBF9ZCV5aBQ8FVV5RFh1RBQdISQddDwdeS1pBExYFXgsVRVgWF1oBSztGA1VTSwBbBwFqCgUMCVACBVICU1UbUwoABR0BAAEFSFYFUlcVUAENAgdVBl1XAAUEHhJIWQALBQdRA1MeRgEHUUpACFcBahZeQksGVl5BV0QPVztLU0RBWVBFARFREgtaBEJSSxhmWAYFWAlVBFMHA1BRBAYECkMDTQtHQQhfAWtRW10KWV8FPVUKBlJfCwsMBwMLABpTBUkGDR4ETFBAQA9bXmZSDVpTWF0Ea1tTB0dEBF0GGw9WQwdfDghRDVZrDEUGVWtRAAoAB1UHVQZUXhEBXQsBRlUXV1E8Qw9cAwkLVQdSHFEOSAUEbAUBQFAjBA5BAyQEURoBA1pvR11BXRZHWQ9WbFULClhRCFE5TV5NBFhpFldbDzxTRRFCAFZXGAkwMXdAAgpGXEdKHWZbDQBVXG1iRAdAURASXlpUOVYLXVoLDwE6RQ0SAglbUwIGTFEDFl1IDEVBXV1QOwMNW11ZC186VhdCSwdXBR8EbGZwRV0eWBVHXFcDPFYLVg9dCFRpSRdaFAFHFxhuUAYJBl4GAwwGEVZOWkNBXgxTOlZbDl1RX1JqXAUWbV0AQFlGURIFVgVaQFJHcAtdVw8SQVUPUAxVBlEDBgpQBw=="
}
}
}
],
"billing_contact": {
"given_name": "Jane",
"family_name": "Doe",
"address": {
"line_1": "123 Main Street",
"line_2": "",
"city": "Seattle",
"state_province_code": "WA",
"postal_code": "98122",
"country_code": "US"
}
},
"creation_date_time": "2023-06-21T19:52:42.477Z",
"affiliate_reference_id": "2023-06-21-02",
"affiliate_metadata": "data_point_1:|data_point2:",
"email": "janedoe@email.com",
"phone": {
"country_code": "1",
"area_code": "858",
"number": "1234567"
}
}

Para ver el historial de la reserva, debes llamar a la API de recuperación de itinerario por medio del indicador include=history
. Se devolverán los detalles a nivel de itinerario y de habitación.
Resolución de errores
- No hay cambio posible. La reserva ya coincide con la fecha solicitada.
Si el registro de entrada, el registro de salida, la ocupación, el tipo de habitación, el identificador de tarifa y el precio son los mismos que en la reserva original, se devolverá un error 400 Solicitud incorrecta.
{
"type": `invalid_input`,
"message": "An invalid request was sent in, please check the nested errors for details",
"errors": [
{
"type": "no_change",
"message": "No change possible. Reservation already matches requested date."
}
]
}
- La reserva existente es Expedia Collect/Property Collect, esto no se puede cambiar.
Como ya se ha dicho, no es posible cambiar el modelo empresarial mediante un cambio duro. Por ejemplo, no se puede cambiar una reserva de expedia_collect
a property_collect
. Los intentos de cambiar el modelo de negocio arrojarán un error 400 - Bad Request en el paso shop_for_change
.
{
"type": "invalid_input",
"message": "An invalid request was sent in, please check the nested errors for details.",
"errors": [
{
"type": "filter.mismatch",
"message": "Existing booking is property_collect, this cannot be changed.",
"fields": [
{
"name": "filter",
"type": "querystring",
"value": "expedia_collect"
}
]
}
]
}
Para más orientación sobre la gestión de errores, consulta el punto final correspondiente en el Explorador de API o consulta respuestas de error comunes.