pricewin-price-comparison について
pricewin-price-comparisonは、pricewin MCPサーバーを使ってホテル料金を比較する旅行計画向けスキルです。Booking.com、Agoda、Traveloka、OpenTravelの結果を比較する手順を示し、スキル自体はネットワーク通信を行いません。
主な機能
- 01都市別のホテル料金検索
- 02指定ホテルの詳細取得
- 03複数ソース間の料金比較
- 04OpenTravelのキャンセル条件確認
活用シーン
- 01都市内のホテル料金を日付指定で比較
- 02指定ホテルのOTA料金を確認
- 03OpenTravel料金のキャンセル期限を確認
MCP 対応
pricewin MCPサーバーへの接続が必要で、そのツールを使ってホテルと料金のデータを取得します。検索内容はPriceWinのホスト型MCPサーバーに送られ、スキル自体はネットワーク通信を行いません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ price-win/ pricewin-skills-hub --skill pricewin-price-comparisonインストール後、Claude Code で/pricewin-price-comparisonを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference.mdSECURITY.mdskill-card.md詳細
pricewinMCP サーバーが必要です。このスキル自体はネットワーク呼び出しを行いません。
価格比較
MCP サーバー: pricewin。Booking.com、Agoda、Traveloka(クロール)と OpenTravel(直接 API)のリアルタイム料金を比較します。
比較は返されたソースを対象に行います。サーバー側に比較呼び出しはありません。ユーザーが提供した情報に応じて、入口を選んでください。
| ユーザーが提供した情報 | ツール |
|---|---|
| 都市 — 「ダナンのホテル料金を比較して」 | search_hotels_live → poll_search_results |
| ホテル名 — 「メルキュール ダナンは Agoda と Booking のどちらが安い?」 | get_ota_hotel_detail |
すでに OpenTravel 直販と判明しているホテル(source: "OPENTRAVEL_DIRECT"、propertyId あり) | get_hotel_detail |
都市全体の比較
search_hotels_live は sessionId を返して即時に応答します。ホテルは返しません。
search_hotels_live— 必須:city、checkIn、checkOut(YYYY-MM-DD)。任意:adults(デフォルトは 2)、rooms、area、hotelName、priceMin、priceMax、language- 5 秒待機 →
poll_search_results(sessionId, nights) statusがpendingまたはpartialの間は、5 秒待って再度ポーリングします(最大 18 回、90 秒)- ホテルを含む
status == "partial"が返されたら、すぐに提示します。ポーリングは引き続きユーザーに知らせず行い、内容を改善します
その後、各ホテルについてソース間で比較します。重複排除と提示方法に関する完全な仕様は、pricewin-hotel-search を参照してください。ここで異なる形で書き直さないでください。
ホテル名を指定した検索
get_ota_hotel_detail — ユーザーが指定した、特定の Booking.com/Agoda のホテルに使用します。
- 必須:
checkIn、checkOut。分かっている場合はhotelName+city+queryText(ユーザーの入力そのまま)を渡します - ホテル名が指定されている場合、
search_hotels_liveを呼び出さないでください — 都市全体の一覧が返されます - ライブクロールには約 20~60 秒かかります。実際に応答が返るまでは「読み込み中」などと案内しないでください
- 速度を上げる方法:前回の検索結果に
prices.booking.urlがある場合、propertyUrlとして渡すと名前の解決を省略できます - 負荷時に見つからないという結果が返された場合は、1 回だけ再試行します
この施設の客室、料金、設備、写真、レビューが返されます。
OpenTravel 直販施設
get_hotel_detail — source: "OPENTRAVEL_DIRECT" の結果にのみ使用します。
- 利用可能な場合は
propertyId(opentravelResults[].propertyIdの UUID)を渡します hotelName+cityは、OpenTravel 直販と確認済みの施設に限り、代替として使用できます- 必須:
checkIn、checkOut。任意:adults、children、language roomTypeIdとratePlanIdを含む客室タイプが返されます。これらは施設の予約に必要です
⚠️ ルーターのルール:propertyId がある場合は get_hotel_detail。名前のみの場合は get_ota_hotel_detail。
キャンセル条件
OpenTravel の料金プランのみ対象です:get_cancellation_policy(propertyId, ratePlanId, checkInDate)
→ 返金不可フラグ、無料キャンセル期間、返金率、計算済みの期限が返されます。
ratePlanId は get_hotel_detail → roomTypes[].ratePlanId から取得します。checkInDate を渡さないと期限が返されません。OTA ホテルには構造化されたポリシーがありません。クロールで返された情報をそのまま提示してください。
比較結果の提示
- 価格のみで順位を付けます。OpenTravel を含め、優先するソースはありません
- 最安のソースを最初に示し、その下にほかのソースを続けます:
Agoda $X · Booking $Y · OpenTravel $Z - 次に安いソースと比べた節約率:(次点 − 最安) / 次点 * 100 →「Z%お得」
- 価格差が小さい場合は、無料キャンセル可能なプランを優先し、その理由を伝えます
- ツールに別途記載がない限り、価格はすべて USD です。換算しないでください
ツールの入力とレスポンスフィールドについては、reference.md を参照してください。
セキュリティとデータの取り扱い
ドキュメントのみです。コードや依存関係はなく、独自のネットワーク呼び出しも行いません。送信されるデータは、PriceWin のホスト型 MCP サーバー https://mcp.price.win/mcp に送る比較クエリ(都市名またはホテル名、日付、宿泊人数に加えて、ユーザーのメッセージをそのまま記載した queryText)のみです(認証情報やアカウント情報は含みません)。個人を特定できる情報(PII)は含まれず、このスキルでは予約や支払いもできません。運営者、バックエンドの出所、ツールごとの正確なフィールドについては、SECURITY.md で全面的に開示しています。