{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "ng/nis/application-for-nigeria-standard-passport",
  "version": "1.0.0",
  "title": "Application for Nigeria Standard Passport (Form C1) — Adult",
  "description": "Apply for a Nigerian standard (e-)passport through the Nigeria Immigration Service (NIS)'s \"Form C1 — Application for Nigeria Standard Passport\", scoped to the Adult applicant pathway (the specimen's own header prints a shared ADULT/MINOR toggle, but carries no distinct fields for the Minor pathway beyond that single toggle; Minor-specific requirements, if any exist on a fuller specimen, are left as a future-cycle candidate rather than assumed here), closing Nigeria's Passport vertical (5 of 6, alongside Business Formation, Taxes, Visa, and National ID; continuing the Nigeria research thread from GOV-2567/GOV-2569, where this candidate was first identified and left as backlog). This specimen is a flat, print-and-hand-fill PDF (0 AcroForm widgets, confirmed via `pdfjs-dist` `getAnnotations()` across all 6 pages) distributed by the Nigeria High Commission, London as part of a bundled \"lost passport requirements\" packet (HTTP 200, `application/pdf`, 170,446 bytes, `Last-Modified: Tue, 06 Jun 2023`, `sha256:85d970ee602c3bb9d98e1fd850541a8d63d9fd2f5c45c5a6b2281cf98bc317a4`), independently re-fetched and re-extracted this cycle. Form C1 itself occupies only the bundle's first page; the same PDF also bundles three further, distinct documents disclosed here rather than silently dropped: a \"Form of Undertaking and Guarantee\" (Form P/21, a guarantor affidavit with its own Parts I–III covering guarantor particulars, assets, an overseas-travel-specific declaration, and a notarized undertaking/indemnity), a \"Statutory Declaration of Lost Passport\" (a notarized affidavit specific to the Nigeria High Commission London's own lost-passport process), and a \"Statutory Declaration of Age\" (a notarized affidavit for cases where no birth registry existed at the time of the applicant's birth). Per this registry's established companion-document convention, none of these three is modelled as this schema's own `fields[]` (each is a separately executed, separately signed/notarized document with its own signatory), but each is captured as a conditionally-required `documents[]` entry rather than omitted. This schema's 40 `fields[]` entries cover Form C1's own applicant-particulars section (identity, physical description, next-of-kin, and a bounded 4-row \"particulars of children to be endorsed on Mother's passport\" table, matching this registry's established bounded-repeating-group convention) plus a `reasonForApplication` field (First Issue / Re-issue / Damaged / Lost / Change of data / Dual National) — modelled at its full printed enum breadth rather than narrowed to first-time-adult only, since the specimen itself is structured as one form serving all six reasons and narrowing would contradict this registry's source-fidelity principle. That checkbox set is disclosed as appearing only within the specimen's \"For Official Use Only\"/receipt-counterfoil portion of page 1 (duplicated across two near-identical receipt blocks), not the applicant-facing top section — included here anyway as core applicant data (the office transcribes the applicant's own stated reason onto the receipt) rather than excluded as pure office administrivia. The specimen's final office-only blocks (authority code, acquisition batch number, application form number, fee amount collected, officer/control-officer signatures, post-issuance passport-number recording) are excluded, consistent with this registry's established \"for official use only\" exclusion convention. 5 `documents[]` entries capture a caution/false-declaration acknowledgement (quoted verbatim from the specimen's own header warning), a passport fee payment (no fixed amount printed on this specimen), the Form P/21 guarantor undertaking, and the two lost-passport/age statutory declarations (each conditionally required). GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Nigeria, the Nigeria Immigration Service, or the Nigeria High Commission, London.",
  "status": "draft",
  "jurisdiction": {
    "country": "NG",
    "level": "national"
  },
  "authority": {
    "name": "Nigeria Immigration Service",
    "abbreviation": "NIS",
    "url": "https://immigration.gov.ng"
  },
  "process": {
    "type": "application",
    "language": "en"
  },
  "source": {
    "url": "https://www.nigeriahc.org.uk/wp-content/uploads/2023/05/LostReqForm.pdf",
    "retrievedAt": "2026-07-12",
    "documentRef": "Form C1 — \"Application for Nigeria Standard Passport\" (Nigeria Immigration Service), page 1 of a 6-page flat (0 AcroForm widgets) PDF bundle distributed by the Nigeria High Commission, London, which also bundles Form P/21 (\"Form of Undertaking and Guarantee\", pages 2-3), a \"Statutory Declaration of Lost Passport\" (page 4), a \"Statutory Declaration of Age\" (page 5), and a public notice (page 6) — see `verification.notes` and VERIFICATION.md for how each companion document is scoped."
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-12",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-12",
    "notes": "GovSchema Standard Research cycle GOV-2577, continuing Nigeria's research thread from GOV-2567 (parent) and GOV-2569 (National ID, 4/6), where this candidate (NIS Form C1 via the Nigeria High Commission London mirror) was first identified and left as backlog. Independently re-fetched the cited source this cycle: HTTP 200, `application/pdf`, 170,446 bytes, `Last-Modified: Tue, 06 Jun 2023 05:55:47 GMT`, `sha256:85d970ee602c3bb9d98e1fd850541a8d63d9fd2f5c45c5a6b2281cf98bc317a4` — matching the byte count already recorded in CATALOG.md's GOV-2569 update exactly. `pdfjs-dist` (legacy build, v3, `require`'d via `createRequire`) was used for `page.getAnnotations()` (confirming 0 Widget annotations across all 6 pages — a flat, print-and-hand-fill bundle) and `page.getTextContent()` (row-grouped by rounded y-coordinate, sorted left-to-right by x) to read the full printed text of every page directly; every field in this schema is derived from Form C1's own page-1 printed labels and row/column position, since there are no digital field names to cross-check against. The PDF's misleading filename (`LostReqForm.pdf`) reflects its actual scope: a bundled 'lost passport requirements' packet assembled by the London mission, not a form named after loss — Form C1 itself (page 1) serves all six printed reasons for application, and the bundle's pages 4-5 are London-mission-specific companion affidavits for the lost-passport and no-birth-registry scenarios specifically, not part of the generic NIS Form C1 itself. Scoping/judgment calls (see VERIFICATION.md §Access notes for full disclosure): (1) this schema models the Adult applicant pathway only, per this issue's own framing — the specimen's shared ADULT/MINOR header toggle carries no distinct printed fields for a Minor applicant beyond the toggle itself, so a Minor-specific schema is left as a future candidate rather than fabricated; (2) `reasonForApplication` is modelled at its full 6-value printed breadth (not narrowed to first-time-adult only), since the specimen is one form serving all six reasons and each is printed with equal footing — narrowing would contradict source fidelity, though the field is disclosed as appearing only within the specimen's 'For Official Use Only'/receipt-counterfoil section, not the applicant-facing top section; (3) Form P/21 (the guarantor undertaking), the Statutory Declaration of Lost Passport, and the Statutory Declaration of Age are each modelled as a `documents[]` entry (not as this schema's own `fields[]`), since each is a separately executed, separately signed/notarized instrument with its own signatory (a guarantor or declarant, not the passport applicant) — disclosed rather than silently dropped, consistent with this registry's companion-document convention (cf. `rw/dgie`, VN companion-form precedent); (4) no photograph requirement is modelled, since the extracted text of all 6 pages contains no printed mention of a photograph, unlike this registry's other NG/NIS specimen (`ng/nis/application-for-visa-entry-permit`), which does print one — a real-world gap flagged here for a future verification cycle rather than assumed. Conformance run: 2 valid mock scenarios (0 errors each) and 5 mutation-control fixtures (exactly 1 error each) using a disposable validate_instance.mjs script (not committed), mirroring the approach used by the Visa sibling. See VERIFICATION.md for the full write-up."
  },
  "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-12"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "applicantPhoneNumber",
      "label": "Applicant Phone No",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1, header row: \"Applicant Phone No\"",
      "validation": { "maxLength": 30 }
    },
    {
      "name": "surname",
      "label": "Surname",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Surname :\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "otherNames",
      "label": "Other Names",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Other Names:\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "sex",
      "label": "Sex",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "description": "The specimen prints no option beyond the binary Male/Female anywhere on the form.",
      "sourceRef": "Page 1: \"Sex: Male Female\"",
      "validation": { "enum": ["male", "female"] }
    },
    {
      "name": "dateOfBirth",
      "label": "Date of Birth",
      "type": "date",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "Page 1: \"Date of Birth:\" with \"Day Month Year\" column headers"
    },
    {
      "name": "placeOfBirthTown",
      "label": "Place of Birth: Town",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Place of Birth: Town\"",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "placeOfBirthState",
      "label": "Place of Birth: State",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Place of Birth: ... State\" (second blank on the same row)",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "stateOfOrigin",
      "label": "State of Origin",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Nigerian-specific concept, distinct from place of birth: the state the applicant is indigenous to.",
      "sourceRef": "Page 1: \"State of Origin:\"",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "currentAddressState",
      "label": "Current Address: State",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Current Address: State\"",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "currentAddressStreet",
      "label": "Current Address: Street",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Current Address: ... Street\" (second line of the same block)",
      "validation": { "maxLength": 300 }
    },
    {
      "name": "profession",
      "label": "Profession",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1: \"Profession:\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "occupation",
      "label": "Occupation",
      "type": "string",
      "required": true,
      "description": "Printed as a separate blank from Profession; the specimen does not further distinguish the two, so both are modelled faithfully as distinct fields.",
      "sourceRef": "Page 1: \"Occupation :\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "heightInMeters",
      "label": "Height in Meters",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Height in Meters:\"",
      "validation": { "maxLength": 30 }
    },
    {
      "name": "eyeColour",
      "label": "Colour of Eyes",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "description": "The specimen prints exactly four options in its Colour of Eyes column, no free-text alternative.",
      "sourceRef": "Page 1: \"Colour of Eyes:\" column — \"brown\", \"green\", \"grey\", \"blue\"",
      "validation": { "enum": ["brown", "green", "grey", "blue"] }
    },
    {
      "name": "hairColour",
      "label": "Colour of Hair",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "description": "The specimen prints exactly three options in its Colour of Hair column (black/grey/white), narrower than its Colour of Eyes column; modelled faithfully rather than expanded.",
      "sourceRef": "Page 1: \"Colour of Hair:\" column — \"black\", \"grey\", \"white\"",
      "validation": { "enum": ["black", "grey", "white"] }
    },
    {
      "name": "maritalStatus",
      "label": "Marital Status",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Marital Status:\" column — \"single\", \"married\", \"widowed\", \"divorced\"",
      "validation": { "enum": ["single", "married", "widowed", "divorced"] }
    },
    {
      "name": "specialFeatures",
      "label": "Special features",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Not required: an applicant with no distinguishing marks has nothing to declare and the specimen provides no separate \"none\" checkbox.",
      "sourceRef": "Page 1: \"Special features :\"",
      "validation": { "maxLength": 200 }
    },
    {
      "name": "maidenName",
      "label": "Maiden Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Applicable to an applicant who has been married; not required for an applicant who has never married, since a single applicant has nothing to declare here. Gated on marital status only (the specimen does not separately cross-reference sex against this field).",
      "sourceRef": "Page 1: \"Maiden Name:\"",
      "requiredWhen": { "field": "maritalStatus", "in": ["married", "widowed", "divorced"] },
      "validation": { "maxLength": 150 }
    },
    {
      "name": "nextOfKinName",
      "label": "Next of Kin: Name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Next of Kin: Name\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "nextOfKinAddress",
      "label": "Next of Kin: Address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Next of Kin: ... Address\"",
      "validation": { "maxLength": 300 }
    },
    {
      "name": "nextOfKinContactTelephone",
      "label": "Next of Kin: Contact Telephone No.",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1: \"Contact Telephone No.\" (beneath Next of Kin: Name/Address)",
      "validation": { "maxLength": 30 }
    },
    {
      "name": "reasonForApplication",
      "label": "Reason for application",
      "type": "enum",
      "required": true,
      "description": "The specimen prints this checkbox set only within its \"For Official Use Only\"/receipt-counterfoil portion of page 1 (duplicated across two near-identical receipt blocks), not the applicant-facing top section; modelled here as core applicant data since the office transcribes the applicant's own stated reason onto the receipt, not a value the office invents independently. Modelled at the specimen's full 6-value printed breadth rather than narrowed to first-time-adult only: Form C1 is one form serving all six reasons with equal footing, and narrowing would contradict this registry's source-fidelity principle.",
      "sourceRef": "Page 1, \"For Official Use Only\" section: \"Reason for application First Issue / Re-issue / Damaged / Lost ... / Change of data / Dual National\" (printed twice, once per receipt block)",
      "validation": { "enum": ["first_issue", "re_issue", "damaged", "lost", "change_of_data", "dual_national"] }
    },
    {
      "name": "previousPassportNumber",
      "label": "Previous Passport No.",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "description": "Applicable only when the reason for application is a lost passport; not applicable for any other reason.",
      "sourceRef": "Page 1, \"For Official Use Only\" section: \"Lost Previous Passport No.\"",
      "requiredWhen": { "field": "reasonForApplication", "equals": "lost" },
      "validation": { "maxLength": 30 }
    },
    {
      "name": "child1Name",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 1: Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The specimen prints a bounded 4-row table (rows 1-4), not an open-ended list; flattened here to child1..4, matching this registry's bounded-repeating-group convention. Not required: an applicant with no children to endorse, or fewer than 4, leaves the remaining rows blank.",
      "sourceRef": "Page 1: \"Particulars of Children to be endorsed on Mother's Passport\" table, row 1: \"Name\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "child1DateOfBirth",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 1: Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "Page 1, table row 1: \"Date of Birth\""
    },
    {
      "name": "child1Sex",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 1: Sex",
      "type": "enum",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 1: \"Sex\"",
      "validation": { "enum": ["male", "female"] }
    },
    {
      "name": "child1PlaceOfBirth",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 1: Place of Birth",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 1: \"Place of Birth\"",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "child2Name",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 2: Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 2: \"Name\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "child2DateOfBirth",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 2: Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "Page 1, table row 2: \"Date of Birth\""
    },
    {
      "name": "child2Sex",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 2: Sex",
      "type": "enum",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 2: \"Sex\"",
      "validation": { "enum": ["male", "female"] }
    },
    {
      "name": "child2PlaceOfBirth",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 2: Place of Birth",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 2: \"Place of Birth\"",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "child3Name",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 3: Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 3: \"Name\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "child3DateOfBirth",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 3: Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "Page 1, table row 3: \"Date of Birth\""
    },
    {
      "name": "child3Sex",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 3: Sex",
      "type": "enum",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 3: \"Sex\"",
      "validation": { "enum": ["male", "female"] }
    },
    {
      "name": "child3PlaceOfBirth",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 3: Place of Birth",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 3: \"Place of Birth\"",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "child4Name",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 4: Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 4: \"Name\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "child4DateOfBirth",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 4: Date of Birth",
      "type": "date",
      "required": false,
      "classification": "sensitive-pii",
      "sourceRef": "Page 1, table row 4: \"Date of Birth\""
    },
    {
      "name": "child4Sex",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 4: Sex",
      "type": "enum",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 4: \"Sex\"",
      "validation": { "enum": ["male", "female"] }
    },
    {
      "name": "child4PlaceOfBirth",
      "label": "Particulars of children to be endorsed on Mother's Passport, row 4: Place of Birth",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Page 1, table row 4: \"Place of Birth\"",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "signatureDate",
      "label": "Signature date",
      "type": "date",
      "required": true,
      "sourceRef": "Page 1, bottom of receipt: \"Date\" beside \"Signature or thumbprint of applicant\""
    }
  ],
  "documents": [
    {
      "id": "cautionAcknowledgement",
      "label": "Acknowledgement of false-declaration caution",
      "category": "attestation",
      "required": true,
      "belongsTo": "applicant",
      "statement": "CAUTION: ANY FALSE DECLARATION ON THIS FORM MAY LEAD TO WITHDRAW OF ALL THE PASSPORT AND/ OR PROSECUTION OF THE APPLICANT",
      "sourceRef": "Page 1, header, directly beneath the ADULT/MINOR toggle. Quoted verbatim, including the specimen's own irregular spacing (\"AND/ OR\")."
    },
    {
      "id": "passportFeePayment",
      "label": "Passport fee payment",
      "category": "payment",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Page 1, \"For Official Use Only\" section: \"Amount of fees charged\" (no fixed figure printed on this specimen — fees are collected at time of application and vary by passport type/booklet size, per page 6's public notice directing applicants to the fee schedule published at the relevant NIS/mission site)."
    },
    {
      "id": "guarantorUndertakingForm",
      "label": "Form of Undertaking and Guarantee (Form P/21)",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "responsible-party",
      "sourceRef": "Pages 2-3 of the same PDF bundle: \"FORM OF UNDERTAKING AND GUARANTEE\" (\"Form P/21\"), \"(To be furnished by applicant for Nigerian Passports)\" — a guarantor's own affidavit (Parts I-III: guarantor particulars and assets, an overseas-travel-specific declaration explicitly excepting applicants \"sponsored by the Federal or State Government or Corporation\", and a notarized undertaking/indemnity sworn before a Commissioner for Oaths). Modelled as a companion document rather than this schema's own fields[], since it is separately executed and signed by the guarantor, not the passport applicant."
    },
    {
      "id": "statutoryDeclarationOfLostPassport",
      "label": "Statutory Declaration of Lost Passport",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "requiredWhen": { "field": "reasonForApplication", "equals": "lost" },
      "sourceRef": "Page 4 of the same PDF bundle, Nigeria High Commission London letterhead: \"STATUTORY DECLARATION OF LOST PASSPORT\" — a notarized declaration (misplaced/destroyed/stolen) sworn before a Commissioner for Oaths, specific to this mission's lost-passport process."
    },
    {
      "id": "statutoryDeclarationOfAge",
      "label": "Statutory Declaration of Age",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "sourceRef": "Page 5 of the same PDF bundle, Nigeria High Commission London letterhead: \"STATUTORY DECLARATION OF AGE\" — a notarized declaration used \"where there was no Birth Registry\" at the time of the applicant's birth, sworn before a Commissioner for Oaths. Not machine-gated: the specimen provides no dedicated \"no birth registry existed\" eligibility field to gate a requiredWhen against."
    }
  ]
}
