Developer Hub
这是自动生成的译文

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

取消(任何原因)

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

旅行保护 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(可用性/购物、价格检查和预订端点)。身份验证机制将采用签名身份验证,就像 Rapid Lodging API 中的身份验证一样。

>> 阅读有关签名认证的内容

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

如何操作

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

CFAR 与快速住宿

使用 CFAR 功能时,旅客主要有两种交互方式:第一种是搜索或预订,第二种是管理现有预订。

CFAR 与住宿的整合

第一步:搜索住宿价格

无需更改。

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

步骤 2:调用价格检查 API

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

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

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

"links": {
  "book": {
    "method": "POST",
    "href": "/v3/itineraries?token=MY5S3j36cOcL",
    "expires": "2025-10-13T16:10:00.000+01:00"
  },
  "add_trip_protection": {
    "method": "GET",
    "href": "/v1/trip-protection/quote?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m",
    "expires": "2025-10-13T16:10:00.000+01:00"
  }
}

注意: 只有当利率既可用又符合 CFAR 条件时,才会显示 add_trip_protection 链接。

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

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

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

回复内容如下:

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

示例: 引用回复

{ 
  "policy": { 
    "start_date": "2026-08-28T10:40:49Z", 
    "end_date": "2026-08-30T08:00:00+01:00", 
    "coverage": { 
      "limit": { 
        "value": "709.72", 
        "currency": "USD", 
        "percent": "100%" 
      } 
    } 
  }, 
  "content": { 
    "product_name": "CFAR upgrade", 
    "headline": "Make your stay refundable", 
    "overview": "Get a refund on your accommodation with the Cancel For Any Reason (CFAR) upgrade.", 
    "benefits": [ 
      { 
        "title": "Get a 100% refund of your accommodation cost", 
        "description": null 
      }, 
      { 
        "title": "Cancel before 8:00am property time on the day of check-in", 
        "description": null 
      }, 
      { 
        "title": "No questions asked, no paperwork", 
        "description": null 
      } 
    ], 
    "disclaimer_html": "<p>By purchasing, I agree to all Cancel For Any Reason <a href=\"https://policy.example.com/pds/example\">Terms and Conditions</a>.</p>", 
    "links": { 
      "terms_and_conditions": { 
        "method": "GET", 
        "href": "https://policy.example.com/pds/example?policy_type=cfar_v1", 
        "expires": null 
      } 
    } 
  }, 
  "pricing": { 
    "trip_protection": { 
      "inclusive": { 
        "billable_currency": { 
          "value": "149.04", 
          "currency": "USD" 
        }, 
        "request_currency": { 
          "value": "149.04", 
          "currency": "USD" 
        } 
      }, 
      "exclusive": { 
        "billable_currency": { 
          "value": "149.04", 
          "currency": "USD" 
        }, 
        "request_currency": { 
          "value": "149.04", 
          "currency": "USD" 
        } 
      } 
    }, 
    "totals": { 
      "inclusive": { 
        "billable_currency": { 
          "value": "858.76", 
          "currency": "USD" 
        }, 
        "request_currency": { 
          "value": "858.76", 
          "currency": "USD" 
        } 
      }, 
      "exclusive": { 
        "billable_currency": { 
          "value": "858.76", 
          "currency": "USD" 
        }, 
        "request_currency": { 
          "value": "858.76", 
          "currency": "USD" 
        } 
      } 
    } 
  }, 
  "refundable": false, 
  "expires_at": "2026-08-29T22:59:59Z", 
  "cancel_penalties": [ 
    {
      "start": "2026-08-28T10:40:49Z", 
      "end": "2026-08-30T07:00:00Z", 
      "currency": "USD", 
      "amount": "709.72", 
      "percent": "100%" 
    } 
  ], 
  "links": { 
    "book_with_trip_protection": { 
      "method": "POST", 
      "href": "/v3/itineraries?token=QldfCGlcUA4", 
      "expires": null 
    } 
  } 
}

步骤 4:调用预订 API

如果旅客接受符合条件的预订的 CFAR 报价,则预订将通过 book_with_trip_protection 链接完成,该链接将报价内容嵌入到令牌中。图书请求模式无需任何更改。

新链接将作为标准快速住宿预订调用的一部分传递(POST /v3/itineraries)。要使用的预订链接取决于旅客是否选择加入 CFAR。

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

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

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

步骤五:检索预订信息

请求内容没有更改。

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

购买 CFAR 后,行程响应将包含额外内容trip_protection包含所购产品的政策和定价详情的对象。如果您没有购买 CFAR,行程回复将不会有任何变化。

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

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

{ 
  "trip_protection": { 
    "product_name": "Cancel For Any Reason (100% Refund)", 
    "product_type": "hotel_cancel_for_any_reason", 
    "vendor": "[vendor]", 
    "merchant_of_record": "expedia", 
    "eligibility_status": "eligible", 
    "policy": { 
      "start_date": "2025-10-13T15:59:00.000Z", 
      "end_date": "2025-10-18T08:00:00.000-08:00", 
      "coverage": { 
        "percentage": "100%", 
        "limit": { 
          "inclusive": { 
            "billable_currency": { 
              "value": "702.00", 
              "currency": "USD" 
            } 
          }, 
          "exclusive": { 
            "billable_currency": { 
              "value": "702.00", 
              "currency": "USD" 
            } 
          } 
        } 
      }, 
      "links": { 
        "policy_wording": { 
          "method": "GET", 
          "href": "https://policy.example.com/pds/example?policy_type=cfar_v1", 
          "expires": null 
        } 
      } 
    }, 
    "pricing": { 
      "inclusive": { 
        "billable_currency": { 
          "value": "702.00", 
          "currency": "USD" 
        } 
      }, 
      "exclusive": { 
        "billable_currency": { 
          "value": "702.00", 
          "currency": "USD" 
        } 
      } 
    } 
  }, 
}

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

第六步:取消预订

请求内容没有更改。

这是 Rapid Lodging 的标准取消预订电话。如果 CFAR 已用于预订,则取消预订将自动触发代表旅客的退款申请,但须遵守资格条款。如果在资格窗口期之外尝试取消(例如,在 check-in 当天上午 8:00 之前),则不会处理退款。您的实施无需采取任何其他措施。

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

API 详情

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


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

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