Mock of B2 — Director sets up the center

Sources: spec §3.2 B2, prd.md §5 Journey 2, PRD §3.3 design principles (admin-not-technical, forgiving-and-resumable, gentle-over-strict).

Invariants enforced in this screen: go-live threshold = ≥1 classroom only (AC5); forgiving-and-resumable (§5.2) — every step saves on blur/advance; gentle-over-strict — pending items are surfaced, never gating.

Inference flags:

B2 — Director sets up the center

Wizard shell

Linear sidebar of steps; each step is resumable and skippable. Any step is reachable out of order after initial completion (AC3).

StepStatusRequired for go-live?
1 — Center infodonename only
2 — Classroomsdone (≥1)yes — single required step
3 — Add teachersskippedno
4 — Enroll childrenskippedno
5 — Photo consentn/a (no children yet)no
6 — Invite parentsskippedno (post-live-friendly, §3.2 step 6)
7 — QR codesskippedno

AC5: a director can go from access-code redemption to Daycare.status = live by entering only center name + one classroom name.

Step 1 — Center info

Persists on field blur or step advance (§3.2 step 1).

Step 2 — Classrooms

Director creates ≥1 classroom. This is the one required structural step before going live.

+ Add classroom

Step 3 — Add teachers

Per-teacher: name + email or phone. Each teacher gets an invite via B3 (magic link).

Send invite Skip — I'll do this later

Step 4 — Enroll children (three paths, each first-class)

Spec §3.2 step 4 names three paths. All three are surfaced equally; none is primary.

Path A — One at a time

Path B — Bulk CSV import

CSV columns: name, DOB, classroom. Preview-with-errors screen surfaces any duplicates/malformed rows before any row is committed (§3.2 error cases).

Path C — Teacher-initiated

Director does not enter each child personally; teachers add children from their classroom view. See B2.1.

Duplicate detection: matching (name, DOB, classroom) triples warn before saving and offer merge-or-create. In bulk CSV, duplicates are flagged on the preview screen; no partial import (§3.2 error cases, §4.4 Child invariants).

Step 5 — Photo consent (per child)

ChildConsent level
[child A]all (default)
[child B]solo_only
[child C]none

[user-facing labels for "all" / "solo_only" / "none" — not specified in spec; enum values shown]

Can be updated any time after setup (§3.2 step 5).

Step 6 — Invite parents

Per child: one or more guardians via email or phone. Post-live-friendly — any subset now, rest later, or skip entirely. Photos captured before a parent subscribes are held retroactively up to the 90-day retention window (§3.2 step 6, I-Retention).

Send invite

Step 7 — Generate QR codes (optional)

Printable per-classroom QR codes. Link to B7 flow scoped to that classroom.

QR
code
(Infant)
[inference: rendered as a box; exact visual and print layout unspecified]

Setup complete — pending items on dashboard

Once ≥1 classroom exists, the daycare is live. Dashboard shows what's done and what's still pending with gentle prompts (§3.2 postconditions, §5.2 gentle-over-strict).

See B8 — Admin dashboard.