Alterações principais
A API Rapid Hard Change permite que os parceiros ofereçam uma opção self-serve para que os viajantes ajustem os principais detalhes de suas reservas sem precisar cancelar e remarcar.
Visão geral
A flexibilidade continua sendo uma prioridade para os viajantes e é importante criar uma experiência perfeita para aqueles que precisam alterar os detalhes de uma reserva existente conforme seus planos de viagem mudam.
Quando essas alterações de reserva impactam o custo, elas são chamadas de alterações definitivas. A API Rapid Hard Change permite que você crie ou melhore sua experiência de alteração de traveler-facing ou agent-facing por meio de modificações de data, tipo de quarto e ocupação via API.
A API Rapid Hard Change facilita os seguintes tipos de alterações:
- As datas podem ser ajustadas ou substituídas por um novo intervalo de datas no futuro. Mas, as novas datas de estadia não podem ser superiores a um ano após as datas da reserva original.
- O tipo de quarto da reserva original pode ser melhorado ou piorado. Por exemplo, uma reserva Standard Two Queen pode ser atualizada para uma reserva Deluxe King.
- O número de ocupantes pode ser aumentado ou reduzido.
- Para os quartos disponíveis, a data da estadia e o número de ocupantes podem ser alterados em conjunto, passados como parâmetros.
As alterações acima podem ser feitas pre-stay em qualquer quarto individual com reservas rápidas feitas no estoque Expedia-contracted. Isso inclui alterações em same-day, desde que sejam feitas antes de check-in, embora penalidades de propriedade possam ser aplicadas.
Observe que a opção de alteração não aparecerá para reservas non-refundable quando o penalty
determinado pelo propriedade for igual ao valor da reserva original.
Isso proporciona aos seus agentes e viajantes uma melhor self-serviceability e reduz a necessidade de esforços de alteração manual que exigem suporte de serviço da Expedia.
Além disso, um registro de todas as alterações feitas na reserva pode ser visualizado usando o recurso de histórico do itinerário.
Benefícios da mudança radical
Resolva alterações de reserva mais rapidamente e retenha seus viajantes: Os agentes não precisam mais fazer login em uma ferramenta separada ou ligar para agentes da Expedia para fazer alterações de reserva, economizando tempo e custos de manutenção. Além disso, ao evitar o cancelamento total da reserva, viajantes não precisam reiniciar o processo de compra. Por isso, é menos provável que você os perca para um concorrente.
Mantenha o último quarto disponível garantido e mantenha o preço original sempre que possível: Os viajantes dedicaram tempo à seleção do propriedade certo para sua viagem. Para algumas propriedades, a mudança definitiva mantém o cômodo original, o que significa que não há risco de perder o último cômodo disponível. Embora não possamos garantir que as tarifas noturnas serão as mesmas, se o propriedade permitir, seu viajante poderá receber o mesmo preço noturno da reserva original.
Melhore a experiência do viajante mantendo o ID do itinerário consistente: Você mantém o número do itinerário original durante uma alteração definitiva, resultando em menos bagunça para você, agentes e viajantes.
Como funciona
- Solicite o itinerário no ponto de extremidade Itinerary Retrieve para verificar se a reserva é elegível para alteração definitiva. Em caso positivo, um link tokenizado
shop_for_change
vai aparecer na resposta de recuperação de itinerário ou busca de itinerário.
Exemplo de link na resposta:
[
{
"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=="
}
}
}
]
}
]
Quartos e tarifas disponíveis:
- Você pode então chamar o ponto de extremidade de Tarifas Adicionais na API de Disponibilidade usando o link tokenizado
shop_for_change
para pesquisar datas e/ou números de ocupantes diferentes para o mesmo/diferente tipo de quarto. A resposta de disponibilidade retornará todos os quartos disponíveis com tarifas elegíveis para as novas datas e/ou ocupação check-in/check-out. Esta resposta de Disponibilidade é a mesma que você já integrou para fluxos de compras regulares. Use o linkprice_check
associado aosroom
,rate
ebed_group
atualizados apropriados para a alteração. sales_channel
é um campo obrigatório na solicitação de disponibilidade. Se esse campo não for passado na solicitação, um erro será retornado na resposta.- Se a reserva original for uma tarifa a cobrar propriedade/hotel e se
currency
não for passado na solicitaçãoshop_for_change
, a moeda propriedade será retornada. Por exemplo, se o propriedade estiver na Espanha e for uma tarifa de coleta de hotel/propriedade, mas você reservou em USD, se USD não for passado na solicitaçãoshop_for_change
, os preços retornados serão em EUR. - Depois de selecionar o quarto, use a URL
price_check
para obter os valores de reembolso ou cobrança extra, bem como eventuais multas, se aplicável. O reembolso ou valor devido leva em consideração a incidência de multas. Penalidades de alteração ou cancelamento são determinadas pelo propriedade. - O link de verificação de preço retorna o
amount_owed
ourefund
e qualquerpenalty
para as novas datas, quarto e número de ocupantes. - Se a reserva original foi com base em uma tarifa para membros, os parceiros devem passar o parâmetro
rate_option=member
para ver as tarifas para membros disponíveis (MOD). Não re-use o valor da reserva original porque queremos ter certeza de que, no momento da alteração definitiva, o viajante esteja realmente efetuando login como membro para poder receber as tarifas de membro corretamente.
Limitações de mudanças drásticas
- Não é possível mudar o modelo de negócio por meio de mudanças drásticas. Por exemplo, uma reserva não pode ser alterada de
expedia_collect
paraproperty_collect
. Tais tentativas lançarão um erro 400 - Solicitação Inválida na etapashop_for_change
.
Exemplo
{
"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"
}
]
}
]
}
- Também não é possível alterar o tipo de taxa usando uma alteração definitiva. Por exemplo, alterar uma reserva de pacote fará com que as tarifas dos pacotes sejam pesquisadas na etapa
shop_for_change
. Se não houver uma tarifa de pacote disponível para a alteração, ela será exibida como sem disponibilidade.
Exemplo de resposta da verificação de preço com reembolso:
Neste exemplo, estamos encurtando a estadia em 1 noite em $148.37 USD por noite sem penalty
, resultando nesse valor como refund
.
{
"status": "available",
...
"refund": {
"request_currency": {
"value": "148.37",
"currency": "USD"
},
"billable_currency": {
"value": "148.37",
"currency": "USD"
}
}
}
Exemplo de resposta da verificação de preço com valor devido e multa:
Neste exemplo, estamos encurtando a estadia em 1 noite a $148.37 USD por noite, mas há um $200.00 USD penalty
para cancelar aquela noite, resultando em $51.63 USD devido.
{
"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"
}
}
}
- Se a propriedade cobrar taxas por pessoa extra, taxas da propriedade ou taxas de estadia, isso também será retornado na resposta.
- O link
commit
serve para confirmar que o viajante deseja alterar as datas e aceita os termos da alteração. Quando há:- Um valor devido no corpo da confirmação da alteração, insira novas informações de pagamento. As formas de pagamento aceitas são cartão do cliente, cartão virtual, cartão corporativo ou Affiliate Collect.
- Um reembolso o viajante não precisa efetuar um novo pagamento e o reembolso será feito na forma de pagamento original.
Notas importantes:
- Se há
amount_owed
na resposta da verificação de preço, o pagamento é obrigatório; se não fornecido, vai haver um erro. - Se houver um
refund
na resposta, o pagamento não é exigido, mas se fornecido, será ignorado. - Se não há
amount_owed
ourefund
, o pagamento não é obrigatório, mas vai ser ignorado sem erro se fornecido.
Exemplo de link da confirmação de alteração na resposta da verificação de preço:
{
"status": "available",
...
"links": {
"commit": {
"method": "PUT",
"href": "/v3/itineraries/9030222954615/rooms/036df797-f9a1-4ad8-a1e9-1e9a621ecd0a/pricing?token=QldfCGlcUA4EXVRWAxBCAF4ARxBZVwVmEg9dBFAFV11SAVAHGFhVBgBJDQENBB4PCAAHSVACW1gAAFFXUVIEBxJbUkFVW1FbQz1bA2tGBFVXQ1EIcTw1d30scRBFSg9bVTtVW1YPVAZcCQIAWEtXR0sHQQBuXl1YC1oGBAVAQA1NU29HSUVWWUNKBwZdFVlcVwBVbgBKDk8SUBMUWwUAR0VUXAYfCFYSWABDDVFHXVwGb1cHBxAOAl9TFwRWUA5cXRo3ZEJFVk0TV1wORgdFUF0dEkdRUlZOV1xVB1kSB1wKCVsKAjpCBABXEVVrDFVeCQIAVgYAEhFVElA6Ek4WXVg3YHUtdnQxc0BfA0BmF1QVVBIFA1ZaS1IUAAISXlxZAENUC1FRWwtbXAoJBlYeAFYcAwBCFVJKElgDS25JF1tQDVRRPQpUDVYGVQwNVBIIB14EBBcOVFJUF1weARFCE11fARsFbTAiEVlSFF8BRlgMBjkGWQMIDQAKXwcRAQpXU1NfEEIIBgMFV0xSAxsAXR4EWA1FVxZmCRFcXQgETQhWFwRWUWYNBwlXDlcFVhVCSQxRWVEFU1AXSgpbQhZfXFNpR1JCWw1mYyN6IXV4Lnh9F1dZWwcObVQAXVRQSjlXXghPbFMEUg9LCQIAWEtXR1gLWhBfQwRXBFEdDgVAQQFfU0JBWVtUO0RXExBXBA1BWBFQVU9IE1ECUExRXAMAWRNWRxYSWg9RRz5CA0dAXV0Pb1gGXwVRBQZWWgRQGFYPClFPAwUFXRVZDVsLGQACAAABVwcMAwVbDBJDAUFHDFwLPVsAWFBSWVoLWgYNSFdXDgUVUAJRDU4NVgJdSwUAAQBQDAJTUwxbBEBBFFtJAEcVSD5RAQoECAQEXFpEUF0KVRdWF1FWbxZcDF0EBlUBA0wBBRpVVmcKVhNVeAAKQAd3VwsaV1sJAlsIVwwBOxIHDVwNCAtUbVpMAVRnCwANVgEBU1oADlBXEVdcE1oQQEg9AgkBVF8zMEMEB1NoBgdBU0pZFUJcW10KVUozQVNVCxMnUAYWWwddOQVWV1NdBE0UUBJaWldZRgEmHFN2QwEETRxFAUEHUUQCeEcGADdDV1FYdVZSFgIHElB3QAYGEl9CVBAHBkFWcxxXAmdAXQNWFVYEFgUiFlEKRREAWkxbFUBDB1cUBHhUFlR3EwEiFRdMRkBfWVBBO15cW1AAR3NbXAJSQhdVXAtVBFYAAlNQCwE="
}
}
}
Exemplo de corpo da solicitação de confirmação com aceitação da nova forma de pagamento:
{
"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"
}
}
}
]
}
Depois de confirmar a alteração, você deve fazer uma recuperação de itinerário para confirmar se as alterações foram aplicadas.
Exemplo de novas datas:
Itinerário com data de check-in original em 13/12/2023 e data de check-out em 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"
}
}
Itinerário com nova data de check-in em 04/12/2023 e data de check-out em 05/12/2023: O número do itinerário permanece o mesmo da 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 visualizar o histórico da reserva, você deve chamar a API de recuperação de itinerário usando o sinalizador include=history
. As informações de nível do itinerário e do quarto serão retornadas.
Tratamento de erros
- Nenhuma alteração possível. A reserva já corresponde à data solicitada.
Quando a ocupação check-in, check-out,, o tipo de quarto, o ID da tarifa e o preço forem todos iguais aos da reserva original, um erro 400 Bad Request será retornado.
{
"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."
}
]
}
- A reserva existente é Expedia Collect/propriedade Collect e não pode ser alterada.
Como mencionado acima, não é possível mudar o modelo de negócio usando mudanças drásticas. Por exemplo, uma reserva não pode ser alterada deexpedia_collect
para property_collect
. Tentativas de alterar o modelo de negócios gerarão um erro 400 - Solicitação Inválida noshop_for_change
etapa.
{
"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 obter mais orientações sobre o tratamento de erros, consulte o ponto de extremidade relevante em API Explorer ou consulte respostas de erro comuns .