mvanhorn/printing-press-libraryApache-2.01 file

Pp Booking Com

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`.

Specification
Skill ID
mvanhorn/printing-press-library/pp-booking-com
Publisher
mvanhorn
Repository
printing-press-library
Installs
0
Files
1
License
Apache-2.0
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

mvanhorn/printing-press-library/pp-booking-comInstalls these files
  • SKILL.md

What this skill tells the agent

<!-- 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.6 or newer):

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._

  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._

  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._

  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._

  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._

  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._

  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._

  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._

  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._

  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._

  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._

  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._

  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._

Use this skill in a project

Open any RiverX project, search the Skills panel for mvanhorn/printing-press-library/pp-booking-com, and install it in one click.

Use this skill