Registry entry
India Voter Registration (Form 6 — Application for Inclusion of Name in Electoral Roll)
First-time registration of an eligible Indian citizen's name in the electoral roll for their constituency, administered by the Election Commission of India (ECI) under the Registration of Electors Rules, 1960 (Form 6). Available online through the National Voters' Service Portal / Voter Helpline app, or on paper submitted to the Electoral Registration Officer (ERO). To register, an applicant must be an Indian citizen who has attained 18 years of age on the qualifying date and is ordinarily resident in the constituency (Representation of the People Act, 1950, s.19); this document does not model those three facts as gating fields because Form 6 itself prints no age/citizenship/residency eligibility tick-box — they are established indirectly through the date-of-birth, address, and declaration fields already collected, and asserted affirmatively in the closing declaration. Models the common first-time application: applicant name, one relative's particulars, Aadhaar (or its absence), gender, date of birth with age-proof document, present residential address with residence-proof document, an optional disability declaration, and an optional cross-reference to a family member already on the roll at the same address. Does not model: Form 7 (objection to inclusion/claim), Form 8 (correction of entries/shifting of residence/replacement EPIC/marking as Person with Disability for an existing elector), Form 8A (transposition within the same Assembly Constituency), overseas-elector or service-elector registration (each a distinct ECI form), or removal from the roll. Does not submit the application; the live voters.eci.gov.in Citizen Service Portal and the Electoral Registration Officer are always authoritative — see VERIFICATION.md.
Registry entry
in/eci/voter-registration
GovSchema spec v0.3
Authoritative source Form 6 — 'Application Form for New Voters' (See Rules 13(1) and (26) of the Registration of Electors Rules, 1960), Election Commission of India, together with its appended field guidelines
Machine access
- Schema document
registry/in/eci/voter-registration/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/in/eci/voter-registration/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
41 fields across 9 steps, read from the published schema.json — names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Constituency
-
assemblyConstituencyNamestring optionalName of the Assembly Constituency in which the applicant is ordinarily resident, addressed to that constituency's Electoral Registration Officer. The ERO's own guidelines state an application will not be rejected merely for omitting or mis-stating this, since the ERO can assist in identifying the correct constituency.
length: 0–200 -
parliamentaryConstituencyNamestring optionalName of the Parliamentary Constituency, filled in only by applicants in a Union Territory that has no Legislative Assembly (so has no Assembly Constituency to name instead).
length: 0–200
Your name
-
nameOfficialLanguageGivenNamestring optionalFirst name followed by middle name, in the official language of the State. Per the appended guidelines, entries may be furnished in either the official language of the State or in English and this alone will not be a ground for rejecting the application, so this field and nameEnglishGivenName are each individually optional here — but at least one of the two must be supplied for the application to be complete.
length: 0–100classification: pii -
nameOfficialLanguageSurnamestring optionalSurname (in official language of State), if any
length: 0–100classification: pii -
nameEnglishGivenNamestring optionalFirst name followed by middle name, in English capital letters. If left blank, the system transliterates the official-language name (Item 1(a)) into English automatically, which the form itself warns may introduce spelling variance. See nameOfficialLanguageGivenName's description for the at-least-one-of-the-two rule.
length: 0–100classification: pii -
nameEnglishSurnamestring optionalSurname (in English), if any
length: 0–100classification: pii
Relative's particulars
-
relativeTypeenum requiredName and surname of any one relative must be furnished, chosen from these five options printed on the form. legal_guardian_orphan applies to an orphan applicant's legal guardian; guru_third_gender applies to a Third Gender applicant's Guru. For a married female applicant, the guidelines state the husband's name may preferably be given.
enum: father | mother | husband | wife | legal_guardian_orphan | guru_third_gender -
relativeNameOfficialLanguagestring optionalAt least one of this field and relativeNameEnglish must be supplied, mirroring the applicant's own at-least-one-language rule at Item 1.
length: 0–200classification: pii -
relativeNameEnglishstring optionalRelative's name and surname (in English)
length: 0–200classification: pii
Contact details
-
mobileNumberstring optionalMobile number of the applicant if available, or of the relative named at Item 2.
pattern -
emailAddressstring optionalEmail address of the applicant if available, or of the relative named at Item 2.
length: 0–254
Aadhaar, gender, and date of birth
-
hasAadhaarboolean requiredThe form requires ticking one of two boxes: furnishing the Aadhaar number, or declaring its absence. Furnishing an Aadhaar number is used for authentication of entries and is not itself a precondition of eligibility.
-
aadhaarNumberstring optional12-digit Aadhaar number issued by the Unique Identification Authority of India (UIDAI).
patternclassification: sensitive-pii -
genderenum requiredGender
enum: male | female | third_genderclassification: pii -
dateOfBirthdate requiredDD/MM/YYYY on the source form (printed as eight single-digit boxes), represented here as one ISO date field per this registry's comb-field convention.
classification: sensitive-pii -
ageProofDocumentTypeenum requiredA self-attested copy of one of these six documents should be attached. If none is available, use 'other' and name the document in ageProofOtherDocument, in which case field verification by the ERO is required (see declarationOtherAgeProofDocumentName).
enum: 7 values -
ageProofOtherDocumentNamestring optionalNamed only if none of the six listed age-proof documents is available. The declaration portion of the form additionally requires naming this same document again, and applying in person for field verification.
length: 1–200
Present ordinary residence
-
presentAddressHouseNostring requiredPresent ordinary residence — House/Building/Apartment No.
length: 1–200classification: pii -
presentAddressStreetLocalitystring requiredPresent ordinary residence — Street/Area/Locality/Mohalla/Road
length: 1–200classification: pii -
presentAddressTownVillagestring requiredPresent ordinary residence — Town/Village
length: 1–100classification: pii -
presentAddressPostOfficestring requiredPresent ordinary residence — Post Office
length: 1–100classification: pii -
presentAddressPinCodestring requiredPresent ordinary residence — PIN code
patternclassification: pii -
presentAddressTehsilTaluqaMandalstring optionalPresent ordinary residence — Tehsil/Taluqa/Mandal
length: 0–100classification: pii -
presentAddressDistrictstring requiredPresent ordinary residence — District
length: 1–100classification: pii -
presentAddressStatestring requiredPresent ordinary residence — State/UT
length: 1–100classification: pii -
residenceProofDocumentTypeenum requiredA self-attested copy in the applicant's own name, or in the name of a parent/spouse/adult child already enrolled as elector at the same address, should be attached. If none of the seven listed documents is available, use 'other' and name it in residenceProofOtherDocumentName; the ERO must then conduct field verification.
enum: 8 values -
residenceProofOtherDocumentNamestring optionalNamed only if none of the seven listed residence-proof documents is available; the applicant must then undergo field verification by an officer designated by the Electoral Registration Officer (e.g. for homeless citizens with no documentary proof of ordinary residence).
length: 1–200
Disability (optional)
-
hasDisabilityboolean requiredThe disability declaration itself is optional; this gating question makes that branch explicit for GovSchema's conditional-field grammar.
-
disabilityCategoryenum optionalCategory of disability
enum: locomotive | visual | deaf_and_dumb | other -
disabilityOtherDescriptionstring optionalDescription of disability (if 'other')
length: 1–200 -
disabilityPercentagenumber optionalPercentage of disability
range: 0–100 -
disabilityCertificateAttachedboolean optionalIs a disability certificate attached?
Family member already on the roll
-
hasFamilyMemberAlreadyEnrolledboolean requiredItem 10 has no printed yes/no tick-box of its own — it is simply left blank when not applicable — so this schema adds an explicit gating boolean, consistent with this registry's convention for inferred gates (e.g. au/aec/voter-enrolment's nameChanged).
-
familyMemberNamestring optionalFamily member's name
length: 1–200classification: pii -
familyMemberRelationshipstring optionalRelationship with family member
length: 1–100 -
familyMemberEpicNumberstring optionalElector's Photo Identity Card number of the family member named above.
length: 1–20classification: sensitive-pii
Declaration
-
placeOfBirthVillageTownstring requiredDeclaration — place of birth (Village/Town)
length: 1–100classification: pii -
placeOfBirthDistrictstring requiredDeclaration — district of birth
length: 1–100classification: pii -
placeOfBirthStatestring requiredDeclaration — State/UT of birth
length: 1–100classification: pii -
ordinarilyResidentSinceMonthYearstring requiredThe applicant declares they are ordinarily resident at the address given at Item 8(a) since this month/year.
pattern -
declarationAndConsentboolean requiredBy signing (or, per the form's accessibility note, a witnessed left-hand thumb impression where the applicant is unable to sign), the applicant declares under Section 31 of the Representation of the People Act, 1950: they are a citizen of India; they are applying for inclusion in the electoral roll for the first time and their name is not already included in any Assembly/Parliamentary Constituency; and, if no listed age-proof document is available, that they have enclosed the alternative document named in ageProofOtherDocumentName. The form presents this as one combined declaration attached to a single signature, modelled here as one field.
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-03
draft, not verified, because no live walkthrough of the online registration wizard was performed — see "What was not done" below. This schema is sourced directly from the Election Commission of India's own downloadable Form 6 and its companion guidelines PDF.
Sources examined
- Document
(id, version):in/eci/voter-registration/1.0.0 - Spec version: GovSchema
0.3.0 - Authority: Election Commission of India (ECI), under the Representation of the People Act, 1950 and the Registration of Electors Rules, 1960.
https://voters.eci.gov.in/formspdf/Form_6_English.pdf— Form 6, "Application Form for New Voters", the primary field-level source. Downloaded directly viacurl(HTTP 200, 102,693 bytes), 2026-07-03. Text was extracted with a scratch npm install ofpdfjs-dist(legacy build, ESM), reading each page's text content items — this PDF is a plain, non-CID-keyed, non-encrypted document, sopdfjs-dist's standard text layer extraction recovered all form text directly (no AcroForm field-name decoding or glyph-mapping workaround was needed, unlikein/mea/passport-application-first-adult's CID-keyed source PDF). Yielded the full two-page form: heading (Assembly/Parliamentary Constituency), Items 1–10, the DECLARATION block, and the accessibility/acknowledgement notes.https://voters.eci.gov.in/guidelines/Form-6_en.pdf— "To be appended to Form-6" guidelines, downloaded and decoded the same way (HTTP 200, 544,037 bytes), 2026-07-03. Supplies the numbered item-by-item filling instructions (§§1–8) referenced throughout this schema'ssourceRefvalues, including the explicit "either official language or English" rule (§2) and the citizenship-certificate-style cross-reference between Item 5 (Aadhaar) and Item 7/DECLARATION.- Web search (search-engine results, not a direct page fetch) confirmed Section 19 of the Representation of the People Act, 1950 as the statutory basis for the three eligibility facts referenced in this schema's top-level
description(18 years of age on the qualifying date; ordinarily resident in the constituency; citizen of India) — used only to state that eligibility rule in prose, not as a field-level source.
What was not done — the one honest gap
No live walkthrough of the online registration wizard was performed. Two paths were attempted and both failed for this environment, not for authentication reasons:
https://www.nvsp.in/(the legacy National Voters' Service Portal domain) —WebFetchreturnedcertificate has expired.https://voters.eci.gov.in/, the current Citizen Service Portal that has since superseded NVSP for online Form 6 submission — not attempted via a live wizard walkthrough this cycle (only its static PDF endpoints were fetched). A future review should drivevoters.eci.gov.in/form6directly (headless-browser, per the technique used forie/irishimmigration/ short-stay-visa-avats) to confirm on-screen field ordering, any client-side validation masks, and whether the online flow's field set matches the paper form exactly.
Consequently status stays draft; promote to verified once a live wizard walkthrough is completed or a second, independently-hosted edition of Form 6 (e.g. a state CEO mirror) is cross-checked field-by-field against this one, following the precedent set by au/aec/voter-enrolment's two-edition cross-check.
Test run performed
Phase 4 of this cycle's research brief calls for a test run with valid mock data. Since the live wizard could not be reached, this was performed as a structural test instead: a scratch Node script (/tmp/inextract/mocktest.mjs, not checked into the registry) implements the GSP-0013 condition grammar (equals/notEquals/in/all/any/not) and resolves visibleWhen/requiredWhen against three independent mock applicants:
- An adult who supplies only the English name pair, has Aadhaar, uses
aadhaar_cardas both age- and residence-proof, declares no disability, and has no family member already on the roll at the address. - An adult who supplies only the official-language name pair, has no Aadhaar, uses
otherfor both age- and residence-proof (naming a document not on either printed list), and declares a disability. - An adult who uses
driving_licenceas age-proof,bank_or_post_office_ passbookas residence-proof, and cross-references a family member already enrolled at the same address.
All three scenarios: (a) supply every field that is required given its resolved visibility, (b) pass each field's own validation (pattern/enum/ min-max), and (c) contain no reference to a field name absent from fields[] across every visibleWhen, requiredWhen, and steps[].fields entry. All three passed on the first run; no schema defect was found by this test (contrast fr/dgfip/income-tax-return-2042, where the equivalent test did catch a real gating bug).
Modelling decisions
assemblyConstituencyName/parliamentaryConstituencyNameoptional. The form addresses the application to the ERO of a named Assembly or Parliamentary Constituency, but the guidelines state an application will not be rejected for omitting or mis-stating this (the ERO can assist). Modelled as two independent optional fields rather than an enforced either/or, since the printed rule is "don't worry if you don't know it", not "supply exactly one".- At least one of each language-pair is required, but not encoded as a condition. Item 1 (applicant's own name) and Item 2 (relative's name) are each printed as two parallel columns — official State language and English — and the guidelines state either alone is acceptable and will not be a ground for rejection. GSP-0013's condition grammar has no clean way to express "at least one of fields X, Y must be non-empty" as a
requiredWhen, the same class of gapau/aec/voter-enrolmentencountered for itscitizenshipCertificateNumberexemption. Documented in prose onnameOfficialLanguageGivenName/nameEnglishGivenName's own descriptions instead of forced into an impreciserequiredWhen. relativeTypesplits one printed line into two enum values. The form prints "Legal Guardian in case of orphan/Guru in case of Third Gender" as a single line alongside Father/Mother/Husband/Wife, but this schema models it as two separate enum values (legal_guardian_orphan,guru_third_gender) rather than one combined value, since a legal guardian and a Guru are genuinely different relationships to the applicant despite sharing a printed line — the same disciplineau/aec/voter-enrolmentused splitting itscitizenshipStatusbranches by underlying AcroForm field grouping rather than printed line breaks alone.- Comb-style digit-box date collapsed to one field.
dateOfBirthis printed as eight single-digit boxes (d d / m m / y y y y); modelled as a single ISOdatefield, per this registry's existing comb-field convention (e.g.au/aec/voter-enrolment,nz/dia/passport-renewal-adult). hasAadhaar,hasDisability, andhasFamilyMemberAlreadyEnrolledare inferred gating booleans, not named form fields, forhasDisabilityandhasFamilyMemberAlreadyEnrolledspecifically — Item 9 and Item 10 are simply left blank when not applicable, with no printed yes/no tick-box.hasAadhaaris a printed tick-box choice (Item 5(a) vs 5(b)), so that one directly reflects the form; the other two follow this registry's convention (mirroringau/aec/voter-enrolment'snameChanged/addressChanged) of adding an explicit boolean gate where GovSchema'svisibleWhen/requiredWhengrammar needs one but the paper form does not print one.ageProofDocumentType/residenceProofDocumentTypeeach include anotheroption, matching the form's own "if none of the above documents is available, specify" fallback (Item 7(b)(ii), Item 8(b)(ii)). Choosingothertriggers a required free-text document name and, per the form and guidelines, obliges the applicant to undergo field verification by an officer designated by the ERO — documented in each field's description as a business-process consequence, not modelled as a further schema field since it is an ERO-side workflow step, not applicant-supplied data.disabilityPercentagemodelled asnumber, unconstrained beyond 0–100. The form prints a blank "___%" with no minimum granularity specified.ordinarilyResidentSinceMonthYearmodelled as a constrained string (MM/YYYY), not adatetype. The form asks only for month and year ("mention month and year"), with no day component, so a full ISO date would overspecify precision the source form does not collect.- No
documents[]payment entry. Registration carries no fee; the ECI states enrolment is free of cost, consistent with how this registry omits apayment-category document when a process is free (e.g.au/aec/voter-enrolment).
Out of scope
- Form 7 (objection to inclusion of a name, or claim contesting another entry) — a distinct ECI form for a different process, not modelled here.
- Form 8 (correction of entries in an existing elector's record, shifting of residence within the same Assembly Constituency, replacement EPIC, or marking an existing elector as a Person with Disability) and Form 8A (transposition of an existing entry within the same Assembly Constituency) — both amend an existing electoral-roll entry rather than create a first-time one, and use different field sets.
- Overseas-elector and service-elector registration — each uses its own distinct ECI form (respectively for citizens residing abroad and for service personnel/their spouses), not examined here.
- Roll removal/deletion and objection processes — distinct ECI processes, not modelled here.
Re-verification
Per the practice's cadence, nextReviewBy is set to 2027-01-03 (6 months). Re-fetch both PDFs to check for a form-version update, and attempt a live walkthrough of voters.eci.gov.in's Form 6 wizard; if successful, promote status to verified.
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Election Commission of India, under the Representation of the People Act, 1950 and the Registration of Electors Rules, 1960 or any government. The authoritative source is always the live government form and its official instructions.