← 返回
开发者工具 Key 中文

Urban Sports Club Booking API

Scan Urban Sports Club venues, list courses with booking links, and book or cancel courses using your USC login credentials.
扫描 Urban Sports Club 场馆,列出带预订链接的课程,并使用 USC 登录凭证预订或取消课程。
niklaspriddat niklaspriddat 来源
开发者工具 clawhub v1.0.1 1 版本 99938.9 Key: 需要
★ 0
Stars
📥 1,636
下载
💾 14
安装
1
版本
#latest

概述

Urban Sports Scanner

Scannt deine Urban Sports Club Venues, zeigt Kurse mit direkten Booking-Links und kann Kurse buchen und stornieren.

Setup

1. Python-Umgebung

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

2. Zugangsdaten

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.

3. Venues konfigurieren

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: Anzeigename
  • url: Venue-Seite auf urbansportsclub.com
  • type: Frei waehlbar, wird im Output angezeigt
  • keywords: Helfen bei der Erkennung der Kursnamen im Seitentext

URL-Parameter

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

Usage

Kurse scannen

# 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

Buchen

venv/bin/python scan.py --book 98049323

Stornieren

venv/bin/python scan.py --cancel 98049323

Anstehende Buchungen

venv/bin/python scan.py --bookings
venv/bin/python scan.py --bookings --json

Dateien

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)

Fehlerbehebung

"Keine Venues konfiguriert"

Trage mindestens eine Venue in config.py ein.

"credentials.json nicht gefunden"

Kopiere credentials.example.json nach credentials.json und trage deine Daten ein.

Scanner findet keine Kurse

  • Prüfe ob das Datum korrekt ist (nicht in der Vergangenheit)
  • Manche Venues haben an bestimmten Tagen keine Kurse
  • Chromium-Dependencies: venv/bin/playwright install-deps chromium

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-03-28 21:35 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

life-service

Sonoscli

steipete
控制Sonos音箱(发现/状态/播放/音量/分组)
★ 55 📥 84,862
life-service

Caldav Calendar

asleep123
使用 vdirsyncer + khal 同步并查询 CalDAV 日历(iCloud、Google、Fastmail、Nextcloud 等)。适用于 Linux。
★ 242 📥 30,467
life-service

healthcheck

stellarhold170nt
使用 JSON 文件存储追踪饮水和睡眠
★ 11 📥 29,910