Admissions
Offers and enrollment workflow
The last two steps of admissions and the most consequential handover in the product: issuing an offer, tracking the family’s answer, and converting an accepted offer into a student, a guardian, and a fee ledger.
Admissions guide for day and boarding schools.
Last updated August 29, 2026
Enrolment is the point where an applicant stops being an admissions record and becomes a student, a guardian, and a fee ledger, all in one action. It is worth understanding as three separate steps that happen in sequence rather than as one button, because the first is transactional and the two that follow are not: the student and class membership are created together and either both succeed or neither does, while the guardian provisioning and the fee generation run afterwards and can each fail on their own without undoing the enrolment.
Issuing the offer
- Offers are issued at /admissions/offers, singly or in bulk, and only for applications that are shortlisted, selected, or waitlisted.
- Required documents must already be verified. The check runs here, not just at enrolment, and names whatever is missing.
- Seats are checked twice over: against the cycle intake target for the grade and stream, and against physical class capacity, where outstanding pending and accepted offers already count as reserved.
- The offer takes a number of the form OFF-YYYY-NNNNN, an offered class and stream, and an acceptance deadline. The application moves to offer sent and the family is emailed a link to the offer letter PDF.
- One active offer per application: a second is refused while a pending or accepted one exists.
The family answers from the tracking page, proving who they are with the parent email and the student date of birth, or a member of staff records the answer for them. Accepting past the deadline is refused and marks the offer expired on the spot. Declining releases the seat and triggers a check for waitlisted applicants on that grade and stream.
What enrolment does, in order
| Step | Result | If it cannot complete |
|---|---|---|
| Checks | Offer must be accepted, the application must be at offer accepted, required documents verified, and a section of the offered grade must have a free seat. | Nothing is created and the reason is named. |
| Student and class membership | A student account with a generated registration number, roll number, grade, section and stream, plus an active membership for the cycle academic year. A one-time initial password is returned and the account must change it at first sign-in. | The whole step rolls back together. |
| Guardian | A primary guardian record from the application fields, and a portal login with a welcome sign-in link. | The guardian is still saved when the email is already in use; only the login is skipped. |
| Fees | Fee instances for the cycle academic year from the existing structures, and a notification to the family. | No structures for that year means no fee lines and no error. The family is only notified when a portal login exists. |
Common questions
Quick answers in plain language.
A sibling was enrolled and the guardian has no portal login. What went wrong?+
Nothing failed — this is how it works. The guardian email already belongs to the first child’s portal account, and a login email must be unique, so enrolment saves the guardian record and reports that it was created without a portal because the email is already used. There is no screen that adds a second child to an existing login, so the family needs a second guardian record on a different address.
Offers past their deadline are still pending. Why has nothing expired?+
Expiry is a scheduled job, not a background timer. It only runs when the daily cron script is scheduled with the admissions cron secret set. Until then, lapsed offers stay pending and keep reserving seats in the capacity check, which is usually first noticed as "no seats available" for a grade that looks half empty. Waitlist auto-promotion needs a further flag on top.
What happens if someone enrols the same accepted offer twice?+
The second attempt does not create a duplicate. It recognises the application is already enrolled, finds the existing student, returns success marked as idempotent, and retries the guardian and fee steps. That retry is also the supported repair when the first enrolment created the student but the parent or fee follow-up failed.
How do I enroll a student after an offer is accepted?+
Verify required documents on the application, confirm offer status ACCEPTED, then enroll at /admissions/enrollments. This creates the student user, class membership, provisions fees, and sends parent portal welcome email when SMTP is configured.
Why is enrollment blocked for an accepted offer?+
Check: documents verified, class has seats, no duplicate student with same parent email + registration number, and active class section exists for offered grade/stream.
Related searches
School leaders and IT teams often search for: how to offer enroll workflow in school management software, best admissions software for schools for K-12 schools, Schoolyi offer enroll workflow guide, offer enroll workflow step by step, online school admission system, school enrollment software, and application tracking portal.

