Custom Fields

Every field the school has added to a form beyond the ones shipped with the product — defined once here, then bound to as many modules as need it. Change a field once and every form carrying it follows.

3 drafts awaiting publish
Custom fields184 across all modules
Active modules13 of 14
Published168 Live
Drafts16 Unpublished
Last updated31 Jul 2026 · Ms. Latha Rao
Section 01

Module workspace

Where the fields actually live. Each module is a schema of its own — open one to add, reorder or retire the fields on its forms.

Students

student.custom
Live
32fields
11 required21 optional

Admissions

admission.custom
2 drafts
24fields
14 required10 optional

Teachers

teacher.custom
Live
18fields
7 required11 optional

Parents

parent.custom
Live
14fields
4 required10 optional

HR

hr.custom
Live
21fields
10 required11 optional

Fees

fees.custom
1 warning
12fields
4 required8 optional

Library

library.custom
Live
9fields
2 required7 optional

Transport

transport.custom
Live
11fields
5 required6 optional

Hostel

hostel.custom
Live
10fields
4 required6 optional

Inventory

inventory.custom
Live
13fields
7 required6 optional

Medical

medical.custom
Restricted
15fields
9 required6 optional

AI Modules

ai.custom
Beta
5fields
1 required4 optional
Section 02

Field builder

Pick a type, name it, and it becomes reusable everywhere. Twenty-seven input types are supported — the type decides what is stored, not just how it looks.

Field type palette

Every input type the builder can produce

Live preview

Exactly how the field renders on the Students form

Live
Blood Group *

Collected once at admission and shown on the medical record.

Guardian Occupation

Optional. Used by the scholarship module when means-testing.

Transport Required *

Turning this on reveals Pickup Point and Route below.

Blood Group

student.blood_group
Dropdown Required Published

Guardian Occupation

parent.occupation
Text Optional Published

Annual Family Income

admission.family_income
Currency Required Min / Max

Parent Signature

admission.signature
Signature Required Draft

Pickup Point

transport.pickup_point
Location Conditional Published

Allergies

medical.allergies
Tags Optional Published

Interview Rating

admission.interview_score
Rating Optional Published

Device Metadata

ai.device_meta
JSON Read only Beta
Section 03

Validation center

What a field will and will not accept. Every rule here is enforced server-side too — the form is the reminder, not the guard.

Required

The form will not submit without it.

applied to 68 fields

Minimum length

Rejects values shorter than the floor.

length 3

Maximum length

Caps what is stored, silently truncating nothing.

length 120

Regex

Pattern match for codes and identifiers.

^[A-Z]{2}\d{6}$

Unique

No two records may carry the same value.

scope per module

Read only

Shown, never edited from the form.

applied to 9 fields

Hidden

Stored and posted, but never rendered.

applied to 4 fields

Conditional logic

Required only when another answer says so.

if transport = yes

Default value

What the field holds before anyone types.

default "India"

Placeholder

An example, never a substitute for the label.

"e.g. Civil engineer"

Help text

The sentence below the input that saves a call.

on 41 fields

3 validation warnings

Rules that contradict each other or never fire.

Section 04

Form layout

Fields exist in a library; forms decide the order they are met in. Grouping, sectioning and column width are set here, once, per module.

Field groups

Reusable bundles of related fields

IdentityName, DOB, gender, blood group
6
GuardianOccupation, income, contact
5
LogisticsTransport, hostel, meal plan
4
ConsentSignature, declarations
Draft

Sections & tabs

How a long form is broken up

Sections per formHeaded blocks with their own intro
5
Tabbed layoutUsed when a form exceeds 20 fields
Collapse optionalOptional sections start folded
Step wizardAdmissions only
4 steps

Columns & ordering

Width a field takes, and where it sits

Desktop grid
Tablet grid
Mobile grid
Drag to reorderOrder carries to every form using the field
On

Visibility & preview

Who sees the form, and how it is checked

Visibility rulesPer role, per branch, per class
18 rules
Responsive layoutVerified at 3 breakpoints
Passing
Preview modeRender as a chosen role
Section 05

Dynamic rules

Fields that react to each other. Each rule is one when and one then — kept plain on purpose, because a form that behaves unpredictably is worse than a long one.

26 rules active

Conditional visibility

9
transport_required is Yes
show pickup_point, route

Field dependencies

6
state changes
reload options for city

Calculated fields

4
dob is set
age = years since dob

Auto population

5
sibling_id is matched
copy address and guardian

Workflow triggers

2 draft
family_income < 250000
open a scholarship review

Role-based visibility

7
viewer role is Parent
hide medical.notes

Default rules

3
a new admission opens
country = "India"

Business rules

1 conflict
hostel_required is Yes
require a local guardian
Section 06

Field lifecycle

What happened to student.blood_group from first draft to live.

  • Field created

    Dropdown with 8 options, drafted by Ms. Latha Rao.

  • Validation added

    Marked required; value restricted to the option list.

  • Assigned to module

    Bound to Students and Medical; placed in the Identity group.

  • Published

    Live on 4 forms. 1,284 records backfilled from admissions.

  • Updated

    Help text rewritten; "Unknown" added as an option.

  • Configuration active

    No pending changes. Next review scheduled for the 2027 intake.

Section 07

Field insights

What the schema looks like from a distance — what is carrying weight, and what is quietly dead.

Most used fields

01Blood Group4 forms
02Guardian Occupation3 forms
03Emergency Contact3 forms
04Annual Family Income2 forms

Recently modified

Parent Signature1 Aug
Device Metadata1 Aug
Blood Group31 Jul
Pickup Point27 Jul

Unused fields

Defined, published, and empty on every record for 12 months.

01Former School Code0 values
02Library Card Colour0 values
03Locker Preference2 values

Duplicate fields

Same meaning, two definitions. Merging keeps both histories.

Mobile No. Contact Number
Aadhaar National ID

Validation warnings

Min length 8 > max length 6Roll No.
Regex never matches option listSection
Required but hidden by a ruleRoute

Recommendations

Add help text to 11 required fields
Archive 3 unused fields
Give System its first field group
Section 08

Reusable templates

A whole form, packaged. Duplicate one for a new branch or a new intake year instead of rebuilding thirty fields by hand.

Student Registration

tpl.student_registration
32Fields
5Sections
2Modules

Admission Form

tpl.admission
24Fields
4Sections
3Modules

Teacher Profile

tpl.teacher_profile
18Fields
3Sections
2Modules

Parent Information

tpl.parent_info
14Fields
2Sections
2Modules

Medical Record

tpl.medical_record
15Fields
3Sections
2Modules

Transport Registration

tpl.transport_reg
11Fields
2Sections
2Modules

Hostel Registration

tpl.hostel_reg
10Fields
2Sections
2Modules

Employee Profile

tpl.employee_profile
21Fields
4Sections
2Modules
Section 09

How custom fields behave

The rules the builder itself follows, worth reading once before adding a field that thousands of records will carry.

A new field is empty on every record that already exists. Marking it required does not retroactively invalidate them — it only blocks the next save. If the value matters historically, backfill it from an import before publishing rather than after.

Only widening conversions are allowed — Text to Rich Text, Number to Currency. Anything narrower would discard stored values, so the builder asks you to create a new field and migrate instead. The old field can then be archived with its history intact.

Archiving removes a field from every form but keeps the stored values readable in reports and exports. Deleting drops the column. A field that has ever held real data should be archived, not deleted — the delete dialog says so, and asks you to type the field name.

Fields in the Medical module and any field flagged sensitive are readable only by roles granted that permission explicitly. They are excluded from generic exports, from AI context, and from the parent portal unless the field is marked parent-visible one by one.
Module

Students

32 custom fields bound to student.custom, arranged across 5 sections: Identity, Guardian, Logistics, Consent, Notes.

Total fields32
Required11 Enforced
Optional21
Namespacestudent.custom
Last modified31 Jul 2026

Blood Group

student.blood_group
Dropdown Required Published

Emergency Contact

student.emergency_contact
Phone Required Published

Sibling Roll No.

student.sibling_roll
Autocomplete Optional Published

House / Team

student.house
Radio Button Optional Published

Locker Preference

student.locker_pref
Dropdown Optional Draft

Photo Consent

student.photo_consent
Toggle Required Published
Module

Admissions

24 custom fields bound to admission.custom, arranged across 4 sections: Applicant, Guardian, Prior schooling, Consent.

Total fields24
Required14 Enforced
Optional10
Namespaceadmission.custom
Last modified29 Jul 2026

Annual Family Income

admission.family_income
Currency Required Published

Previous School

admission.prev_school
Text Required Published

Transfer Certificate

admission.tc_document
File Upload Required Published

Interview Rating

admission.interview_score
Rating Optional Published

Parent Signature

admission.signature
Signature Required Draft

Entrance Test Date

admission.entrance_date
Date Optional Published
Module

Teachers

18 custom fields bound to teacher.custom, arranged across 3 sections: Identity, Qualification, Employment.

Total fields18
Required7 Enforced
Optional11
Namespaceteacher.custom
Last modified24 Jul 2026

Highest Qualification

teacher.qualification
Dropdown Required Published

Specialisation

teacher.specialisation
Tags Optional Published

Years of Experience

teacher.experience_years
Number Required Published

Publications

teacher.publications
Rich Text Optional Published

Portfolio URL

teacher.portfolio_url
URL Optional Published

Joining Letter

teacher.joining_letter
File Upload Required Published
Module

Parents

14 custom fields bound to parent.custom, arranged across 3 sections: Contact, Occupation, Portal access.

Total fields14
Required4 Enforced
Optional10
Namespaceparent.custom
Last modified22 Jul 2026

Guardian Occupation

parent.occupation
Text Optional Published

Workplace Address

parent.work_address
Textarea Optional Published

Preferred Language

parent.pref_language
Dropdown Required Published

Alternate Contact

parent.alt_contact
Phone Optional Published

Portal Access

parent.portal_access
Toggle Required Published

Relationship

parent.relationship
Radio Button Required Published
Module

HR

21 custom fields bound to hr.custom, arranged across 4 sections: Personal, Payroll, Compliance, Documents.

Total fields21
Required10 Enforced
Optional11
Namespacehr.custom
Last modified30 Jul 2026

Employee Grade

hr.grade
Dropdown Required Published

PAN Number

hr.pan
Text Required Published

Bank IFSC

hr.ifsc
Text Required Published

Probation End

hr.probation_end
Date Optional Published

Shift Pattern

hr.shift
Multi Select Optional Published

Background Check

hr.bg_check
Toggle Required Draft
Module

Fees

12 custom fields bound to fees.custom, arranged across 3 sections: Billing, Concession, Reference.

Total fields12
Required4 Enforced
Optional8
Namespacefees.custom
Last modified18 Jul 2026

Concession Reason

fees.concession_reason
Textarea Optional Published

Concession Percent

fees.concession_pct
Percentage Optional Published

Sponsor Name

fees.sponsor
Text Optional Published

Cheque Date

fees.cheque_date
Date Optional Published

Billing Contact

fees.billing_contact
Email Required Published

Roll No.

fees.roll_ref
Text Required Warning
Module

Library

9 custom fields bound to library.custom, arranged across 2 sections: Catalogue, Membership.

Total fields9
Required2 Enforced
Optional7
Namespacelibrary.custom
Last modified12 Jul 2026

Shelf Code

library.shelf_code
Text Required Published

Edition Year

library.edition_year
Number Optional Published

Cover Image

library.cover_image
Image Upload Optional Published

Genre Tags

library.genre_tags
Tags Optional Published

Reference Only

library.reference_only
Checkbox Optional Published

Library Card Colour

library.card_colour
Color Picker Optional Warning
Module

Transport

11 custom fields bound to transport.custom, arranged across 3 sections: Route, Vehicle, Student assignment.

Total fields11
Required5 Enforced
Optional6
Namespacetransport.custom
Last modified27 Jul 2026

Pickup Point

transport.pickup_point
Location Optional Published

Pickup Time

transport.pickup_time
Time Required Published

Fitness Expiry

transport.fitness_expiry
Date Required Published

GPS Device ID

transport.gps_device
Text Required Published

Escort Required

transport.escort
Toggle Optional Published

Seat Capacity

transport.seat_capacity
Number Required Published
Module

Hostel

10 custom fields bound to hostel.custom, arranged across 3 sections: Room, Warden, Guardian.

Total fields10
Required4 Enforced
Optional6
Namespacehostel.custom
Last modified09 Jul 2026

Room Preference

hostel.room_pref
Dropdown Optional Published

Local Guardian

hostel.local_guardian
Text Required Published

Local Guardian Phone

hostel.local_guardian_phone
Phone Required Published

Dietary Needs

hostel.dietary
Multi Select Optional Published

Check-in Date

hostel.checkin
Date & Time Required Published

Curfew Exemption

hostel.curfew_exempt
Checkbox Optional Published
Module

Inventory

13 custom fields bound to inventory.custom, arranged across 3 sections: Item, Supplier, Warranty.

Total fields13
Required7 Enforced
Optional6
Namespaceinventory.custom
Last modified15 Jul 2026

Asset Tag

inventory.asset_tag
Text Required Published

Purchase Value

inventory.purchase_value
Currency Required Published

Warranty Expiry

inventory.warranty_expiry
Date Required Published

Supplier

inventory.supplier
Autocomplete Required Published

Condition Photo

inventory.condition_photo
Image Upload Optional Published

Serial Numbers

inventory.serials
JSON Optional Published
Module

Medical

15 custom fields bound to medical.custom, arranged across 3 sections: History, Visit, Consent.

Total fields15
Required9 Enforced
Optional6
Namespacemedical.custom
Last modified28 Jul 2026

Allergies

medical.allergies
Tags Optional Published

Chronic Conditions

medical.chronic
Multi Select Optional Published

Doctor Contact

medical.doctor_contact
Phone Required Published

Last Vaccination

medical.last_vaccination
Date Required Published

Treatment Notes

medical.notes
Rich Text Required Published

Consent Signature

medical.consent_sign
Signature Required Published
Module

AI Modules

5 custom fields bound to ai.custom, arranged across 2 sections: Context, Telemetry.

Total fields5
Required1 Enforced
Optional4
Namespaceai.custom
Last modified01 Aug 2026

Device Metadata

ai.device_meta
JSON Optional Draft

Risk Override Reason

ai.risk_override
Textarea Optional Draft

Model Consent

ai.model_consent
Toggle Required Published

Feedback Rating

ai.feedback_rating
Rating Optional Published

Correlation ID

ai.correlation_id
Hidden Field Optional Published
Module

System

Platform-level fields that sit outside any single module — branch metadata, tenant flags, integration keys.

No custom fields yet

System is the only module without a field of its own. Anything added here is available to every other module automatically, so start narrow.

History

Archived fields

Off every form, but the values are still readable in reports and exports. Restoring a field puts it back where it was, with its history unbroken.

Former School Code

admission.former_school_code
TextArchived

Library Card Colour

library.card_colour
Color PickerArchived

Bus Pass Serial

transport.bus_pass_serial
NumberArchived

Midday Meal Opt-in

student.midday_meal
CheckboxArchived

Covid Declaration

medical.covid_declaration
TextareaArchived

Locker Photo

hostel.locker_photo
Image UploadArchived
History

Audit history

Every change to the schema, who made it and when. Retained for seven years and exportable alongside the configuration.

Recent changes

Last 30 days · 312 entries in total

  • Device Metadata drafted

    New JSON field added to AI Modules by Mr. Arun Prakash. Not yet published.

  • Blood Group updated

    Option "Unknown" added; help text rewritten. Affected 4 forms, 1,284 records.

  • Background Check validation changed

    Marked required on HR. Existing records left untouched, as required rules apply forward only.

  • Pickup Point bound to Students

    Second module assignment. Visibility now conditional on Transport Required.

  • Roll No. flagged

    Validation warning raised: minimum length 8 exceeds maximum length 6.

  • Former School Code archived

    Removed from the admission form after two intakes with no values recorded.

Who changes the schema

Last 90 days

01Ms. Latha Rao64
02Mr. Arun Prakash38
03Ms. Divya Nair23
04System (import)11

Retention

How long the trail is kept

Audit retentionCannot be shortened by an administrator
7 years
Value snapshotsBefore / after on every edit
On
Export formatCSV and signed JSON
Both

Blood Group

student.blood_group Dropdown Required Published

Field details

What the field is called and what it stores

Options8 values, ordered as they appear
A+B+O++5 more

Preview

As rendered on the Students form

Blood Group *

Collected once at admission and shown on the medical record.

Required

Enforced on save and on import.

value is not empty

Option list

Free text is rejected.

value in 8 options

Editable after save

Medical staff and administrators only.

roles 2

Unique

Not applicable to this field.

off

Rule editor

Toggle what this field enforces

RequiredBlocks save when empty
Read onlyVisible but never editable from the form
HiddenStored and posted, never rendered
SensitiveExcluded from exports and AI context
Regex patternLeave blank for option-list fields

Visibility

Active
the form is Students or Medical
show blood_group

Auto population

Active
an admission is converted
copy from admission.blood_group

Role visibility

Restricted
viewer role is Teacher
read only, no edit

Fields that depend on this one

Changing the type here would break them

Medical Alert BannerReads the value to colour the banner
medical.alert_banner
Donor EligibilityCalculated from group and age
medical.donor_eligible
ID Card PrintPrinted on the reverse of the card
student.id_card

Module assignment

Where this field appears, and in which section

StudentsIdentity section, position 4
RequiredLive
MedicalHistory section, position 1
RequiredLive
AdmissionsApplicant section, position 9
OptionalLive
HostelNot assigned

Placement

Width and order on the Students form

Column span
PositionWithin the Identity section
4 of 6
MobileAlways full width
1 column

Records carrying a value

Students1,284
Admissions412
Medical1,109

Most common values

01O+38%
02B+26%
03A+21%

Gaps

Blank on active students63
Set to "Unknown"28
Never edited since import311

Audit history

Every change to this field

  • Field created

    Ms. Latha Rao

  • Validation added

    Marked required; restricted to the option list.

  • Assigned to Students and Medical

    Placed in the Identity group.

  • Published

    1,284 records backfilled from admissions.

  • Updated

    Option "Unknown" added; help text rewritten.

Allergies

medical.allergies
TagsOptional

Emergency Contact

student.emergency_contact
PhoneRequired

Last Vaccination

medical.last_vaccination
DateRequired

Consent Signature

medical.consent_sign
SignatureRequired