compare-hotels について
ホテルの現金料金、プレミアム予約ポータル、バケーションレンタルを一括比較するエージェント向けの検索統括スキルです。検索ツールを連携し、単独スクリプトではなく各プログラムの特典も評価します。
主な機能
- 01ホテルとレンタルの検索連携
- 02現金料金とポータル価格の比較
- 03Airbnb と VRBO の選択肢
- 04プレミアムプログラム対象の確認
- 05記載された特典を価格に反映
- 06検索元のエラーと欠落の報告
活用シーン
- 01目的地のホテルとレンタルの比較
- 02Chase と Amex のホテルポータルの評価
- 03プレミアム特典と直接予約料金の比較
MCP 対応
宿泊施設と価格の検索に airbnb_search MCP ツールを利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ borski/ travel-hacking-toolkit --skill compare-hotelsインストール後、Claude Code で/compare-hotelsを入力して読み込まれたか確認します。
詳細
補足リファレンススキル。 より詳しい情報を確認するには、以下を読み込んでください。
hotel-chains— ブランドとホテルをロイヤルティプログラムにマッピングpremium-hotels— FHR/THC/Chase Editのクレジットと特典の組み合わせ戦略points-valuations— ホテルプログラムのCPP下限/上限(Hyattは1.4~1.7cpp、Hiltonは0.4cppが下限など)fallback-and-resilience— ホテルの情報源が利用できない場合の復旧方法
ホテルを比較する
利用可能なすべての情報源を検索して宿泊施設を探し、統合した比較結果を提示します。ポータルのプレミアムプログラム(Chase Edit、Amex FHR/THC)、現金価格、Airbnbの代替宿泊施設をひとつの一覧にまとめます。
これはオーケストレーションスキルです。 実行するツールと結果の組み合わせ方をエージェントに指示します。単体で実行するスクリプトはありません。
使用する場面
- 「8月11日から15日までパリのホテルを探して」
- 「このホテルはChaseとAmexのどちらから予約すべきですか?」
- 「オスロのホテルとAirbnbを比較して」
- ユーザーが宿泊施設について全体像を把握したい、あらゆる検索
情報源
可能な場合は並行して実行してください。失敗を黙って無視してはいけません。
ポータルのプレミアムプログラム(Dockerが必要)
| 情報源 | スキル | 速度 | 検索できるもの |
|---|---|---|---|
| Chase Travel | chase-travel | ~45s | Edit対象ホテル($100クレジット、朝食、アップグレード)、Points Boost、一般ホテル |
| Amex Travel | amex-travel | ~45s | FHR($100以上のクレジット、朝食、アップグレード、レイトチェックアウト)、THC(2泊以上で$100クレジット) |
現金価格とメタサーチ
| 情報源 | スキル/ツール | 速度 | 検索できるもの |
|---|---|---|---|
| SerpAPI | serpapi | ~3s | Google Hotelsの現金価格と直接予約リンク。 |
| Trivago | ウェブ検索 | ~5s | 多数のOTAを横断するメタサーチ。tavily/exaを使ってtrivago.comを検索してください。OTAの最安料金を見つけられます。 |
| LiteAPI | ウェブ検索 | ~5s | 交渉済み料金を扱うホテルAPIアグリゲーター。liteapi.travelを確認してください。一般公開されているOTA料金より安い料金が見つかる場合があります。 |
| RapidAPI | rapidapi | ~3s | Booking.comの在庫と料金。任意です。ユーザーが特にBooking.comを指定した場合に使用してください。 |
品質と評価
| 情報源 | スキル/ツール | 速度 | 検索できるもの |
|---|---|---|---|
| TripAdvisor | tripadvisor | ~2s | 評価、ランキング、サブ評価(立地/サービス/清潔さ)、口コミ、写真、設備、受賞歴。月間5K件の呼び出し。 |
SerpAPI、Trivago、LiteAPIはすべてデフォルトで使用します。 必ず3つすべてを検索してください。RapidAPIを追加するのは、ユーザーが特にBooking.comを指定した場合のみです。他の情報源の料金情報を補完する品質データ(評価、ランキング、口コミ)にはTripAdvisorを使用してください。
バケーションレンタル
| 情報源 | スキル/ツール | 速度 | 検索できるもの |
|---|---|---|---|
| Airbnb | airbnb_search MCPツール | ~5s | 一棟貸し、個室、総額 |
| VRBO | vrboスキル(Patchright) | ~20s | 一棟貸し、コンドミニアム、キャビン。Airbnbには掲載されていないことが多い、専門業者が管理する物件も検索できます。ヘッドレスではなくブラウザー表示/Dockerで実行 — Akamaiの保護下にあります。 |
プレミアム物件データベース(ローカル、即時)
| 情報源 | データファイル | 検索できるもの |
|---|---|---|
| FHR対象物件 | data/fhr-properties.json | 予約前にホテルがFHR対象か確認 |
| THC対象物件 | data/thc-properties.json | ホテルがTHC対象か確認 |
| Chase Edit対象物件 | data/chase-edit-properties.json | ホテルがChaseのEditプログラムに含まれているか確認 |
ワークフロー
ステップ1:すべての情報源を検索
PARALLEL GROUP 1 (fast — HTTP/API/MCP calls, no browser, ~3-5s):
- SerpAPI: Google Hotels cash prices
- Trivago: metasearch across OTAs (web search)
- LiteAPI: negotiated hotel rates (web search)
- Airbnb: vacation rentals in the area (npx MCP — lightweight scrape, not a browser)
- Local data: check premium-hotels databases for the city
PARALLEL GROUP 2 (slow — headed browser via Patchright/Xvfb in Docker, ~20-45s):
- VRBO: whole homes / condos / cabins — vrbo skill (~20s, headed/Docker, behind Akamai; run for whole-home comparisons alongside Airbnb)
- Chase Travel: --hotel --dest "City" --checkin YYYY-MM-DD --checkout YYYY-MM-DD --json
- Amex Travel: --hotel --dest "City" --checkin YYYY-MM-DD --checkout YYYY-MM-DD --json
各情報源について、以下を記録してください。
- 情報源名
- ステータス:「ok」|「error: {reason}」|「skipped: {reason}」
- 結果数
- データ
ステップ2:特典の組み合わせ機会を特定
検索結果をdata/fhr-properties.json、data/thc-properties.json、data/chase-edit-properties.jsonと照合してください。
For each hotel in results:
- Is it in FHR? → Tag [FHR]
- Is it in THC? → Tag [THC]
- Is it in Chase Edit? → Tag [EDIT]
- Is it in multiple? → Tag [FHR+EDIT] and note stacking potential
特典の組み合わせとは、ひとつのポータルで予約し、もう一方のカードを別の支払いに使うことです。たとえば、Amex経由でFHRを予約して(朝食+クレジット+アップグレードを獲得)、CSRの$300旅行クレジットをその施設で別の用途に使います。
ステップ 3:ポイントの価値を計算する
Chase:
- CSR/CSPでChaseのポータルを利用する場合、Points Boostの価格は変動します。予約ごとに特定のポイント価格が提示され、CSRでは実質的なCPPは通常1.5〜2.0 CPPの範囲ですが、すべての予約でこの水準が保証されるわけではありません。実際のポータル価格を確認してください。
- Points Boostのオファーは変動し、ルート、日付、空室状況によって異なります。
- ポータルに表示される価格が実際のUR必要額です。1.5で割らないでください。表示ポイント数には、見積もり時点の変動するBoostレートがすでに反映されています。
Amex:
- ホテルポータルの価格は変動します(航空券のように常に1 CPPとは限りません)。
- 表示されるポイント数が実際のMR必要額です。現金価格とポイント数の比率からCPPを計算してください。
- FHRの特典(100ドル以上のクレジット、朝食)を考慮すると、実質価格は大幅に下がります。
特典を考慮した価格を計算する:
FHR adjusted = total_price - $100 credit - (breakfast_value × nights)
breakfast_value ≈ $30-50/person × 2 people = $60-100/night
THC adjusted = total_price - $100 credit (2+ night stays only)
Edit adjusted = total_price - $100 credit - (breakfast_value × nights)
ステップ 4:統一テーブルを提示する
常にMarkdownテーブルを使用してください。 特典を考慮した合計価格の安い順にホテルを並べます。
例:パリ、8月11〜15日(4泊、2名)
| # | ホテル | プログラム | 星 | 1泊あたり | 合計 | ポイント | 特典 | 調整後合計 |
|---|---|---|---|---|---|---|---|---|
| 1 | SO/ Paris | EDIT+BOOST | 5★ | $639 | $2,555 | 127,756 UR | 朝食、100ドルのクレジット、アップグレード | ~$1,855 |
| 2 | Hotel Balzac | EDIT+BOOST | 5★ | $614 | $2,455 | 122,769 UR | 朝食、100ドルのクレジット、アップグレード | ~$1,755 |
| 3 | Le Bristol | FHR | 5★ | $1,849 | $8,284 | 該当なし | 100ドルのクレジット、朝食、アップグレード、午後4時のチェックアウト | ~$6,884 |
| 4 | Marriott Champs-Élysées | — | 4★ | $289 | $1,156 | — | — | $1,156 |
| 5 | Airbnb:マレ地区の2ベッドルーム | — | — | $195 | $780 | — | キッチン、洗濯機 | $780 |
確認した情報源:
- ✅ Chase Travel:ホテル21軒(Edit 15軒、通常6軒)
- ✅ Amex Travel:ホテル17軒(FHR 13軒、THC 4軒)
- ✅ SerpAPI:ホテル25軒
- ✅ Trivago:ホテル30軒(各ホテルの最安OTA)
- ✅ LiteAPI:ホテル22軒(契約料金)
- ✅ Airbnb:リスティング18件
- ✅ プレミアムデータベース:パリのFHR対象施設8軒、THC対象施設3軒、Edit対象施設15軒
- ⏭️ RapidAPI/Booking.com:スキップ(依頼なし)
ステップ 5:おすすめを提示する
テーブルの後に、必ず以下を提示してください。
- 最もお得な高級ホテル: 特典を考慮した場合に、節約額が最も大きい高級ホテル
- 最もお得な低価格オプション: 最安のオプション(長期滞在ではAirbnbが最安となることがよくあります)
- 特典の併用機会: FHR/THCとChase Editの両方に該当するホテル
- クレジットの利用: 適用されるカードのクレジット(Amex FHRの600ドル、CSR旅行クレジット300ドル、Select Hotelsの250ドル)
- ポイント利用と現金払いの比較: これらのいずれかでポイントを使う価値があるか(CPPを計算)
- ホテルへの直接予約との比較: ホテルの直接予約価格がポータル価格より大幅に安い場合は、その旨を記載する
Airbnbの統合
airbnb_search MCP ツールを使用してください。
airbnb_search(
location="Paris, France",
checkin="2026-08-11",
checkout="2026-08-15",
adults=2,
propertyType="entire_home"
)
Airbnbの各検索結果について、以下を抽出してください。
- 名前、価格、評価、レビュー数
- 物件タイプ(貸切、個室)
- 主な設備(キッチン、洗濯機、Wi-Fi、エアコン)
- リスティングへの直接リンク
Airbnbが適している場合:
- 5泊以上の滞在(通常、1泊あたりの料金が安くなります)
- 広いスペースが必要なグループや家族
- ホテルの価格が割高な目的地
- キッチンの利用が重要な場合(食事制限、食費の節約)
ホテルが適している場合:
- 短期滞在(1〜2泊)
- プレミアム特典によって料金の価値が高まる場合(FHRの朝食だけでも、1泊あたり100ドル以上の価値になることがあります)
- ポイント交換で良好なCPPが得られる場合
- ロイヤルティステータスの特典(アップグレード、レイトチェックアウト、ラウンジ利用)
エラー処理
エラーを黙って無視してはいけません。 すべての情報源について、ステータスを報告してください。
- ❌ Chase Travel: Login failed. No Chase portal pricing available.
- ❌ Airbnb: No results for this location/dates.
- ⚠️ Amex Travel: Only 3 results (some hotels may not be available for these dates).
プレミアムデータベースに市内のFHR/Edit対象施設が記載されているにもかかわらず、ポータル検索で表示されなかった場合は、次のように記載してください。「FHRデータベースにはパリの対象施設が8軒掲載されていますが、Amex Travelの検索結果には3軒しか表示されませんでした。予約日によっては、空室がない施設もあります。」
使用するデータファイル
| ファイル | 用途 |
|---|---|
data/fhr-properties.json | 都市/座標によるFHR対象施設の検索 |
data/thc-properties.json | THC対象施設の検索 |
data/chase-edit-properties.json | Chase Edit対象施設の検索 |
data/hotel-chains.json | ホテルチェーンとロイヤルティプログラムの対応付け |
data/points-valuations.json | ポイント計算用のCPP評価値 |
制限事項
- ポータルで検索するには、Docker と認証情報が必要です。設定されていない場合はスキップしてください。
- Airbnb MCP が利用可能である必要があります。利用できない場合は、エラーにならないようスキップしてください。
- FHR/THC/Edit データベースは定期的に更新されます。施設が追加または削除されている可能性があります。
- Amex のホテルポイント価格は変動します(1 cpp ではありません)。ポータルに表示される実際のポイント価格を使用してください。
- Chase ポータルの価格は Points Boost によって変動します(対象の予約で約 1.5~2.0 cpp ですが、最低保証ではありません)。以前の固定 1.5 倍の倍率は廃止されました。
- 直接予約の価格(SerpAPI 経由)は、同じホテルでもポータルの価格と異なる場合があります。