schoolground.ai

Tour for schools

Every door, every button, in the order of a school day.

This page is the script for a visit. It names each screen, who is allowed through the door, and what every field, menu, and button does when it is pressed. The demo school is already filled. Nothing here is a second product. It is the same schoolground.ai a teacher opens in the morning.

A sunlit school courtyard, cream walls, deep green doors, and bougainvillea
Morning in the courtyard. The tour starts here, before anyone signs in.
An open attendance register with a green ribbon on a wooden desk
Attendance
A stamp, an ink pad, and a stack of blank receipts
Money
A cream and green school bus parked under a rain tree
The bus

A fifteen-minute walk

A school veranda looking out toward a green field in the morning
Sit here with the principal, the class teacher, the accountant, and a parent login.

Sit with the principal, the class teacher, the accountant, and one parent login. Use the school slug riverside and the password DemoSchool#2026.

  1. Open the front door. Read the three cards: safety, money, and today. Press Lab screens.
  2. Press Open owner. Priya Menon lands on Home. Read the four numbers aloud. They are the day.
  3. Press the rose card, Absent today. On Attendance, leave the section and the date, press Show, mark one child absent, and press Save attendance. The pill turns rose.
  4. Open Notices. Write a short title and a plain sentence. Leave Section on Whole school. Press Publish notice.
  5. Press Lab at the foot of the rail, then Open parent. Today opens on the children linked to Rohan Shah. Attendance, the notice, the fee balance, the latest receipts, the bus, and the marks are on one screen.
  6. Open Notes. The class name is already chosen. Open a tab, then press Open PDF on a note. The sheet is the message the teacher filed.
  7. Press Lab, then Open teacher. Home counts only Arjun Das’s section. Attendance has no section menu, because there is only one class.
  8. Press Lab, then Open accounts. Open Fees, open an invoice title, and press Print receipt. The paper is the payment rows. There is no online checkout on this page.

Five doors

A school corridor with a row of open green doorways
One school, five logins. Each door opens only the rooms that role may enter.

One school. Five logins. The dark rail shows only the doors that role may open. Typing another address by hand sends a parent to Today and everyone else to Home.

Owner

The person who opened the school. Demo: Priya Menon, admin@riverside.demo.

  1. Home
  2. Students
  3. Classes
  4. Attendance
  5. Fees
  6. Notices
  7. Notes
  8. Transport
  9. Admissions
  10. Exams
  11. Staff
  12. Audit

Admin

Same doors as the owner. Created from Staff, role Admin.

The rail matches the owner, item for item.

Teacher

Demo: Arjun Das, teacher@riverside.demo. One section, Class 4 A.

  1. Home
  2. Students
  3. Attendance
  4. Notices
  5. Notes
  6. Transport
  7. Exams

Accountant

Demo: accountant@riverside.demo. Money, and the student list needed to find a child.

  1. Home
  2. Students
  3. Fees

Parent

Demo: parent@riverside.demo. Linked to two children in Class 4 A.

  1. Today
  2. Notes
ScreenOwnerAdminTeacherAccountantParent
HomeYesYesYesYes
TodayYes
StudentsYesYesReadRead
Add a studentYesYes
Guardians, pickup, consentYesYesReadRead
ClassesYesYes
AttendanceYesYesOwn section
Fees and receiptsYesYesYes
NoticesYesYesOwn section
Class notesYesYesOwn sectionOwn class
Transport setupYesYesBoarding only
AdmissionsYesYes
Exams structureYesYesMarks only
StaffYesYes
AuditYesYes

A parent login is not created on Staff. It is created on the student page, with an email and a password of at least ten characters, so the login is tied to a child. A school cannot see another school. The clock on every screen follows the school timezone, which starts as Asia/Kolkata. There is no timezone menu.

The frame on every screen

After sign-in, the school sits in a dark green rail and a sunlit page. On a phone the rail becomes a sticky bar: the gem stays, the wordmark is tucked away, the doors scroll sideways, and Sign out stays at the end.

Link

schoolground.ai

Everyone signed in

The gem and the name at the top of the rail. A parent press goes to Today. Any other role goes to Home. It does not open a new tab.

Text

Slug and role

Everyone signed in

Under the wordmark, in pale green: the school slug, a dot, and the role. Demo reads riverside · owner, or teacher, accountant, or parent. On a phone this line is hidden so the doors fit.

Door

The rail

Filtered by role

Each door has a small icon and a colour. The open door is a lighter wash and is marked as the current page. Doors do not download the next page in advance, so a slow connection is not asked to fetch the whole school.

Home and Today · mint · a houseStudents and Staff · sky · a personClasses · violet · a buildingAttendance · mint · linesFees · amber · a cardNotices · rose · a speech bubbleNotes · violet · a pageTransport · sky · a busAdmissions · violet · a plusExams · amber · a pageAudit · rose · a clock

Link

Lab

Riverside only

Outline button at the foot of the rail, beside Sign out. It is drawn only when the school slug is riverside. It opens the lab picker without ending the session. Choosing another person replaces the session and opens that person’s home.

Button

Sign out

Everyone signed in

An outline button at the foot of the rail. It ends the session at once and returns to Sign in. The label stays Sign out while it works. It does not change to Saving. The cookie is removed and the session row is revoked. The cookie name is schoolground_session. It lasts fourteen days, is not readable by page scripts, and is sent only to this site.

Text

Top bar

Everyone signed in

A white band. On the left, the school name in the serif face, for example Riverside Public School. On the right, a round letter taken from the person’s name, then the full name. This bar is not a menu. It does not contain search, notifications, or a profile button.

Green save buttons share one behaviour. While the save is in flight the label becomes Saving… and the button will not take a second press. Search, Show, Update, Sign out, and Print receipt are not that kind of button. Their labels stay put.

Front door

A cream school wall and a deep green gate, slightly open, in morning light
The address is the site root. A person already signed in never sees this page.

The school day, proved in one screen.

The address is the site root. A person who is already signed in never sees this page: a parent is sent to Today, and everyone else to Home.

Link

schoolground.ai

Signed out

The wordmark at the top. It reloads this same front door.

Card

Safety

Signed out

Mint card. The heading is Safety. The text is attendance, boarding, an authorised pickup, and a bus that says when it has stopped reporting.

Card

Money

Signed out

Amber card. The heading is Money. The text names UPI, cash, NEFT, and cheque, and says the receipt is a ledger row.

Card

Today

Signed out

Sky card. The heading is Today. The text is one notice in plain text, including Hindi as typed.

Link

Lab screens

Signed out

Green button. Opens the riverside picker, where one press signs in as the owner, the teacher, the accountant, or the parent.

Link

Sign in

Signed out

Outline button. Opens the sign-in card.

Link

Open a school

Signed out

Outline button. Opens the registration card.

Link

Tour for schools

Signed out

Outline button. Opens this page.

Sign in

A quiet office desk by a window, laptop closed, a cup of tea
School, email, and password. A parent lands on Today. Everyone else lands on Home.

Sign in

A person who is already signed in is sent onward and does not see the form. The wordmark returns to the front door. Under the button, the card prints the demo school, the shared password, and the four demo emails.

Field

School slug

Required

Placeholder riverside. The browser may offer an organisation autofill. The value is trimmed and lowercased. It must be letters and digits, with hyphens only between words, such as riverside or green-valley. A blank, a space, or a leading hyphen fails as a mismatch.

Field

Email

Required

Must look like an email. It is trimmed and lowercased before it is checked. The browser may offer a username autofill.

Field

Password

Required

Hidden as it is typed. Any length is accepted at the door. A wrong password and a missing user produce the same sentence, so the form does not reveal which of the three fields was wrong.

Button

Sign in

Green save button

Becomes Saving… and ignores a second press. A match opens Today for a parent and Home for every other role. Eight tries are allowed for the same school and email inside ten minutes. The ninth shows the wait message, even if the password is then correct. A successful sign-in clears that count.

Link

Lab screens

Signed out

Text link under the demo line. Opens the riverside picker. Four buttons sign in as Priya Menon, Arjun Das, Neha Kapoor, or Rohan Shah, using the same password check as this form. A parent press opens Today. The other three open Home. On the riverside rail, the Lab button returns to that picker so the room can switch without typing.

Link

Register a school

Signed out

Text link under the demo line. Opens Open a school.

Open a school

A brass key on a cream envelope beside a sprig of neem
This creates the school, the April–March year, and the owner login.

Creates the school, the current April–March year, and the owner login.

There is no board menu anywhere else. The choice made here is stored with the school. The new owner is signed in and lands on Home. The academic year is the current April-to-March year and is marked current. Later classes and exams attach to that year. There is no screen to add a second year.

Field

School name

Required

2 to 120 characters. This is the name in the top bar.

Field

Slug

Required

Placeholder riverside. 3 to 40 characters, lowercased, letters and digits with hyphens between words. It must be unique across every school on the service. A taken slug shows the already-used message. Autofill is off.

Menu

Board

Required, default CBSE

CBSE · the menu opens hereICSEState boardIBIGCSE

These five are the only values the form will save.

Field

City

Optional

Up to 80 characters. It may be left blank. It is stored and is not shown on Home.

Field

Your name

Required

The owner’s name, 2 to 80 characters. The browser may offer a name autofill. The first word of this name is used in the Home greeting.

Field

Email

Required

The owner’s sign-in email. It is lowercased. It must be unique inside the new school.

Field

Password

Required

10 to 72 characters. Shorter than 10 shows the weak-password message. The browser may offer a new-password autofill.

Button

Create school

Green save button

Becomes Saving…. On success the owner is inside the new school, on Home, with an empty register.

Link

Already have a login

Signed out

Text link back to Sign in.

Home

An empty staff room with tea glasses and a stack of exercise books
Staff land here. The four numbers are the day.

Here is the day, ready when you are. Open a number to deal with it.

Staff only. The heading is a greeting from the school clock plus the first name: Good morning before noon, Good afternoon before 5 pm, and Good evening after that. A teacher’s absent count, marked rows, and student count cover only the sections that teacher is assigned. Fees still due, buses not live, new enquiries, and the notice titles are the whole school for every staff role. The page is one read.

Card

Absent today

Rose. Links for owner, admin, and teacher

The count of children marked absent on the school’s today. An accountant sees the number and cannot press it. A press opens Attendance.

Card

Fees still due

Amber. Links for owner, admin, and accountant

The rupee sum of every open and partial invoice, shown as Indian rupees with two decimals. Void and paid invoices are outside the sum. A teacher sees the number and cannot press it. A press opens Fees.

Card

Buses not live

Sky. Links for owner, admin, and teacher

Buses with no location in the last three minutes, including a bus that has never reported. An accountant sees the number and cannot press it. A press opens Transport.

Card

New enquiries

Violet. Links for owner and admin

Enquiries whose status is still New. Teacher and accountant see the number and cannot press it. A press opens Admissions.

List

Latest notices

Everyone on Home

Up to five titles, newest first, with the time. The body is not on this card. If the school has published nothing, the card says No notices yet. Under the list, one quiet line gives the attendance rows saved today and the active students in view.

Link

Mark attendance

Owner, admin, teacher

Outline button inside Open a register. Opens Attendance. Hidden from the accountant.

Link

Record a payment

Owner, admin, accountant

Outline button. Opens Fees. Hidden from the teacher.

Link

Check the buses

Owner, admin, teacher

Outline button. Opens Transport. Hidden from the accountant.

Today

A breakfast table with a steel tiffin and a phone lying face down
The parent home. One screen for each child, and no buttons.

The day for each child, in one place.

This is the parent home, and it is the only home in that rail. The heading greets the parent by first name. Each linked child is a block: a round letter, the child’s name, then class, section, and admission number. The demo parent sees two children. A login with no child shows one panel: No child is linked to this login. A school admin can add a guardian password from the student page. There are no buttons on this page. It is a reading screen, loaded as one read.

Tile

Attendance

Mint, amber, or rose

The word for today in the school timezone: present, absent, late, or not marked. Present is mint. Late is amber. Absent is rose. Not marked stays mint, because the child has not been marked absent.

Tile

Announcement

Rose

The newest notice that is for the whole school or for this child’s section. The title is strong, and the body is the full text, including Hindi. Up to four older notices follow as title and time only. Five is the cap. If none exist, the tile says No notice for this class yet.

Tile

Fee

Amber when money is open, mint when clear

The open balance across open and partial invoices, or the word Clear. Under it, up to ten open invoices: title, due date, and the rupees left on that invoice. If nothing is open, No open fee. When payments exist, a small heading Received lists up to three newest receipts: rupees, the method in capitals, the reference, and the time. A parent cannot press through to the office receipt, and there is no Pay button.

Tile

Bus

Mint, amber, rose, or sky

The bus label, or No bus with Not assigned on a sky tile. A reporting bus is mint and says Live when the last location is three minutes old or newer. Older than that, the tile is amber and says Stale. A bus with no location at all is rose and says Not reporting. The age reads in seconds under a minute and a half, then minutes, then hours. If the gate has a boarding row, a last line says boarded or alighted and the time.

Tile

Results

Violet

The latest exam name, then each subject as score and maximum, such as 18/20. Whole numbers drop the decimal. If the child has no marks, No marks yet.

Students

An empty primary classroom with wooden desks and a blank green board
Search by admission number. The list stays at fifty rows.

Search by admission number first. The list stays at 50 rows so the page stays quick.

Owner, admin, teacher, and accountant. Teacher and accountant can search and open a child. They do not see Add student.

Field

Search

Optional

Placeholder ADM001 or Aanya. Blank shows the first 50 children by first name. A value matches an admission number that starts with it, or a first or last name that contains it. Matching ignores case. The address keeps the search, so a refresh shows the same list.

Button

Search

Outline

The label stays Search. It does not become Saving. It reloads this page with the query.

Link

Add student

Owner and admin

Green button. Opens Add student. Hidden from teacher and accountant.

Table

Admission, Name, Class, Status

Up to 50 rows

Admission number is the link to that child. Name is first and last. Class is the class name and the section name. Status is the stored word, active or withdrawn. This screen has no button to withdraw a child. An empty list says Nothing here yet.

One student

A canvas school satchel hanging on a chair in window light
Guardians, pickup, and consent live on this page.

The heading is the child’s name. The line under it is admission number, class, and section. Owner and admin see the three forms. Teacher and accountant see the facts and no forms. A missing id shows the ordinary missing page.

Card

Open balance

Amber if due, mint if clear

Rupees still open on this child. It is not a link.

Card

Authorised pickups

Sky

How many pickup people are on the list.

Card

Record

Violet

The status word, active or withdrawn.

Card

Bus

Mint, amber, rose, or sky

The bus label, or None. The second line is Live, Stale, or Not reporting, plus the age, using the same three-minute rule as Today. No assignment says No bus assigned on a sky card.

List

Guardians

Everyone who can open the child

Each guardian shows name, relation, phone or No phone, and email or No email. Consent chips sit under the name. A granted purpose reads photos yes, transport_share yes, or marketing yes. A withdrawal reads the purpose and no. Chips are not buttons.

List

Authorised pickup

Everyone who can open the child

Name, relation, and phone. If the list is empty: No pickup person yet. The gate then has only the guardian list.

Field

Add guardian · Name

Owner and admin, required

At least two characters.

Field

Add guardian · Relation

Optional

Placeholder mother. Left blank, the saved relation is the word guardian.

Field

Add guardian · Phone

Optional

Stored as typed. There is no format check on this field.

Field

Add guardian · Email

Needed only when a password is set

Lowercased. A password without a real email is rejected. The email must be unused in this school.

Field

Add guardian · Login password

Optional

Placeholder Optional, 10+ characters. Leave it blank and the guardian is a name on the child, with no login. Fill it with at least ten characters and a parent user is created, role parent, and linked to this guardian. Shorter than ten shows the weak-password message.

Button

Save guardian

Green save button

Becomes Saving…. The page returns to this child. The new guardian is marked primary.

Field

Add pickup · Name

Required

At least two characters.

Field

Add pickup · Relation

Optional

Left blank, the saved relation is the word relative.

Field

Add pickup · Phone

Optional

Stored as typed.

Button

Save pickup

Green save button

Becomes Saving…. Returns to this child. There is no button to remove a pickup person.

Menu

Consent · Guardian

Shown only after the first guardian exists

Lists every guardian on this child by name. It opens on the first guardian.

Menu

Consent · Purpose

Default Photos

Photos · opens hereShare transport locationMarketing

Those three purposes are the whole list. A new choice for the same purpose is added. Older chips remain, so the history of the choice stays visible.

Menu

Consent · Choice

Default Grant

Grant · opens hereWithdraw

Button

Record consent

Green save button

Becomes Saving…. Writes an audit row named grant or withdraw. Returns to this child.

Gender is asked when the child is added and is not printed on this page. Last name may be blank.

Classes

Green classroom doors along a quiet corridor
Classes belong to this April–March year. A section is a door with a teacher’s name on it.

Classes belong to the current academic year, April to March.

Owner and admin. The table lists class, section, and teacher. A class with no section yet does not take a table row. An empty table says Nothing here yet. A teacher cell with nobody assigned says Unassigned.

Field

Add class · Name

Required

Placeholder Class 6. 1 to 40 characters. The name must be unique inside the current year. A repeat shows the already-used message. The new class sorts after the ones already there.

Button

Add class

Green save button

Becomes Saving…. Returns to Classes. The class has no section until the next form is used.

Menu

Add section · Class

Required

Every class in the current year, by name. It opens on the first class. If the school has no class, the menu is empty and the save fails the field check.

Field

Add section · Section

Required

Placeholder A. 1 to 20 characters. Unique inside that class, so Class 4 can have one A.

Menu

Add section · Teacher

Default Unassigned

The first option is Unassigned, and it is selected. After it, every user whose role is teacher, by name. Admin and accountant do not appear. Choosing a teacher is what lets that teacher mark attendance, publish a notice, and file a note for this section only.

Button

Add section

Green save button

Becomes Saving…. Returns to Classes.

Attendance

A cloth-bound attendance register open on a desk, pages still blank
One section, one save. Present lights mint, absent lights rose, late lights amber.

One section, one save. The whole sheet is a single database statement.

Owner, admin, and teacher. A teacher with one section sees the class and section as a sentence, and the section menu is absent. A teacher with several sections, and every owner or admin, gets the menu. A teacher with no section sees No section is assigned to you yet. and no sheet.

Menu

Section

Hidden when a teacher has exactly one section

Class name and section name. It opens on the section in the address, or the first section the person may see. A teacher’s list is only their own sections.

Field

Date

A date control

Opens on the school’s today, or on the date already in the address if that date is a real calendar day. The browser draws the calendar. There is no separate term menu.

Button

Show

Outline

The label stays Show. It loads that section and that date. It does not save marks.

Choice

present, absent, late

One row per active child

Each row shows the child’s name and admission number, then three pills. The words are lowercase: present, absent, late. Present lights mint, absent lights rose, late lights amber. If the day is already saved, the saved pill is the one filled. If the day is empty, present is filled, so an untouched sheet means everyone present only after a save. A section with no active children says No active students in this section. and hides both save buttons. A sheet longer than 80 children is rejected.

Button

Save attendance

Green save button

Becomes Saving…. Writes one row per child for that date. Saving again updates the same day. It does not add a second row. The page comes back to the same section and date. The audit action is mark.

Button

Mark everyone present

Green save button, under the sheet

A separate form. It sets every active child in the section to present for that date, including children who were already absent or late. It becomes Saving…. The audit action is mark_all. It is hidden when the section has no active children.

Fees

An accounts desk with a rubber stamp, green ink, and blank receipts
Record the UPI reference from the bank alert. The receipt cannot be edited.

Record the UPI reference from the bank alert. The same row is what a payment gateway will insert later. Receipts cannot be edited.

Owner, admin, and accountant. The list is the 50 newest invoices. There is no search box on this page. Find a child from the student name in the row, or create the invoice with the admission number.

Table

Student, Invoice, Due, Balance, Status

50 newest

Student is the name. Invoice is a link to that receipt. Due is the date. Balance is billed minus received, in rupees. Status is a chip: open and partial are amber, paid is green, void is quiet. An empty table says Nothing here yet.

Field

New invoice · Admission number

Required

Placeholder ADM001. It must match an active child in this school. A missing or withdrawn child fails the check.

Field

New invoice · Title

Required

Placeholder Term 2 tuition. At least two characters. This title is what the parent sees on Today.

Field

New invoice · Amount in rupees

Required

Placeholder 45000. Whole rupees, or rupees and one or two paise, such as 45000.50. Up to eight digits before the dot. Zero, a minus, a comma, and a rupee sign are rejected. The books store paise. The screen shows rupees.

Field

New invoice · Due on

Required date

A calendar date. The new invoice starts as open, with nothing received.

Button

Create invoice

Green save button

Becomes Saving…. Returns to the fee list. It does not open the receipt. The audit action is create, on an invoice.

List

Fee heads

Read only

Name and rupee amount of each template. If the school has none, No templates yet. This card has no add button and no edit button. Enrol, on Admissions, can raise the first invoice from one of these names.

One receipt

A cream sheet with a single green rule, lying on linen
Print receipt is the paper. The rail and the forms stay off the page.

The page title in the browser tab is Receipt. The heading is the invoice title. The line under it is the child, the admission number, and the due date. Owner, admin, and accountant. A missing invoice shows the ordinary missing page.

Card

Billed

Sky

The invoice total in rupees.

Card

Received

Mint

The sum of payment rows. It moves only when a new payment is saved. A payment cannot be edited or deleted.

Card

Balance

Amber while money remains, mint at zero

Billed minus received.

Chip

Status

On the fourth card

open before any payment. partial after a payment that does not clear the bill. paid when the balance is zero. void after an unpaid invoice is voided. The chip is amber for open and partial, green for paid, and quiet for void. The status is written by the payment itself. There is no status menu.

Table

When, Method, Reference, Amount

Newest payment first

When is the school-timezone time. Method is UPI, NEFT, CHEQUE, or CASH. A blank reference prints as a dash. Amount is rupees.

Field

Record payment · Amount in rupees

Shown while the invoice is open and a balance remains

Required. The placeholder is the balance, so a bill of ₹24,000.00 offers 24000. The same rupee rules as a new invoice. An amount above the balance shows That amount is more than the balance due. A void invoice shows This invoice is void.

Menu

Record payment · Method

Default UPI

UPI · opens hereNEFTChequeCash

Those four are the only methods. There is no card, no wallet, and no payment-gateway button.

Field

Record payment · Reference

Optional, and permanent

Placeholder UPI transaction id. If it is filled, the same reference cannot be used again in this school, on any invoice. A repeat shows the already-used message. An empty reference is allowed, and empty references are not treated as duplicates. Cash often has no reference. UPI should have the bank alert id.

Button

Save receipt

Green save button

Becomes Saving…. Adds one payment row and returns to this receipt. The audit action is pay. When the balance is zero, or the invoice is void, this form is gone. In its place a panel titled Receipt closed says paid and void invoices do not take new payments, and a repeat UPI reference is rejected.

Button

Print receipt

Outline, only after the first payment

The label stays Print receipt. It opens the browser’s print dialog. It does not save a file by itself. On paper the rail, the top bar, and every form disappear. The school name is printed in green at the top. The title, the child, the three money figures, the status, and the payment table remain. A receipt with no payments hides this button, because there is nothing yet to hand to a parent.

Button

Void unpaid invoice

Green save button, only when nothing has been received

Shown only while status is not void and received is zero. It becomes Saving…. The invoice is marked void and will not take a payment afterwards. The audit action is void. Once a single rupee is received, this button disappears. There is no undo.

Notices

A deep green notice board with four blank cream sheets pinned to it
Plain text, so a parent can read it on a slow phone.

Plain text, so a parent can read it on a slow phone. Leave the section empty to send it to the whole school.

Owner, admin, and teacher. The left column is the 50 newest notices. Each card is a title, then either Whole school or the class and section, then the time, then the body in full. Hindi stays Hindi. There is no edit button and no delete button.

Field

Publish · Title

Required

2 to 140 characters.

Field

Publish · Message

Required

A tall box, four rows, up to 2000 characters. This is the body the parent reads on Today.

Menu

Publish · Section

Default depends on the role

Owner and admin open on Whole school, then every section they can see, as class and section. A teacher does not see Whole school. The menu opens on that teacher’s first section, and the list is only their sections. A teacher who posts without a section is rejected. A teacher cannot publish into another teacher’s class.

Button

Publish notice

Green save button

Becomes Saving…. The notice appears at the top of the list and on Today for the right children. The audit action is publish, on a notice.

Class notes

An open notebook, a fountain pen, and a phone lying face down
Paste the message already sent. The app does not sign into WhatsApp.

Paste the message you sent on WhatsApp. It is filed under the tab you name, for that class, and turned into a formatted sheet.

Owner, admin, teacher, and parent. The app does not sign into WhatsApp and does not read the phone. The teacher pastes the message they already sent. Parents see the notes for the classes of their own children, including a class that has no note yet. Accountants have no Notes door. A login with no class says No class is linked to this login yet. The list keeps the 50 newest notes the person is allowed to see.

Menu

Class

Owner, admin, or a teacher with more than one section

Class and section. It opens on the class in the address, or the first class. A teacher with one section, and a parent with one class, sees the class name as a sentence and no menu. A parent with children in two classes gets the menu and the Show button, and does not get the filing form.

Button

Show

Outline, beside the class menu

The label stays Show. It loads that class. Hidden when there is no menu.

Link

Tabs

One link per tab name

If the class has notes, each distinct tab is a link. The open tab is marked. If the class has no notes, a single tab reads Homework. Pressing a tab changes the address and does not save anything. Tabs wrap onto extra lines on a narrow screen.

Card

A note

Everyone who can see the class

A small line in capitals: class, section, and tab. Then the title, the author name or the word Teacher, and the time. The body keeps the line breaks of the message. An empty tab says No note in this tab yet.

Link

Open PDF

Outline button on each note

Opens the sheet in the browser. An English note is a small PDF. A note typed in any of the 22 scheduled languages, or in French, Spanish, or German, opens as a page in that same writing, so the letters are not replaced. A note the person may not see returns a not-found response. Parents, teachers of the class, owners, and admins may open it.

Field

File a message · Tab

Owner, admin, teacher. Hidden from parents

Required. 1 to 40 characters. It opens already filled with the tab on screen. As the teacher types, the browser can suggest tab names that already exist on this class. A new name creates a new tab. Extra spaces collapse to one space.

Field

File a message · WhatsApp message

Required

Eight rows, up to 4000 characters. The placeholder is a short homework list. The first line becomes the title when it is 2 to 80 characters, more text follows it, and the first line does not end with a full stop. Otherwise the tab name is the title and the whole message is the body.

Button

Make the note

Green save button

Becomes Saving…. Files the note on the class that is open, under the tab that was typed, and returns to that tab. A teacher can file only on a section they teach. The audit action is publish, on a class note. There is no edit button and no delete button.

Transport

A cream and green school bus under a large rain tree by an open gate
Live means a location in the last three minutes. After that, the screen says stale.

A location older than three minutes is stale. The screen says so instead of showing a pin that is no longer true.

Owner, admin, and teacher. The teacher may record boarding. Routes, buses, assignment, and location are owner and admin only. There is no map on the page. The truth is the word Live, Stale, or Not reporting.

Table

Bus, Route, Riders, Location, Age

Every bus

Bus is the label, a dot, and the registration. Route is the route name. Riders is how many children are assigned, not how many boarded today. Location is a chip: Live green, Stale amber, Not reporting rose. Age is the same seconds, minutes, and hours as Today, or No location yet.

Field

Boarding · Admission number

Owner, admin, teacher. Required

Must match a child. An unknown number fails the check.

Menu

Boarding · Bus

Required

Every bus by its label. It opens on the first bus. The same menu shape is used on Assign a student and on Record a location.

Menu

Boarding · Event

Default Boarded

Boarded · opens hereAlighted

This is the line the parent sees as Last gate on Today.

Button

Save boarding

Green save button

Becomes Saving…. Adds an event. It does not remove the previous one. The audit action is the event word, boarded or alighted.

Field

Assign a student · Admission number

Owner and admin

The child moves onto this bus. A child already on a bus is moved, not duplicated. One child, one bus.

Button

Assign

Green save button

Becomes Saving…. The audit action is assign, on a bus.

Field

Record a location · Latitude

Owner and admin

Placeholder 12.9352. From −90 to 90.

Field

Record a location · Longitude

Owner and admin

Placeholder 77.6245. From −180 to 180. A fresh ping makes that bus Live for three minutes.

Button

Save ping

Green save button

Becomes Saving…. This write is not copied into the audit list, so a bus that reports often does not flood the register.

Field

Route · Name

Owner and admin

Placeholder East. At least two characters.

Button

Add route

Green save button

Becomes Saving…. The audit action is create, on a route.

Menu

Bus · Route

Required

Every route by name. It opens on the first route. A school with no route cannot add a bus until a route exists.

Field

Bus · Label

Required

Placeholder Bus 3. At least one character. This is the name parents see.

Field

Bus · Registration

Required

Placeholder KA-01-AB-1000. At least four characters. It is stored in capitals.

Button

Add bus

Green save button

Becomes Saving…. The audit action is create, on a vehicle. There is no button to retire a bus.

Admissions

A blank manila folder and a pen on an admissions desk
Enrol creates the student in a class of the same name.

Enrol creates the student in a class of the same name, and can raise the first invoice from a fee head.

Owner and admin. The table is the 50 newest enquiries. The note typed on the form is stored and is not shown in the table.

Table

Child, Guardian, Class, Status, Move

50 newest

Guardian is the name, a dot, and the phone. Status is a chip: new is amber, contacted is quiet, enrolled is green, closed is quiet. An enrolled row stops offering menus. It says Student record created.

Menu

Move · status

On every enquiry that is not enrolled

NewContactedClosed

It opens on the enquiry’s current status. Enrolled is not in this menu. The only way to enrol is the Enrol button. Posting an enrolled status by hand shows Use Enrol to create the student.

Button

Update

Outline, beside the status menu

The label stays Update. It saves the status and returns to the list. The audit action is the status word itself: new, contacted, or closed.

Menu

Move · first invoice

Default No first invoice

The first option is No first invoice. After it, every fee-head name. Choosing one raises an invoice titled with that name, for that template’s amount, due fourteen days from the school’s today.

Button

Enrol

Green save button

Becomes Saving…. It finds a class whose name matches the enquiry, ignoring case, or whose name is Class plus the enquiry text. It uses the first section of that class. No class shows Add a class with that name, then enrol. A class with no section shows That class needs a section before a student can join it. A second press on an enrolled enquiry shows This enquiry is already enrolled.

The child is created active. The first word of the child’s name is the first name, and the rest is the last name. The admission number is the next ADM number, padded to three digits, such as ADM004. The guardian is saved with the relation guardian and is primary. There is no parent password yet. That is added later on the student page. The browser then opens the new child.

Field

New enquiry · Child

Required

At least two characters.

Field

New enquiry · Guardian

Required

At least two characters.

Field

New enquiry · Phone

Required

At least eight characters. Digits are expected, and the check is the length.

Field

New enquiry · Class

Optional

Placeholder Class 1. Left blank, the stored class is the word Unspecified, which will not match a real class until it is corrected. Enrol matches this text to a class name.

Field

New enquiry · Note

Optional

Up to 2000 characters. Kept on the enquiry. Not printed in the table and not copied onto the student.

Button

Save enquiry

Green save button

Becomes Saving…. The new row starts as new. The audit action is create, on an enquiry.

Exams

A stack of blank answer booklets with a green pencil and a red pencil
Empty cells are left unchanged. A filled cell replaces that subject.

Enter marks for one section. Empty cells are left unchanged.

Owner, admin, and teacher. Teachers enter marks for their own sections. Only owner and admin see the Subject and Exam forms. A school with no exam or no section shows Add an exam and a subject to start a mark sheet. and hides the grid.

Menu

Exam

Everyone on this page

Exam names, in name order. It opens on the exam in the address, or the first exam.

Menu

Section

Everyone on this page

Class and section. A teacher sees only their sections. It opens on the section in the address, or the first allowed section.

Button

Show

Outline

The label stays Show. It loads the grid. It does not save.

Table

The mark grid

One row per child, one column per subject

The first column is the child’s name. Each subject is a small box. A saved mark is already filled. A blank box is skipped, so clearing the screen does not wipe a mark that was left untouched. Typing a mark replaces that subject for that child on the next save. The box accepts decimals.

Field

Out of

Default 100

The maximum stored with every mark in this save. It must be greater than zero and at most 1000. A typed mark below zero, or above this maximum, is rejected and nothing in that save is written.

Button

Save marks

Green save button

Becomes Saving…. If every box that was edited is blank, the page simply returns and writes nothing. Otherwise the filled boxes are saved and the page returns to the same exam and section. Saving again updates those subjects. The audit action is save, on marks. A teacher cannot save marks for another teacher’s section.

Field

Subject · Name

Owner and admin

At least two characters. Subjects are for the whole school, not for one class. A repeated name is rejected.

Button

Add subject

Green save button

Becomes Saving…. The new subject becomes a column on the grid.

Field

Exam · Name

Owner and admin

Placeholder Term 2. At least two characters. The exam belongs to the current academic year.

Button

Add exam

Green save button

Becomes Saving…. The new exam appears in the Exam menu. Parents see the latest exam that has marks, on the Results tile.

Staff

A staff room table set with tea, ready before the first bell
Parents are not created here. A parent login is tied to a child.

Parents are created from a student page so the login is tied to a child. Password hashes are not readable from this screen.

Owner and admin. The table is up to 100 people: name, email, and role, ordered by role then name. Roles you will see include owner, admin, teacher, accountant, and parent, because a parent user lives in the same list once a password has been set. The table does not show the phone, and it does not show a password.

Field

Add staff · Name

Required

2 to 80 characters.

Field

Add staff · Email

Required

A real email, lowercased, unique in this school.

Field

Add staff · Phone

Optional

Up to 15 characters.

Menu

Add staff · Role

Default Teacher

Teacher · opens hereAccountantAdmin

Owner is not in the menu. A second owner is not created here. Parent is not in the menu. A parent is created from the student page.

Field

Add staff · Password

Required

10 to 72 characters. Shorter than 10 shows the weak-password message. It is stored as a one-way scrypt hash. The screen never shows it again.

Button

Create login

Green save button

Becomes Saving…. Returns to Staff. The audit action is create, on staff. There is no button on this page to disable a login or to change a role.

Audit

A closed cloth ledger with a deep green ribbon on a wooden shelf
Writes only. Opening a page is not logged.

Writes only. Opening a page is not logged, so the register stays small and fast.

Owner and admin. There is no filter, no search, and no button. The table is the 50 newest writes: When, Who, Action, and Record. Who is the person’s name, or System when the row has no actor. When uses the school timezone.

When you pressActionRecord
Add classcreateclass
Add sectioncreatesection
Create logincreatestaff
Save studentcreatestudent
Save guardiancreateguardian
Save pickupcreatepickup
Record consentgrant or withdrawconsent
Save attendancemarkattendance
Mark everyone presentmark_allattendance
Create invoicecreateinvoice
Save receiptpaypayment
Void unpaid invoicevoidinvoice
Publish noticepublishnotice
Make the notepublishclass_note
Add routecreateroute
Add buscreatevehicle
Assignassignbus
Save boardingboarded or alightedboarding
Save enquirycreateenquiry
Update an enquirynew, contacted, or closedenquiry
Enrolenrolenquiry
Save markssavemarks

Save ping is a write the parent can feel, because the bus becomes Live, and it is left out of this list on purpose. Sign in, Sign out, Search, and Show are not writes of school records, so they are not listed either.

Every message

A failed save stays on the same screen and prints one sentence in a rose band. These are the sentences, in the words the school sees.

WhenThe sentence
School, email, or password do not matchSchool, email, or password did not match.
Password is shorter than 10 charactersUse at least 10 characters.
Nine sign-in tries inside ten minutesToo many attempts. Wait a few minutes.
A slug, email, admission number, class name, section name, subject, or payment reference is already usedThat value is already used in this school.
A field is missing, too long, or not a real choiceCheck the fields and try again.
The role may not do that, including a teacher filing a note for another classYou cannot do that.
The save did not land, and none of the clearer reasons fitThat did not save. Try again.
The child or the invoice was not foundThat record was not found.
The payment is larger than the balanceThat amount is more than the balance due.
A payment is posted to a void invoiceThis invoice is void.
Enrol cannot find a class with that nameAdd a class with that name, then enrol.
The class exists and has no sectionThat class needs a section before a student can join it.
Enrol is pressed on an enquiry that is already enrolledThis enquiry is already enrolled.
Someone tries to mark an enquiry enrolled from the status menuUse Enrol to create the student.
Add student is opened before any section existsCreate a class and section first.
A signed-in page fails to loadThis page did not load. The data request failed. Your other records were not changed.
Today has no linked childNo child is linked to this login. A school admin can add a guardian password from the student page.
Notes has no linked classNo class is linked to this login yet.
Attendance has no section for this teacherNo section is assigned to you yet.
The attendance section has no active childrenNo active students in this section.
A table has no rowsNothing here yet.
Home has no noticesNo notices yet.
The pickup list is emptyNo pickup person yet. The gate then has only the guardian list.
A fee tile has no open invoiceNo open fee.
A class has no noticeNo notice for this class yet.
A child has no marksNo marks yet.
A note tab is emptyNo note in this tab yet.
Fee templates have not been setNo templates yet.
Exams are not readyAdd an exam and a subject to start a mark sheet.
The receipt can take no more moneyPaid and void invoices do not take new payments. A repeat UPI reference is rejected.

Loading, empty, and print

An empty school corridor in late sun, green doors closed
When the day is done, the page is quiet. The records that were saved stay saved.
Screen

While a page is opening

Signed in

Three quiet bars stand in for the heading, the line, and the card. A screen reader hears Loading. The page does not say the word Loading in print. The bars are drawn by the page itself. They are not a downloaded picture.

Button

Try again

When a signed-in page fails

Green button under the heading This page did not load. It asks for the same page again. Records that were already saved stay saved.

Paper

What print keeps

The receipt page

Print receipt is the only print button in the product. The paper drops the dark rail, the top bar, the record-payment form, and the void button. It keeps the school name, the invoice title, the child, billed, received, balance, the status chip, and the payment table. Shadows are left off so a photocopier stays readable.

The menus stay in English. A school can type any of the 22 scheduled languages, and French, Spanish, or German, and the letters stay as typed. Segoe UI draws English, French, Spanish, German, Urdu, Kashmiri, and Sindhi. Nirmala UI draws Assamese, Bengali, Bodo, Dogri, Gujarati, Hindi, Kannada, Konkani, Maithili, Malayalam, Manipuri, Marathi, Nepali, Odia, Punjabi, Sanskrit, Santali, Tamil, and Telugu. Zero stays a zero. The school day itself does not fetch a font or a chart. These photographs belong to the tour. Colour is the status: mint when the day is clear, rose for an absence or a notice, amber for money or a stale bus, sky for the bus and the student list, violet for notes and results.

A school asking for a second product will not find it on these doors. There is no online payment wizard, no late-fee column, no pie chart, no inbox, no calendar, no leave form, no diary, and no discussion board. The day on the table is the attendance, the notice, the receipt, and an honest bus.