Parent & Student Portal

Complete self-service portal — fees, attendance, results, timetable, assignments, health, transport, events, grievances, messaging

Overview

The Parent & Student Portal is a self-service interface where parents can view their children's information, pay fees, check attendance, results, timetable, assignments, health records, transport details, register for events, file grievances, and communicate with the school.

Portal URL: <your-subdomain>.opticrm.app/portal/login

Portal Registration

For Parents

  1. Visit the registration URL (shared by the school)
  2. Fill in: Name, email, phone, child's details
  3. Submit — registration goes to admin for approval
  4. After approval, receive email with temporary password
  5. Log in and change password on first access

For Admins

Review registrations at Admin > Portal Registrations:

  • Approve or reject registration requests
  • Approved contacts receive welcome email with credentials
  • Link contacts to student records

Portal Features

Fees & Payments

  • Summary cards: Total Fees, Paid, Outstanding, Overdue
  • Pending invoices table with "Pay Now" button
  • Razorpay checkout for online payment
  • Payment history with receipt download
  • PDF receipts with fee breakdown, payment mode, amount in words

Attendance

  • Monthly calendar view with color-coded statuses
  • Attendance percentage calculation
  • Select between multiple children

Results

  • Exam-wise marks and grades
  • Subject breakdown
  • Report card access

Timetable

  • Weekly timetable grid grouped by day
  • Period number, start/end time, subject, teacher, room
  • Color-coded day sections
  • Child selector for parents with multiple children

Assignments

  • List of published assignments with status badges (Pending, Submitted, Graded, Overdue)
  • Subject and teacher info
  • Due dates and max marks
  • Submission details: submitted date, marks awarded, teacher feedback
  • Child selector

Transport

  • Route information (name, code, departure times)
  • Vehicle details (registration, make/model, driver name)
  • Highlighted personal stop with pickup/drop times
  • Full route stop list with sequence numbers
  • Boarding type indicator

Health Records

  • Health Profile: Blood group, height, weight, allergies, chronic conditions, medications, doctor info, insurance
  • Screenings tab: Type, date, findings, BMI, vision, conducted by
  • Sick Bay Visits tab: Complaint, symptoms, treatment, medicine given, outcome
  • Vaccinations tab: Vaccine name, dose number, date, next due date

Events

  • Upcoming events with type, date, venue, description
  • Capacity tracking (registered/total)
  • Register button for RSVP events
  • Registration status badge

Grievances

  • Submit grievance: Category, subject, description, priority
  • Auto-generated reference number (GRV-YYYY-NNNN)
  • Status tracking: Open, In Progress, Resolved, Closed
  • Comment thread (staff responses visible)
  • Resolution display

Profile

  • Account info (name, email, role, member since)
  • Linked students with class and section
  • Editable contact details (mobile, phone, address)
  • Communication preferences (email opt-in, SMS opt-in)

Announcements

  • School announcements filtered by audience
  • Pinned announcements at top
  • Acknowledgement button for required announcements

Messages

  • Thread-based messaging with school staff
  • Unread message badges
  • Chat-style conversation view

Change Password

  • Current + new password form

Child Selector

Parents with multiple children see a dropdown to switch between children. All child-specific data (fees, attendance, results, timetable, assignments, transport, health) updates based on the selected child.

Portal API Endpoints

MethodRouteDescription
GET/api/portal/my-childrenGet linked children
GET/api/portal/fees?studentId=xGet invoices + summary
GET/api/portal/attendance?studentId=xGet attendance records
GET/api/portal/results?studentId=xGet exam results
GET/api/portal/timetable?studentId=xGet weekly timetable
GET/api/portal/assignments?studentId=xGet assignments + submissions
GET/api/portal/transport?studentId=xGet transport allocation
GET/api/portal/health?studentId=xGet health records
GET/api/portal/eventsGet upcoming events
POST/api/portal/eventsRegister for event
GET/api/portal/grievancesList grievances
POST/api/portal/grievancesSubmit grievance
GET/api/portal/profileGet profile + children
PATCH/api/portal/profileUpdate contact details
GET/api/portal/receipts/[id]Get receipt details
POST/api/portal/paymentsCreate order / verify payment
POST/api/portal/change-passwordChange password