{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "ug/nira/first-time-registration-application",
  "version": "1.0.0",
  "title": "Uganda First-Time Registration and National Identification Card Application (Form 3, NIRA)",
  "description": "The National Identification and Registration Authority's (NIRA) \"Form 3\" — \"Application for Registration and National Identification Card\" under the Registration of Persons Act, 2015 — used for a person's first-time registration into Uganda's National Identification Register, for either a child or an adult (a single combined form, gated by a CHILD/ADULT tickbox at the top). This schema models the applicant-facing sections only: the registration-type tickbox; PART A's Personal Information, Place of Residence, Place of Birth, and Place of Origin (including citizenship type, dual citizenship, and passport particulars); PART B's Voter Information, Marital Status, and Spouse Details (printed applicable to adult registrations only); PART C's Father's Details, Mother's Details, and a conditional Grandparent(s)/Introducer block (applicable only when a citizenship-by-birth applicant's information for both parents is unavailable, per the form's own printed note) and the Particulars of Applicant's Children table; and PART E's Declaration. It excludes PART A's own Registration Location Code and Application ID (the form's own page-4 filling guide assigns both to \"REGN OFFICER\" / \"to be generated by the Application\"), PART D (\"Form Section to be retained by the Registration Officer\", a condensed duplicate of Parts A/B for officer records), and PART F (\"FOR OFFICIAL USE ONLY\" — citizenship assessment, documentary-proof ticks, and the registration officer's own signature) — none of this is applicant-supplied data. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Republic of Uganda or the National Identification and Registration Authority.",
  "status": "draft",
  "jurisdiction": {
    "country": "UG",
    "level": "national"
  },
  "authority": {
    "name": "National Identification and Registration Authority",
    "abbreviation": "NIRA",
    "url": "https://www.nira.go.ug"
  },
  "process": {
    "type": "registration",
    "language": "en"
  },
  "source": {
    "url": "https://www.nira.go.ug/media/2025/07/Form-3-NIRA-First-Time-Registration-Form.pdf",
    "retrievedAt": "2026-07-22",
    "documentRef": "Form 3 — \"Application for Registration and National Identification Card\", Registration of Persons Act, 2015"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-22",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-22",
    "notes": "GOV-4353, child of GOV-4351 (\"GovSchema Standard Research\"). See VERIFICATION.md for the full sourcing record, extraction method, and disclosed findings. Closes Uganda's last remaining pre-scouted STRONG candidate (National ID), bringing Uganda to 3 of 6 verticals (DMV, Business Formation, National ID)."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Standards Engineer)",
    "assertedAt": "2026-07-22"
  },
  "license": "CC-BY-4.0",
  "steps": [
    {
      "id": "registration_type",
      "title": "Registration Type",
      "fields": [
        "registrationType"
      ],
      "next": "personal_information"
    },
    {
      "id": "personal_information",
      "title": "Personal Information",
      "fields": [
        "surname",
        "givenName",
        "otherNames",
        "maidenName",
        "previousNames",
        "sex",
        "dateOfBirth",
        "dateOfBirthEstimated",
        "email",
        "homePhoneNumber",
        "mobilePhoneNumber",
        "highestLevelOfEducation",
        "profession",
        "occupation",
        "religion",
        "disabilityBlind",
        "disabilityDeaf",
        "disabilityPhysical",
        "disabilityMental",
        "disabilityDumb"
      ],
      "next": "place_of_residence"
    },
    {
      "id": "place_of_residence",
      "title": "Place of Residence",
      "fields": [
        "residenceLocalOrForeign",
        "residenceCountry",
        "residenceDistrict",
        "residenceCounty",
        "residenceSubCounty",
        "residenceParishWard",
        "residenceVillage",
        "residenceStreet",
        "residencePlotHouseNumber",
        "residenceYearsAtAddress",
        "residencePreviousDistrict",
        "residencePostalAddress"
      ],
      "next": "place_of_birth"
    },
    {
      "id": "place_of_birth",
      "title": "Place of Birth",
      "fields": [
        "birthCountry",
        "birthDistrict",
        "birthCounty",
        "birthSubCounty",
        "birthParishWard",
        "birthVillage",
        "birthCityTown",
        "birthHealthFacility"
      ],
      "next": "place_of_origin"
    },
    {
      "id": "place_of_origin",
      "title": "Place of Origin and Citizenship",
      "fields": [
        "originCountry",
        "originDistrict",
        "originCounty",
        "originSubCounty",
        "originParishWard",
        "originVillage",
        "indigenousCommunityTribe",
        "clan",
        "citizenshipType",
        "dualCitizenship",
        "citizenshipArticle9",
        "citizenshipCertificateNumber",
        "otherNationalityIfDual",
        "passportNumber",
        "fileNumber"
      ],
      "transitions": [
        {
          "to": "voters_and_marital",
          "when": {
            "field": "registrationType",
            "equals": "ADULT"
          }
        },
        {
          "to": "father_details"
        }
      ]
    },
    {
      "id": "voters_and_marital",
      "title": "Voter Information, Marital Status, and Spouse Details (Adult Only)",
      "fields": [
        "preferredPollingStation",
        "pollingStationName",
        "maritalStatus",
        "spouseSurname",
        "spouseOtherNames",
        "spouseGivenNames",
        "spousePreviousNames",
        "spouseMaidenName",
        "spouseNin",
        "spouseCitizenshipType",
        "spouseDualCitizenship",
        "spouseCitizenshipArticle9",
        "spouseOtherNationalityIfDual",
        "placeOfMarriage",
        "dateOfMarriage",
        "typeOfMarriage",
        "marriageCertificateNumber",
        "hasOtherSpouses",
        "numberOfOtherSpouses"
      ],
      "next": "father_details"
    },
    {
      "id": "father_details",
      "title": "Father's Details",
      "fields": [
        "fatherSurname",
        "fatherGivenNames",
        "fatherOtherNames",
        "fatherPreviousNames",
        "fatherNin",
        "fatherIdDocumentNumber",
        "fatherCitizenshipType",
        "fatherDualCitizenship",
        "fatherCitizenshipArticle9",
        "fatherCitizenshipCertificateNumber",
        "fatherOtherNationalityIfDual",
        "fatherLivingStatus",
        "fatherOccupation",
        "fatherResidenceCountry",
        "fatherResidenceDistrict",
        "fatherResidenceCounty",
        "fatherResidenceSubCounty",
        "fatherResidenceParishWard",
        "fatherResidenceVillage",
        "fatherResidenceStreet",
        "fatherResidenceStreetHouseNumber",
        "fatherOriginCountry",
        "fatherOriginDistrict",
        "fatherOriginCounty",
        "fatherOriginSubCounty",
        "fatherOriginParishWard",
        "fatherOriginVillage",
        "fatherIndigenousCommunityTribe",
        "fatherClan"
      ],
      "next": "mother_details"
    },
    {
      "id": "mother_details",
      "title": "Mother's Details",
      "fields": [
        "motherSurname",
        "motherGivenNames",
        "motherOtherNames",
        "motherMaidenNames",
        "motherPreviousNames",
        "motherNin",
        "motherIdDocumentNumber",
        "motherCitizenshipType",
        "motherDualCitizenship",
        "motherCitizenshipArticle9",
        "motherCitizenshipCertificateNumber",
        "motherOtherNationalityIfDual",
        "motherLivingStatus",
        "motherOccupation",
        "motherResidenceCountry",
        "motherResidenceDistrict",
        "motherResidenceCounty",
        "motherResidenceSubCounty",
        "motherResidenceParishWard",
        "motherResidenceVillage",
        "motherResidenceStreet",
        "motherResidenceStreetHouseNumber",
        "motherOriginCountry",
        "motherOriginDistrict",
        "motherOriginCounty",
        "motherOriginSubCounty",
        "motherOriginParishWard",
        "motherOriginVillage",
        "motherIndigenousCommunityTribe",
        "motherClan"
      ],
      "next": "grandparent_introducer"
    },
    {
      "id": "grandparent_introducer",
      "title": "Grandparent(s)/Introducer Details",
      "fields": [
        "grandparentSurname",
        "grandparentGivenNames",
        "grandparentDateOfBirth",
        "grandparentOtherNames",
        "grandparentNin",
        "grandparentOriginCountry",
        "grandparentOriginDistrict",
        "grandparentOriginCounty",
        "grandparentOriginSubCounty",
        "grandparentOriginParishWard",
        "grandparentOriginVillage",
        "grandparentIndigenousCommunityTribe",
        "grandparentClan"
      ],
      "next": "children"
    },
    {
      "id": "children",
      "title": "Particulars of Applicant's Children",
      "fields": [
        "child1Name",
        "child1Sex",
        "child1DateOfBirth",
        "child1NationalIdNumber",
        "child2Name",
        "child2Sex",
        "child2DateOfBirth",
        "child2NationalIdNumber",
        "child3Name",
        "child3Sex",
        "child3DateOfBirth",
        "child3NationalIdNumber",
        "child4Name",
        "child4Sex",
        "child4DateOfBirth",
        "child4NationalIdNumber"
      ],
      "next": "declaration"
    },
    {
      "id": "declaration",
      "title": "Declaration",
      "fields": [
        "declarantName",
        "declarantSignatureOrThumbprint",
        "declarationDate"
      ]
    }
  ],
  "fields": [
    {
      "name": "registrationType",
      "label": "Registration Type",
      "type": "enum",
      "required": true,
      "description": "Whether this is a first-time registration application for a child (under 18) or an adult. Determines whether PART B (Voter Information, Marital Status, and Spouse Details) applies, per the form's own printed instruction \"PART B. (to be filled for Adult registration only)\".",
      "sourceRef": "Form 3 header — \"FORM 3 CHILD ADULT (Tick Appropriate)\"",
      "validation": {
        "enum": [
          "CHILD",
          "ADULT"
        ]
      }
    },
    {
      "name": "surname",
      "label": "Surname",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "1 Personal Information — Surname",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "givenName",
      "label": "Given Name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "1 Personal Information — Given Name",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "otherNames",
      "label": "Other Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "1 Personal Information — Other Names",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "maidenName",
      "label": "Maiden Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "1 Personal Information — Maiden Name",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "previousNames",
      "label": "Previous",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The applicant's own name(s) previously used, if ever changed. The source prints only the single word \"Previous\" for this field's label (not \"Previous Names\") in this section, unlike the fuller \"Previous Names\" label this same form uses in its Father's/Mother's/Spouse's Details blocks — disclosed here rather than silently normalized.",
      "sourceRef": "1 Personal Information — \"Previous\"",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "sex",
      "label": "Sex",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "sourceRef": "1 Personal Information — Sex",
      "validation": {
        "enum": [
          "MALE",
          "FEMALE"
        ]
      }
    },
    {
      "name": "dateOfBirth",
      "label": "Date of Birth",
      "type": "date",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "1 Personal Information — Date of Birth (DD/MM/YYYY)"
    },
    {
      "name": "dateOfBirthEstimated",
      "label": "Tick If Estimated",
      "type": "boolean",
      "required": false,
      "description": "Ticked when the date of birth above is an estimate rather than a documented date.",
      "sourceRef": "1 Personal Information — Tick If Estimated"
    },
    {
      "name": "email",
      "label": "Email",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "1 Personal Information — Contacts: Email",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "homePhoneNumber",
      "label": "Home Phone No.",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "1 Personal Information — Contacts: Home Phone No.",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "mobilePhoneNumber",
      "label": "Mobile No.",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The source prints \"(For Extra, Fill additional Form)\" beside this field, instructing an applicant with more than one mobile number to record additional numbers on a separate continuation form; this schema models a single mobile number per the one printed blank.",
      "sourceRef": "1 Personal Information — Contacts: Mobile No.",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "highestLevelOfEducation",
      "label": "Highest Level of Education",
      "type": "string",
      "required": false,
      "sourceRef": "1 Personal Information — Highest Level of Education",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "profession",
      "label": "Profession",
      "type": "string",
      "required": false,
      "sourceRef": "1 Personal Information — Profession",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "occupation",
      "label": "Occupation",
      "type": "string",
      "required": false,
      "sourceRef": "1 Personal Information — Occupation",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "religion",
      "label": "Religion",
      "type": "string",
      "required": false,
      "sourceRef": "1 Personal Information — Religion",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "disabilityBlind",
      "label": "Disabilities — Blind",
      "type": "boolean",
      "required": false,
      "classification": "health",
      "description": "Ticked when the applicant has a blind disability.",
      "sourceRef": "1 Personal Information — Disabilities: Blind"
    },
    {
      "name": "disabilityDeaf",
      "label": "Disabilities — Deaf",
      "type": "boolean",
      "required": false,
      "classification": "health",
      "description": "Ticked when the applicant has a deaf disability.",
      "sourceRef": "1 Personal Information — Disabilities: Deaf"
    },
    {
      "name": "disabilityPhysical",
      "label": "Disabilities — Physical",
      "type": "boolean",
      "required": false,
      "classification": "health",
      "description": "Ticked when the applicant has a physical disability.",
      "sourceRef": "1 Personal Information — Disabilities: Physical"
    },
    {
      "name": "disabilityMental",
      "label": "Disabilities — Mental",
      "type": "boolean",
      "required": false,
      "classification": "health",
      "description": "Ticked when the applicant has a mental disability.",
      "sourceRef": "1 Personal Information — Disabilities: Mental"
    },
    {
      "name": "disabilityDumb",
      "label": "Disabilities — Dumb",
      "type": "boolean",
      "required": false,
      "classification": "health",
      "description": "Ticked when the applicant is unable to speak. Modelled with the source form's own printed checkbox label (\"Dumb\") verbatim, per this registry's source-fidelity practice, though the term is dated; a consuming application MAY present a more contemporary label (e.g. \"non-verbal\") to the human end user.",
      "sourceRef": "1 Personal Information — Disabilities: Dumb"
    },
    {
      "name": "residenceLocalOrForeign",
      "label": "Place of Residence (Tick Appropriate)",
      "type": "enum",
      "required": true,
      "sourceRef": "2 Place of Residence (Tick Appropriate) Local Foreign",
      "validation": {
        "enum": [
          "LOCAL",
          "FOREIGN"
        ]
      }
    },
    {
      "name": "residenceCountry",
      "label": "Country",
      "type": "string",
      "required": true,
      "sourceRef": "2 Place of Residence — Country",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "residenceDistrict",
      "label": "District",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "residenceLocalOrForeign",
        "equals": "LOCAL"
      },
      "description": "Uganda administrative-unit field, applicable when the applicant's residence is Local (in Uganda).",
      "sourceRef": "2 Place of Residence — District",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "residenceCounty",
      "label": "County",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "residenceLocalOrForeign",
        "equals": "LOCAL"
      },
      "description": "Uganda administrative-unit field, applicable when the applicant's residence is Local (in Uganda).",
      "sourceRef": "2 Place of Residence — County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "residenceSubCounty",
      "label": "Sub-County",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "residenceLocalOrForeign",
        "equals": "LOCAL"
      },
      "description": "Uganda administrative-unit field, applicable when the applicant's residence is Local (in Uganda).",
      "sourceRef": "2 Place of Residence — Sub-County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "residenceParishWard",
      "label": "Parish/Ward",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "residenceLocalOrForeign",
        "equals": "LOCAL"
      },
      "description": "Uganda administrative-unit field, applicable when the applicant's residence is Local (in Uganda).",
      "sourceRef": "2 Place of Residence — Parish/Ward",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "residenceVillage",
      "label": "Village",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "residenceLocalOrForeign",
        "equals": "LOCAL"
      },
      "description": "Uganda administrative-unit field, applicable when the applicant's residence is Local (in Uganda).",
      "sourceRef": "2 Place of Residence — Village",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "residenceStreet",
      "label": "Street",
      "type": "string",
      "required": false,
      "sourceRef": "2 Place of Residence — Street",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "residencePlotHouseNumber",
      "label": "Plot / House No.",
      "type": "string",
      "required": false,
      "sourceRef": "2 Place of Residence — Plot / House No.",
      "validation": {
        "maxLength": 30
      }
    },
    {
      "name": "residenceYearsAtAddress",
      "label": "Number of Years Lived at this Address",
      "type": "integer",
      "required": false,
      "description": "Page 4 filling guide: \"Allowed values are 1 to 99\".",
      "sourceRef": "2 Place of Residence — Number of Years Lived at this Address",
      "validation": {
        "minimum": 1,
        "maximum": 99
      }
    },
    {
      "name": "residencePreviousDistrict",
      "label": "District of Previous Place of Residence",
      "type": "string",
      "required": false,
      "sourceRef": "2 Place of Residence — District of Previous Place of Residence",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "residencePostalAddress",
      "label": "Postal Address",
      "type": "string",
      "required": false,
      "sourceRef": "2 Place of Residence — Postal Address",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "birthCountry",
      "label": "Country",
      "type": "string",
      "required": true,
      "sourceRef": "3 Place of Birth — Country",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "birthDistrict",
      "label": "District",
      "type": "string",
      "required": false,
      "sourceRef": "3 Place of Birth — District",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "birthCounty",
      "label": "County",
      "type": "string",
      "required": false,
      "sourceRef": "3 Place of Birth — County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "birthSubCounty",
      "label": "Sub-County",
      "type": "string",
      "required": false,
      "sourceRef": "3 Place of Birth — Sub-County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "birthParishWard",
      "label": "Parish/Ward",
      "type": "string",
      "required": false,
      "sourceRef": "3 Place of Birth — Parish/Ward",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "birthVillage",
      "label": "Village",
      "type": "string",
      "required": false,
      "sourceRef": "3 Place of Birth — Village",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "birthCityTown",
      "label": "City/Town",
      "type": "string",
      "required": false,
      "sourceRef": "3 Place of Birth — City/Town",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "birthHealthFacility",
      "label": "Health Facility",
      "type": "string",
      "required": false,
      "sourceRef": "3 Place of Birth — Health Facility",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "originCountry",
      "label": "Country",
      "type": "string",
      "required": true,
      "sourceRef": "4 Place of Origin — Country",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "originDistrict",
      "label": "District",
      "type": "string",
      "required": false,
      "sourceRef": "4 Place of Origin — District",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "originCounty",
      "label": "County",
      "type": "string",
      "required": false,
      "sourceRef": "4 Place of Origin — County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "originSubCounty",
      "label": "Sub-County",
      "type": "string",
      "required": false,
      "sourceRef": "4 Place of Origin — Sub-County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "originParishWard",
      "label": "Parish/Ward",
      "type": "string",
      "required": false,
      "sourceRef": "4 Place of Origin — Parish/Ward",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "originVillage",
      "label": "Village",
      "type": "string",
      "required": false,
      "sourceRef": "4 Place of Origin — Village",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "indigenousCommunityTribe",
      "label": "Indigenous Community/Tribe",
      "type": "string",
      "required": false,
      "sourceRef": "4 Place of Origin — Indigenous Community/Tribe",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "clan",
      "label": "Clan",
      "type": "string",
      "required": false,
      "sourceRef": "4 Place of Origin — Clan",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "citizenshipType",
      "label": "Citizenship Type",
      "type": "enum",
      "required": true,
      "sourceRef": "4 Place of Origin — Citizenship Type: By Birth / By Registration / By Naturalization",
      "validation": {
        "enum": [
          "BY_BIRTH",
          "BY_REGISTRATION",
          "BY_NATURALIZATION"
        ]
      }
    },
    {
      "name": "dualCitizenship",
      "label": "Dual Citizenship",
      "type": "boolean",
      "required": false,
      "sourceRef": "4 Place of Origin — Dual Citizenship"
    },
    {
      "name": "citizenshipArticle9",
      "label": "Citizenship Acquired Under Article 9 of the 1995 Constitution",
      "type": "boolean",
      "required": false,
      "sourceRef": "4 Place of Origin — Citizenship acquired under article 9 of the 1995 Constitution"
    },
    {
      "name": "citizenshipCertificateNumber",
      "label": "Citizenship Certificate Number",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "any": [
          {
            "field": "citizenshipType",
            "in": [
              "BY_REGISTRATION",
              "BY_NATURALIZATION"
            ]
          },
          {
            "field": "dualCitizenship",
            "equals": true
          }
        ]
      },
      "classification": "sensitive-pii",
      "sourceRef": "4 Place of Origin — Citizenship Certificate Number(if Naturalization, Registration or Dual)",
      "validation": {
        "maxLength": 40
      }
    },
    {
      "name": "otherNationalityIfDual",
      "label": "Other Nationality",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "dualCitizenship",
        "equals": true
      },
      "sourceRef": "4 Place of Origin — If Dual, state Citizenship and also state other Nationality",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "passportNumber",
      "label": "Passport Number",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "4 Place of Origin — Passport Information: Passport Number",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "fileNumber",
      "label": "File Number",
      "type": "string",
      "required": false,
      "description": "Page 4 filling guide gives the expected format as \"FA/XXXXXX or IM/XXXXXX\"; not enforced as a validation.pattern here since the guide does not fully specify the placeholder alphabet.",
      "sourceRef": "4 Place of Origin — Passport Information: File Number",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "preferredPollingStation",
      "label": "Preferred Polling Station",
      "type": "enum",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "5. Voters Information — Preferred Polling Station: Place of Residence / Place Of Origin",
      "validation": {
        "enum": [
          "RESIDENCE",
          "ORIGIN"
        ]
      }
    },
    {
      "name": "pollingStationName",
      "label": "Polling Station Name",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "5. Voters Information — Polling Station Name",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "maritalStatus",
      "label": "Marital Status (Tick Appropriate)",
      "type": "enum",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "requiredWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "5. Voters Information — Marital Status: Married / Single / Divorced / Widowed / Separated",
      "validation": {
        "enum": [
          "MARRIED",
          "SINGLE",
          "DIVORCED",
          "WIDOWED",
          "SEPARATED"
        ]
      }
    },
    {
      "name": "spouseSurname",
      "label": "Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Surname",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "spouseOtherNames",
      "label": "Other Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Other Names",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "spouseGivenNames",
      "label": "Given Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Given Names",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "spousePreviousNames",
      "label": "Previous Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Previous Names",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "spouseMaidenName",
      "label": "Maiden Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Maiden Name",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "spouseNin",
      "label": "Spouse's National ID Number (NIN)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — National ID Number (NIN)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "spouseCitizenshipType",
      "label": "Spouse's Citizenship Type",
      "type": "enum",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — By Birth / By Registration / By Naturalization",
      "validation": {
        "enum": [
          "BY_BIRTH",
          "BY_REGISTRATION",
          "BY_NATURALIZATION"
        ]
      }
    },
    {
      "name": "spouseDualCitizenship",
      "label": "Spouse's Dual Citizenship",
      "type": "boolean",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Dual Citizenship"
    },
    {
      "name": "spouseCitizenshipArticle9",
      "label": "Spouse's Citizenship Acquired Under Article 9 of the 1995 Constitution",
      "type": "boolean",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Citizenship acquired under article 9 of the 1995 Constitution"
    },
    {
      "name": "spouseOtherNationalityIfDual",
      "label": "Spouse's Other Nationality",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "requiredWhen": {
        "all": [
          {
            "field": "registrationType",
            "equals": "ADULT"
          },
          {
            "field": "spouseDualCitizenship",
            "equals": true
          }
        ]
      },
      "description": "Unlike the applicant's own, Father's, and Mother's citizenship blocks, this form's Spouse Details block prints no \"Citizenship Certificate Number\" line — disclosed as a genuine source asymmetry, not an extraction omission.",
      "sourceRef": "6 Spouse Details — If Dual, state Citizenship and also state other Nationality",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "placeOfMarriage",
      "label": "Place of Marriage",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Place of Marriage",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "dateOfMarriage",
      "label": "Date of Marriage",
      "type": "date",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Date of Marriage (DD/MM/YYYY)"
    },
    {
      "name": "typeOfMarriage",
      "label": "Type of Marriage",
      "type": "enum",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Type of Marriage: Civil / Religious / Cultural / Customary",
      "validation": {
        "enum": [
          "CIVIL",
          "RELIGIOUS",
          "CULTURAL",
          "CUSTOMARY"
        ]
      }
    },
    {
      "name": "marriageCertificateNumber",
      "label": "Marriage Certificate Number",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Marriage Certificate Number",
      "validation": {
        "maxLength": 40
      }
    },
    {
      "name": "hasOtherSpouses",
      "label": "Other Spouses (on separate sheet)",
      "type": "boolean",
      "required": false,
      "visibleWhen": {
        "field": "registrationType",
        "equals": "ADULT"
      },
      "sourceRef": "6 Spouse Details — Other Spouses (on separate sheet) Yes No"
    },
    {
      "name": "numberOfOtherSpouses",
      "label": "If yes, Number of other spouses",
      "type": "integer",
      "required": false,
      "visibleWhen": {
        "all": [
          {
            "field": "registrationType",
            "equals": "ADULT"
          },
          {
            "field": "hasOtherSpouses",
            "equals": true
          }
        ]
      },
      "requiredWhen": {
        "all": [
          {
            "field": "registrationType",
            "equals": "ADULT"
          },
          {
            "field": "hasOtherSpouses",
            "equals": true
          }
        ]
      },
      "sourceRef": "6 Spouse Details — If yes, Number of other spouses",
      "validation": {
        "minimum": 1,
        "maximum": 20
      }
    },
    {
      "name": "fatherSurname",
      "label": "Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "7 Father's Details — Surname",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherGivenNames",
      "label": "Given Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "7 Father's Details — Given Names",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherOtherNames",
      "label": "Other Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "7 Father's Details — Other Names",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "fatherPreviousNames",
      "label": "Previous Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "7 Father's Details — Previous Names",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "fatherNin",
      "label": "National ID Number (NIN)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "7 Father's Details — National ID Number (NIN)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "fatherIdDocumentNumber",
      "label": "ID Document Number",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "7 Father's Details — ID Document Number",
      "validation": {
        "maxLength": 30
      }
    },
    {
      "name": "fatherCitizenshipType",
      "label": "Citizenship Type",
      "type": "enum",
      "required": false,
      "sourceRef": "7 Father's Details — By Birth / By Registration / By Naturalization",
      "validation": {
        "enum": [
          "BY_BIRTH",
          "BY_REGISTRATION",
          "BY_NATURALIZATION"
        ]
      }
    },
    {
      "name": "fatherDualCitizenship",
      "label": "Dual Citizenship",
      "type": "boolean",
      "required": false,
      "sourceRef": "7 Father's Details — Dual Citizenship"
    },
    {
      "name": "fatherCitizenshipArticle9",
      "label": "Citizenship Acquired Under Article 9 of the 1995 Constitution",
      "type": "boolean",
      "required": false,
      "sourceRef": "7 Father's Details — Citizenship acquired under article 9 of the 1995 Constitution"
    },
    {
      "name": "fatherCitizenshipCertificateNumber",
      "label": "Citizenship Certificate Number",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "any": [
          {
            "field": "fatherCitizenshipType",
            "in": [
              "BY_REGISTRATION",
              "BY_NATURALIZATION"
            ]
          },
          {
            "field": "fatherDualCitizenship",
            "equals": true
          }
        ]
      },
      "classification": "sensitive-pii",
      "sourceRef": "7 Father's Details — Citizenship Certificate Number(if Naturalization,Registration or Dual)",
      "validation": {
        "maxLength": 40
      }
    },
    {
      "name": "fatherOtherNationalityIfDual",
      "label": "Other Nationality",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "fatherDualCitizenship",
        "equals": true
      },
      "sourceRef": "7 Father's Details — If Dual, state Citizenship and also state other Nationality",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherLivingStatus",
      "label": "Living Status",
      "type": "enum",
      "required": false,
      "sourceRef": "7 Father's Details — Living Status: Alive / Deceased / Unknown",
      "validation": {
        "enum": [
          "ALIVE",
          "DECEASED",
          "UNKNOWN"
        ]
      }
    },
    {
      "name": "fatherOccupation",
      "label": "Occupation",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Occupation",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "fatherResidenceCountry",
      "label": "Country",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Residence: Country",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherResidenceDistrict",
      "label": "District",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Residence: District",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherResidenceCounty",
      "label": "County",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Residence: County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherResidenceSubCounty",
      "label": "Sub-County",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Residence: Sub-County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherResidenceParishWard",
      "label": "Parish/Ward",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Residence: Parish/Ward",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherResidenceVillage",
      "label": "Village",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Residence: Village",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherResidenceStreet",
      "label": "Street",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Street",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "fatherResidenceStreetHouseNumber",
      "label": "Street/House No.",
      "type": "string",
      "required": false,
      "description": "The printed column header for this field reads \"Street/House No.\" — distinct from this form's own applicant Place of Residence section, which prints separate \"Street\" and \"Plot / House No.\" columns instead. Modelled per the Father's Details block's own printed label rather than normalized to the applicant section's wording.",
      "sourceRef": "7 Father's Details — Street/House No.",
      "validation": {
        "maxLength": 30
      }
    },
    {
      "name": "fatherOriginCountry",
      "label": "Country",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Origin: Country",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherOriginDistrict",
      "label": "District",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Origin: District",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherOriginCounty",
      "label": "County",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Origin: County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherOriginSubCounty",
      "label": "Sub-County",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Origin: Sub-County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherOriginParishWard",
      "label": "Parish/Ward",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Origin: Parish/Ward",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherOriginVillage",
      "label": "Village",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Father's Place of Origin: Village",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "fatherIndigenousCommunityTribe",
      "label": "Indigenous Community/Tribe",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Indigenous Community/Tribe",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "fatherClan",
      "label": "Clan",
      "type": "string",
      "required": false,
      "sourceRef": "7 Father's Details — Clan",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherSurname",
      "label": "Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "8 Mother's Details — Surname",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherGivenNames",
      "label": "Given Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "8 Mother's Details — Given Names",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherOtherNames",
      "label": "Other Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "8 Mother's Details — Other Names",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "motherMaidenNames",
      "label": "Maiden Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "8 Mother's Details — Maiden Names",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherPreviousNames",
      "label": "Previous Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "8 Mother's Details — Previous Names",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "motherNin",
      "label": "National ID Number (NIN)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "8 Mother's Details — National ID Number (NIN)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "motherIdDocumentNumber",
      "label": "ID Document Number",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "8 Mother's Details — ID Document Number",
      "validation": {
        "maxLength": 30
      }
    },
    {
      "name": "motherCitizenshipType",
      "label": "Citizenship Type",
      "type": "enum",
      "required": false,
      "sourceRef": "8 Mother's Details — By Birth / By Registration / By Naturalization",
      "validation": {
        "enum": [
          "BY_BIRTH",
          "BY_REGISTRATION",
          "BY_NATURALIZATION"
        ]
      }
    },
    {
      "name": "motherDualCitizenship",
      "label": "Dual Citizenship",
      "type": "boolean",
      "required": false,
      "sourceRef": "8 Mother's Details — Dual Citizenship"
    },
    {
      "name": "motherCitizenshipArticle9",
      "label": "Citizenship Acquired Under Article 9 of the 1995 Constitution",
      "type": "boolean",
      "required": false,
      "sourceRef": "8 Mother's Details — Citizenship acquired under article 9 of the 1995 Constitution"
    },
    {
      "name": "motherCitizenshipCertificateNumber",
      "label": "Citizenship Certificate Number",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "any": [
          {
            "field": "motherCitizenshipType",
            "in": [
              "BY_REGISTRATION",
              "BY_NATURALIZATION"
            ]
          },
          {
            "field": "motherDualCitizenship",
            "equals": true
          }
        ]
      },
      "classification": "sensitive-pii",
      "sourceRef": "8 Mother's Details — Citizenship Certificate Number(if Naturalization,Registration or Dual)",
      "validation": {
        "maxLength": 40
      }
    },
    {
      "name": "motherOtherNationalityIfDual",
      "label": "Other Nationality",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "motherDualCitizenship",
        "equals": true
      },
      "sourceRef": "8 Mother's Details — If Dual, state Citizenship and also state other Nationality",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherLivingStatus",
      "label": "Living Status",
      "type": "enum",
      "required": false,
      "sourceRef": "8 Mother's Details — Living Status: Alive / Deceased / Unknown",
      "validation": {
        "enum": [
          "ALIVE",
          "DECEASED",
          "UNKNOWN"
        ]
      }
    },
    {
      "name": "motherOccupation",
      "label": "Occupation",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Occupation",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "motherResidenceCountry",
      "label": "Country",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Residence: Country",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherResidenceDistrict",
      "label": "District",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Residence: District",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherResidenceCounty",
      "label": "County",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Residence: County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherResidenceSubCounty",
      "label": "Sub-County",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Residence: Sub-County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherResidenceParishWard",
      "label": "Parish/Ward",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Residence: Parish/Ward",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherResidenceVillage",
      "label": "Village",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Residence: Village",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherResidenceStreet",
      "label": "Street",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Street",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "motherResidenceStreetHouseNumber",
      "label": "Street/House No.",
      "type": "string",
      "required": false,
      "description": "The printed column header for this field reads \"Street/House No.\" — distinct from this form's own applicant Place of Residence section, which prints separate \"Street\" and \"Plot / House No.\" columns instead. Modelled per the Mother's Details block's own printed label rather than normalized to the applicant section's wording.",
      "sourceRef": "8 Mother's Details — Street/House No.",
      "validation": {
        "maxLength": 30
      }
    },
    {
      "name": "motherOriginCountry",
      "label": "Country",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Origin: Country",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherOriginDistrict",
      "label": "District",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Origin: District",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherOriginCounty",
      "label": "County",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Origin: County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherOriginSubCounty",
      "label": "Sub-County",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Origin: Sub-County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherOriginParishWard",
      "label": "Parish/Ward",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Origin: Parish/Ward",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherOriginVillage",
      "label": "Village",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Mother's Place of Origin: Village",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "motherIndigenousCommunityTribe",
      "label": "Indigenous Community/Tribe",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Indigenous Community/Tribe",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "motherClan",
      "label": "Clan",
      "type": "string",
      "required": false,
      "sourceRef": "8 Mother's Details — Clan",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentSurname",
      "label": "Surname",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Surname of the Grandparent or Introducer. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Surname",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentGivenNames",
      "label": "Given Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Given names of the Grandparent or Introducer. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Given Names",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentDateOfBirth",
      "label": "Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "description": "Date of birth of the Grandparent or Introducer. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Date of Birth"
    },
    {
      "name": "grandparentOtherNames",
      "label": "Other Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Other names of the Grandparent or Introducer. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Other Names",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "grandparentNin",
      "label": "National ID No (NIN)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "description": "National ID number of the Grandparent or Introducer, if available. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — National ID No (NIN)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "grandparentOriginCountry",
      "label": "Country",
      "type": "string",
      "required": false,
      "description": "Country of the Grand Parents' Place of Origin. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Grand Parents Place of Origin: Country",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentOriginDistrict",
      "label": "District",
      "type": "string",
      "required": false,
      "description": "District of the Grand Parents' Place of Origin. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Grand Parents Place of Origin: District",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentOriginCounty",
      "label": "County",
      "type": "string",
      "required": false,
      "description": "County of the Grand Parents' Place of Origin. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Grand Parents Place of Origin: County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentOriginSubCounty",
      "label": "Sub-County",
      "type": "string",
      "required": false,
      "description": "Sub-County of the Grand Parents' Place of Origin. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Grand Parents Place of Origin: Sub-County",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentOriginParishWard",
      "label": "Parish/Ward",
      "type": "string",
      "required": false,
      "description": "Parish/Ward of the Grand Parents' Place of Origin. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Grand Parents Place of Origin: Parish/Ward",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentOriginVillage",
      "label": "Village",
      "type": "string",
      "required": false,
      "description": "Village of the Grand Parents' Place of Origin. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Grand Parents Place of Origin: Village",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "grandparentIndigenousCommunityTribe",
      "label": "Indigenous Community/tribe",
      "type": "string",
      "required": false,
      "description": "Indigenous community/tribe of the Grandparent(s)/Introducer. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — Indigenous Community/tribe",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "grandparentClan",
      "label": "Clan",
      "type": "string",
      "required": false,
      "description": "Clan of the Grandparent(s)/Introducer. Applicable only for an applicant registering under Citizenship by Birth/descent whose information for both parents is not available, per the form's own printed note; the source prints no applicant-fillable gating checkbox for this condition, so this field is modelled optional with the condition recorded here rather than as a fabricated requiredWhen (consistent with this registry's lk/drp precedent for the same pattern).",
      "sourceRef": "9 Details of Grand Parent(s)/Introducer — clan",
      "validation": {
        "maxLength": 60
      }
    },
    {
      "name": "child1Name",
      "label": "Particulars of Applicant's Children, row 1: Names of Child",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The specimen prints a bounded 4-row table (no explicit row-count label on the form itself, confirmed by counting this table's own printed horizontal rule lines), not an open-ended list; flattened here to child1..4, matching this registry's bounded-repeating-group convention (e.g. ng/nis/application-for-nigeria-standard-passport). Not required: an applicant with no children, or fewer than 4, leaves the remaining rows blank.",
      "sourceRef": "10 Particulars of Applicants Children, row 1: Names of Child",
      "validation": {
        "maxLength": 150
      }
    },
    {
      "name": "child1Sex",
      "label": "Particulars of Applicant's Children, row 1: Sex (M/F)",
      "type": "enum",
      "required": false,
      "classification": "pii",
      "sourceRef": "10 Particulars of Applicants Children, row 1: Sex (M/F)",
      "validation": {
        "enum": [
          "MALE",
          "FEMALE"
        ]
      }
    },
    {
      "name": "child1DateOfBirth",
      "label": "Particulars of Applicant's Children, row 1: Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "10 Particulars of Applicants Children, row 1: Date of Birth"
    },
    {
      "name": "child1NationalIdNumber",
      "label": "Particulars of Applicant's Children, row 1: National ID Number (if available)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "10 Particulars of Applicants Children, row 1: National ID Number (if available)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "child2Name",
      "label": "Particulars of Applicant's Children, row 2: Names of Child",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The specimen prints a bounded 4-row table (no explicit row-count label on the form itself, confirmed by counting this table's own printed horizontal rule lines), not an open-ended list; flattened here to child1..4, matching this registry's bounded-repeating-group convention (e.g. ng/nis/application-for-nigeria-standard-passport). Not required: an applicant with no children, or fewer than 4, leaves the remaining rows blank.",
      "sourceRef": "10 Particulars of Applicants Children, row 2: Names of Child",
      "validation": {
        "maxLength": 150
      }
    },
    {
      "name": "child2Sex",
      "label": "Particulars of Applicant's Children, row 2: Sex (M/F)",
      "type": "enum",
      "required": false,
      "classification": "pii",
      "sourceRef": "10 Particulars of Applicants Children, row 2: Sex (M/F)",
      "validation": {
        "enum": [
          "MALE",
          "FEMALE"
        ]
      }
    },
    {
      "name": "child2DateOfBirth",
      "label": "Particulars of Applicant's Children, row 2: Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "10 Particulars of Applicants Children, row 2: Date of Birth"
    },
    {
      "name": "child2NationalIdNumber",
      "label": "Particulars of Applicant's Children, row 2: National ID Number (if available)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "10 Particulars of Applicants Children, row 2: National ID Number (if available)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "child3Name",
      "label": "Particulars of Applicant's Children, row 3: Names of Child",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The specimen prints a bounded 4-row table (no explicit row-count label on the form itself, confirmed by counting this table's own printed horizontal rule lines), not an open-ended list; flattened here to child1..4, matching this registry's bounded-repeating-group convention (e.g. ng/nis/application-for-nigeria-standard-passport). Not required: an applicant with no children, or fewer than 4, leaves the remaining rows blank.",
      "sourceRef": "10 Particulars of Applicants Children, row 3: Names of Child",
      "validation": {
        "maxLength": 150
      }
    },
    {
      "name": "child3Sex",
      "label": "Particulars of Applicant's Children, row 3: Sex (M/F)",
      "type": "enum",
      "required": false,
      "classification": "pii",
      "sourceRef": "10 Particulars of Applicants Children, row 3: Sex (M/F)",
      "validation": {
        "enum": [
          "MALE",
          "FEMALE"
        ]
      }
    },
    {
      "name": "child3DateOfBirth",
      "label": "Particulars of Applicant's Children, row 3: Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "10 Particulars of Applicants Children, row 3: Date of Birth"
    },
    {
      "name": "child3NationalIdNumber",
      "label": "Particulars of Applicant's Children, row 3: National ID Number (if available)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "10 Particulars of Applicants Children, row 3: National ID Number (if available)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "child4Name",
      "label": "Particulars of Applicant's Children, row 4: Names of Child",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The specimen prints a bounded 4-row table (no explicit row-count label on the form itself, confirmed by counting this table's own printed horizontal rule lines), not an open-ended list; flattened here to child1..4, matching this registry's bounded-repeating-group convention (e.g. ng/nis/application-for-nigeria-standard-passport). Not required: an applicant with no children, or fewer than 4, leaves the remaining rows blank.",
      "sourceRef": "10 Particulars of Applicants Children, row 4: Names of Child",
      "validation": {
        "maxLength": 150
      }
    },
    {
      "name": "child4Sex",
      "label": "Particulars of Applicant's Children, row 4: Sex (M/F)",
      "type": "enum",
      "required": false,
      "classification": "pii",
      "sourceRef": "10 Particulars of Applicants Children, row 4: Sex (M/F)",
      "validation": {
        "enum": [
          "MALE",
          "FEMALE"
        ]
      }
    },
    {
      "name": "child4DateOfBirth",
      "label": "Particulars of Applicant's Children, row 4: Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "10 Particulars of Applicants Children, row 4: Date of Birth"
    },
    {
      "name": "child4NationalIdNumber",
      "label": "Particulars of Applicant's Children, row 4: National ID Number (if available)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "10 Particulars of Applicants Children, row 4: National ID Number (if available)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "declarantName",
      "label": "Declarant Name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "PART E. Declaration — \"I .......... declare that the above particulars are true to my knowledge and belief.\"",
      "validation": {
        "maxLength": 150
      }
    },
    {
      "name": "declarantSignatureOrThumbprint",
      "label": "Signature/Thumbprint of Applicant or Parent/Guardian",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "PART E. Declaration — Signature/Thumbprint of Applicant or Parent/Guardian"
    },
    {
      "name": "declarationDate",
      "label": "Date of Declaration",
      "type": "date",
      "required": true,
      "sourceRef": "PART E. Declaration — Date of Declaration"
    }
  ]
}
