CH 15Basic

Communication & Engagement

The unified communication platform: notifications, announcements, real-time messaging, surveys and polls, communication analytics, and WhatsApp integration are available today on the Basic tier. Elite adds a Gemini-backed AI Translation Engine, an AI Communication Copilot for staff, and a live-data-grounded AI Parent Assistant reachable from the web app, mobile app, and WhatsApp.

Basic Tier Features

Basic

Notifications

Basic
  • Multi-channel delivery: in-app, Web Push (VAPID), email, and native mobile push (FCM)
  • Real-time delivery over Socket.io to every connected session (room per user)
  • Read/unread tracking with per-user pagination and unread counts
  • Web UI: /dashboard/notifications · Mobile: shared notification center screen per role

Announcements & Notices

Basic
  • Targeted by role, course, class, or specific user, with pinning and expiry
  • Category (Information/Event/Holiday/Exam/Meeting/Urgent) and priority tagging
  • File attachments via Cloudinary upload
  • Admin/Teacher UI: notices list + create form · Mobile: broadcast screen for admins

Messaging & Conversations

Basic
  • Real-time one-to-one messaging via Socket.io, with file/image attachments
  • Direct parent ↔ teacher/admin conversations, decoupled from any specific course — New
  • Admin monitoring: join/leave a conversation, flag messages, mute conversations
  • Web UI: /dashboard/{role}/messages · Mobile: per-role chat screens

Surveys & Polls — New

Basic
  • Build multi-question surveys or quick polls with text, single-choice, multiple-choice, or rating questions
  • Targeted by role, course, class, or specific user, same audience model as Notices
  • One response per user enforced; aggregated results with per-question breakdown
  • Web UI: /dashboard/admin/surveys · Mobile: survey list + response screens

Communication Analytics — New

Basic
  • Delivery: notifications sent, read rate, breakdown by type
  • Engagement: daily read-rate trend, message volume, average messages per conversation
  • Channel adoption: email, web push, mobile push, WhatsApp
  • Language: preferredLanguage distribution across users
  • Admin UI: /dashboard/admin/communication-analytics

WhatsApp Integration

Basic
  • WhatsApp Business messaging via the SendZen API — notices, fee reminders, attendance alerts
  • Menu-driven self-service flows: notices, fee reminders, attendance, progress reports, AI engagement reports, message-the-teacher, hardware consent responses, timetable, bus location & ETA (New) — all fully self-serve with no portal/app login required
  • Bus location (option 10) replies with driver/bus/child pickup-dropoff status plus a tap-to-open Google Maps link, and a native WhatsApp location pin when the driver has an active trip in progress (New)
  • Language selection on first contact (English, Hindi, Telugu, Tamil, Kannada) — parents can switch anytime by replying 9 or "language"; the full menu and every reply render in the chosen language
  • Multi-child support: parents with more than one linked child are prompted to pick which child before attendance, reports, timetable, or teacher messaging
  • Admission-inquiry flows for prospective parents who aren't yet registered users

Elite Tier Features

Elite

AI Translation Engine

Elite
  • On-demand translation via POST /api/communication-ai/translate
  • Real-time messages auto-translate when sender/receiver preferredLanguage differ — delivered over Socket.io as message-translated
  • Notices translate on demand via GET /api/notices/:id/translate, cached on the Notice document

AI Communication Copilot

Elite
  • Drafts announcements and reminders from a topic — pre-fills the notice creation form for staff to review
  • General Q&A copilot for communication drafting help
  • Admin UI: /dashboard/admin/communication-copilot

AI Parent Assistant & WhatsApp AI Fallback

Elite
  • Personalised answers about a child's attendance, fees, and recent notices, grounded in live data — never invents figures
  • Free-text WhatsApp messages that don't match a menu command fall through to the same assistant for Elite schools
  • Web UI: /dashboard/parent/ai-assistant · Mobile: (parent)/ai-assistant

Elite Tier — Still Planned

Voice-First Experience

Elite
  • Speech-to-text and text-to-speech for parents with low digital literacy
  • Requires a speech provider integration (not yet selected)
  • Planned — not yet implemented

API Reference — Chapter 15

Notifications

GET/api/notifications

Get notifications for the current user (paginated, filter by unread)

PUT/api/notifications/mark-read

Mark specific notifications as read

PUT/api/notifications/mark-all-read

Mark all notifications as read

DELETE/api/notifications/:id

Delete a notification

POST/api/notifications/subscribe

Register a Web Push subscription

POST/api/notifications/unsubscribe

Remove a Web Push subscription

Messaging

GET/api/messages/conversations

List conversations for the current user

POST/api/messages/conversation

Start a conversation — course-scoped, or direct with just a recipientId (New)

GET/api/messages/conversation/:conversationId

Get messages in a conversation

POST/api/messages/upload

Send a file or image message

GET/api/messages/students/:courseId

List students with linked parents for a course, for teacher-initiated messaging

GET/api/messages/school-conversations

Admin monitoring — list all conversations school-wide

POST/api/messages/conversations/:id/monitor/join

Admin joins a conversation as a silent monitor

POST/api/messages/conversations/:id/monitor/leave

Admin leaves a monitored conversation

PATCH/api/messages/conversations/:id/flag

Flag a conversation for review

PATCH/api/messages/conversations/:id/mute

Mute a conversation

PATCH/api/messages/conversations/:id/unmute

Unmute a conversation

PATCH/api/messages/messages/:msgId/flag

Flag an individual message

Announcements

POST/api/notices

Create and publish an announcement

GET/api/notices/my

List announcements targeted at the current user

GET/api/notices

List all announcements (admin)

GET/api/notices/:id

Get a single announcement

PUT/api/notices/:id

Update an announcement

DELETE/api/notices/:id

Delete an announcement

POST/api/notices/upload-attachment

Upload a file attachment for an announcement

DELETE/api/notices/:noticeId/attachments/:attachmentId

Remove an attachment from an announcement

Surveys & Polls (New)

POST/api/surveys

Create a survey or poll (admin, teacher, super_admin)

GET/api/surveys

List all surveys, school-scoped

GET/api/surveys/my

List surveys targeted at the current user, with hasResponded flag

GET/api/surveys/:id

Get survey details

POST/api/surveys/:id/respond

Submit a response (one per user)

GET/api/surveys/:id/results

Aggregated results (creator or admin)

DELETE/api/surveys/:id

Delete a survey and its responses

Communication Analytics (New)

GET/api/communication/analytics/delivery

Notification delivery totals and read rate

GET/api/communication/analytics/engagement

Daily read-rate trend and message volume

GET/api/communication/analytics/channels

Channel adoption across email, web push, mobile push, WhatsApp

GET/api/communication/analytics/language

Preferred-language distribution

WhatsApp

POST/api/whatsapp/webhook

Receive inbound WhatsApp messages — free-text falls through to the AI Parent Assistant on Elite schools (New)

AI Communication Suite Elite

POST/api/communication-ai/translate

Translate arbitrary text to a target language

POST/api/communication-ai/draft-announcement

AI-drafted announcement title/body from a topic

POST/api/communication-ai/draft-reminder

AI-drafted short reminder text

POST/api/communication-ai/copilot

General staff-facing communication Q&A

POST/api/communication-ai/parent-assistant

Live-data-grounded Q&A about a parent's own child

GET/api/notices/:id/translate

On-demand notice translation, cached on the Notice document

Frontend Pages

PathRoleDescriptionTier
/dashboard/{role}/messagesTeacher / Parent / StudentConversation list and chat windowBasic
/dashboard/{role}/noticesAdmin / Teacher / Student / ParentAnnouncement feedBasic
/dashboard/admin/notices/createAdminAnnouncement creation form with audience targetingBasic
/dashboard/admin/surveysAdminSurvey/poll list, create link, delete (New)Basic
/dashboard/admin/surveys/createAdminSurvey/poll builder with dynamic questions (New)Basic
/dashboard/admin/surveys/[id]/resultsAdminAggregated survey results (New)Basic
/dashboard/teacher/surveysTeacherList, respond, and create surveys (New)Basic
/dashboard/student/surveysStudentList and respond to surveys (New)Basic
/dashboard/parent/surveysParentList and respond to surveys (New)Basic
/dashboard/admin/communication-analyticsAdminDelivery, engagement, channel, and language analytics (New)Basic
/dashboard/admin/communication-copilotAdminAI draft-reminder tool and general Q&A copilot (New) Elite
/dashboard/parent/ai-assistantParentChild-scoped AI Q&A grounded in live attendance/fee/notice data (New) Elite
/dashboard/parent/communication-preferencesParentToggle WhatsApp, email, push, and SMS notification channelsBasic

Mobile Screens

(student|parent|teacher|admin|accountant)/notifications
Notification center with filter, mark-read, delete (New)
Basic
(student|parent|teacher|admin|accountant|librarian|facilities-admin)/notices
Announcement feed for the role
Basic
(admin)/notice-create
Announcement create/broadcast form (New)
Basic
(parent|teacher|student)/messages
Conversation list and chat window
Basic
(student|parent|teacher)/surveys
Survey/poll list with response status (New)
Basic
(student|parent|teacher)/survey-detail
Answer a survey's questions and submit (New)
Basic
(parent)/ai-assistant
Child picker, live snapshot card, AI Parent Assistant chat (New)
Elite