pricewin-hotel-search

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
Requires the
pricewin
MCP server. This skill issues no network calls of its own.
需要
pricewin
MCP服务器。本技能自身不会发起任何网络请求。

Hotel Search (Live)

酒店实时搜索(Live)

MCP server:
pricewin
. Tool
search_hotels_live
triggers async crawl across 3 OTAs.
MCP服务器:
pricewin
。工具
search_hotels_live
会触发跨3家OTA的异步爬取。

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.
search_hotels_live
会立即返回sessionId。你必须持续轮询直到结果返回
  1. 调用
    search_hotels_live
    ,传入city、checkIn(格式YYYY-MM-DD)、checkOut(格式YYYY-MM-DD)、adults,以及language="vi"
  2. 等待5秒后,调用
    poll_search_results(sessionId, nights)
  3. 如果状态为"pending"或"partial":等待5秒后再次轮询——最多轮询18次(总计90秒)
  4. 当状态变为"partial"且已有酒店信息时,立即展示结果
  5. 继续静默轮询——若有更多结果则更新展示
在1-2次轮询后,绝不要告诉用户“加载中/请等待”——这为时过早。

4th source: OpenTravel

第4个数据源: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 hotel.
Pricewin会返回第4个数据源——
opentravelResults
,与Agoda/Booking/Traveloka的结果一同展示。OpenTravel是独立OTA,与其他平台的排名规则一致:完全按价格排序,无优先级之分
对于每个
opentravelResults
中的酒店,尝试与OTA结果进行去重匹配(相同酒店名称,模糊匹配——忽略大小写、变音符号,以及常见的“hotel”/“resort”前缀)。当同一酒店同时出现在OpenTravel和其他OTA时:
  1. 优先展示价格最低的平台价格;在下方列出其他平台价格作为对比:“Agoda: $X · Booking: $Y · OpenTravel: $Z”
  2. 计算最低价与次低价的差价比例:
    (nextPrice - cheapestPrice) / nextPrice * 100
    → 显示“节省Z%”
如果某酒店仅在OpenTravel有收录(无OTA匹配),仍需展示——与仅单个平台收录的酒店处理方式相同。

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.
数据返回后,仅展示价格最低的TOP 5-7家酒店(不要列出30+家,避免信息过载)。每家酒店的展示格式如下:
🏨 *<酒店名称>*  ← 使用markdown加粗
💰 $<价格>/晚 — <来源:Agoda | Booking | Traveloka | OpenTravel>
⭐ <星级>星 | 👥 <评分>/10(<评论数>条评论)
🔗 <带日期的预订链接>

<若存在多平台重复酒店:>
   💡 比价:Agoda <价格> · Booking <价格> · OpenTravel <价格> · 节省<%>
酒店之间用换行分隔,不要使用项目符号。价格最低的酒店标注🏆。所有来源——包括OpenTravel——均完全按价格排序;无任何平台享有优先级。

CRITICAL: Append dates to booking URL

重要提示:为预订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
  • 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.
工具返回的
url
字段是未包含日期的原始OTA酒店页面链接。你必须在展示给用户前添加入住/退房参数
  • Booking.com链接(格式
    booking.com/hotel/<country>/<slug>.en-gb.html
    ):添加参数
    ?checkin=YYYY-MM-DD&checkout=YYYY-MM-DD&group_adults=N
    • 示例:
      https://www.booking.com/hotel/us/foo.en-gb.html?checkin=2026-05-25&checkout=2026-05-26&group_adults=2
  • Agoda链接(格式
    agoda.com/en-us/<slug>/hotel/<city>.html
    ):添加参数
    ?checkIn=YYYY-MM-DD&checkOut=YYYY-MM-DD&adults=N
  • Traveloka链接:Pricewin已自动在
    spec=
    参数中包含日期——保持原样即可
这样用户点击链接后,将直接进入已预填好他们所选日期的预订页面,无需手动重新输入。

Skip noise

过滤低质量酒店

  • Skip hotels with 0 stars + 0 reviews (low quality)
  • Skip hotels with rating < 7.0
  • Prefer hotels with reviewCount > 50 (more reliable)
  • 跳过0星级且0评论的酒店(低质量)
  • 跳过评分低于7.0的酒店
  • 优先选择评论数超过50条的酒店(更可靠)

Currency

货币

All prices in USD. No conversion.
所有价格均以USD(美元)计价,无需转换。