Alterações principais
A API Rapid Hard Change permite que os parceiros ofereçam uma opção self-serve para que os viajantes ajustem detalhes importantes de sua reserva sem precisar cancelá-la e refazê-la.
Visão geral
A flexibilidade continua sendo uma prioridade máxima 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 na reserva impactam o custo, elas são chamadas de alterações definitivas. A API Rapid Hard Change permite que você crie ou aprimore sua experiência de alteração de traveler-facing ou agent-facing, possibilitando modificações de data, tipo de quarto e ocupação via API.
A API Rapid Hard Change facilita os seguintes tipos de alteração:
- 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 alterado para um nível superior ou inferior. Por exemplo, uma reserva Standard com duas camas de casal pode ser atualizada para uma reserva Deluxe com cama king-size.
- 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 em qualquer quarto individual. 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 penaltydeterminado por propriedade for igual ao valor original da reserva.
Isso proporciona aos seus agentes e viajantes uma melhor experiência com self-serviceability e reduz a necessidade de alterações manuais que exigem suporte 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 de uma mudança radical
Resolva alterações de reservas mais rapidamente e fidelize viajantes: Os agentes não precisam mais acessar uma ferramenta separada ou ligar para os agentes da Expedia para fazer alterações nas reservas, economizando tempo e custos de atendimento. 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 reservado e mantenha o preço original sempre que possível: Os viajantes dedicaram tempo selecionando o propriedade certo para sua viagem. Em algumas propriedades, a alteração definitiva mantém o quarto original, o que significa que não há risco de perder o último quarto disponível. Embora não possamos garantir que as tarifas noturnas serão as mesmas, se o código propriedade permitir, o viajante poderá receber o mesmo preço noturno da sua reserva original.
Melhore a experiência do viajante mantendo o ID do itinerário consistente: Você mantém o número original do itinerário durante uma alteração definitiva, resultando em menos bagunça para você, agentes e viajantes.
Como funciona
- Solicite o itinerário no endpoint de Recuperação de Itinerário para verificar se a reserva é elegível para alteração definitiva. Em caso positivo, um link tokenizado
shop_for_changevai 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 endpoint de Tarifas Adicionais na API de Disponibilidade usando o link tokenizado
shop_for_changepara pesquisar datas diferentes e/ou número de ocupantes para o mesmo tipo de quarto ou para um tipo diferente. A resposta de disponibilidade retornará todos os quartos disponíveis com tarifas elegíveis para as novas datas e/ou ocupação de check-in/check-out. Essa resposta de disponibilidade é a mesma que você já integrou aos fluxos de compras regulares. Use o linkprice_checkassociado aosroom,rateebed_groupatualizados apropriados para a alteração. - O campo
sales_channelé 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 era uma tarifa propriedade/hotel collect e se
currencynã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 propriedade/hotel, 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_checkpara 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. As penalidades por alterações ou cancelamentos são determinadas pelo propriedade. - O link de verificação de preço retorna o
amount_owedourefunde qualquerpenaltypara as novas datas, quarto e número de ocupantes. - Se a reserva original foi feita com uma tarifa para membros, os parceiros devem passar o parâmetro
rate_option=memberpara ver as tarifas disponíveis para membros (MOD). Não iremos alterar o valor da reserva original, pois queremos garantir que, no momento da alteração definitiva, o viajante esteja realmente conectado como membro para poder receber as tarifas de membro corretamente.
Limitações da mudança radical
- Não é possível alterar o modelo de negócio através de mudanças radicais. Por exemplo, uma reserva não pode ser alterada de
expedia_collectparaproperty_collect. Essas tentativas gerarã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 tarifa usando a opção de alteração direta. Por exemplo, alterar uma reserva de pacote irá comparar preços de pacotes na etapa
shop_for_change. Caso não haja um pacote com preço fixo disponível para a alteração, aparecerá como indisponível.
Exemplo de resposta da verificação de preço com reembolso:
Neste exemplo, estamos reduzindo a estadia em 1 noite a $148.37 USD por noite sem penalty, resultando nesse valor como um 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á uma taxa de $200.00 USD penaltypelo cancelamento dessa noite, resultando em um saldo devedor 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"
}
}
}- Se a propriedade cobrar taxas por pessoa extra, taxas da propriedade ou taxas de estadia, isso também será retornado na resposta.
- O link
commitserve para confirmar que o viajante deseja alterar as datas e aceita os termos da alteração. Quando há:- Um valor devido no corpo do commit de 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.
Observações importantes:
- Se há
amount_owedna resposta da verificação de preço, o pagamento é obrigatório; se não fornecido, vai haver um erro. - Se houver um
refundNa resposta, o pagamento não é obrigatório, mas se for efetuado, será ignorado. - Se não há
amount_owedourefund, 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, o tipo de quarto, o ID da tarifa e o preço do quarto check-in, check-out, forem iguais aos da reserva original, será retornado um erro 400 Bad Request.
{
"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.
Conforme mencionado acima, não é possível alterar o modelo de negócios por meio de mudanças radicais. Por exemplo, uma reserva não pode ser alterada a partir deexpedia_collect para property_collect. As tentativas de alterar o modelo de negócios resultarão em um erro 400 - Solicitação Inválida.shop_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 endpoint relevante em API Explorer ou consulte respostas de erro comuns .