← ClaudeAtlas

pricewin-hotel-searchlisted

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.
Price-Win/pricewin-skills-hub · ★ 0 · AI & Automation · score 69
Install: claude install-skill Price-Win/pricewin-skills-hub
# 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:** 1. Call `search_hotels_live` with city, checkIn (YYYY-MM-DD), checkOut (YYYY-MM-DD), adults, language="vi" 2. Wait 5s, then `poll_search_results(sessionId, nights)` 3. If status == "pending" or "partial": **wait 5s and poll AGAIN — up to 18 times (90s total)** 4. Present results as soon as status == "partial" with hotels 5. 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: 1. Show the **cheapest** source's price first; list the other sources underneath as comparison: "Agoda: $X · Booking: $Y · OpenTravel: $Z" 2. 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 ho