Class-scoped (fixes the old teacher-tag undercount). Tap a card to see their full schedule + verify. Availability/level come live from the Teacher table.
📋 Batch plan — the demand engine
Deterministic: forecast next-4-week enrolments from what families actually paid (payment date, seasonally shaped) → design a balanced batch plan (explore/exploit on term-time-viable slots, each weighted by its own historical fill) → reconcile against the seats already open batches can still sell → keep / watch / create / cancel, with reasons. Batches too young to judge are watched, never cancelled — most families book in the last few days before a start. A second, independent reason to create: a proven cadence that has gone dark, because a parent who wants Tue-Thu 5PM does not take Mon-Wed-Fri 6PM instead.
20%
10%plan above forecast
All slots
Every slot (class × schedule × time) that ran in the last 18 months — its cadence, how full it gets, when it last ran, whether one is open now, and whether it's due again. This is the raw foundation of the demand engine. Filters (country/level/age/type) above apply. Tap a row for the weekly-enrolment history.
Class↕
Slot↕
Batches 18mo↕
Students 18mo↕
Avg fill↕
Every↕
Stud /wk↕
Last run↕
Wks since↕
Open now↕
Due?↕
Batch↕
Class↕
Start / Admission↕
Sessions↕
Time
Teacher↕
Fill↕
Status↕
Loading batches…
Postpone a session
Find the batch, pick the session that can't run, choose the reason. Every parent gets a WhatsApp notice from the HoopStar number (+91 74990 39289) and the batch gets one extra session at the end.
Deterministic · live from HoopStar MySQL · writes are gated & logged (create / cancel / hold / close / admission date)
Interested families
—
Plan a new batch
select class
✓ Creates an Open batch, adopts a free Google-Meet room, and generates all session dates. It does not notify anyone — enrolments open normally.
Cancel batch
What happens when this executes:
⚠ Cancellation with side effects has no code path today — notify families + cancel sessions must go through a proper service (Phase 2). This shows exactly what a real cancel would do.
Are you sure? This changes the live batch status.
Hold batch
What happens when this executes:
⚠ Hold has no code path today — pausing a batch (stop new joins, keep current students) must go through a proper service (Phase 2). This shows exactly what a hold would do.
Are you sure? This changes the live batch status.
Next admission ·
✓ This sets the batch's start date to the next joinable cycle. Every lead-facing list
(join page, batch bot) filters on it — the batch reappears to new leads with this date
the moment you save. Enrolled families and past sessions are untouched.
⚠ Date is in the past — leads won't see the batch. Pick today or later.