Dashboard
Database
bi_scraper@localhost
Mindbody Credentials
Configured
ClassPass Credentials
Configured
Mindbody Reports
2
ClassPass Reports
0
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/attendance-report?location_id=1&start=2026-06-01&end=2026-06-30 |
Get Mindbody attendance report (cached or live) |
| POST | /api/attendance-report/refresh |
Force refresh Mindbody report — body: {"location_id":1,"start":"2026-06-01","end":"2026-06-30"} |
| GET | /api/attendance-report/aggregate?start=2026-06-01&end=2026-06-30 |
Aggregate all locations for date range |
| GET | /api/classpass-report?start=2026-05-01&end=2026-05-31 |
Get ClassPass report (cached or live) |
| POST | /api/classpass-report/refresh |
Force refresh ClassPass report — body: {"start":"2026-05-01","end":"2026-05-31"} |
| GET | /api/health |
Health check |
| GET | /api/config |
View configuration (non-sensitive) |
| GET | /api/scrape-log |
Recent scrape operations |
| POST | /api/database/clear |
Clear all stored data (use with caution) |
Recent Mindbody Reports
| Location | Start | End | Scraped At | Stale? |
|---|---|---|---|---|
| Belsize Park (1) | 2026-06-01 | 2026-06-30 | 2026-07-09 04:53:37 | No |
| Belsize Park (1) | 2025-06-01 | 2025-06-30 | 2026-07-09 04:48:47 | No |
Recent ClassPass Reports
No ClassPass reports stored yet. Use the ClassPass page to fetch data.
Recent Scrape Log
| Time | Source | Location | Date Range | Status | Error |
|---|---|---|---|---|---|
| 2026-07-09 05:07:42 | classpass | — | 2025-06-01 → 2025-06-30 | error | ClassPass login failed — still on login page |
| 2026-07-09 05:06:33 | classpass | — | 2025-06-01 → 2025-06-30 | error | ClassPass login failed — still on login page |
| 2026-07-09 05:05:21 | classpass | — | 2025-06-01 → 2025-06-30 | error | ClassPass login failed — still on login page |
| 2026-07-09 05:04:16 | classpass | — | 2025-06-01 → 2025-06-30 | error | ClassPass login failed — still on login page |
| 2026-07-09 05:02:36 | classpass | — | 2025-06-01 → 2025-06-30 | error | cannot import name 'stealth_sync' from 'playwright_stealth' (/home/ubuntu/.local/lib/python3.12/site-packages/playwright_stealth/__init__.py) |
| 2026-07-09 05:01:44 | classpass | — | 2025-06-01 → 2025-06-30 | error | No login form found on ClassPass login page. URL: https://studios.classpass.com/login |
| 2026-07-09 04:53:37 | mindbody | 1 | 2026-06-01 → 2026-06-30 | success | — |
| 2026-07-09 04:52:35 | mindbody | 1 | 2026-06-01 → 2026-06-30 | success | — |
| 2026-07-09 04:52:28 | mindbody | 1 | 2026-06-01 → 2026-06-30 | success | — |
| 2026-07-09 04:52:18 | mindbody | 1 | 2026-06-01 → 2026-06-30 | success | — |
| 2026-07-09 04:48:47 | mindbody | 1 | 2025-06-01 → 2025-06-30 | success | — |
| 2026-07-09 04:47:49 | mindbody | 1 | 2025-06-01 → 2025-06-30 | success | — |
| 2026-07-09 04:47:02 | mindbody | 1 | 2025-06-01 → 2025-06-30 | error | Frame.wait_for_selector() got an unexpected keyword argument 'poll_interval' |
| 2026-07-09 04:46:12 | mindbody | 1 | 2025-06-01 → 2025-06-30 | error | Report form not found inside portal iframe |
| 2026-07-09 04:44:59 | mindbody | 1 | 2025-06-01 → 2025-06-30 | error | Report form not found inside portal iframe |
| 2026-07-09 04:43:50 | mindbody | 1 | 2025-06-01 → 2025-06-30 | error | Report form not found inside portal iframe |
| 2026-07-09 04:42:44 | mindbody | 1 | 2025-06-01 → 2025-06-30 | error | Report iframe (portal) not found on AttendanceReport page |
| 2026-07-09 04:41:37 | mindbody | 1 | 2025-06-01 → 2025-06-30 | error | Report form not found inside portal iframe |
| 2026-07-09 04:40:08 | mindbody | 1 | 2025-06-01 → 2025-06-30 | error | No report form found. URL: https://clients.mindbodyonline.com/app/business/AttendanceReport |
| 2026-07-09 04:38:06 | mindbody | 1 | 2025-06-01 → 2025-06-30 | error | No report form found. URL: https://clients.mindbodyonline.com/app/business/AttendanceReport |
Danger Zone
Clear all stored scraper data. This cannot be undone.