Install
openclaw skills install usc-booking-apiScan Urban Sports Club venues, list courses with booking links, and book or cancel courses using your USC login credentials.
openclaw skills install usc-booking-apiScannt deine Urban Sports Club Venues, zeigt Kurse mit direkten Booking-Links und kann Kurse buchen und stornieren.
cd /pfad/zu/urban-sports
python3 -m venv venv
venv/bin/pip install playwright
venv/bin/playwright install chromium
venv/bin/playwright install-deps chromium
Trage deine USC-Logindaten ein:
{
"email": "deine-email@beispiel.de",
"password": "dein-passwort"
}
Die Datei credentials.json ist in .gitignore und wird nicht committet.
Zugangsdaten werden nur fuer --book, --cancel und --bookings benoetigt.
Trage deine Venues in config.py ein. Die Venue-ID findest du in der URL auf urbansportsclub.com:
https://urbansportsclub.com/de/venues/20818
^^^^^
Beispiel:
VENUES = {
"storm": {
"name": "STORM Cycling Berlin - Mitte",
"url": "https://urbansportsclub.com/de/venues/20818",
"type": "cycling",
"keywords": ["Performance", "Groove", "Cycling"],
},
"fitboxing": {
"name": "Brooklyn Fitboxing",
"url": "https://urbansportsclub.com/de/venues/27355",
"type": "boxing",
"keywords": ["Boxing", "Fitboxing", "HIIT"],
},
}
name: Anzeigenameurl: Venue-Seite auf urbansportsclub.comtype: Frei waehlbar, wird im Output angezeigtkeywords: Helfen bei der Erkennung der Kursnamen im SeitentextDer Scanner haengt automatisch folgende Parameter an die Venue-URL an:
plan_type: Mitgliedschafts-Stufe. Bestimmt welche Kurse angezeigt werden (nur die, die mit der jeweiligen Stufe buchbar sind). Privat: 1=Essential, 2=Classic, 3=Premium, 6=Max. Firma: 1=S, 2=M, 3=L, 6=XL. Standardwert: 3.business_type: b2c (Privatmitglieder) oder b2b (Firmenmitglieder). Standardwert: b2c.Diese Werte sind in config.py als PLAN_TYPE und BUSINESS_TYPE konfigurierbar.
# Alle Venues fuer heute
venv/bin/python scan.py
# Bestimmtes Datum
venv/bin/python scan.py --date 2026-02-10
# Nur eine Venue
venv/bin/python scan.py --venue storm
# JSON-Ausgabe (fuer Weiterverarbeitung)
venv/bin/python scan.py --json
Jeder Kurs wird mit direktem Booking-Link zurueckgegeben:
07:30 STORM Cycling Berlin - Mitte 45 Min STORM Ride - Performance
https://www.urbansportsclub.com/de/activities?class=98049323
venv/bin/python scan.py --book 98049323
venv/bin/python scan.py --cancel 98049323
venv/bin/python scan.py --bookings
venv/bin/python scan.py --bookings --json
urban-sports/
├── SKILL.md # Diese Doku
├── scan.py # Scanner + Buchen + CLI
├── config.py # Venue-Konfiguration
├── credentials.json # Login-Daten (nicht im Repo)
├── credentials.example.json # Vorlage
├── .gitignore
└── venv/ # Python virtualenv (nicht im Repo)
Trage mindestens eine Venue in config.py ein.
Kopiere credentials.example.json nach credentials.json und trage deine Daten ein.
venv/bin/playwright install-deps chromium