pricewin-price-comparison
price-win/pricewin-skills-hub
Compare live hotel rates across Booking.com, Agoda, Traveloka, and OpenTravel to find the cheapest option.
What is pricewin-price-comparison?
This skill queries live hotel prices from four major online travel agencies (Booking.com, Agoda, Traveloka, and OpenTravel) for specific dates and properties. Use it when you need to compare room rates across platforms, check cancellation policies, or find the best deal for a named hotel or city.
- Search hotels by city with live rate polling across four OTAs
- Look up a specific named hotel's prices and availability across platforms
- Retrieve OpenTravel direct property details with room types and rate plans
- Compare per-room prices and rank by lowest cost
- Check free-cancellation terms and refund policies for OpenTravel rate plans
- Present savings percentages versus the next-cheapest source
How to install pricewin-price-comparison
npx skills add https://github.com/price-win/pricewin-skills-hub --skill pricewin-price-comparison- pricewin MCP server must be installed and running
- Hotel name, city, and check-in/check-out dates (YYYY-MM-DD format) for queries
How to use pricewin-price-comparison
- 1.For a city-wide search: call search_hotels_live with city, checkIn, checkOut, and optional filters (adults, rooms, area, price range)
- 2.Wait 5 seconds, then call poll_search_results with the returned sessionId and number of nights
- 3.Continue polling every 5 seconds (up to 18 times / 90 seconds) until status is 'partial' or 'complete'
- 4.For a named hotel: call get_ota_hotel_detail with hotelName, city, checkIn, checkOut, and the user's original query text
- 5.For OpenTravel direct properties: call get_hotel_detail with propertyId, checkIn, checkOut, and guest counts
- 6.To check cancellation terms: call get_cancellation_policy with propertyId, ratePlanId, and checkInDate
- 7.Rank results by price (lowest first), calculate savings vs. next-cheapest, and prefer free-cancellation options when prices are close
Use cases
- User asks 'Is the Mercure Danang cheaper on Agoda or Booking?' — call get_ota_hotel_detail with hotel name and dates
- User searches 'compare hotel prices in Da Nang for Dec 20–22' — call search_hotels_live, poll results, then compare across sources
- User wants to book an OpenTravel direct property and needs cancellation policy details — call get_cancellation_policy with propertyId and ratePlanId
- User compares rates and wants to know the savings percentage — calculate (next_cheapest - cheapest) / next_cheapest * 100
- User needs to decide between two similarly priced options — recommend the one with free cancellation
- Travel agents comparing rates for clients
- Travelers shopping for the best hotel deal
- Booking systems that need live multi-OTA price feeds
- Users deciding between OTAs based on cancellation flexibility
pricewin-price-comparison FAQ
No. If the user names a specific hotel, use get_ota_hotel_detail instead. search_hotels_live returns a whole-city list and is slower for single-property lookups.
City-wide searches take up to 90 seconds (18 polls at 5-second intervals). Single named-hotel lookups take 20–60 seconds. Do not mention 'loading' until results actually return.
Retry once. If it still fails, the hotel may not be indexed on those OTAs or the name may need clarification.
Rank purely by price: show the cheapest first, then others underneath (e.g., 'Agoda $X · Booking $Y · OpenTravel $Z'). Calculate savings as (next - cheapest) / next * 100. When prices are close, prefer free-cancellation options.
No. This skill only compares prices and retrieves details. It cannot book, pay, or modify reservations.
Full instructions (SKILL.md)
Source of truth, from price-win/pricewin-skills-hub.
name: pricewin-price-comparison description: Compare live hotel room rates across Booking.com, Agoda, Traveloka, and OpenTravel for specific dates — which OTA is cheapest for the same property, per-room prices, and free-cancellation terms. Use when comparing hotel prices, checking room rates for a named hotel, asking which site is cheaper, or finding the best rate for given check-in/check-out dates. version: 1.0.3 author: PriceWin platforms: [linux, macos, windows] tags: [price-comparison, compare-hotel-prices, hotel-price-comparison, room-rates, cheapest-hotel, best-hotel-rates, booking-vs-agoda, ota-comparison, cancellation-policy, free-cancellation, agoda, booking-com, traveloka, opentravel, mcp, hotel, travel] metadata: openclaw: emoji: "⚖️" homepage: https://github.com/Price-Win/pricewin-skills-hub
Requires the
pricewinMCP 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 you | Tool |
|---|---|
| A city — "compare hotel prices in Da Nang" | search_hotels_live → poll_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.
search_hotels_live— required:city,checkIn,checkOut(YYYY-MM-DD). Optional:adults(default 2),rooms,area,hotelName,priceMin,priceMax,language- Wait 5s →
poll_search_results(sessionId, nights) - While
statusispendingorpartial: wait 5s and poll again — up to 18 times (90s) - 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. PasshotelName+city+queryText(verbatim user text) whenever known - Do NOT call
search_hotels_livefor 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 aspropertyUrlto 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 fromopentravelResults[].propertyId) when available hotelName+cityis a fallback only for a property already confirmed as OpenTravel direct- Required:
checkIn,checkOut. Optional:adults,children,language - Returns room types with
roomTypeIdandratePlanId— these are what make a property bookable
⚠️ Router rule: have a propertyId → get_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_detail → roomTypes[].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.
Related skills
More from price-win/pricewin-skills-hub and the wider catalog.

pricewin-booking-assistant
Book hotels end-to-end with OpenTravel direct properties or OTA fallbacks, handle payments, and manage reservations.

pricewin-deal-finder
Compare live hotel prices across Booking.com, Agoda, Google Hotels & OpenTravel in one command.

pricewin-flight-search
Search live flight fares across Agoda, Trip.com, and Traveloka with airline, times, stops, and booking links.

pricewin-hotel-deal-finder
Compare live hotel prices across Booking.com, Agoda, Google Hotels & OpenTravel in one command.

ace-step
Tag-driven music generation, inpainting, and outpainting with ACE Step on RunComfy — $0.0002–0.0003/s.

ai-avatar-video
Create AI avatar and talking-head videos by routing across OmniHuman, Wan, HappyHorse, and Seedance models via RunComfy CLI.