Booking.com Extranet Manager

Manage Booking.com properties — download reservations, list/reply to guest messages, update rates. Wraps a Python CLI that automates the Booking.com extranet via real Chrome.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Booking.com Extranet Manager" with this command: npx skills add matsei-ruka/booking-extranet-manager

Booking.com Extranet Manager

Automate Booking.com property management through a Python CLI tool. Uses your locally installed Google Chrome (not a headless browser) to interact with the Booking.com partner extranet, avoiding bot detection.

Security Notes

  • Credentials are stored locally in a .env file in the bot directory — never transmitted elsewhere.
  • Browser session is persisted in .chrome-data/ so login + SMS 2FA only happens once. Delete this directory to clear the session.
  • Chrome remote debugging runs on localhost:9222 only — not exposed to the network.
  • The bot connects exclusively to admin.booking.com and account.booking.com.

Prerequisites

The CLI tool must be installed and configured on the host machine:

git clone https://github.com/matsei-ruka/booking-extranet-bot.git
cd booking-extranet-bot
python3 -m venv venv
source venv/bin/activate   # Linux/macOS
pip install -r requirements.txt

Then create a .env file with your credentials:

BOOKING_USERNAME=your_login_name
BOOKING_PASSWORD=your_password
BOOKING_HOTEL_ID=your_default_hotel_id  # optional

Google Chrome must be installed on the host machine.

Environment

  • BOT_DIR: Absolute path to the booking-extranet-bot directory
  • Python venv at $BOT_DIR/venv/bin/python3
  • CLI entry point: $BOT_DIR/cli.py

All commands output JSON to stdout. Logs go to stderr.

Available Commands

List Properties

Get all properties with hotel IDs and unread message counts.

cd $BOT_DIR && source venv/bin/activate && python3 cli.py list-properties

Returns:

{
  "status": "success",
  "action": "list-properties",
  "count": 3,
  "properties": [
    {"hotel_id": "10353912", "name": "Property Name", "unread_messages": 4}
  ]
}

Download Reservations

Download reservations for a date range. Use --json to get data directly, or omit it to save an Excel file.

# As JSON (for processing)
cd $BOT_DIR && source venv/bin/activate && python3 cli.py download-reservations --start 2026-03-01 --end 2026-09-30 --json

# As Excel file
cd $BOT_DIR && source venv/bin/activate && python3 cli.py download-reservations --start 2026-03-01 --end 2026-09-30

Options:

  • --start YYYY-MM-DD (required): Start date
  • --end YYYY-MM-DD (required): End date
  • --date-type: arrival (default), departure, or booking
  • --json: Return data as JSON instead of Excel
  • --output-dir: Directory for Excel file (default: ./downloads)

List Messages

List guest messages for a property. Defaults to unanswered.

cd $BOT_DIR && source venv/bin/activate && python3 cli.py list-messages --hotel-id 10353912

Options:

  • --hotel-id (required): Property hotel ID from list-properties
  • --filter: unanswered (default), sent, or all

Read Message

Open and read a specific conversation with reservation details.

cd $BOT_DIR && source venv/bin/activate && python3 cli.py read-message --hotel-id 10353912 --index 0

Options:

  • --hotel-id (required): Property hotel ID
  • --index (required): Message index from list-messages (0-based)

Send Message

Reply to a guest conversation. Always use list-messages first to get the correct index.

cd $BOT_DIR && source venv/bin/activate && python3 cli.py send-message --hotel-id 10353912 --index 0 --message "Thank you for your message"

Options:

  • --hotel-id (required): Property hotel ID
  • --index (required): Message index from list-messages (0-based)
  • --message (required): Reply text

Update Rates

Update room rates from the CSV pricing file.

cd $BOT_DIR && source venv/bin/activate && python3 cli.py update-rates
cd $BOT_DIR && source venv/bin/activate && python3 cli.py update-rates --hotel-id 13616005

Typical Workflow

  1. List properties to get hotel IDs and see which have unread messages
  2. List messages for properties with unread messages
  3. Read each conversation to understand the guest's request
  4. Send replies as appropriate
  5. Download reservations periodically to track bookings

First Run

On first run, Chrome opens and you must complete the login (including SMS 2FA). Subsequent runs reuse the session — no login needed until the session expires.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

OpenTable Reservations

Find and book restaurant reservations via OpenTable with date, time, party size, location, cuisine filters, or direct booking links for named restaurants.

Registry SourceRecently Updated
1030Profile unavailable
Automation

Resy Hunter

Monitor hard-to-get restaurant reservations on Resy, OpenTable, and Tock. Check availability, manage a watchlist, and get Telegram alerts when tables open up.

Registry Source
3280Profile unavailable
Automation

AgentPhone

Make real phone calls to businesses. Book reservations, cancel subscriptions, navigate IVR menus. Get transcripts and recordings.

Registry Source
4571Profile unavailable
Automation

Calendly Quick Book

Book Calendly meetings instantly. Triggers on "book", "schedule calendly", "calendly book", or any request to book a meeting without sending a link.

Registry Source
1.2K0Profile unavailable