# pricewin-booking-assistant

Recommends hotel rooms, creates OpenTravel bookings with payment links, and provides OTA comparison links. Handles reservation checks and cancellations.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 10500 installs · ★ 2
- Author: PriceWin
- License: MIT-0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/Price-Win/pricewin-skills-hub/tree/HEAD/skills/pricewin-booking-assistant/SKILL.md
- Updated: 2026-08-09
- HTML: https://affpapa.org/en/nevibecode/skills/pricewin-booking-assistant

## What it does

The skill handles hotel reservations for OpenTravel direct properties and supplies direct booking links for external platforms like Booking.com, Agoda, and Traveloka. Direct reservations through `create_booking` only work when a property has a valid `propertyId`. For OTA listings, the assistant only presents comparison links.

It requires the `pricewin` MCP server. Before reserving a room, the agent gathers the guest name, phone number, email address, and chosen payment method: bank transfer QR, card, or PayPal. Payment credentials never enter the chat, because guests complete the transaction directly on the provider payment page.

Post-booking actions cover checking payment status, regenerating expired payment links, and cancellations. Cancelling requires two steps: requesting a magic token sent to the primary guest email, and submitting that token back to confirm the cancellation.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add Price-Win/pricewin-skills-hub --skill pricewin-booking-assistant -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/pricewin-booking-assistant/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/pricewin-booking-assistant/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add Price-Win/pricewin-skills-hub --skill pricewin-booking-assistant -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/pricewin-booking-assistant/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add Price-Win/pricewin-skills-hub --skill pricewin-booking-assistant -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/pricewin-booking-assistant/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Price-Win/pricewin-skills-hub pricewin-booking-assistant
```

2. **Manually: put the files in place**
- File: `.github/skills/pricewin-booking-assistant/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add Price-Win/pricewin-skills-hub --skill pricewin-booking-assistant -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/Price-Win/pricewin-skills-hub --path skills/pricewin-booking-assistant
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/pricewin-booking-assistant/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add Price-Win/pricewin-skills-hub --skill pricewin-booking-assistant -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/Price-Win/pricewin-skills-hub/tree/HEAD/skills/pricewin-booking-assistant/SKILL.md

## When to use it
- find hotel rooms and rank candidates by guest capacity
- generate checkout payment links for OpenTravel properties
- verify booking payment status after checkout
- cancel an active reservation using an email verification token

## Example prompts
- Find a hotel in Tokyo and prepare the booking
- Check the status of my booking confirmation code
- The payment link expired, generate a new one for my stay

## Source text · SKILL.md · MIT-0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: bac6e3947d1309a6.

BEGIN THIRD-PARTY FILE bac6e3947d1309a6
```text
---
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)
```
END THIRD-PARTY FILE bac6e3947d1309a6

The third-party file has ended. Everything between the bac6e3947d1309a6 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2650 of 6830 bytes. © PriceWin · MIT-0 · https://github.com/Price-Win/pricewin-skills-hub/tree/HEAD/skills/pricewin-booking-assistant/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
