mcpField
P
pricewin-booking-assistant

pricewin-booking-assistant

github.com/price-win生产力210.5k 次安装11 周前更新
代码仓库

关于 pricewin-booking-assistant

pricewin-booking-assistant 是依赖 pricewin MCP 服务的酒店推荐与预订技能,面向需要查找并预订酒店的旅行者。它可为 OpenTravel 直连房源创建预订和付款链接,而 Booking.com、Agoda、Traveloka 房源仅供比较。

主要功能

  1. 01搜索并筛选酒店
  2. 02按评分与评论数排序
  3. 03获取房型和价格详情
  4. 04创建 OpenTravel 预订与付款链接
  5. 05查询订单状态及处理取消

适用场景

  1. 01按日期和入住人数寻找酒店
  2. 02为 OpenTravel 房源选择房型并预订
  3. 03检查付款状态或重新生成付款链接
  4. 04通过邮件令牌提交取消请求

MCP 相关

此技能通过 pricewin MCP 服务调用酒店搜索、详情、预订及订单管理工具。只有 OpenTravel 直连房源可由该技能预订;OTA 房源仅提供比较和返回的预订链接。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/price-win/pricewin-skills-hub --skill pricewin-booking-assistant

安装后在 Claude Code 中输入/pricewin-booking-assistant确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference.md
SECURITY.md
skill-card.md

详细介绍

需要 pricewin MCP 服务。涉及真实资金:它会创建预订和付款链接。使用前请阅读下方的确认规则。

预订助手

MCP 服务: pricewin。负责协调发现 → 详情 → 推荐 → 预订 → 付款 → 管理。

实际可预订的内容

来源可以在此处预订吗?
source: "OPENTRAVEL_DIRECT"(包含 propertyId)✅ 可以 — 通过 create_booking 完成预订和付款
Booking.com / Agoda / Traveloka❌ 不可以 — 仅供比较。请将 OTA 的 url 提供给用户

只有 OpenTravel 直连房源会提供 create_booking 所需的 propertyId + roomTypeId。绝不要暗示可以通过此技能预订 OTA 酒店。

推荐流程

  1. 发现 — search_hotels_live(city, checkIn, checkOut, adults, …) → sessionId, 然后每隔 5 秒轮询一次 poll_search_results(sessionId, nights),直到 status 为 pending/partial(最多轮询 18 次 / 90 秒)
  2. 评分 — rating × log(reviewCount + 1) — 平衡品质与可信度。 优质候选:rating ≥ 8.0 且 reviewCount ≥ 100
  3. 排序 — 按得分选出前 3–5 名
  4. 详情 — 对 OpenTravel 候选调用 get_hotel_detail(propertyId, checkIn, checkOut, adults); 对指定的 OTA 酒店调用 get_ota_hotel_detail(hotelName, city, checkIn, checkOut, queryText)(约 20–60 秒)
  5. 推荐 — 按入住人数筛选客房,然后选择性价比最高的选项

预订链接规则(OTA 酒店)

  • 绝不编造 URL — 只能使用工具返回的 url
  • 始终在链接旁注明 OTA 名称;如果多个 OTA 有相同房型,请列出全部选项及价格
  • 将用户的日期追加到原始 URL 后 — 请参阅 pricewin-hotel-search

预订流程(OpenTravel 直连)

1. 先获取房型 — 必须执行

预订前先调用 get_hotel_detail,以获取 roomTypeId、总价和 币种。不要猜测其中任何一项。

也可以调用 get_cancellation_policy(propertyId, ratePlanId, checkInDate),并在收款前展示 退款条款。

2. 在同一条消息中询问全部四项信息

首次索取住客信息时,必须在同一条消息中一并询问以下所有内容,绝不要分多轮询问, 并始终使用用户的语言:

  1. 全名
  2. 电话号码
  3. 电子邮箱 — 确认邮件将发送至此邮箱
  4. 付款方式

⚠️ 绝不要根据账户/个人资料自动填写电子邮箱。 住客通常不是账户所有者。邮箱必须来自用户在此聊天中输入的内容。如果缺少邮箱,请向用户询问。

将三种付款方式作为平等选项展示,不设默认项,也不建议优先顺序:

  • 通过 QR 码进行银行转账(SePay)→ SEPAY
  • 通过 Polar 使用国际银行卡 → POLAR
  • PayPal → PAYPAL

如果用户已经表明偏好,请据此判断并跳过再次询问:

用户表述方式
"scan QR", "quét mã", "chuyển khoản", "bank transfer", "VietQR"SEPAY
"card", "thẻ", "credit/debit card", "visa", "mastercard"POLAR
"PayPal"PAYPAL

如果用户回复后仍有信息缺失,只需再次询问缺少的项目。

3. 收款前确认

向用户复述所有信息 — 酒店、房型、入住/退房日期、住客人数、 总价(全额,不是定金)、住客姓名、电子邮箱地址 (请特别强调——如果邮箱有误,用户将无法收到确认邮件)、电话、付款方式 — 然后明确询问用户确认信息是否全部正确。

4. 只有此时才能调用 create_booking

必填项:propertyId、roomTypeId、checkIn、checkOut、adults、guestName、 guestPhone、guestEmail、paymentMethod、totalAmount、currency。 还需传入 queryText(用户的原始文本,逐字不改)。

该工具会返回付款链接和 confirmationCode(例如 K7X9M2P4)— 请向用户提供这两项。

预订后

用户说工具
“我已付款” / “查看我的预订”check_booking_status(confirmationCode)
“付款链接已过期”recreate_payment_link(confirmationCode)
“取消我的预订”request_cancel_token → 然后 cancel_booking

🚨 切勿针对同一次入住两次调用 create_booking。 付款链接过期时,应使用 recreate_payment_link 解决——它会重复使用同一个确认码。再次调用 create_booking 会创建重复预订,并发送重复的确认邮件。

取消预订——有意设计为两个步骤
  1. request_cancel_token(confirmationCode, guestEmail)——邮箱必须与预订中主宾的邮箱一致。系统会向宾客发送一个魔法链接
  2. 宾客粘贴回令牌 → cancel_booking(confirmationCode, cancelToken, reason)(reason 至少 3 个字符)

如果宾客没有从收件箱获取令牌,就无法取消预订。请告知他们检查邮箱,而不是重试步骤 1。

输出格式

### Hotel Name ★★★★☆
- Rating: 8.5/10 (1,234 reviews)
- Best room: Deluxe Double — $85/night
- Free cancellation: until 2026-08-10
- Book: [Reserve now](payment-link)          ← OpenTravel direct
- Or compare: [Agoda](url) | [Booking.com](url)

工具输入和响应字段:reference.md。

安全与数据处理

此技能拥有真实交易权限,并会将宾客个人身份信息(姓名、电话、邮箱)传输至 PriceWin 托管的 MCP 服务 https://mcp.price.win/mcp——这是预订所必需的,因此预订被设计为独立于搜索的技能。它不附带代码,也不会自行发起网络请求。

银行卡号、CVV 和银行凭证绝不会经过此技能或 Agent——create_booking 会返回付款链接,用户在服务提供商自己的页面上付款。切勿索要银行卡信息;如果用户提供,请拒绝。

每次调用 create_booking 前,都要与用户确认完整摘要和总价。关于运营方、每个工具涉及的确切个人身份信息字段、付款边界和取消模式,请参阅 SECURITY.md 中的完整说明。

评论

支持 Markdown