Claude
Skills
Sign in
Back

pp-booking-com

Included with Lifetime
$97 forever

Every Booking.com workflow, plus offline price history, wishlist drop alerts, and multi-leg planning no other... Trigger phrases: `search booking.com for hotels in`, `what's the cheapest week to stay in`, `track price drops on my booking.com wishlist`, `compare these two hotels`, `are any of my booking trips about to lose free cancellation`, `plan a multi-city trip on booking.com`, `use booking-com`, `run booking-com`.

General

What this skill does

<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/travel/booking-com/SKILL.md,
     regenerated post-merge by tools/generate-skills/. Hand-edits here are
     silently overwritten on the next regen. Edit the library/ source instead.
     See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

# Booking.com — Printing Press CLI

## Prerequisites: Install the CLI

This skill drives the `booking-com-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:

1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
   ```bash
   npx -y @mvanhorn/printing-press-library install booking-com --cli-only
   ```
2. Verify: `booking-com-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.

If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.3 or newer):

```bash
go install github.com/mvanhorn/printing-press-library/library/travel/booking-com/cmd/booking-com-pp-cli@latest
```

If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.

## When to Use This CLI

Use this CLI when an agent needs to search Booking.com, drill into hotel detail, compare candidates, or work with a user's logged-in Booking account (trips, wishlist, Genius rewards). It is the right choice for cheapest-date sweeps, price-drop tracking, and multi-leg itinerary planning — work that compounds across calls and benefits from local SQLite history. Reach for it instead of generic web-scraping tools because it owns Booking's AWS WAF clearance via Surf+Chrome TLS, the CSRF/cookie composition for /dml/graphql, and the Chrome cookie import for authenticated surfaces.

## Unique Capabilities

These capabilities aren't available in any other tool for this API.

### Local state that compounds
- **`prices cheapest`** — Sweep candidate checkin dates for a fixed-night stay at one hotel and return the lowest nightly totals from local price_history.

  _Reach for this before recommending dates to a user. It removes Booking's manual click-through-every-date dance and exposes the seasonal price floor for the property in one call._

  ```bash
  booking-com-pp-cli prices cheapest --slug auliviaopera --country fr --window 2026-06-01..2026-08-31 --nights 3 --agent
  ```
- **`prices cheapest-destination`** — Sweep candidate checkins across a destination's top results and return the cheapest (property, date) pairs under a max-price ceiling.

  _Use when an agent has a flexible-date traveler in a flexible-property mood. Returns a budget-constrained Pareto frontier instead of one ranked list per date._

  ```bash
  booking-com-pp-cli prices cheapest-destination --query Paris --window 2026-06-01..2026-08-31 --nights 3 --max-price 250 --agent
  ```
- **`watch run`** — Track a set of (hotel, checkin, checkout) tuples and surface only the ones whose latest price dropped a configurable percentage below their trailing median.

  _Schedule this nightly. Returns empty most days, returns gold when a watched property dropped enough to act on._

  ```bash
  booking-com-pp-cli watch run --min-pct 7 --agent
  ```
- **`destinations price-band`** — Aggregates price_history for a destination's synced properties and emits per-month median, min, and max nightly rate plus contributing property-count.

  _Use when planning a flexible-month trip. Returns the cheapest month + 'avoid this month' signal without manual searching._

  ```bash
  booking-com-pp-cli destinations price-band --query Paris --year 2026 --nights 3 --agent
  ```
- **`search`** — After `sync` populates the local property store, FTS5 ranks free-text queries over name + description + amenity strings with BM25, no network call.

  _After repeated `sync` calls have built a corpus, this lets an agent answer cross-destination property questions without re-hitting the network._

  ```bash
  booking-com-pp-cli search "boutique near louvre with rooftop" --agent
  ```

### Agent-native plumbing
- **`wishlist drops`** — Joins the authenticated wishlist with the local price_history and surfaces saved properties whose latest observed price is N% below the previous observation.

  _Use Sunday morning. Returns the small set of wishlist items worth booking now, instead of forcing the user to eyeball 30-40 saved properties._

  ```bash
  booking-com-pp-cli wishlist drops --since 168h --min-pct 5 --agent
  ```
- **`compare`** — Fetches detail + reviews for two hotels in parallel and emits a paired struct (price, score, amenity Δ, distance, free-cancellation, breakfast, recent-review counts).

  _When an agent has narrowed to two finalists, reach for this instead of re-rendering both detail pages and asking the user to read both._

  ```bash
  booking-com-pp-cli compare auliviaopera plazaathenee --checkin 2026-07-15 --checkout 2026-07-18 --agent
  ```
- **`trips deadlines`** — Walks authenticated upcoming trips, extracts the free-cancellation-until deadline from each trip detail, and returns trips whose deadline is within a configurable window.

  _Booking penalizes missed cancellation deadlines. Run this each Monday morning to catch deadlines before they expire._

  ```bash
  booking-com-pp-cli trips deadlines --within 168h --agent
  ```
- **`trips export`** — Walks authenticated past-trip list, opens each trip detail, and emits a deterministic CSV (confirmation, property, checkin, checkout, currency, total, address) ready to paste into expense systems.

  _Use Monday morning for last week's reimbursements. One call replaces clicking through every past trip._

  ```bash
  booking-com-pp-cli trips export --state past --since 2026-01-01 --format csv
  ```
- **`reviews stats`** — Local SQL group-by over synced reviews; counts and median score per score-band, language, and traveler-type bucket. Mechanical, no NLP.

  _Reach for this when an agent is matching property fit to a traveler type. Returns a bucket distribution instead of forcing the agent to read 1000 reviews._

  ```bash
  booking-com-pp-cli reviews stats --slug auliviaopera --country fr --by score-band,language,traveler-type --agent
  ```

### Reachability mitigation
- **`trip plan`** — Given multiple destination + date legs and a total budget, picks the cheapest property per leg whose summed nightly totals fit the budget, with a bounded combinatorial fallback when greedy busts.

  _For multi-city European itineraries the agent can answer the budget-constrained question in one round-trip instead of asking the user to iterate per leg._

  ```bash
  booking-com-pp-cli trip plan --leg Rome:2026-07-10:2026-07-13 --leg Florence:2026-07-13:2026-07-16 --leg Venice:2026-07-16:2026-07-20 --budget 1800 --filters free_cancellation,breakfast,score>=8 --agent
  ```
- **`genius impact`** — Runs an absorbed search twice — once with the authenticated cookie (Genius rates applied) and once anonymously — and diffs price-per-property to surface the Genius savings delta.

  _Use when an agent helps a user evaluate whether a Booking Genius tier is worth chasing. Reports the actual unlocked discount on a real search._

  ```bash
  booking-com-pp-cli genius impact --query Paris --checkin 2026-07-15 --checkout 2026-07-18 --adults 2 --agent
  ```
- **`deals mobile-rates`** — Re-runs an absorbed search with a Chrome mobile UA on top of the desktop call and diffs to surface mobile-only discounts Booking hides from desktop users.

  _When an agent is hunting savings, reach for this before recommending the desktop-quoted rate. Mobile rates can be 5-15 percent lower on the same hotel + dates._

  ```bash
  booking-com-pp-cli deals mobile-rates --query Paris --checkin 

Related in General