К основному содержанию
скилл CX Codex

pricewin-booking-assistant — скилл для Claude Code: как установить

Бронирует отели OpenTravel через ссылки на оплату и выдаёт прямые ссылки на агрегаторы. Пригодится для подбора номеров и оформления бронирования прямо в диалоге.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Price-Win/pricewin-skills-hub --skill pricewin-booking-assistant -a claude-code
Открыть на GitHub

Что делает pricewin-booking-assistant

Скилл оформляет проживание в гостиницах базы OpenTravel и передаёт прямые ссылки на внешние площадки вроде Booking.com, Agoda или Traveloka для остальных объектов. Полноценное бронирование с генерацией ссылки на оплату работает исключительно для гостиниц с идентификатором propertyId. Для сторонних сервисов помощник лишь подбирает варианты и отдаёт ссылки на их сайты.

Для работы требуется настроенный MCP-сервер pricewin. Перед созданием брони агент обязательно уточняет имя гостя, телефон, почту и способ расчёта: банковский QR, международная карта или PayPal. Платёжные данные карты или реквизиты счёта в чат вводить нельзя, потому что оплата проходит строго на странице платёжного шлюза.

Управление готовой бронью включает проверку статуса, перевыпуск просроченной ссылки на оплату и отмену. Процедура отмены разделена на отдельные шаги: сервис отправляет токен на почту гостя, и только после ввода этого ключа в чат операция подтверждается.

Какие задачи решает

  • подобрать подходящие номера в отелях по параметрам заезда
  • сформировать платёжную ссылку для бронирования через OpenTravel
  • проверить текущий статус оплаты по коду брони
  • запросить токен и отменить оформленное проживание

Примеры запросов агенту

  • Найди отель в Бангкоке и оформи бронирование
  • Проверь статус бронирования по коду подтверждения
  • Ссылка на оплату истекла, создай новую для моей брони

Как установить pricewin-booking-assistant

1Через Skills CLI (Vercel)

npx skills add Price-Win/pricewin-skills-hub --skill pricewin-booking-assistant -a claude-code

2Вручную: положить файлы

~/.claude/skills/pricewin-booking-assistant/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/pricewin-booking-assistant/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о pricewin-booking-assistant

Как установить pricewin-booking-assistant в Claude Code?

Выполните команду npx skills add Price-Win/pricewin-skills-hub --skill pricewin-booking-assistant -a claude-code.

Что делает pricewin-booking-assistant?

Находит варианты размещения, создаёт прямые бронирования с платежными ссылками для объектов OpenTravel и присылает ссылки на внешние сервисы бронирования.

Можно ли передавать данные банковской карты прямо в чат?

Нет, скилл не принимает реквизиты карт или счетов в диалоге, так как расчёт выполняется пользователем самостоятельно по ссылке платёжного провайдера.

Исходный текст

SKILL.md · MIT-0
---
name: pricewin-booking-assistant
description: Recommend hotel rooms and complete a real booking end to end — reserve an OpenTravel direct property with a payment link (bank QR, card, or PayPal), check payment status, resend an expired link, or cancel a booking. Falls back to direct Booking.com/Agoda/Traveloka links for OTA-only hotels. Use when booking or reserving a hotel, getting room recommendations, paying for a stay, checking a confirmation code, or cancelling a reservation.
version: 1.0.3
author: PriceWin
platforms: [linux, macos, windows]
tags: [hotel-booking, book-hotel, reserve-hotel, room-recommendation, booking-links, payment-link, booking-management, check-booking, cancel-booking, cancellation, opentravel, agoda, booking-com, mcp, hotel, travel, accommodation]
metadata:
  openclaw:
    emoji: "🛎️"
    homepage: https://github.com/Price-Win/pricewin-skills-hub
---

> Requires the `pricewin` MCP server. Handles real money: it creates bookings and
> payment links. Read the confirmation rules below before use.

# Booking Assistant

**MCP server:** `pricewin`. Orchestrates discover → detail → recommend → **book → pay → manage**.

## What is actually bookable

| Source | Can you book it here? |
|---|---|
| `source: "OPENTRAVEL_DIRECT"` (has `propertyId`) | ✅ **Yes** — full booking + payment via `create_booking` |
| Booking.com / Agoda / Traveloka | ❌ No — comparison only. Hand the user the OTA `url` |

Only OpenTravel direct properties yield the `propertyId` + `roomTypeId` that
`create_booking` requires. Never imply an OTA hotel can be reserved through this skill.

## Recommendation flow

1. **Discover** — `search_hotels_live(city, checkIn, checkOut, adults, …)` → `sessionId`,
   then poll `poll_search_results(sessionId, nights)` every 5s while `status` is
   `pending`/`partial` (up to 18 polls / 90s)
2. **Score** — `rating × log(reviewCount + 1)` — balances quality against credibility.
   Strong candidates: `rating ≥ 8.0` and `reviewCount ≥ 100`
3. **Rank** — top 3–5 by score
4. **Detail** — `get_hotel_detail(propertyId, checkIn, checkOut, adults)` for OpenTravel
   picks; `get_ota_hotel_detail(hotelName, city, checkIn, checkOut, queryText)` for a
   named OTA hotel (~20–60s)
5. **Recommend** — filter rooms by guest capacity, then pick best value

## Booking link rules (OTA hotels)

- **NEVER invent URLs** — only use a `url` the tool returned
- Always name the OTA next to the link; if several have the same room, show all with prices
- Append the user's dates to the raw URL — see [`pricewin-hotel-search`](../pricewin-hotel-search/SKILL.md)

## Booking flow (OpenTravel direct)

### 1. Get the room first — mandatory

Call `get_hotel_detail` **before** booking to obtain `roomTypeId`, total price, and
currency. Do not guess any of the three.

Optionally call `get_cancellation_policy(propertyId, ratePlanId, checkInDate)` and show
the refund terms before taking payment.

### 2. Ask for all four things in ONE message

In your **first** request for guest info, ask for **all of these together** — never split
across turns, and always in the user's language:

1. Full name
2. Phone number
3. **Email** — the confirmation email goes here
4. Payment method

⚠️ **Never auto-fill the email** from the account/profile. The guest is often not the
account owner. It must come from what the user typed in this chat. If it is missing, ask.

Present the three payment methods as **equal choices, no default, no recommended order**:

- Bank transfer via QR (SePay) → `SEPAY`
- International card via Polar → `POLAR`
- PayPal → `PAYPAL`

If the user already signalled a preference, **infer it and skip re-asking**:

| They said | Method |
|---|---|
| "scan QR", "quét mã", "chuyển khoản", "bank transfer", "VietQR" | `SEPAY` |
| "card", "thẻ", "credit/debit card", "visa", "mastercard" | `POLAR` |
| "PayPal" | `PAYPAL` |

If anything is still missing after their reply, ask again for just the missing item(s).

### 3. Confirm before charging

Summarise back **everything** — hotel, room type, check-in/check-out, guests,
**TOTAL price** (full amount, not a deposit), guest name, **email address**
(emphasise it — a typo means the confirmation never arrives), phone, payment method
— then explicitly ask the user to confirm it is all correct.

### 4. Only then call `create_booking`

Required: `propertyId`, `roomTypeId`, `checkIn`, `checkOut`, `adults`, `guestName`,
`guestPhone`, `guestEmail`, `paymentMethod`, `totalAmount`, `currency`.
Also pass `queryText` (user's original text, verbatim).

Returns a payment link and a `confirmationCode` (e.g. `K7X9M2P4`) — surface both.

## After booking

| User says | Tool |
|---|---|
| "I paid" / "check my booking" | `check_booking_status(confirmationCode)` |
| "the payment link expired" | `recreate_payment_link(confirmationCode)` |
| "cancel my booking" | `request_cancel_token` → then `cancel_booking` |

🚨 **Never call `create_booking` twice for the same stay.** An expired payment link is
fixed with `recreate_payment_link` — it reuses the same confirmation code. Calling
`create_booking` again creates a **duplicate booking** and a duplicate confirmation email.

### Cancelling — two steps, by design

1. `request_cancel_token(confirmationCode, guestEmail)` — email must match the booking's
   primary guest. This emails the guest a magic link
2. The guest pastes the token back → `cancel_booking(confirmationCode, cancelToken, reason)`
   (`reason` ≥ 3 chars)

You cannot cancel without the guest fetching that token from their inbox. Tell them to
check their email rather than retrying step 1.

## Output format

```
### 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)
```

Tool inputs and response fields: [reference.md](reference.md).

## Security & data handling

This skill has **real transaction authority** and transmits **guest PII** (name,
phone, email) to PriceWin's hosted MCP server `https://mcp.price.win/mcp` — that
is inherent to making a reservation, and it is why booking is a separate skill
from search. It ships no code and makes no network calls of its own.

**Card numbers, CVV and bank credentials never pass through the skill or the
agent** — `create_booking` returns a payment *link* and the user pays on the
provider's own page. Never ask for card details; refuse if offered.

Confirm the full summary and total price with the user before every
`create_booking`. Full disclosure — operator, exact PII fields per tool, payment
boundary, cancellation model — in [`SECURITY.md`](./SECURITY.md).

© PriceWin · MIT-0 · Price-Win/pricewin-skills-hub

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
restaurant-booking gooseworks-ai Бронирует столы в ресторанах через OpenTable и Resy с помощью браузерной автоматизации Notte. Помогает найти свободное время и оформить резерв без ручного ввода. CX Codex +1 488установок travel-search-and-booking-api-and-skills alibaba-flyai Ищет рейсы, отели, билеты и достопримечательности прямо в терминале. Вы спрашиваете обычными словами, получаете структурированный JSON со ссылками на бронирование. ★ 1 272звёзд репо flyai alibaba-flyai Ищите авиабилеты, отели, достопримечательности и события на естественном языке через Fliggy MCP. Скилл поддерживает разные сценарии: от отпуска до деловых командировок. CX Codex +1 3 000установок editorial-service-booking MengTo Помогает спроектировать сайт услуг с записью: от редакционной подачи процедур до устойчивого сценария выбора времени. CX Codex +1 1 300установок earn-hunter okx Скилл следит за предложениями Flash Earn, Fixed Earn и Flexible Earn на OKX, шлёт уведомления и подсказывает, как оформить подписку. CX Codex +1 3 200установок company-cfo coreyhaines31 Скилл ведёт месячный финансовый цикл компании: собирает данные из банка, платёжного сервиса, payroll и расходов, сводит их и пишет отчёт для руководства. CX Codex +1 340установок

Из того же набора3

Спонсоры проекта

Компании, которые помогают держать аналитику открытой