CLI tool for checking Playtomic padel court availability and booking.
go build -o padel# Build with Nix flakes
nix build
./result/bin/padel-cli --helpThis repo exports a clawdbotPlugin flake output for nix-clawdbot. nix-clawdbot
symlinks skills into ~/.clawdbot/skills/<plugin>/<skill> and adds the plugin
packages to PATH, so no skillsLoad.extraDirs is needed.
# List clubs near a location
padel clubs --near "Madrid"
# Check availability for a club on a date
padel availability --club-id <id> --date 2025-01-05
# Search for available courts
padel search --location "Barcelona" --date 2025-01-05 --time 18:00-22:00
# JSON output
padel clubs --near "Madrid" --jsonSave venues with aliases for quick access:
# Add a venue
padel venues add --id "<playtomic-id>" --alias myclub --name "My Club" --indoor --timezone "Europe/Madrid"
# List saved venues
padel venues list
# Use alias in commands
padel availability --venue myclub --date 2025-01-05
# Search multiple venues
padel search --venues myclub,otherclub --date 2025-01-05 --time 09:00-11:00# List upcoming bookings
padel bookings list
# List past bookings
padel bookings list --past
# Add a booking manually
padel bookings add --venue myclub --date 2025-01-04 --time 10:30 --court "Court 5" --price 42
# Sync from Playtomic account
padel bookings sync
# View stats
padel bookings stats# Login to Playtomic
padel auth login --email you@example.com --password yourpass
# Check status
padel auth status
# Book a court (requires auth)
padel book --venue myclub --date 2025-01-05 --time 10:30 --duration 90Default shows indoor courts only:
# Indoor only (default)
padel search --venues myclub --date 2025-01-05
# Outdoor only
padel search --venues myclub --date 2025-01-05 --outdoor
# All courts
padel search --venues myclub --date 2025-01-05 --all- Default: human-readable tables
--json: structured JSON output--compact: single-line summaries (useful for chat bots)
Config stored in ~/.config/padel/:
~/.config/padel/
├── config.json # preferences
├── credentials.json # auth tokens
├── venues.json # saved venues
└── bookings.db # SQLite booking history
Environment overrides:
PADEL_CONFIG_DIR: override the config directory (defaults to~/.config/padel)XDG_CONFIG_HOME: used if set andPADEL_CONFIG_DIRis not setPADEL_AUTH_FILE: default forpadel auth login --auth-file
Example config.json:
{
"default_location": "Madrid",
"favourite_clubs": [
{"id": "abc123", "alias": "myclub"}
],
"preferred_times": ["18:00", "19:30"],
"preferred_duration": 90
}Uses Playtomic API endpoints reverse-engineered from:
- https://mattrighetti.com/2025/03/03/reverse-engineering-playtomic
- https://github.com/ypk46/playtomic-scheduler
MIT