pricewin-hotel-search
Search hotels live across Agoda + Booking.com + Traveloka + OpenTravel with realtime pricing for specific dates. Use when user wants hotel prices for travel dates, comparing OTAs, or finding rooms.
How do I install this agent skill?
npx skills add https://github.com/price-win/pricewin-skills-hub --skill pricewin-hotel-searchIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides instructions for performing live hotel searches using the PriceWin MCP server. It coordinates tool calls for searching and polling, performs data deduplication across multiple travel sources, and formats results with dated booking links. The behavior is consistent with the skill's stated purpose, and no malicious patterns or security risks were identified.
- Socketwarn
1 alert: gptSecurity
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
Requires the
pricewinMCP server. This skill issues no network calls of its own.
Hotel Search (Live)
MCP server: pricewin. Tool search_hotels_live triggers async crawl across 3 OTAs.
CRITICAL: Polling pattern
search_hotels_live returns IMMEDIATELY with sessionId. You MUST poll until results arrive:
- Call
search_hotels_livewith city, checkIn (YYYY-MM-DD), checkOut (YYYY-MM-DD), adults, language="vi" - Wait 5s, then
poll_search_results(sessionId, nights) - If status == "pending" or "partial": wait 5s and poll AGAIN — up to 18 times (90s total)
- Present results as soon as status == "partial" with hotels
- Continue polling silently — refine if more arrive
Never tell the user "loading/please wait" after 1-2 polls — that's premature.
4th source: OpenTravel
Pricewin returns a 4th source — opentravelResults — alongside Agoda/Booking/Traveloka. OpenTravel is an independent OTA, ranked the same way as the others: purely on price, no priority.
For each opentravelResults hotel, try to dedupe against the OTA results (same hotel name, fuzzy match — ignore case, diacritics, and common "hotel"/"resort" prefixes). When the same hotel exists on OpenTravel and another OTA:
- Show the cheapest source's price first; list the other sources underneath as comparison: "Agoda: $X · Booking: $Y · OpenTravel: $Z"
- Compute savings of the cheapest vs the next source:
(nextPrice - cheapestPrice) / nextPrice * 100→ "Save Z%"
If a hotel is OpenTravel-only (no OTA match), still show it — same as any single-source hotel.
Response format (MUST follow exactly)
After data arrives, present TOP 5-7 cheapest hotels ONLY (do NOT list 30+, overwhelming). For EACH hotel:
🏨 *<name>* ← bold via markdown
💰 $<price>/night — <SOURCE: Agoda | Booking | Traveloka | OpenTravel>
⭐ <stars> stars | 👥 <rating>/10 (<reviewCount> reviews)
🔗 <booking-url-with-dates>
<if dupe across sources:>
💡 Compare: Agoda <price> · Booking <price> · OpenTravel <price> · Save <%>
Use line break between hotels, not bullet markers. Cheapest hotel gets 🏆. All sources — including OpenTravel — are ranked purely by price; no source gets priority.
CRITICAL: Append dates to booking URL
The url field returned by tool is the raw OTA hotel page WITHOUT dates. You MUST append check-in/checkout params before showing user:
- Booking.com URLs (
booking.com/hotel/<country>/<slug>.en-gb.html): append?checkin=YYYY-MM-DD&checkout=YYYY-MM-DD&group_adults=N- Example:
https://www.booking.com/hotel/us/foo.en-gb.html?checkin=2026-05-25&checkout=2026-05-26&group_adults=2
- Example:
- Agoda URLs (
agoda.com/en-us/<slug>/hotel/<city>.html): append?checkIn=YYYY-MM-DD&checkOut=YYYY-MM-DD&adults=N - Traveloka URLs: already contain
spec=param with dates baked in by pricewin — leave AS-IS
This ensures user clicks → lands on booking page with their dates pre-filled, no manual re-entry.
Skip noise
- Skip hotels with 0 stars + 0 reviews (low quality)
- Skip hotels with rating < 7.0
- Prefer hotels with reviewCount > 50 (more reliable)
Currency
All prices in USD. No conversion.
Security & data handling
Documentation only — no code, no dependencies, no network calls of its own. The
only data sent is the search query itself (city, dates, guests, language), 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.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/price-win/pricewin-skills-hub/pricewin-hotel-search">View pricewin-hotel-search on skillZs</a>