Developer Hub
This is an auto-generated translation

取消(任何原因)

允许旅客灵活取消 non-refundable 预订并获得全额酒店退款

请注意:此功能目前仅在试点阶段对部分合作伙伴开放。我们预计将于 2026 年第三季度更广泛地推出。如果您对这项功能感兴趣,请联系您的客户经理。

概述

旅行保护 API 是为已经集成 Rapid Lodging API 的用户提供的一项新的可选功能。它允许符合条件的住宿预订提供“可无理由取消 (CFAR)”升级,让旅客可以灵活地取消 non-refundable 预订并获得酒店全额退款。

CFAR 是什么?

有了 CFAR,旅客可以在入住前取消 non-refundable 住宿预订,并获得全额酒店退款。CFAR 是一项旅行服务,而非传统旅行保险,无需任何资格证明或理赔流程;旅客可以出于任何原因取消行程,无需额外提交文件。

CFAR 可以帮助您:

  • 提高 lower-priced non-refundable 库存的转化率
  • 预订 non-refundable 价格,让旅客安心出行
  • 减少取消过程中的摩擦
  • 在不引入人工理赔处理的前提下,提供灵活性。

CFAR 实时网站显示示例

CFAR 用户界面图示

请注意:此示例仅供参考。

上线要求

在集成 Trip Protection API 之前,您必须已经开通了 Rapid Lodging API(可用性/购物、价格检查和预订端点)。身份验证机制将通过签名身份验证,就像快速住宿 API 中的那样。

请联系您的客户经理,将此权限添加到您的凭证中。

如何操作

CFAR 集成带来的干扰极小。对于可用性/搜索、预订和取消(步骤 1、4 和 6),您现有的 Rapid Lodging 请求有效负载无需进行任何更改。新行为是累加的,因此如果您不接受 CFAR 优惠,您的集成就不会发生任何变化。

CFAR 与快速住宿

CFAR 与住宿的整合

第一步:搜索住宿价格

无需更改。

这是标准的快速住宿查询/购物电话。请求或响应处理无需任何修改。

步骤 2:调用价格检查 API

这是 Rapid Lodging 的标准价格查询电话。无需对申请进行任何更改。

当价格符合 CFAR 条件时,价格检查响应将包含一个 add_trip_protection链接,以及 book对象中现有的 links链接。您应该使用此链接向旅客提供 CFAR 选项。

示例: 价格查询响应 links对象(CFAR-eligible 费率)

{
  "links": {
    "book": {
      "method": "POST",
      "href": "/v3/itineraries?token=QldfCGtcTjIbASj7"
    },
    "add_trip_protection": {
      "method": "GET",
      "href": "/v1/trip-protection/quote?token=QldfCGtcTjIbASj7"
    }
  }
}

注意: 只有当利率符合 CFAR 条件时,才会显示 add_trip_protection链接。如果链接不存在,则该费率不提供 CFAR。

步骤 3:获取旅行保障报价

终点: GET /v1/trip-protection/quote?token={token}

这是一个可选步骤,用于获取所选费率的完整 CFAR 报价。使用步骤 2 中返回的 href链接中的 add_trip_protection作为请求 URL。

回复内容如下:

  • **产品详情:**产品名称、类型、供应商和备案商户
  • 保单详情: 承保日期、承保比例和限额、营销文案(标题、概述、保障范围)、免责声明以及保单条款文件的链接
  • 定价: CFAR 价格(trip_protection_price)和住宿 + 安保总费用(totals),均以计费货币和请求货币表示(含税费和不含税费)
  • 取消罚款: 如果取消,则适用于保护产品本身的罚款。
  • 预订链接: 在步骤 4 中使用 links.book参数通过 CFAR 进行预订。

必需的标头

标题必填备注
Accept必须是 application/json
Accept-Encoding必须使用 gzip 压缩
Customer-IpEnd-traveler 的 IPv4 地址(不是您服务器的地址)
User-Agent客户的 user-agent 或 {app-name}/{app-version}
Customer-Session-Id每个用户会话唯一;re-use 在同一会话中的调用之间
Test用于沙箱测试:standardservice_unavailableunknown_internal_error

示例: 引用回复

{
  "product_name": "Cancel for any reason (100% Refund)",
  "product_type": "hotel_cancel_for_any_reason",
  "vendor": "[vendor name]",
  "merchant_of_record": "expedia",
  "policy": {
    "start_date": "2025-10-13T15:59:00.000+01:00",
    "end_date": "2025-10-18T08:00:00.000-08:00",
    "coverage": {
      "percentage": "100%",
      "limit": {
        "inclusive": {
          "billable_currency": { "value": "[amount]", "currency": "USD" },
          "request_currency": { "value": "[amount]", "currency": "USD" }
        },
        "exclusive": {
          "billable_currency": { "value": "[amount]", "currency": "USD" },
          "request_currency": { "value": "[amount]", "currency": "USD" }
        }
      }
    },
    "description": {
      "headline": "Change of plans? You're covered.",
      "overview": "Add flexibility to your stay with Cancel for any reason coverage. Get a refund if you cancel before 8:00 AM property time on [check-in date].",
      "benefits": "<b>Get a refund of 100%: [refund_amount]</b>
<b>Cancel anytime before 8:00 AM property time on [checkin_date]</b>
<b>No questions asked, no paperwork</b>
"
    },
    "disclaimer": "By purchasing, I agree to all Cancel for any reason [policy_terms_link_text] on my itinerary",
    "links": {
      "policy_wording": {
        "method": "GET",
        "href": "https://staging.vendor.com/pds/1ed50cef-49e1-4ff6-acc9-137ba784e472?policy_type=expedia_travel_insurance_v1"
      }
    }
  },
  "pricing": {
    "trip_protection_price": {
      "inclusive": {
        "billable_currency": { "value": "[amount]", "currency": "USD" },
        "request_currency": { "value": "[amount]", "currency": "USD" }
      },
      "exclusive": {
        "billable_currency": { "value": "[amount]", "currency": "USD" },
        "request_currency": { "value": "[amount]", "currency": "USD" }
      }
    },
    "totals": {
      "inclusive": {
        "billable_currency": { "value": "[amount]", "currency": "USD" },
        "request_currency": { "value": "[amount]", "currency": "USD" }
      },
      "exclusive": {
        "billable_currency": { "value": "[amount]", "currency": "USD" },
        "request_currency": { "value": "[amount]", "currency": "USD" }
      }
    }
  },
  "refundable": false,
  "cancel_penalties": [
    {
      "start": "2026-10-13T15:59:00.000+01:00",
      "end": "2026-10-18T08:00:00.000-08:00",
      "currency": "USD",
      "amount": "[amount]",
      "percent": "100%"
    }
  ],
  "links": {
    "book": {
      "method": "POST",
      "href": "/v3/itineraries?token=MY5S3j36cOcL",
      "expires": "2026-10-13T16:10:00.000+01:00"
    }
  }
}

步骤 4:呼叫预订 API

请求负载没有变化。

这是标准的快速住宿预订电话(POST /v3/itineraries)。要使用的预订链接取决于旅客是否选择加入 CFAR。

旅行者的选择预订链接
使用 CFARlinks.book 来自步骤 3 的引用回复
不考虑 CFARlinks.book 来自第二步价格核查的回复

预订请求或响应中不会添加任何新字段。CFAR 的激活完全取决于预订链接中使用的令牌。

注意: 报价响应中的 links.book令牌会过期(请参阅 expires字段)。请确保在预订凭证过期前提交预订。

步骤 5:检索预订信息

请求内容没有更改。

这是标准的快速住宿GET /v3/itineraries/{itinerary_id}呼叫。

购买 CFAR 时,行程响应将包含一个额外的 trip_protection对象,其中包含所购产品的保单和定价详情。如果您没有购买 CFAR,行程回复将不会有任何变化。

此外,当 CFAR 处于激活状态时,cancel_penaltiesrefundable田野rate行程中的项目将反映 CFAR 政策,而不是基本费率的取消政策。

**例子:**行程响应显示trip_protection目的

[
  {
    "itinerary_id": "8999989898988",
    "property_id": "8150374",
    "trip_protection": {
      "product_name": "Cancel for any reason (100% Refund)",
      "product_type": "hotel_cancel_for_any_reason",
      "vendor": "[vendor]",
      "merchant_of_record": "expedia",
      "policy": {
        "start_date": "2026-10-13T15:59:00.000+01:00",
        "end_date": "2026-10-18T08:00:00.000-08:00",
        "coverage": {
          "percentage": "100%",
          "limit": {
            "inclusive": {
              "billable_currency": { "value": "[amount]", "currency": "USD" }
            },
            "exclusive": {
              "billable_currency": { "value": "[amount]", "currency": "USD" }
            }
          }
        },
        "links": {
          "policy_wording": {
            "method": "GET",
            "href": "https://staging.vendor.com/pds/1ed50cef-49e1-4ff6-acc9-137ba784e472?policy_type=expedia_travel_insurance_v1"
          }
        }
      },
      "pricing": {
        "inclusive": {
          "billable_currency": { "value": "[amount]", "currency": "USD" }
        },
        "exclusive": {
          "billable_currency": { "value": "[amount]", "currency": "USD" }
        }
      }
    }
  }
]

**笔记:**这trip_protectionRetrieve 响应中的价格仅反映计费货币。有关包括请求货币在内的完整明细,请参阅原始报价回复。

步骤 6:取消预订

请求内容没有更改。

这是 Rapid Lodging 的标准取消预订电话。购买 CFAR 时,取消预订将自动触发代表旅行者的退款申请。您的实施无需采取任何其他措施。

退款完全由 Expedia Group 处理。旅客将通过标准理赔流程获得相应的退款。

API 详情

浏览此页面上的 Trip Protection-related 端点定义,然后使用 API Explorer 或其他测试软件来了解示例和架构定义与实际输出的比较情况。


**笔记:**此模式文件仅供评估之用。在正式发布之前,可能会进行一些更改和改进,包括一些重大更改。

您觉得这个页面有用吗?
我们该如何改进这些内容?
感谢您帮助我们改进!