估算退款时,必须反复核对“cancelPolicyInfoList”中填充的数据。

如果客户在酒店取消政策规定的期限内取消预订,则必须首先计算取消罚款,然后从“ChargeableRateInfo”的“total”属性中扣除该款项。

如果客户在政策规定的期限外取消预订,则仅返回“ChargeableRateInfo”中“total”属性的值作为估算退款。

每次返回要向客户展示的估算金额时,务必要明确指出此金额仅为估算金额,不做任何明示或暗示担保。价格保证调整、初次预订之后应用的折扣等数据无法在 API 中进行说明。

只有 EAN 客户支持代理能够查看确切的退款金额。如需了解准确的金额,请拨打当地的支持电话。

计算取消预订罚款,并应用至估算金额

此部分涉及在 cancelPolicyInfoList 中包含的信息。您应完全熟悉 该数组的结构,然后才可尝试进行退款 估算。 要确定是否对某个取消预订应用罚款,请首先检查第二个“cancelPolicyInfo”节点中“startWindowHours”元素的值。

如果取消请求的时间在期限内,则必须计算罚款,并从估算金额中扣除该款项。否则,只需返回最初收取的总金额作为估算金额。

要计算罚款,请参考第一个“cancelPolicyInfo”节点中返回的罚款明细元素的值。

示例:

<CancelPolicyInfoList>
 <CancelPolicyInfo>
   <versionId>206071749</versionId>
   <cancelTime>19:00:00</cancelTime>
   <startWindowHours>0</startWindowHours>
   <amount>50</amount>
   <currencyCode>USD</currencyCode>

(GMT-06:00) 中央标准时间(美国和加拿大) 208751445 19:00:00 48 0 USD (GMT-06:00) 中央标准时间(美国和加拿大)

第二节点中的“startWindowHours”返回值“48”。客户在入住开始时间前 46 小时取消预订。必须从预订时收取的“total”中扣除 50 美元,才能得到正确的估算金额。

每个“cancelPolicyInfo”节点可能包括单独的“amount”、“percent”或“nightCount”,也可能包括“amount”和“nightCount”或“amount”和“percent”组合。

单个节点中的任何其他组合均无效,并应视为错误。请忽略返回空白信息或“0”的元素,因为这些元素对政策计算没有意义。

请记住,政策可能在规定期限内和期限外均收取罚款(第一和第二节点中均包含正值)。这种情况非常少见,但只要任何罚款值组合有效(如上所述),则整个政策仍然有效。

罚款计算和示例

这些罚款示例涵盖了 API 中可能出现的所有有效组合。大多数情况下,您只需对政策规定期限内提出的取消预订请求计算罚款。但在某些情况下,您可能需要对期限外提出的取消请求计算罚款 – 请参阅本页上的最后一个示例

计算每晚房价的税额时,请务必使用“nightlyRateTotal”计算税率,不要使用“total”。这有助于仅用来进行估算,并非 EAN 计算退款税额的方法。


请注意,为每晚罚款计算扣除的税值是 每晚 的值,而不是总计值。

在下面所有示例中,指的是以下费率和总计:

<ChargeableRateInfo {truncated} total="983.34" nightlyRateTotal="816.05">
    <NightlyRatesPerRoom size="2">
        <NightlyRate baseRate="400.58" rate="400.58" promo="false"></NightlyRate>
        <NightlyRate baseRate="415.47" rate="415.47" promo="false"></NightlyRate>
    </NightlyRatesPerRoom>
<Surcharges size="1">
    <Surcharge type="TaxAndServiceFee" amount="167.29"></Surcharge>
</Surcharges>

取消罚款的“amount”值为“50”时计算退款金额

  • 总计 - 金额
  • 983.34 - 50= 933.34 估算退款金额

取消罚款的“percent”值为“25”时计算退款金额

  • 总计 - (% * 总计)
  • 983.34 - (25% * 983.34)= 737.50 估算退款金额

取消罚款的“nightCount”值为“1”时计算退款金额

  • 总计 - (第一晚房费值 + 第一晚税额)
  • 983.34 - (400.58 + 82.12)=**500.64`** 估算退款金额

取消罚款的“nightCount”值为“2”时计算退款金额

  • 总计 - ([第一晚房费值 + 第一晚税额]+[第二晚房费值 + 第二晚税额])
  • 983.34 - ([400.58 + 82.12] + [415.47 + 85.17]) = 0.00 (罚款后无退款)

取消罚款的“amount”值为“20”、“percent”值为“10”时计算退款金额

  • 总计 - 金额 - (% * 总计)
  • 983.34 - 20 - (10% * 983.34)= 865.01 估算退款金额

取消罚款的“amount”值为“30”、“nightCount”值为“1”时计算退款金额

  • 总计 - (金额 + [第一晚房费值 + 第一晚税额])
  • 983.34 - (30 + [400.58 + 82.12]) = 470.64 估算退款金额


政策规定期限内和期限外的罚款

以下取消政策示例规定了政策期限内和期限外取消预订的罚款。 计算示例使用的费率和总计值与上述示例相同。

<CancelPolicyInfoList> 
 <CancelPolicyInfo>
  <versionId>208198632</versionId>
<cancelTime>23:59:00</cancelTime>
<startWindowHours>0</startWindowHours>
<nightCount>0</nightCount>
<percent>100</percent>
<currencyCode>USD</currencyCode>
<timeZoneDescription>(GMT+08:00) Kuala Lumpur, Singapore </timeZoneDescription> </CancelPolicyInfo>

<CancelPolicyInfo>
<versionId>208198631</versionId>
<cancelTime>23:59:00</cancelTime>
<startWindowHours>168</startWindowHours>
<nightCount>1</nightCount>
<currencyCode>USD</currencyCode>
<timeZoneDescription>(GMT+08:00) Kuala Lumpur, Singapore</timeZoneDescription>
</CancelPolicyInfo>
</CancelPolicyInfoList>

计算规定期限内的退款金额(客户在入住前 168 个小时或更短时间内取消预订):

  • total - (% of total)
  • 983.34 - (100% of 983.34)= 0 估算 退款金额

计算规定期限外的退款金额(客户在 168 个小时政策期限开始前的任何时间取消预订):

  • total - (first nightly rate value + first night's tax)
  • 983.34 - (400.58 + 82.12) = 500.64