pricewin-price-comparison

作成者: price-win

Booking.com、Agoda、Traveloka、OpenTravelのホテル宿泊料金を指定日付でリアルタイム比較——同一物件で最も安いOTA、1室あたりの料金、無料キャンセル条件を確認。ホテル料金の比較、指定ホテルの客室料金確認、どちらのサイトが安いかの問い合わせ、指定チェックイン/チェックアウト日付での最安料金検索に使用。

npx skills add https://github.com/price-win/pricewin-skills-hub --skill pricewin-price-comparison

Requires the pricewin MCP server. This skill issues no network calls of its own.

Price Comparison

MCP server: pricewin. Compares live rates across Booking.com, Agoda, Traveloka (crawled) plus OpenTravel (direct API).

Comparison is something you do over the returned sources — there is no server-side compare call. Pick the entry point by what the user gave you:

User gave youTool
A city — "compare hotel prices in Da Nang"search_hotels_livepoll_search_results
A named hotel — "is Mercure Danang cheaper on Agoda or Booking?"get_ota_hotel_detail
A hotel already known to be OpenTravel direct (source: "OPENTRAVEL_DIRECT", has propertyId)get_hotel_detail

City-wide comparison

search_hotels_live returns IMMEDIATELY with a sessionId — it does not return hotels.

  1. search_hotels_live — required: city, checkIn, checkOut (YYYY-MM-DD). Optional: adults (default 2), rooms, area, hotelName, priceMin, priceMax, language
  2. Wait 5s → poll_search_results(sessionId, nights)
  3. While status is pending or partial: wait 5s and poll again — up to 18 times (90s)
  4. Present as soon as status == "partial" with hotels; keep polling silently and refine

Then compare per hotel across its sources. See pricewin-hotel-search for the full dedupe + presentation contract — do not restate it differently here.

Single named hotel

get_ota_hotel_detail — for one specific Booking.com/Agoda hotel the user named.

  • Required: checkIn, checkOut. Pass hotelName + city + queryText (verbatim user text) whenever known
  • Do NOT call search_hotels_live for a named hotel — that returns a whole-city list
  • Live crawl, ~20–60s. Say nothing about "loading" until it actually returns
  • Speed-up: if a prior search already gave you prices.booking.url, pass it as propertyUrl to skip name resolution
  • If it returns not-found under load, retry once

Returns rooms, prices, facilities, photos, reviews for that property.

OpenTravel direct properties

get_hotel_detail — only for results with source: "OPENTRAVEL_DIRECT".

  • Pass propertyId (UUID from opentravelResults[].propertyId) when available
  • hotelName + city is a fallback only for a property already confirmed as OpenTravel direct
  • Required: checkIn, checkOut. Optional: adults, children, language
  • Returns room types with roomTypeId and ratePlanId — these are what make a property bookable

⚠️ Router rule: have a propertyIdget_hotel_detail. Name only → get_ota_hotel_detail.

Cancellation terms

For OpenTravel rate plans only: get_cancellation_policy(propertyId, ratePlanId, checkInDate) → non-refundable flag, free-cancellation window, refund %, and the computed deadline.

ratePlanId comes from get_hotel_detailroomTypes[].ratePlanId. Pass checkInDate or you get no deadline. OTA hotels have no structured policy — quote whatever the crawl returned.

Presenting a comparison

  • Rank purely by price. No source gets priority, OpenTravel included
  • Show the cheapest source first, then the others underneath: Agoda $X · Booking $Y · OpenTravel $Z
  • Savings vs the next-cheapest source: (next - cheapest) / next * 100 → "Save Z%"
  • When the gap is small, prefer the free-cancellation option and say why
  • All prices USD unless the tool says otherwise. No conversion

Tool inputs and response fields: reference.md.

Security & data handling

Documentation only — no code, no dependencies, no network calls of its own. The only data sent is the comparison query (city or hotel name, dates, guests, plus queryText — the user's message verbatim), to PriceWin's hosted MCP server https://mcp.price.win/mcp (no credentials, no account). No PII, and this skill cannot book or pay for anything. Full disclosure — operator, backend provenance, exact fields per tool — in SECURITY.md.

price-winのその他のスキル

pricewin-deal-finder
price-win
指定された旅行日程と宿泊人数に基づき、Booking、Agoda、Google Hotels、OpenTravel全体のホテル料金比較とお得情報を提供します。ホテル料金、お得情報、OTA料金比較にご利用ください。
pricewin-hotel-deal-finder
price-win
Booking.com、Agoda、Google Hotels、OpenTravelのリアルタイム価格を比較し、世界中の都市と旅行日程に対応した最安ホテルディールを検出します。1つのコマンドで、最良価格、最安値、高品質の宿泊先をランク付けし、USD表示の直接予約リンクを提供します。ホテル価格、ディール、最安部屋や料金、最高宿泊料金、ホテル価格比較、OTAの安さ比較(例:「BookingとAgodaの東京での安さ比較」「ホテルを探して」)などのリクエストに対応します。
pricewin-hotel-search
price-win
Agoda + Booking.com + Traveloka + OpenTravel 全体でホテルをライブ検索し、特定の日付のリアルタイム料金を取得します。ユーザーが旅行日付のホテル料金を希望する場合、OTAの比較、または部屋の検索に使用します。
researchweb-scrapingapi
pricewin-flight-search
price-win
Agoda、Trip.com、Travelokaで、ルートと日付を指定してリアルタイムの航空運賃を検索します。片道または往復、全客室クラスに対応し、航空会社、時刻、乗り継ぎ、所要時間、直接予約リンクを表示します。ユーザーが2都市間の航空運賃、飛行機のチケット、格安航空券、旅行日における航空会社の比較、または旅行のフライト区間の計画を求めている場合に使用します。
researchweb-scraping
pricewin-booking-assistant
price-win
ホテルルームを提案し、実際の予約をエンドツーエンドで完了 — OpenTravel直営物件を支払いリンク(銀行QR、カード、PayPal)で予約、支払い状況確認、期限切れリンクの再送信、または予約キャンセル。OTA専用ホテルはBooking.com/Agoda/Travelokaの直接リンクにフォールバック。ホテルの予約や部屋の提案、宿泊の支払い、確認番号の確認、予約のキャンセル時に使用。