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.
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.customAdmissions
admission.customTeachers
teacher.customParents
parent.customHR
hr.customFees
fees.customLibrary
library.customTransport
transport.customHostel
hostel.customInventory
inventory.customMedical
medical.customAI Modules
ai.customField 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
Collected once at admission and shown on the medical record.
Optional. Used by the scholarship module when means-testing.
Turning this on reveals Pickup Point and Route below.
Blood Group
student.blood_groupGuardian Occupation
parent.occupationAnnual Family Income
admission.family_incomeParent Signature
admission.signaturePickup Point
transport.pickup_pointAllergies
medical.allergiesInterview Rating
admission.interview_scoreDevice Metadata
ai.device_metaValidation 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 fieldsMinimum length
Rejects values shorter than the floor.
length ≥ 3Maximum length
Caps what is stored, silently truncating nothing.
length ≤ 120Regex
Pattern match for codes and identifiers.
^[A-Z]{2}\d{6}$Unique
No two records may carry the same value.
scope per moduleRead only
Shown, never edited from the form.
applied to 9 fieldsHidden
Stored and posted, but never rendered.
applied to 4 fieldsConditional logic
Required only when another answer says so.
if transport = yesDefault 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 fields3 validation warnings
Rules that contradict each other or never fire.
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
Sections & tabs
How a long form is broken up
Columns & ordering
Width a field takes, and where it sits
Visibility & preview
Who sees the form, and how it is checked
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.
Conditional visibility
9transport_required is Yespickup_point, routeField dependencies
6state changescityCalculated fields
4dob is setage = years since dobAuto population
5sibling_id is matchedWorkflow triggers
2 draftfamily_income < 250000Role-based visibility
7medical.notesDefault rules
3country = "India"Business rules
1 conflicthostel_required is YesField 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.
Field insights
What the schema looks like from a distance — what is carrying weight, and what is quietly dead.
Most used fields
Recently modified
Unused fields
Defined, published, and empty on every record for 12 months.
Duplicate fields
Same meaning, two definitions. Merging keeps both histories.
Validation warnings
Recommendations
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_registrationAdmission Form
tpl.admissionTeacher Profile
tpl.teacher_profileParent Information
tpl.parent_infoMedical Record
tpl.medical_recordTransport Registration
tpl.transport_regHostel Registration
tpl.hostel_regEmployee Profile
tpl.employee_profileHow custom fields behave
The rules the builder itself follows, worth reading once before adding a field that thousands of records will carry.
Students
32 custom fields bound to student.custom, arranged across 5 sections: Identity, Guardian, Logistics, Consent, Notes.
Blood Group
student.blood_groupEmergency Contact
student.emergency_contactSibling Roll No.
student.sibling_rollHouse / Team
student.houseLocker Preference
student.locker_prefPhoto Consent
student.photo_consentAdmissions
24 custom fields bound to admission.custom, arranged across 4 sections: Applicant, Guardian, Prior schooling, Consent.
Annual Family Income
admission.family_incomePrevious School
admission.prev_schoolTransfer Certificate
admission.tc_documentInterview Rating
admission.interview_scoreParent Signature
admission.signatureEntrance Test Date
admission.entrance_dateTeachers
18 custom fields bound to teacher.custom, arranged across 3 sections: Identity, Qualification, Employment.
Highest Qualification
teacher.qualificationSpecialisation
teacher.specialisationYears of Experience
teacher.experience_yearsPublications
teacher.publicationsPortfolio URL
teacher.portfolio_urlJoining Letter
teacher.joining_letterParents
14 custom fields bound to parent.custom, arranged across 3 sections: Contact, Occupation, Portal access.
Guardian Occupation
parent.occupationWorkplace Address
parent.work_addressPreferred Language
parent.pref_languageAlternate Contact
parent.alt_contactPortal Access
parent.portal_accessRelationship
parent.relationshipHR
21 custom fields bound to hr.custom, arranged across 4 sections: Personal, Payroll, Compliance, Documents.
Employee Grade
hr.gradePAN Number
hr.panBank IFSC
hr.ifscProbation End
hr.probation_endShift Pattern
hr.shiftBackground Check
hr.bg_checkFees
12 custom fields bound to fees.custom, arranged across 3 sections: Billing, Concession, Reference.
Concession Reason
fees.concession_reasonConcession Percent
fees.concession_pctSponsor Name
fees.sponsorCheque Date
fees.cheque_dateBilling Contact
fees.billing_contactRoll No.
fees.roll_refLibrary
9 custom fields bound to library.custom, arranged across 2 sections: Catalogue, Membership.
Shelf Code
library.shelf_codeEdition Year
library.edition_yearCover Image
library.cover_imageGenre Tags
library.genre_tagsReference Only
library.reference_onlyLibrary Card Colour
library.card_colourTransport
11 custom fields bound to transport.custom, arranged across 3 sections: Route, Vehicle, Student assignment.
Pickup Point
transport.pickup_pointPickup Time
transport.pickup_timeFitness Expiry
transport.fitness_expiryGPS Device ID
transport.gps_deviceEscort Required
transport.escortSeat Capacity
transport.seat_capacityHostel
10 custom fields bound to hostel.custom, arranged across 3 sections: Room, Warden, Guardian.
Room Preference
hostel.room_prefLocal Guardian
hostel.local_guardianLocal Guardian Phone
hostel.local_guardian_phoneDietary Needs
hostel.dietaryCheck-in Date
hostel.checkinCurfew Exemption
hostel.curfew_exemptInventory
13 custom fields bound to inventory.custom, arranged across 3 sections: Item, Supplier, Warranty.
Asset Tag
inventory.asset_tagPurchase Value
inventory.purchase_valueWarranty Expiry
inventory.warranty_expirySupplier
inventory.supplierCondition Photo
inventory.condition_photoSerial Numbers
inventory.serialsMedical
15 custom fields bound to medical.custom, arranged across 3 sections: History, Visit, Consent.
Allergies
medical.allergiesChronic Conditions
medical.chronicDoctor Contact
medical.doctor_contactLast Vaccination
medical.last_vaccinationTreatment Notes
medical.notesConsent Signature
medical.consent_signAI Modules
5 custom fields bound to ai.custom, arranged across 2 sections: Context, Telemetry.
Device Metadata
ai.device_metaRisk Override Reason
ai.risk_overrideModel Consent
ai.model_consentFeedback Rating
ai.feedback_ratingCorrelation ID
ai.correlation_idSystem
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.
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_codeLibrary Card Colour
library.card_colourBus Pass Serial
transport.bus_pass_serialMidday Meal Opt-in
student.midday_mealCovid Declaration
medical.covid_declarationLocker Photo
hostel.locker_photoAudit 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
Retention
How long the trail is kept
Blood Group
Field details
What the field is called and what it stores
Preview
As rendered on the Students form
Collected once at admission and shown on the medical record.
Required
Enforced on save and on import.
value is not emptyOption list
Free text is rejected.
value in 8 optionsEditable after save
Medical staff and administrators only.
roles 2Unique
Not applicable to this field.
offRule editor
Toggle what this field enforces
Visibility
Activeblood_groupAuto population
Activeadmission.blood_groupRole visibility
RestrictedFields that depend on this one
Changing the type here would break them
Module assignment
Where this field appears, and in which section
Placement
Width and order on the Students form
Records carrying a value
Most common values
Gaps
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.allergiesEmergency Contact
student.emergency_contactLast Vaccination
medical.last_vaccinationConsent Signature
medical.consent_sign


