Developer Hub
Esta traducción se ha generado automáticamente

Cambio importante

Ofrece una opción de « self-serve » para modificar los datos clave de las reservas de los viajeros sin tener que cancelarlas y volver a reservarlas

Información general

La flexibilidad sigue siendo una prioridad fundamental para los viajeros, y es importante ofrecer una experiencia fluida a quienes necesiten modificar los detalles de una reserva ya realizada a medida que cambian sus planes de viaje.

Cuando esos cambios en la reserva afectan al precio, se denominan «cambios importantes». La API de Rapid Hard Change te permite crear o mejorar tu experiencia de gestión de cambios en traveler-facing o agent-facing, ya que te permite modificar fechas, tipos de habitación y ocupación a través de la API.

La API «Rapid Hard Change» permite los siguientes tipos de cambios:

  • 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 se puede cambiar a una categoría superior o inferior. Por ejemplo, una reserva de una habitación «Standard Two Queen» se puede cambiar por una de «Deluxe King».
  • El número de ocupantes se puede aumentar o reducir.
  • 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.

Puedes hacer los cambios anteriores en pre-stay para cualquier reserva rápida de habitaciones individuales del inventario de Expedia-contracted. Esto incluye los cambios que se hagan en same-day, siempre y cuando se hagan antes de las check-in,, aunque es posible que la propiedad te cobre algún recargo.

Ten en cuenta que la opción de modificar la reserva no aparecerá en las reservas de « non-refundable » cuando el « penalty » (precio de la habitación) establecido por el alojamiento sea igual al valor de la reserva original.

Esto ofrece a tus agentes y viajeros una mejor experiencia self-serviceability y reduce la necesidad de realizar cambios manuales que requieran la intervención de Expedia.

Además, es posible ver un registro de todos los cambios realizados en una reserva por medio del historial del itinerario.

>> Más información sobre el historial de itinerarios

Ventajas del cambio radical

Resuelve los cambios en las reservas más rápido y fideliza a los viajeros:. Los agentes ya no tienen que iniciar sesión en una herramienta aparte ni llamar a los agentes de Expedia para hacer cambios en las reservas, lo que te ahorra tiempo y costes de atención al cliente. 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 de que la última habitación disponible siga estando disponible y mantén el precio original siempre que puedas:. Los viajeros han dedicado tiempo a elegir el alojamiento adecuado para su viaje. En el caso de algunas propiedades, el cambio definitivo mantiene la habitación original, por lo que no hay riesgo de perder la última habitación disponible. Aunque no podemos garantizar que las tarifas por noche sean las mismas, si el alojamiento lo permite, el viajero puede disfrutar de la misma tarifa por noche que en su reserva original.

Mejora la experiencia del viajero manteniendo el mismo número de itinerario:. Así conservas el número de itinerario original incluso tras un cambio definitivo, lo que evita confusiones tanto para ti como para los agentes y los viajeros.

Funcionamiento

  • Solicita el itinerario a través del punto final «Itinerary Retrieve» para ver si la reserva cumple los requisitos para un cambio definitivo. Si cumples los requisitos, aparecerá un enlace tokenizado de « shop_for_change » en la respuesta de «Itinerary Retrieve» o «Itinerary Search».

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 «Additional Rates» de la API de disponibilidad utilizando el enlace tokenizado shop_for_changepara buscar diferentes fechas y/o número de huéspedes para el mismo tipo de habitación o para otros tipos diferentes. La respuesta de disponibilidad mostrará todas las habitaciones disponibles con tarifas que cumplan los requisitos para las nuevas fechas y/o ocupación de check-in/check-out. Esta respuesta de disponibilidad es la misma que ya has integrado en los procesos de compra habituales. Usa el enlace « price_check » asociado a las páginas actualizadas room, ratey bed_groupque corresponda al cambio.

>> Explora el punto final «Additional Rates»

  • 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 tenía una tarifa de recogida del alojamiento/hotel y no se pasa el parámetro « currency » en la solicitud « shop_for_change », se devolverá la moneda del alojamiento. Por ejemplo, si la propiedad está en España y se aplica una tarifa de hotel, pero has hecho la reserva en USD, si no se indica el USD en la solicitud « shop_for_change », los precios que se muestren será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 establece el alojamiento.
  • El enlace de verificación de precios devuelve los campos amount_owed o refund, o bien la penalty para las nuevas fechas, habitación o número de ocupantes.
  • Si la reserva original se hizo con una tarifa para socios, los socios deben pasar el parámetro « rate_option=member » para poder ver las tarifas disponibles para socios (MOD). No vamos a re-use el importe de la reserva original porque queremos asegurarnos de que, en el momento de realizar el cambio definitivo, el viajero haya iniciado sesión como miembro para que pueda disfrutar correctamente de las tarifas para miembros.

Las limitaciones de un cambio radical

  • No se puede cambiar el modelo de negocio con medidas drásticas. Por ejemplo, no se puede cambiar una reserva de expedia_collecta property_collect. Esos intentos provocarán un error « 400 - Bad Request » en el paso shop_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 tarifa mediante un cambio manual. Por ejemplo, si modificas una reserva de paquete, el sistema buscará tarifas de paquete en el paso « shop_for_change ». Si no hay ninguna 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 en 1 noche en el $148.37 USD por noche, sin penalty, lo que da como resultado 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 en 1 noche a $148.37 USD por noche, pero hay un cargo de $200.00 USD penaltypor cancelar esa noche, lo que da como resultado un importe a pagar de $51.63 USD.

{ 
  "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:
    • Si hay algún importe pendiente de pago a, introduce los nuevos datos de pago en el cuerpo de la confirmación del cambio. Los métodos de pago aceptados son tarjeta de cliente, tarjeta virtual, tarjeta corporativa o Affiliate Collect.
    • Un reembolso: el viajero no tiene que introducir un nuevo pago y el reembolso se hará a través del mismo método 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 en la respuesta aparece un « refund », no hace falta pagar, pero si lo incluyes, no se tendrá en cuenta.
  • Si no hay amount_owed o refund, 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 la fecha original de check-in del n.º2027-12-13 y la fecha de check-out del n.º2027-12-14:

{
  "itinerary_id": "9141257626318",
  "property_id": "480180",
  "rooms": [
    {
      "id": "201300171",
      "bed_group_id": "37321",
      "confirmation_id": {
        "expedia": "32831654",
        "property": "53063928"
      },
      "checkin": "2027-12-13",
      "checkout": "2027-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": "2027-12-11T23:59:00.000-06:00",
            "end": "2027-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": "2027-06-21T19:52:42.477Z",
  "affiliate_reference_id": "2027-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 la nueva fecha de « check-in » n.º2027-12-04 y la fecha de « check-out » n.º2027-12-05. 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": "2027-12-04",
      "checkout": "2027-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": "2027-12-02T23:59:00.000-06:00",
            "end": "2027-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": "2027-06-21T19:52:42.477Z",
  "affiliate_reference_id": "2027-06-21-02",
  "affiliate_metadata": "data_point_1:|data_point2:",
  "email": "janedoe@email.com",
  "phone": {
    "country_code": "1",
    "area_code": "858",
    "number": "1234567"
  }
}

integración de cambio importante

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 se puede cambiar. La reserva ya coincide con la fecha solicitada.

Cuando la ocupación, el tipo de habitación, el ID de tarifa y el precio de check-in, check-out, coincidan con los de 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 actual es de « Expedia » y «Recogida en la propiedad»; esto no se puede cambiar.

Como ya he dicho, no se puede cambiar el modelo de negocio con un cambio radical. Por ejemplo, no se puede cambiar una reserva de expedia_collecta property_collect. Si intentas cambiar el modelo de negocio, te saldrá 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"
                }
            ]
        }
    ]
}

Si quieres más información sobre cómo gestionar los errores, echa un vistazo al punto de conexión correspondiente en la Guía de desarrollo de la API de Google Cloud Platform ( API Explorer ) o consulta las respuestas de error más habituales.

>> Repasa las respuestas a los errores más comunes






¿Te ha resultado útil esta página?
¿Cómo podemos mejorar este contenido?
¡Gracias por ayudarnos a mejorar!