購物
「購物 API」可讓您存取全球超過 700,000 處住宿的即時房價和供應情況。
簡介
「購物 API」會針對指定旅宿傳回所有房型的房價和供應情況 (每項請求最多 250 家旅宿)。回應包含諸如促銷、房價是否為可退款、是否有取消罰款和完整價格明細等房價詳情,以符合您市場的價格顯示規定。
包含多個 occupancy 參數執行個體,即可要求相同房型的多個房間。每回傳送要求時,若同一客房有多次要求預訂,則只會回傳一組該標準房價。一次最多可要求預訂 8 間客房。若您需要一次預訂超過 8 間客房,請聯絡您的客戶經理。我們目前正致力於擴展團體預訂服務,若您能告知您的需求,將有助於我們制定解決方案。
價格顯示變化
某些司法管 轄區正在實施法律,規定必須以何種方式向旅客顯示價格。雖然每項法律略有不同,但我們實施這些變更的方式,將能讓各單位依其自身情況符合規定。
價格標示法規的範例包括但不限於:
為何要進行這些變更?
Expedia Group 已對其 API 進行調整,以便 API 合作夥伴能以多種方式顯示價格。然而,最終而言,每位使用「Expedia Group's」API 的合作夥伴,均有責任確保其顯示 Expedia 旅遊資訊及價格的方式符合法律規定。
有哪些變更?
Expedia 已針對「Rapid API」進行了優化,新增了一個名為「property_inclusive」的欄位,其中包含總價格,該價格涵蓋基礎房價以及整個住宿期間由 Expedia 及旅宿收取的所有費用與稅金。此總價的刪除線版本亦可於新欄位中查看property_inclusive_strikethrough。除了新增的旅宿包容性顯示欄位外,我們也重新調整了 API 回應中稅金與費用的分類方式。Expedia 收取的所有費用均歸類於「每晚及住宿」property_fee 價格明細類型,而 Expedia 收取的所有稅金則歸類於「每晚及住宿」tax_and_service_fee 價格明細類型。
針對 Expedia Collect 費率,billable_currency 和property_inclusive 欄位的「property_inclusive_strikethrough」將採用 Expedia Group's 中與供應商簽訂的合約所指定的貨幣,該貨幣通常為旅宿的當地貨幣。這與request_currency 無關,因為property_inclusive 和property_inclusive_strikethrough 欄位可能包含在旅宿以當地貨幣收取的費用。此行為與「inclusive」及「inclusive_strikethrough」欄位不同,在這些欄位中,Expedia Collect 費率的「billable_currency」將與「request_currency」相同。
「Shop」回應中,旅宿所列的總額分組方式,可能與「Content」回應中呈現的金額分組方式不同。總數應該還是會正確相符。
這是針對所有物業實施的全球性變更,若對此變更有任何疑問,請聯絡您的客戶經理。
會員點數
商務旅客預訂參與 Expedia 企業房價計畫且提供會員計畫的飯店,即可在住宿期間獲得飯店會員點數。合作夥伴可利用購物回應的設施服務節點,在擷取旅客的會員資訊前,確認並顯示會員可累積資格。
合作夥伴也可在購物 API 要求中使用 loyalty 值篩選條件,僅搜尋符合會員計畫的企業房價。
**備註:**只有在飯店已有會員計畫的情況下,企業房價才可累積會員點數。
範例:
可累積會員點數的 飯店企業房價,會在搜尋回應的 amenities 節點底下出現以下參數
{
"id": "2096",
"name": "Eligible for hotel loyalty points"
}佣金獎勵
作為 Rapid API 合作夥伴,您可以獲得額外的佣金獎勵,在指定的預訂和住宿日期期間為旅宿提供更高的利潤。要找出含有效佣金獎勵的旅宿,只需在 Rapid 購物 API 要求中使用 include 參數的 rooms.rates.marketing_fee_incentives 值即可。針對全部或部分所要求住宿期間的佣金獎勵費率,購物 API 回應中的 marketing_fee_incentives 物件將內含相關的其他詳細資訊,包括獎勵來源和受影響的住宿期間。然後,您 可以在庫存排序和選擇過程中考慮此欄位和現有的 marketing_fee 欄位;該欄位是行銷費用的估計值,其中包括所有可用的獎勵措施。
範例
旅宿 19248 為 12 月份的住宿提供更高的利潤。針對以下訂單發出購物 API 請求: 旅宿 19248,入住日期為 12 月 22 日至 1 月 5 日。在 Shopping API 回應中的 ``marketing_fee_incentives 物件中,您會發現針對 12 月 22 日至 12 月 31 日這段期間的部分住宿天數 (即 14 晚住宿中的 10 晚) 有優惠方案適用。
要求範例
curl -X GET "https://test.ean.com/v3/properties/availability\
?checkin=2026-12-22\
&checkout=2027-01-05\
¤cy=USD\
&country_code=US\
&language=en-US\
&occupancy=2\
&property_id=19248\
&rate_plan_count=1\
&sales_channel=website\
&sales_environment=hotel_only\
&include=rooms.rates.marketing_fee_incentives\
&travel_purpose=leisure" \
-H "accept: application/json, application/json"\
-H "accept-encoding: gzip"\
-H "authorization: EAN apikey=abcd1234,signature=090a77e7ddd7779980231,timestamp=1697664047"\
-H "user-agent: TravelNow/3.30.112"回應範例
[
{
"property_id": "19248",
"rooms": [
{
"id": "123abc",
"room_name": "Fancy Queen Room",
"rates": [
{
"id": "333abc",
...
"marketing_fee_incentives": [
{
"source": "property",
"start": "2026-12-22",
"end": "2027-12-31"
}
],
"occupancy_pricing": {
"2": {
"nightly": [ ... ],
"stay": [ ... ],
"totals": {
"inclusive": { ... },
"exclusive": { ... },
"inclusive_strikethrough": { ... },
"strikethrough": { ... },
"marketing_fee": {
"billable_currency": {
"value": "276.36",
"currency": "USD"
},
"request_currency": {
"value": "276.36",
"currency": "USD"
}
},
"gross_profit": { ... },
"minimum_selling_price": { ... },
"property_fees": { ... }
},
"fees": { ... }
}
}
}
]
}
]
}
]旅遊目的
透過「travel_purpose」參數,您可以將旅客歸類為商務旅客或休閒旅客。所有 Rapid 合作夥伴皆可使用「travel_purpose」參數,協助住宿業者更有效地識別並服務企業差旅旅客。
對於符合資格可查詢商業差餉的合作夥伴,必須在「查詢」請求中使用travel_purpose=business,才能在「查詢」回應中收到商業差餉資訊。如果要求中未提供 travel_purpose 參數,將假設其為休閒旅行,並且不會回傳企業房價。
範例
要指定旅客的旅遊目的為商務性質,只需在供應情況 API 要求中加入 24 個字元,非常簡單。
&travel_purpose=business產品銷售
我們已對購物 API 進行調整,以支援商品陳列流程,並讓您能無縫整合商品陳列 API:合作夥伴可使用「快速購物庫存狀態」端點中新增的「deal」篩選條件,僅接收包含有效促銷活動的價格。這讓合作夥伴能夠靈活地建立僅以商品陳列為重點的購物請求,並確保所有回傳的費率都具備「deal」屬性。
刪除線價格
strikethrough 欄位提供適用任何飯店資助折扣之前的不含稅總價。此欄位應在美國等地區使用,這些地區通常在搜尋結果中顯示不含稅金和其他費用的基本價格。
inclusive_strikethrough 欄位顯示折扣前的總價,包括稅金和其他費用。此欄位旨在讓您更清楚地顯示提供全包價格 (即基本價格、稅金和其他費用) 的區域中適用的折扣。該欄位回傳以計費貨幣和要求貨幣表示的值。
範例
[
{
"property_id": "19248",
"rooms": [
{
"id": "123abc",
"room_name": "Fancy Queen Room",
"rates": [
{
"id": "333abc",
...
"occupancy_pricing": {
"2": {
"nightly": [ ... ],
"stay": [ ... ],
"totals": {
"inclusive": { ... },
"exclusive": { ... },
"inclusive_strikethrough": {
"billable_currency": {
"value": "726.63",
"currency": "CAD"
},
"request_currency": {
"value": "549.60",
"currency": "USD"
}
},
"strikethrough": {
"billable_currency": {
"value": "650.00",
"currency": "CAD"
},
"request_currency": {
"value": "491.64",
"currency": "USD"
}
},
"marketing_fee": { ... },
"gross_profit": { ... },
"minimum_selling_price": { ... },
"property_fees": { ... }
},
"fees": { ... }
}
}
}
]
}
]
}
]促銷及折扣價格顯示
顯示根據促銷活動提供的折扣優惠金額,或是供應情況與價格檢查 API 所提供的原價與優惠價比較金額時,特定銷售點會要求提供標準房價的詳細資訊 (也就是用來計算折扣的價格基礎)。有關用詞使用規定,請參閱下方說明。
**歐盟:**請提供標準房價的清楚詳細資訊 (例如:「此為根據您的搜尋,旅宿所提供的標準房價」)。
**義大利:**請使用以下文字敘述:「Questo prezzo è basato sulla tariffa generalmente applicabile fornita dalla struttura per questa camera e per queste date.」
退款選項
「current_refundability」欄位可讓合作夥伴顯示所有退款選項,為旅客提供價格透明度並提升靈活性。
這 3 個選項分別是:
refundablenon_refundablepartially_refundable
「部分可退款」是什麼意思?
「部分可退款」是指取消罰金高於 0 但低於預訂總金額的房價方案及/或,且入住期間內包含 non-refundable 所列的日期範圍。
善用 ``current_refundability 欄位,究竟比僅使用可退還的布林標誌 (Boolean flag) 有何優勢?
refundable布林標誌用以標示某種房價是否為全額可退款,但對於部分可退款的房價,它會回傳false 的結果,這會誤導旅客。「current_refundability」欄位提供了一項更細緻的選項,能針對費率的可退還性提供更精確的資訊。
合作夥伴該如何在 Shop 回應中取得「current_refundability」欄位?
合作夥伴需在「Shop」請求中,於「current_refundability」參數下請 求「include」欄位。
範例
"property_id": "23060",
"status": "available".
"rates": [
{
"id": "201392692",
"status": "available",
...
...
...
...
"current_refundability": partially_refundable,
"cancel_penalties":[
{
"start": "2027-10-08T23:59:00.000+02:00",
"end": "2027-10-09T23:59:00.000+02:00",
"nights":"1",
"currency": "EUR"
}
]
}
]