Install
openclaw skills install price-winSearch and compare hotel prices across Agoda, Booking.com, Traveloka, plus direct PMS listings. OTA crawls run locally on the user's machine; a single lightweight API call to OpenTravel fetches direct-booking inventory. Use when the user asks for hotel deals, price comparison, or wants the cheapest stay for their travel dates.
openclaw skills install price-winHotel price comparison across Agoda, Booking.com, Traveloka, and direct-from-property listings in one query.
How the work is split:
In short: local-first, not local-only. Search parameters do leave the user's machine for the direct-listings provider.
Before running, the user should be aware:
OPENTRAVEL_API_BASE_URL to point at a host you trust, or omit the direct-listings step entirely if this is not acceptable.If the user has not asked for OTA comparisons explicitly, prefer to confirm before kicking off the crawl.
node ./bin/search.js "<city>" <checkIn YYYY-MM-DD> <checkOut YYYY-MM-DD> [adults]
The script blocks for 15–60 seconds, runs the four sources in parallel, and emits JSON on stdout. Diagnostics go to stderr.
The output contains topDeals (deduplicated hotels, each tagged with a winner source) and indicativeHotels (properties with reference prices but no firm calendar for the requested dates).
🏨 <name> (<city>, <stars>★)
💰 <cheapest price>/night — <source>
<if direct booking also available:>
🏷 Direct: <direct price>/night — <directLink>
<"saves <X> vs <OTA>" OR "costs <X> more than <OTA>">
<end>
🔗 <link to chosen source>
For indicativeHotels:
💡 <name> — from <price>/night (reference price)
Calendar not yet published for these dates. Contact the property to confirm.
Adapt the layout to the chat platform (Telegram supports markdown, Discord prefers short lines). Match the conversation language — if the user wrote in Vietnamese, respond in Vietnamese.
install.sh runs automatically on install and:
Subsequent searches reuse the cached browser and are noticeably faster.
meta.sourceErrors[] entry in that case.