Registry entry
Zimbabwe Passport Application (Form EP1)
The Department of the Registrar-General's (RG) "APPLICATION FOR A ZIMBABWE PASSPORT" (form code EP1, 4 pages), a single unified form covering first-time issuance, renewal, and lost/stolen replacement. Opens Zimbabwe's Passport vertical (2 of 6), alongside `zw/zimra/itf1-employment-income-return` (Taxes, 1 of 6). The live `rg.gov.zw` origin has returned HTTP 404 on every path for a genuine, ongoing outage (first observed 2026-02-07, still down 2026-07-23 at authoring time); this schema is sourced from a Wayback Machine capture of the form taken while the live site's own download endpoint was still serving it directly and unauthenticated (see verification.notes for the archival-source rationale, following this registry's established `mt/transport-malta` Wayback-workaround precedent, GOV-4237). The retrieved PDF is a scanned/flat specimen with a third-party AcroForm layer retrofitted on top (a common pattern for older Zimbabwean government forms) — its own internal field names are generic Adobe form-builder placeholders, several written in Hebrew script (e.g. a field literally named "מלל6", Hebrew for "text"/content placeholder), an artifact of the retrofit tool rather than any Hebrew-language content in the form itself; every field below was mapped to a semantic name by its rect position cross-referenced against the rendered page image and its printed label, not by its literal internal name. This document models Section 1 (Personal Details: ID number, Birth Entry Number, name, sex, marital status, date/place/country of birth, physical description, address, telephone), Section 2 (Married Woman, Divorced or Widowed — husband's particulars, gated on the applicant being female and not single), Section 3 (Next of Kin), Section 4 (Declaration by Applicant — citizenship basis, prior Zimbabwean and foreign passport history), Section 5 (Declaration by Father or Other Legal Guardian, gated on an unprinted `applicantIsMinor` eligibility boolean since the section's own header states it applies only to children under 18, the same convention this registry's other passport schemas use for an analogous age gate), and Section 6 (Particulars of Lost/Stolen Passport, gated on the applicant having answered "Yes, Lost" to Section 4's own prior-passport question, since Section 6's own header ties directly to a lost/stolen prior passport and no separate checkbox exists to select it). It excludes: Page 1's free-text continuation line for "state original name, how changed, and date", Section 5's "Relationship to child" box, both pages' "Signature" boxes (Section 4 and Section 5), Section 6's "State how lost/stolen or other reasons" free-text block, and the entirety of Section 7 ("Previous Marriage Details/Former Names") — every one of these is a genuine printed box or writing line on the source form, but none carries a corresponding AcroForm widget in this specific digital retrofit (confirmed by exhaustively mapping every widget rect to the rendered page, not merely inferred), so none is a field an agent can supply through this document (signature capture is additionally excluded per this registry's own standing convention for physical signature/biometric acts). Page 3 (photograph, fingerprint, and in-person-signature capture performed at a Zimbabwe Passport Office, plus office-only processing fields) and page 4 (an "INSTRUCTIONS" panel plus an office-only collection/disposal panel) are excluded from `fields[]` in their entirety as non-applicant-authored content, though page 4's own required-original-documents checklist and page 3's biometric capture are modeled in `documents[]`. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Republic of Zimbabwe or the Department of the Registrar-General.
Registry entry
zw/rg/passport-application
Machine access
- Schema document
registry/zw/rg/passport-application/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/zw/rg/passport-application/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
46 fields across 7 steps, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Eligibility Gates
-
applicantIsMinorboolean requiredNot a printed checkbox. Section 5's own header reads "DECLARATION BY FATHER OR OTHER LEGAL GUARDIAN (for children under 18 years)" — this directly-supplied boolean gates Section 5. See this schema's own verification.notes Finding 5.
Section 1: Personal Details
-
idNumberstring optionalOne of two alternative applicant identifiers printed side by side (the other is Birth Entry Number); neither is universal to every applicant, so both are modeled optional.
length: 0–12classification: sensitive-pii -
birthEntryNumberstring optionalBirth Entry Number
length: 0–11classification: sensitive-pii -
surnamestring requiredSurname
length: 0–100classification: pii -
otherNamesstring requiredOther Names
length: 0–150classification: pii -
maidenNamestring optionalMaiden Name
length: 0–100classification: pii -
nameChangedboolean optionalThe printed continuation line asking for the original name, how it changed, and the date carries no corresponding AcroForm widget in this retrofit and is excluded — see this schema's own verification.notes Finding 1(a).
-
sexenum requiredModeled as a clean two-value enum; see this schema's own verification.notes Finding 3 for the underlying dropdown's malformed export values.
enum: M | Fclassification: pii -
maritalStatusenum requiredMarital Status
enum: SINGLE | MARRIED | WIDOWED | DIVORCEDclassification: pii -
dateOfBirthdate requiredDate of Birth
classification: sensitive-pii -
placeOfBirthstring requiredPlace of Birth
length: 0–150classification: pii -
countryOfBirthstring requiredCountry of Birth
length: 0–100classification: pii -
heightinteger optionalSee this schema's own verification.notes Finding 8 for why this is modeled as a single centimetre field.
range: 30–250classification: pii -
colourOfEyesstring optionalColour of Eyes
length: 0–12classification: pii -
colourOfHairstring optionalColour of Hair
length: 0–12classification: pii -
visibleMarksstring optionalVisible Marks or Peculiarities
length: 0–300classification: pii -
professionstring optionalProfession
length: 0–150 -
residentialAddressstring requiredResidential Address
length: 0–300classification: pii -
countryOfPermanentResidencestring optionalCountry of Permanent Residence
length: 0–100 -
telephonestring optionalTelephone
length: 0–50classification: pii
Section 2: Married Woman, Divorced or Widowed
-
dateOfMarriagedate optionalSee this schema's own verification.notes Finding 4 for this section's compound gating condition.
classification: pii -
husbandFullNamestring optionalHusband's Full Name
length: 0–150classification: pii -
placeCountryOfMarriagestring optionalPlace & Country of Marriage
length: 0–200classification: pii -
husbandPlaceCountryOfBirthstring optionalHusband's Place & Country of Birth
length: 0–200classification: pii -
husbandCitizenshipstring optionalHusband's Citizenship
length: 0–100classification: pii -
marriageOrDivorceOrderNumberstring optionalMarriage or Divorce Order Number
length: 0–50classification: sensitive-pii -
marriedMoreThanOnceboolean optionalIf yes, particulars of former marriage(s) must be given on page 2, Section 7 — that free-text block carries no AcroForm widget and is excluded (see this schema's own verification.notes Finding 1(e)).
Section 3: Next of Kin
-
nokFullNamestring requiredRequired per page 4's own explicit instruction item 4: "SECTION 3 OF THIS FORM MUST BEAR THE DETAILS OF NEXT OF KIN."
length: 0–200classification: pii -
nokRelationstring requiredNext of Kin — Relation to Applicant
length: 0–100 -
nokResidentialAddressstring requiredNext of Kin — Residential Address
length: 0–300classification: pii -
nokTelephonestring requiredNext of Kin — Telephone
length: 0–50classification: pii
Section 4: Declaration by Applicant
-
citizenshipBasisenum requiredI am a Citizen of Zimbabwe by
enum: BIRTH | DESCENT | REGISTRATION -
previouslyIssuedPassportStatusenum requiredWere You Ever Issued With a Zimbabwean Passport/Travel Document?
enum: NO | YES_VALID | YES_EXPIRED | YES_FULL | YES_LOST -
previousPassportNumberstring optionalPrevious Passport Number
length: 0–20classification: sensitive-pii -
foreignPassportHolderenum requiredAre You a Holder of a Foreign Passport?
enum: NA | NO | YES -
foreignPassportNumberstring optionalForeign Passport Number
length: 0–20classification: sensitive-pii -
renouncedForeignBirthRightenum requiredDid You Renounce Your Foreign Birth Right in Favour of Zimbabwean Citizenship?
enum: NA | NO | YES -
surrenderedForeignPassportenum requiredDid You Surrender Your Foreign Passport?
enum: NA | NO | YES -
surrenderedPassportNumberstring optionalSurrendered Passport Number
length: 0–20classification: sensitive-pii -
declarationDatedate requiredThe accompanying "Signature In bold black ink" box carries no AcroForm widget and is represented instead by this schema's own applicantDeclarationAttestation documents[] entry.
Section 5: Declaration by Father or Other Legal Guardian
-
guardianIdNumberstring optionalParent/Legal Guardian — I.D. No.
length: 0–12classification: sensitive-pii -
guardianConsentDatedate optionalThe adjacent "Relationship to child" box and "Signature of father/legal guardian" box carry no AcroForm widget and are excluded — see this schema's own verification.notes Finding 1(b).
Section 6: Particulars of Lost/Stolen Passport
-
lostPassportNumberstring optionalSee this schema's own verification.notes Finding 6 for why this section is gated on previouslyIssuedPassportStatus rather than a second unprinted boolean.
length: 0–20classification: sensitive-pii -
lostPassportIssuedAtstring optionalLost/Stolen Passport — Issued At
length: 0–100 -
lostPassportIssueDatedate optionalLost/Stolen Passport — Issue Date
-
lostPassportBearerFullNamestring optionalLost/Stolen Passport — Bearer's Full Name
length: 0–200classification: pii
Verification record
Candidate selection
GOV-4480 (child of GOV-4476, "GovSchema Standard Research"). Opens Zimbabwe's Passport vertical (2 of 6), following GOV-4470's zw/zimra/itf1-employment-income-return (Taxes, 1 of 6) — the Department of the Registrar-General's (RG) "APPLICATION FOR A ZIMBABWE PASSPORT" (form code EP1, 4 pages), a unified form covering first-time issuance, renewal, and lost/stolen replacement.
Reaching the source: a genuine live-site outage, worked around via Wayback
The live origin rg.gov.zw returns HTTP 404 on every path attempted this cycle (including the domain root and the documents-and-forms listing page) — independently reproduced, not merely trusted from the delegating issue's own paraphrase. The delegating issue's own CDX history check places the outage's first observation at approximately 2026-02-07: a genuine ~6-month-and-counting outage, not a transient blip, still ongoing as of this cycle (2026-07-23).
Per this registry's established Wayback-workaround precedent (mt/transport-malta/driving-licence-renewal@1.0.0, GOV-4237), the form was instead retrieved from a Wayback Machine capture of the live download endpoint:
https://web.archive.org/web/20191101005412/http://www.rg.gov.zw:80/index.php/documents-and-forms?download=1:passport-application-form- Independently re-fetched and re-hashed this cycle rather than trusted from the delegating issue's own report alone: HTTP 200,
Content-Type: application/pdf,Content-Length: 1,568,546bytes — an exact byte-for-byte match with the delegating issue's own disclosed size. - sha256
8f939371ee2a20aa1e7428473944b949b791765da767872995815a03f5ad931a. Begins%PDF-1.6. - The Wayback response's own
x-archive-orig-*headers confirm the underlying capture's original response was itselfContent-Type: application/pdfwith HTTP status200, and no cookie/session gate beyond a single non-authenticating session cookie — i.e. genuinely a direct, unauthenticated PDF download on the live site at capture time (2019-11-01), not a login-gated resource incidentally crawled.
Document structure and extraction method
4 pages. pdfjs-dist's getAnnotations() confirms exactly 68 /Widget annotations (38 on page 1, 28 on page 2, 1 each on pages 3 and 4) — an exact match to the delegating issue's own disclosed count, independently reproduced rather than trusted.
getTextContent(), however, returned zero text items on all four pages: this is a scanned/flat specimen with a third-party AcroForm layer retrofitted on top for fillability, not a specimen with a native selectable text layer (unlike this registry's zw/zimra/itf1-employment-income-return, which is flat with no AcroForm at all). With no text layer to cross-reference against widget position, every field was mapped to its printed label by:
- Rendering each page to a PNG via
pdfjs-dist+node-canvasat 2.5x scale (both vendored at/tmp/node_modulesfrom prior cycles). - Drawing each widget's own PDF-coordinate
rectas a red overlay rectangle back onto that same rendered page image, then visually confirming which printed label and box each rectangle lands on — a positive-alignment check, not a distance-based guess.
This caught and corrected an initial page-2 mis-mapping: a first pass at ordering fields by y-coordinate alone misassigned four fields (undefined2, undefined4, מלל32, מלל33, undefined5) to the wrong printed rows. The overlay re-render confirmed the correct assignment used in this schema — Section 5's "I.D. No." and "Date" boxes, and Section 6's "Passport No.", "Issued at", and "Issue date" boxes.
Hebrew-placeholder field names
The retrofit tool's own internal field names are generic Adobe form-builder placeholders, several written in Hebrew script (e.g. מלל6, מלל19 — Hebrew for a text/content placeholder). This is an artifact of the specific third-party PDF-to-fillable conversion tool used on this specimen, unrelated to any Hebrew-language content in the form itself (the form is entirely English-language). Every field's semantic name in this schema derives from its confirmed printed label via the overlay-render method above, never from its literal internal PDF field name.
Scope: office-only / non-fillable / biometric-capture exclusions
- Pages 3 and 4 are excluded from
fields[]in their entirety. Page 3 is entirely office-processing (Passport No., Processing date, Passport type, Processing officer's name/signature) plus an "INSTRUCTIONS TO THE OFFICERS" panel and physical photograph/fingerprint/in-person-signature capture boxes. Page 4 is an "INSTRUCTIONS" panel (modeled instead asdocuments[]entries, see below) plus an office-only collection/disposal panel. Each page's single AcroForm widget sits at an identical tiny bottom-left corner position with no visible printed label anywhere nearby — a non-substantive internal artifact of the Adobe LiveCycle-style retrofit (the same artifact also appears once each on pages 1 and 2), accounting for the disclosed "1 each on pages 3/4" portion of the 68-field total. - Several genuinely-printed, applicant-facing boxes and writing lines on pages 1-2 carry no corresponding AcroForm widget in this retrofit, disclosed here rather than silently patched with an invented field: None of these is modeled in
fields[]— an agent consuming this schema cannot supply that specific box's value through this document, a genuine limitation of the live source's own digital fillability, not a modeling omission.- Page 1's continuation line beneath Maiden name ("Has name been changed? If yes, state original name how changed and date") has no widget beyond the Yes/No checkbox itself.
- Section 5's "Relationship to child" box (page 2) has no widget, even though the adjacent "I.D. No." and "Date" boxes in the same section do.
- Both "Signature" boxes (Section 4's declaration signature, Section 5's guardian signature) have no widget — consistent with this registry's standing convention of treating physical signature capture as an act, not a data field.
- Section 6's six-line "State how lost/stolen or other reasons" block has no widget.
- The entirety of Section 7 ("Previous Marriage Details/Former Names", four dashed writing lines) has no widget.
Disclosed findings
See the schema's own verification.notes for the full, numbered list of 10 disclosed findings, including: the Sex dropdown's internally malformed export values (modeled as a clean M/F enum); Section 2's compound sex+maritalStatus gating condition; Section 5's unprinted applicantIsMinor eligibility gate (matching this registry's Botswana/ Zambia/Ethiopia/Malta/Cyprus passport-schema precedent); Section 6's gate on previouslyIssuedPassportStatus equals YES_LOST rather than a second invented boolean; the absence of any printed mandatory-field marker anywhere on the source and the resulting conservative required:true set; the single-field centimetre height modeling; per-field maxLength provenance; and the previousPassportNumber conditional's use of in over the four affirmative previouslyIssuedPassportStatus values rather than notEquals "NO", to avoid a spurious cascade when that field is itself absent (the same class of absent-field/notEquals pitfall this registry has previously catalogued).
Conformance
4 valid mock scenarios (valid-first-time-adult-single, valid-married-woman-renewal, valid-minor-with-guardian-consent, valid-lost-passport-replacement) plus 15 mutation-control fixtures (one missing statically-required field each) and one unknown-top-level-field fixture, committed under conformance/zw/rg/passport-application/1.0.0/.
An ephemeral, from-scratch conformance checker (deriving required/ requiredWhen rules directly from this schema's own fields[], discarded after use, not committed) ran all 20 fixtures: all 4 valid scenarios at 0 errors, all 15 mutation controls each raising exactly 1 error, and the unknown-field fixture correctly rejected. Confirmed every requiredWhen field reference resolves (0 dangling references) and the visibleWhen/requiredWhen dependency graph is acyclic. Validated clean with node tools/validate.mjs and node tools/validate-ajv.mjs, individually and as part of the full registry run. registry-index.json regenerated via npm run build-index in tools/govschema-client/.
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Department of the Registrar-General or any government. The authoritative source is always the live government form and its official instructions.