DAC Academy — Master Standard Operating Procedures (SOP)
SECTION 1: INTRODUCTION
1.1 About DAC Academy
DAC Academy is an educational institution management system built as a web application. It manages the complete student lifecycle from initial inquiry through admission, fee management, hostel management, and alumni tracking.
1.2 System Access
- URL: (varies by deployment — ask your IT administrator)
- Supported Browsers: Chrome, Firefox, Edge (latest versions)
- Mobile: Responsive design works on smartphones and tablets
SECTION 2: SYSTEM OVERVIEW
2.1 Core Modules
| Module | Purpose | Primary Users |
|---|---|---|
| Login & Auth | Secure access to the system | All users |
| Dashboard | Analytics and key metrics | Admin, Counselor, Warden |
| Leads (CRM) | Track prospective students | Admin, Counselor |
| Admissions | Enroll new students | Admin, Counselor |
| Students | Manage enrolled students | Admin, Counselor, Warden |
| Fees | Fee structure, payments, receipts | Admin, Counselor |
| Hostel | Room allocation, outings | Admin, Warden |
| Medical | Parent-submitted medical requests | Admin, Warden, Parent |
| Parent Portal | Self-service for parents | Parent |
| Settings | System configuration | Admin |
| Reports/Exports | Data export to Excel | Admin, Counselor, Warden |
SECTION 3: USER ROLES
3.1 Role Overview
| Role | Who | What They Do |
|---|---|---|
| Admin | Academy Director, Admin Staff | Full system access: manage users, settings, all data |
| Counselor | Admission Counselor | Manage leads, admissions, students, fees |
| Warden | Hostel Warden | Manage hostels, outings, medical requests |
| Parent | Parent/Guardian | View children's info, request outings, submit medical requests |
SECTION 4: LOGIN
4.1 How to Login
- Open your browser and navigate to the system URL
- Click on the Login button (or you'll be redirected automatically)
- Enter your Email address
- Enter your Password
- Check Remember Me if you're on a personal device
- Click Sign In
4.2 After Login
- Parents: You'll see the Parent Dashboard
- All other roles: You'll see the Staff Dashboard
4.3 Troubleshooting Login
| Problem | Solution |
|---|---|
| Forgot password | Click "Forgot Password" on the login page |
| Account locked | Too many failed attempts — wait 60 seconds, then try again |
| Account deactivated | Contact your academy administrator |
| "Service unavailable" | The system is experiencing issues — try again in a few minutes |
4.4 Logout
Click your avatar/name in the top-right corner, then click Sign out.
SECTION 5: NAVIGATION
5.1 Staff Sidebar
The sidebar on the left side of the screen shows all available modules. Which items you see depends on your role.
- Dashboard — Overview metrics
- Leads — Manage prospective students
- Admissions — Enroll new students
- Students — Manage active students
- Fees — Fee ledger and payments
- manual Receipts — Generate one-off receipts
- Hostel — Hostel management
- Users — Manage staff accounts (Admin only)
- WhatsApp Log — View sent messages (Admin only)
- Audit Log — View system changes (Admin only)
- Announcements — Send messages to parents (Admin only)
- Settings — Configure system (Admin only)
5.2 Header
- Branch Filter (Admin/Counselor only): Filter data by branch/location
- Search: Quick search across entities
- User Menu: Your name, role, and logout button
5.3 Parent Navigation
The parent portal has its own navigation bar at the top:
- Dashboard — Overview of your children's information
- Hostel Outing — Request outings for hostel students
- Medical Requests — Submit medication requests
- Receipts — View payment receipts
- Staff Portal (if you are also staff): Switch to staff view
SECTION 6: DASHBOARD (STAFF)
6.1 What You See
The dashboard shows cards with the following metrics (role-dependent):
Admin & Counselor View:
- Total Leads — All prospective students in the pipeline
- Hot Leads — High-priority leads marked "hot"
- Admissions — Number of students enrolled
- Students — Currently active students
- Revenue — Total fees collected (in ₹)
- Pending Outings — Hostel outings waiting for approval
- Pending Medical — Medical requests waiting for acknowledgment
- WhatsApp Messages — Total notifications sent
- Charts: Lead distribution by status, Fee collection over time
Warden View (simplified):
- Hostel Students — Students in your hostel
- Pending Outings — Outings waiting for your approval
- Pending Medical — Medical requests in your hostel
- Currently Out — Approved outings not yet returned
6.2 Recommended Actions
| Metric | If High | If Low |
|---|---|---|
| Hot Leads | Prioritize follow-ups | Increase marketing |
| Pending Outings | Review and approve/reject quickly | Normal operations |
| Pending Medical | Check students' health needs | All clear |
| Revenue | Good collection month | Escalate fee reminders |
SECTION 7: LEADS (CRM)
7.1 Purpose
The Leads module tracks every prospective student from initial inquiry through to admission or loss.
7.2 Lead Lifecycle
New → Contacted → Interested → Registered → Admitted
↓
Lost (can happen from any non-terminal state)
7.3 Lead Status Definitions
| Status | Meaning | What Staff Should Do |
|---|---|---|
| New | Fresh inquiry, no one has contacted the parent yet | Call the parent, gather details |
| Contacted | Parent has been reached and conversation started | Follow up, answer questions, build interest |
| Interested | Parent showed interest in enrolling | Schedule academy visit, share fee structure |
| Registered | Registration fee has been paid | Process full admission |
| Admitted | Student is fully enrolled (automatic) | Move to student management |
| Lost | Parent chose another academy | Record the reason, attempt re-engagement later |
7.4 Lead Probability
| Probability | Meaning | Action |
|---|---|---|
| Hot 🔴 | Very likely to join | Call today, prioritize |
| Warm 🟡 | Moderately interested | Follow up within 2-3 days |
| Cold 🔵 | Low interest | Nurture with periodic updates |
7.5 Creating a New Lead
Steps:
- Click Leads in the sidebar
- Click New Lead button (top-right)
- Fill in the form:
- Required: Student Name, Target Exam, Class, Parent Name, Parent Phone, Branch
- Recommended: Probability (Hot/Warm/Cold), Source (how they heard about us)
- Optional: DOB, City, School, Board, Notes, etc.
- Click Submit
After Creation: The lead appears on the Kanban board in the "New" column.
7.6 Following Up on a Lead
- Click on a lead name to open the Lead Detail page
- In the Follow-up Timeline section:
- Enter your follow-up notes
- Set the follow-up date/time
- Click Add Follow-up
- All follow-ups are recorded with timestamps for audit
7.7 Phone Actions
On the Lead Detail page, you'll see phone action buttons:
- 📞 Call — Opens your phone dialer with the parent's number
- 💬 WhatsApp — Opens WhatsApp chat with the parent
7.8 Registering a Lead (Payment Collected)
- On the Lead Detail page, click Register
- In the dialog, enter:
- Amount — Registration fee collected (defaults to ₹3,000)
- Payment Mode — Cash, UPI, Bank Transfer, etc.
- Transaction ID — If applicable
- Payment Screenshot — Upload a photo of the payment proof
- Click Submit
- A receipt is generated automatically
- WhatsApp notification is sent to the parent
7.9 Converting to Admission
- The lead must be in Interested status (or any status except Lost/Admitted)
- Click Convert to Admission on the Lead Detail page
- You'll be taken to the Admission form pre-filled with lead data
- Follow the Admission workflow (Section 8)
7.10 Viewing Leads (Kanban Board)
The default view shows a Kanban board with columns for each status:
- Each column shows the count at the top
- Preview cards show first few leads
- Click any column to drill down into a detailed table view
7.11 Filtering Leads
Use the filter bar at the top to filter by:
- Branch — Select a specific branch
- Date Range — Created between dates
- Search — Search by student name or parent name
SECTION 8: ADMISSIONS
8.1 Purpose
The admission process creates a fully enrolled student with fee structure, parent account, hostel allocation, and document tracking.
8.2 Pre-requisites
Before you can create an admission:
- An Active Academic Session must exist (ask Admin if not)
- At least one Document Checklist Item must be configured (ask Admin if not)
- The Batch must not be full, completed, or cancelled
8.3 Starting an Admission
Option A: From a Lead
- Go to the lead that's ready for admission
- Click Convert to Admission
- The form is pre-filled with lead data
Option B: Fresh Admission (no lead)
- Click Admissions in the sidebar
- Click New Admission
- Fill in all required fields
8.4 Admission Form — Step by Step
Student Details:
- Enter the student's full name
- Select class and target exam
- Optionally enter date of birth
Contact Details:
- Enter parent's email — if provided, a parent portal account will be AUTO-CREATED
- Enter parent's phone number (required)
- Optionally add father/mother/local guardian phone numbers
Academic Info:
- Select Course and Batch
- Optionally enter board, school name, medium of instruction
- Enter state and full address
Hostel (if applicable):
- Select Admission Type:
- Tuition Only — Day scholar
- Tuition + Hostel — Residential student
- Tuition + School — Day scholar with school tie-up
- Tuition + Hostel + School — Full residential
- If hostel is selected, pick the hostel, room, bed, and locker
Fee & Payment:
- Admission Fee — Defaults from batch. Enter 0 to use batch defaults. Enter a custom value to override.
- Hostel Fee — Defaults from batch (if hostel).
- Amount Paid — How much the parent is paying right now
- Payment Mode — Cash, UPI, Bank Transfer, etc.
- Transaction ID — For tracking (must be unique system-wide)
- Payment Screenshot — Upload proof of payment
Installments:
- The system will auto-generate future installments based on the batch payment schedule
- You can override with custom installments if needed
Documents:
- Upload scanned copies of required documents
- Document types are configured by Admin in Settings
Admission Items:
- Items to be provided to the student (uniform, books, ID card, etc.)
- Mark each as "Given" or "Remaining"
Student Photo: Upload a passport-style photo
8.5 After Submission
The system creates ALL of the following in one transaction:
- ✅ Student Record — The student is now in the system
- ✅ Lead Updated — Lead status changes to "Admitted"
- ✅ Parent Account — If email was provided, parent can now login
- ✅ Fee Record — Complete fee structure with installments
- ✅ Receipt — Payment receipt with unique number
- ✅ Hostel Allocation — Room and bed assigned (if hostel opted)
- ✅ Document Checklist — Document tracking initialized
- ✅ Admission Items — Items to be given tracked
- ✅ WhatsApp Notification — Parent receives admission confirmation
8.6 Parent Account Credentials
If an email was provided during admission:
- Login: The email address entered
- Password:
Parent@XXXX(generated automatically) - The password is shown ONCE on the admission success screen
- Save this password — it cannot be retrieved later (only reset)
SECTION 9: STUDENTS
9.1 Purpose
The Students module manages all enrolled students, their profiles, documents, fees, and lifecycle events.
9.2 Viewing Students
- Click Students in the sidebar
- Use filters to find specific students:
- Branch, Course, Batch, Class, Status
- Hostel (Opted/Day Scholar), Admission Type
- Session, Search by name
- Click a student's name to view their full profile
9.3 Student Profile Sections
Header: Photo, name, batch, branch, status badge, session status
Personal Info: Full name, DOB, class, target exam, board, school, address
Contact Info: Parent name, phone, WhatsApp status, father/mother/guardian phones, email
Hostel Info: Room number, bed number, locker, hostel name (only if hostel-opted)
Admission Snapshot: Fee structure at the time of admission (HISTORICAL — use fee record for live data)
Documents: Checklist of submitted documents with status (pending/received/verified)
Admission Items: Items given/remaining (uniform, books, etc.)
Fee Record: LIVE fee data — total fee, paid amount, remaining balance, payment progress bar
Payment History: Each payment transaction with receipt links. Options to edit, void, or pay installments.
Enrollment History: Timeline of sessions the student has been enrolled in
9.4 Editing a Student Profile
- Navigate to the student's detail page
- Click Edit Profile
- You can update: name, class, contact info, address, hostel status, documents
- Cannot change: Batch (use Batch Transfer), Branch (no workflow available)
9.5 Student Lifecycle Actions
| Action | When to Use | How |
|---|---|---|
| Batch Transfer | Student needs to change batches | Click "Batch Transfer", select new batch |
| Promote | Student completing current session | Click "Promote", selects next session (must exist) |
| Re-enroll | Student who left/TC/completed wants to return | Click "Re-enroll", select new batch/session |
| Reinstate | Reactivate a student marked as left | Click "Reinstate" |
| Mark Left | Student withdrawn voluntarily | Click "Mark Left", enter date and reason |
| Mark TC | Transfer Certificate issued | Click "Mark TC", enter TC number |
| Mark Removed | Disciplinary removal | Click "Mark Removed", enter reason |
| Mark Completed | Student completed the program | Click "Mark Completed" |
IMPORTANT: Before marking a student as Left/TC/Removed, ensure all fee dues are cleared.
9.6 Resetting Parent Password
- On the student detail page, click Reset Parent Password
- System generates a new password
Parent@XXXX - Show the new password to the parent
- The old password is immediately invalid
9.7 Creating Parent Account (Manual)
If a parent account wasn't created during admission:
- On the student detail page, click Create Parent Account
- Enter the parent's email
- System creates the account and shows credentials
SECTION 10: FEES
10.1 Fee Structure
Every student has a Fee Record that tracks:
- Total Fee — Total amount the student must pay
- Paid Amount — Sum of all payments received
- Remaining — Outstanding balance
Rule: Total = Paid + Remaining (enforced by the system)
10.2 Viewing Fee Records
- Click Fees in the sidebar
- The table shows all students with:
- Name, Batch
- Total Fee, Paid, Outstanding
- Status Badge (Paid ✅, Partial 🟡, Overdue 🔴, Pending ⚪)
- Receipt Count
- Click a row to view full payment history
10.3 Recording a Payment
Steps:
- Navigate to the student's Fee section (or click from Fees table)
- Click Record Payment
- Enter:
- Amount — How much is being paid
- Payment Mode — Cash, UPI, Bank Transfer, etc.
- Transaction ID — Optional but recommended
- Payment Screenshot — Optional
- Click Submit
- A receipt is automatically generated
- WhatsApp notification is sent to the parent
10.4 Payment History Actions
| Action | Description | Notes |
|---|---|---|
| View Receipt | Opens receipt PDF | Opens in new tab |
| Download Receipt | Downloads receipt PDF | For printing/sharing |
| Edit Payment | Change payment details | Cannot change amount if already confirmed |
| Void Payment | Reverse a payment | Requires reason. Receipt stays valid. |
| Add Installment | Add a new future due date | For creating custom payment schedules |
| Remove Installment | Delete an unpaid future installment | Cannot remove paid ones |
| Add Ad-hoc Fee | Add unexpected charges | Increases total fee (e.g., late fee, extra classes) |
10.5 Understanding Fee Status
| Status | Condition | Action Needed |
|---|---|---|
| Paid ✅ | Remaining = 0 | None |
| Partial 🟡 | Some installments paid, some pending | Monitor upcoming due dates |
| Overdue 🔴 | Past-due installments exist | Send reminders, contact parent |
| Pending ⚪ | No payments made yet | Follow up for initial payment |
10.6 Voiding vs. Deleting
- Voiding cancels a payment but keeps the receipt for accounting
- Deleting removes the installment only if it hasn't been paid
- Receipts can NEVER be deleted (immutable by law)
SECTION 11: SESSIONS
11.1 What is an Academic Session?
An academic session represents one academic year (e.g., "2025-26").
11.2 Session Lifecycle
- Create — Admin creates the session with start and end dates
- Activate — Only ONE session can be active at a time
- Use — All new admissions enroll in the active session
- Promote — At year-end, students are promoted to the next session
- Deactivate — After all students are promoted
11.3 Year-End Process
- Admin creates next year's session
- Admin activates the new session (auto-deactivates the old one)
- Staff promotes each student to the new session
- Fee records are created for the new session
SECTION 12: HOSTEL
12.1 Purpose
The Hostel module manages student accommodation, room allocation, outings, and medical requests.
12.2 Hostel Directory
- Click Hostel → Directory tab
- Shows: Room number, student name, branch, contact, presence status
- Wardens: see only their hostel. Admin: sees all hostels.
12.3 Outings Management
Parent Request Flow:
- Parent logs into Parent Portal
- Goes to Hostel Outing
- Selects student (if multiple children)
- Fills: start date, end date, reason, accompanied by, expected return
- Submits request
- WhatsApp notification sent to warden
Warden/Admin Review Flow:
- Navigate to Hostel → Outings tab
- Find pending outings (filter by status)
- Click on an outing to view details
- Click Approve or Reject
- Optionally add review notes
- WhatsApp notification sent to parent
Return Process:
- Once student returns, find the approved outing
- Click Mark Returned
- System records the return time
12.4 Medical Requests
Parent Submission:
- Parent goes to Medical Requests in Parent Portal
- Selects student, enters: disease, medicine, dose quantity, dose time
- Optionally: consulted doctor name, additional notes
- Submits
Warden/Admin Processing:
- Go to Hostel → Medical Requests tab (or Warden Portal → Medical Queue)
- Review the request details
- Click Acknowledge to confirm receipt
- After medication is administered, click Complete
- OR click Reject with a reason (if inappropriate)
- WhatsApp acknowledgment sent to parent on acknowledgment
SECTION 13: PARENT PORTAL
13.1 What Parents Can Do
| Feature | Available? | Notes |
|---|---|---|
| View student information | ✅ | Name, class, batch |
| View fee details | ✅ | Total, paid, remaining, upcoming installments |
| View/download receipts | ✅ | All payment receipts |
| Request hostel outings | ✅ | Only for hostel students |
| Cancel pending outing | ✅ | Before warden reviews |
| View outing history | ✅ | Past outings with status |
| Submit medical request | ✅ | Only for hostel students |
| View medical history | ✅ | All previous requests |
| View announcements | ✅ | Filtered to match student profile |
13.2 What Parents CANNOT Do
- ❌ Edit student information
- ❌ View other students' data
- ❌ Make payments (staff records payments)
- ❌ Approve/reject outings
- ❌ Acknowledge medical requests
- ❌ View system settings
13.3 Logging In for the First Time
- Go to the system login page
- Enter the email provided during admission
- Enter the temporary password (
Parent@XXXX) - You'll be prompted to change your password
- Save your new password securely
13.4 Parent Dashboard
The dashboard shows:
- Your linked students (as cards)
- Summary of fees (upcoming installments)
- Recent receipts
- Recent outing requests
- Recent medical requests
- Academy announcements
SECTION 14: WHATSAPP NOTIFICATIONS
14.1 Automatic Notifications
The system sends WhatsApp messages automatically for:
| Event | Sent To | When |
|---|---|---|
| Lead Registration | Parent | Lead registered with payment |
| Admission Created | Parent | Full admission completed |
| Outing Requested | Warden | Parent requests outing |
| Outing Approved | Parent | Warden approves outing |
| Outing Rejected | Parent | Warden rejects outing |
| Payment Received | Parent | Fee payment recorded |
| Fee Reminder | Parent | Installment due date approaching |
| Medical Acknowledged | Parent | Warden acknowledges medical request |
14.2 Viewing WhatsApp Log
Admin can view all sent messages:
- Click WhatsApp Log in the sidebar
- Filter by status, event type, date range, or recipient
- Each entry shows: recipient, template used, delivery status
14.3 Troubleshooting WhatsApp
| Problem | Likely Cause | Solution |
|---|---|---|
| Message stuck "queued" | Worker hasn't processed yet | Wait up to 2 minutes for cron to run |
| Message shows "failed" | WATI API error | Check WATI account status, retry via DB |
| Parent not receiving | Wrong number or WhatsApp not on that number | Verify parent's WhatsApp number in student profile |
SECTION 15: SETTINGS (ADMIN ONLY)
15.1 Academy Settings
| Setting | What It Does | Default |
|---|---|---|
| Academy Name | Name shown on all pages and PDFs | "DAC Academy" |
| GST Enabled | Controls GST display on receipts | Enabled |
| GST Rate | GST percentage (in basis points) | 18% (1800 bps) |
| GSTIN | Academy's GST number | Shown on receipts |
15.2 Branches
Add, edit, or deactivate academy locations. Each branch has its own name, address, and phone.
15.3 Courses
Define academic programs (JEE, NEET, Foundation, etc.). Each course has a base fee and description.
15.4 Batches
Critical: Each batch has:
- Linked Course and Branch
- Fee components: Tuition, Hostel, Admission, Material, Caution Deposit, Facility, Mess
- Payment Schedule — Defines how installments are calculated
- Capacity — Maximum students that can be enrolled
- Status — Upcoming, Active, Completed, Cancelled
15.5 Sessions
Create and activate academic sessions. Only one session can be active at a time.
15.6 Hostels
Define hostels per branch with room capacity.
15.7 Document Checklist
Configure required documents for admission (e.g., Aadhaar card, mark sheets, photos)
15.8 WhatsApp Notifications
Toggle notification types on/off:
- Admission notifications
- Registration notifications
- Outing notifications
- Medical acknowledgment notifications
SECTION 16: USERS (ADMIN ONLY)
16.1 Creating a New User
- Click Users in the sidebar
- Click Add User
- Fill in: Name, Email, Role (Admin/Counselor/Warden/Parent), Branch, Phone
- For Wardens: assign a Hostel
- Click Submit
- System generates a temporary password
16.2 Managing Users
- Toggle Active Status — Deactivate a user who should not access the system
- Reset Password — Generate a new temporary password
- Edit — Change name, role, branch, hostel assignment
SECTION 17: AUDIT LOG (ADMIN ONLY)
17.1 Purpose
The audit log records every state-changing action in the system: who did what, when, and what changed.
17.2 Viewing the Audit Log
- Click Audit Log in the sidebar
- Filter by: Entity Type, Action, Date Range, Text Search
- Each entry shows:
- Timestamp
- User who performed the action
- Action type
- Entity affected
- Summary of what changed
17.3 Investigating Issues
To investigate a data issue:
- Search the audit log for the affected entity or user
- Review the before/after data snapshots
- Identify who made the change and when
- Take corrective action if needed
SECTION 18: DATA EXPORTS
18.1 Student Export
- Go to Students page
- Click Export to Excel
- System generates an Excel file with all student data
- Filters are respected in the export
18.2 Outings Export (Admin only)
- Go to Hostel → Outings
- Click Export
- Filter by status and date range
- System generates an Excel file
SECTION 19: DAILY CLOSING PROCESS
End of Each Day:
- Check Dashboard for new leads
- Process any pending outings
- Acknowledge pending medical requests
- Register any leads with payment collected
- Record all payments collected during the day
- Print and file receipts for the day
SECTION 20: TROUBLESHOOTING GUIDE
Login Issues
| Symptom | Solution |
|---|---|
| "Invalid email or password" | Check email spelling and password |
| Page keeps redirecting to login | Session expired — login again |
| "Service unavailable" | System error — contact IT |
| Account deactivated | Contact admin |
Admission Issues
| Symptom | Solution |
|---|---|
| "No active academic session" | Ask Admin to activate a session |
| "Document checklist not configured" | Ask Admin to create checklist items in Settings |
| "Batch is at full capacity" | Choose another batch or increase capacity |
| "Batch is closed" | Select an active/upcoming batch |
| "HOSTEL_BRANCH_MISMATCH" | Selected hostel belongs to different branch |
Payment Issues
| Symptom | Solution |
|---|---|
| "Amount paid cannot exceed total fee" | Reduce payment amount |
| "Unique constraint violated" | Transaction ID already used — use a different one |
| Receipt not generating | PDF generation is async — try refreshing |
| Wrong amount entered | Void the payment and record it again |
Parent Portal Issues
| Symptom | Solution |
|---|---|
| Parent can't login | Reset password from Student Detail page |
| Parent doesn't see their child | Student may not have parentUserId linked |
| Parent can't request outing | Student must be hostel-opted with active session |