What is virtual classroom software for Indian K-12 schools?
It is the layer that auto-launches a live Zoom or Google Meet session for every timetable period flagged virtual or hybrid, gates the link behind the SchoolDeck app so only enrolled students can join, computes class attendance from the session-duration data returned by the video provider's API, and delivers the recording over DLT WhatsApp to absentees only. The module sits between the school's timetable and the video provider — it does not replace Zoom or Meet. It structures their use.
The SchoolDeck virtual classroom module owns one specific layer: the timetable-period-to-video-session auto-launch pipeline. It does not own asynchronous study material sharing (that's /solutions/lms-elearning/ — supplementary LMS for batch-wise notes + PDFs + recorded video library + online tests). It does not own the timetable itself (that's /features/auto-timetable/ — the period schedule + substitution allocation). It does not own DLT WhatsApp message delivery (that's /features/communication-tool/). Five modules, one workflow.
Per-period auto-launch — how the link is generated
Schools using Zoom or Google Meet without orchestration ask a teacher to create the link, then forward it through a parent WhatsApp group. The Sunday-evening labour of creating 24 links per teacher per week is the unscalable part. SchoolDeck removes the activity entirely.
The flow per period:
- Timetable flag: Each period in /features/auto-timetable/ carries a virtual / hybrid / in-person flag. The Vice-Principal can change a single period's flag from in-person to virtual on a flood-day morning at 7 AM and the entire workflow that follows reorganises.
- 10-minute pre-launch: Ten minutes before the period starts, SchoolDeck calls the Zoom API or Google Meet API depending on which provider the school has chosen. A unique meeting ID and password are generated for that period; the meeting is valid only for the period duration.
- Roster fan-out: The link is written to the SchoolDeck apps of every student enrolled in that period (Class 9-B Chemistry has 38 students; the link writes to 38 apps) and to the assigned host teacher's app. Nothing writes to any public surface — no parent WhatsApp group sees the link, no school website does.
- Single tap to join: Students see Chemistry · Period 2 · 10:00 AM on their schedule with an active Join button. The button is rendered only on enrolled students' apps. Tapping authenticates the student against the roster, then drops them into the session.
The teacher does no link creation work. The administrator does no link distribution work. The parent receives no link in WhatsApp. The link is a back-end fact that the system handles.
Roster-gated access — what stops the intruder
The honest answer to "how do you prevent Zoombombing" is structural, not cryptographic. The intruder cannot join the session because no link exists on a surface they have access to.
Specifically:
- Link is not in any WhatsApp message. No parent group, no teacher's broadcast, no school website page. The link physically does not appear on any chat surface.
- Link is not visible to non-enrolled students. A student in Class 9-A does not see the Class 9-B Chemistry session's Join button on their app. The button is rendered per roster.
- Tapping Join authenticates against SchoolDeck identity. The student must already be logged into the SchoolDeck app (which used their school-issued credentials). Only then does the session URL resolve.
- Forwarded URL fails. If a determined student copies the Zoom link from their browser after the session starts and forwards it, the link does work (Zoom doesn't restrict beyond the meeting ID/password) — but the meeting only exists for the period duration and the school's Zoom Waiting Room (a Zoom Pro feature) catches non-enrolled joiners. The combination of short link lifetime + waiting room makes link-leak attacks impractical at the Indian-school context.
The honest framing: the access-control story is "no link is shared, so no link can be forwarded." That's stronger than complex cryptographic schemes because it is structurally simple and verifiable.
Session-duration attendance — what replaces verbal roll call
Verbal roll call in a virtual classroom is a 12-15-minute exercise that pushes teaching out of the period. The school's options without this module are: tolerate the time loss, or accept inaccurate attendance ("just say everyone is present").
Session-duration attendance reads the time each student was actually connected to the live session, from the video provider's own API:
- Zoom Cloud API returns per-participant session-duration after the meeting ends — minutes-in-session, join time, leave time, rejoin events.
- Google Meet Reports API returns the same fields with slightly different field names.
- Microsoft Teams Reports API returns equivalent data when the school uses Teams.
- SchoolDeck reads whichever API the school's provider exposes, normalises the data into a unified shape.
The threshold is configurable per school during onboarding — typical 80% of period duration. For a 45-minute period, a student needs to be in-session for 36 minutes to be marked Present. The threshold can be set per class type: 80% for standard periods, 100% for examinations (which the school may run virtually during weather disruption), 50% for optional revision sessions.
A student whose connection drops briefly and rejoins within 2-3 minutes has their cumulative time count — gaps under a configurable window don't reset the counter. The attendance writes to /features/students/ academic record permanently.
Recording delivery — to absentees only, not the whole class
Recording, in most school deployments, becomes a problem: parents who weren't even absent ask for it, the teacher's evening is spent forwarding files, present students don't learn the discipline of being attentive in the actual class. SchoolDeck's recording delivery is selective.
- Recording requires a paid plan: The free tiers of Zoom and Meet don't include cloud recording. The school must have Zoom Pro (paid host license) or Google Workspace for Education (institutional license) for this feature. SchoolDeck plugs into whichever exists; no SchoolDeck-side license needed.
- Recording is auto-saved to the school's tenant. Not SchoolDeck's servers — the school's own Zoom Pro cloud or Google Drive (Workspace tenant). The school retains ownership of the file.
- Play-only link dispatched via DLT WhatsApp. The link goes through /features/communication-tool/ over the TRAI-DLT-registered WhatsApp Business channel — strictly to parents of students marked Absent for that specific period.
- The 34 present students get nothing. They were in class; they don't need the recording. The teacher doesn't get the "please share recording" follow-up messages.
- Play-only enforcement: The link opens in the SchoolDeck app's video player. The recording cannot be downloaded, screen-recorded with audio, or forwarded as a file. Retention is configurable — typical 30 days, max 90.
Substitute host transfer — when the regular teacher is absent
Teacher absence is normal in school operations — sick days, training days, personal emergencies. In a WhatsApp-link world, teacher absence means scrambling — calling a free teacher, having them create their own Zoom link, broadcasting the new link to parents, hoping the students see the new link before the period starts. This is unreliable.
SchoolDeck's substitute host transfer happens automatically:
- /features/staff-attendance/ marks Mrs. Ravi absent at 8:00 AM (she punched in 'On Leave' via the staff app, or didn't punch in by the cutoff).
- /features/auto-timetable/ runs the substitution allocation — identifies free teachers in the relevant period, applies the school's substitution-policy preferences (same subject preferred, same section preferred), proposes a substitute.
- The new host gets the link on her app. The pre-existing Zoom or Meet meeting for Class 9-B Chemistry · Period 2 · 10:00 AM has its host permission transferred to the substitute. She walks into the session as the host.
- The absent teacher's lesson plan surfaces. From /features/lesson-planning/, today's plan for Class 9-B Chemistry is shown on the substitute's screen. She doesn't walk in blind.
- POCSO clearance gate enforced. The substitute teacher's profile must carry the POCSO Act 2012 clearance flag for the assignment to be valid. Non-cleared teachers cannot be substitute hosts; /features/role-based-access/ enforces the gate.
- Students join the same scheduled link. Nothing changes from their end — same period, same time, different teacher hosting.
Hybrid mode — in-room students and online students together
Many Indian schools run hybrid by necessity rather than choice — some students at home for health reasons, some attending physically, but the same class delivered to both. Or: half the city's pin codes flooded on Tuesday morning so half the class is online and half are in the room. Hybrid as a per-period mode handles this without two separate workflows.
- Period is flagged Hybrid in the timetable.
- Teacher launches the session from the classroom smart-board or laptop. Camera + audio capture the in-room teaching and any blackboard work.
- In-room students mark physical attendance via the standard school capture mechanism (biometric / RFID / mobile punch the way /features/staff-attendance/ describes for staff — adapted for students).
- Online students join the session from the SchoolDeck app — same Join button as fully-virtual mode.
- Session-duration data flows for online students only (in-room students' attendance is captured at the physical mechanism).
- Attendance for both modes unifies into the same /features/students/ academic record entry — one row per student per period.
The teacher's screen and audio share to both audiences simultaneously. Q&A from online students appears in the classroom via the smart-board speakers; in-room questions reach online students through the room's microphone. The pedagogical experience is genuinely unified.
Live Class ≠ LMS ≠ Timetable ≠ Communication Channel
The SchoolDeck digital-learning cluster spans four distinct ownership layers. Knowing the boundaries helps schools evaluate them correctly.
- This page · /features/virtual-classroom/ — Owns live synchronous video class auto-launched from the timetable. The teacher is teaching now; the students are in the call now; attendance is taken on this session. Recording goes to absentees of this specific period.
- /solutions/lms-elearning/ — Owns asynchronous study material. Batch-wise notes, PDFs, video library (curated lectures stored long-term, not session recordings), online tests with auto-grading. Material that students access at their own pace, alongside classroom teaching — not as a replacement for the live class.
- /features/auto-timetable/ — Owns the period schedule + substitution allocation. This module reads the period flag (virtual/hybrid/in-person); the timetable module owns the underlying schedule and the substitute teacher logic.
- /features/communication-tool/ — Owns DLT WhatsApp + parent-app message delivery. The absentee recording link is computed here; the message is dispatched there over the school's TRAI-DLT-registered WhatsApp Business channel.
Each page targets a distinct query intent. This one is for the Vice-Principal Academics or Academic Coordinator asking "how do we run the actual live virtual class, end to end?"
WhatsApp-link virtual classes vs SchoolDeck virtual classroom
Practical differences for a Vice-Principal Academics running 200+ virtual class periods per week.
| Capability | WhatsApp + standalone Zoom | SchoolDeck Virtual Classroom |
|---|---|---|
| Link creation per period | Teacher creates personally, Sunday labour | Auto-generated from timetable |
| Link distribution | WhatsApp groups — public surface | Renders only on enrolled students' apps |
| Unauthorised joiner prevention | Anyone with the link gets in | Roster-gated; no link on chat surfaces |
| Attendance during class | 12-15 min verbal roll call | Session-duration from provider API |
| Substitute teacher hosting | New link created, parents re-notified | Host transfer to substitute on absence |
| POCSO clearance enforcement | Manual — depends on admin discipline | RBAC blocks non-cleared host assignment |
| Recording delivery | Shared to whole class via WhatsApp | Play-only link to absentees only |
| Recording downloadable? | Yes — IP risk | No — play-only in SchoolDeck app |
| Principal oversight dashboard | None — no visibility | Live status per period across school |
| DPDP Act 2023 audit trail | No structural log | Every link gen + recording open logged |