{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "na/mhaiss/visa-application",
  "version": "1.0.0",
  "title": "Namibia Application for Visa (Form 3-1/0033)",
  "description": "The Namibian Ministry of Home Affairs, Immigration, Safety and Security (MHAISS), Department of Civic Affairs' \"Application for Visa\" (Form 3-1/0033), made under section 12 and 13 / Regulation 11 of the Immigration Control Act, 1993. Opens the Visa vertical for Namibia (GOV-4516, child of the recurring \"GovSchema Standard Research\" routine, following GOV-4513's re-discovery of the live source after this and the sibling BIPA CC1 Business Formation candidate both went stale since GOV-4488). Namibia's Taxes vertical is already published as na/namra/return-of-income-individuals@1.0.0; this schema is the second Namibia vertical. The source form's page 2 is explicitly split by its own printed instruction (\"NOTE: COMPLETE ONLY PART A OR B\") into two mutually exclusive branches — Part (A) Holiday/Business/Work/Transit Visa, and Part (b) Return Visa — modelled here via a required `visaCategory` discriminator field whose two enum values gate every Part-specific field's `requiredWhen`/`visibleWhen` (GSP-0013 §2), following this registry's established discriminator-field convention (e.g. the isBodyCorporate pattern in zm/pacra/company-incorporation and the applicationType/licenceDuration cross-tab in ug/mowt/driving-licence-application). The \"FOR OFFICIAL USE ONLY\" box on page 1 (Approved/Not Approved, Single/Multiple Entry, File No., Date of issue, Date of expiry, Remarks, official Signature/Date) is excluded from fields[] as officer-only, not applicant-supplied — see this document's own VERIFICATION.md for the full list of exclusions and disclosed scoping decisions. This schema does not submit the application itself; the live source is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of the Republic of Namibia or its Ministry of Home Affairs, Immigration, Safety and Security.",
  "status": "draft",
  "jurisdiction": {
    "country": "NA",
    "level": "national"
  },
  "authority": {
    "name": "Ministry of Home Affairs, Immigration, Safety and Security",
    "abbreviation": "MHAISS",
    "url": "https://mha.gov.na"
  },
  "process": {
    "type": "application",
    "language": "en"
  },
  "source": {
    "url": "https://mha.gov.na/documents/292728/582288/Visas+Application.pdf/c6d9c9b7-49ba-b0e6-fb40-2b3213544664?t=1741771353038&download=true",
    "retrievedAt": "2026-07-23",
    "documentRef": "Form 3-1/0033, \"Application for Visa\" (section 12 and 13 / Regulation 11)"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-23",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-23",
    "notes": "See VERIFICATION.md for the full write-up: source fetch/hash, extraction method, document structure, the Part A/B discriminator modelling decision, and disclosed scope decisions."
  },
  "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-23"
  },
  "license": "CC-BY-4.0",
  "steps": [
    {
      "id": "applicant_particulars",
      "title": "Applicant Particulars",
      "fields": ["surname", "firstNames", "maidenName"],
      "next": "eligibility_declarations"
    },
    {
      "id": "eligibility_declarations",
      "title": "Eligibility Declarations (Items 4–10)",
      "fields": ["sex", "maritalStatus", "appliedForPermanentResidencePermit", "everRestrictedOrRefusedEntry", "everDeportedOrOrderedToLeave", "everConvictedOfCrime", "hasContagiousDiseaseOrMentalIllness"],
      "next": "birth_and_citizenship"
    },
    {
      "id": "birth_and_citizenship",
      "title": "Birth and Citizenship",
      "fields": ["birthDate", "birthPlace", "birthCountry", "citizenship"],
      "next": "passport_details"
    },
    {
      "id": "passport_details",
      "title": "Passport Details",
      "fields": ["passportNumber", "passportPlaceOfIssue", "passportDateOfIssue", "passportDateOfExpiry", "passportValidForTravelToNamibia"],
      "next": "address_and_residence"
    },
    {
      "id": "address_and_residence",
      "title": "Address and Residence",
      "fields": ["presentResidentialAddress", "presentTelephoneCode", "presentTelephoneNumber", "permanentResidenceAddress", "permanentResidenceTelephoneCode", "permanentResidenceTelephoneNumber", "permanentResidencePeriod"],
      "next": "employment_details"
    },
    {
      "id": "employment_details",
      "title": "Occupation and Employment",
      "fields": ["occupation", "representedOrganizationName", "employerNameAddress", "employerTelephoneCode", "employerTelephoneNumber", "natureOfBusiness", "studentUniversityAndCourse"],
      "next": "accompanying_family"
    },
    {
      "id": "accompanying_family",
      "title": "Accompanying Wife and Children",
      "fields": ["accompanyingFamilyMember1FirstNames", "accompanyingFamilyMember1DateOfBirth", "accompanyingFamilyMember1PlaceOfBirth", "accompanyingFamilyMember2FirstNames", "accompanyingFamilyMember2DateOfBirth", "accompanyingFamilyMember2PlaceOfBirth", "accompanyingFamilyMember3FirstNames", "accompanyingFamilyMember3DateOfBirth", "accompanyingFamilyMember3PlaceOfBirth"],
      "next": "financial_and_travel"
    },
    {
      "id": "financial_and_travel",
      "title": "Funds and Travel Arrangements",
      "fields": ["fundsAvailableNAD", "hasOnwardReturnTicket"],
      "next": "visa_category_selection"
    },
    {
      "id": "visa_category_selection",
      "title": "Visa Category",
      "fields": ["visaCategory"],
      "next": "part_a_holiday_business_work_transit"
    },
    {
      "id": "part_a_holiday_business_work_transit",
      "title": "(A) Holiday / Business / Work / Transit Visa",
      "fields": ["intendedArrivalDateAndPort", "purposeOfVisit", "businessNatureDetail", "durationOfIntendedVisit", "placesToBeVisitedInNamibia", "medicalDoctorHospitalClinicName", "medicalExpensesPayer", "medicalFundsAvailable", "proposedResidentialAddressInNamibia", "proposedResidentialTelNo", "relativeInNamibia1Name", "relativeInNamibia1AddressAndPhone", "relativeInNamibia1Relationship", "relativeInNamibia2Name", "relativeInNamibia2AddressAndPhone", "relativeInNamibia2Relationship", "dateOfLastVisitToNamibia", "professionalContributionDetails", "destinationAfterLeavingNamibia", "modeOfTravelToDestination", "intendedDayAndPortOfDeparture", "destinationEntryAssuredDetails", "reasonsForTravellingThroughNamibia"],
      "next": "part_b_return_visa"
    },
    {
      "id": "part_b_return_visa",
      "title": "(b) Return Visa",
      "fields": ["permitKindAndNumber", "returnVisaDateOfDeparture", "returnVisaExpectedDateOfReturn", "residenceInNamibia1DateOfFirstEntry", "residenceInNamibia1PortOfEntry", "residenceInNamibia1PeriodFrom", "residenceInNamibia1PeriodTo", "residenceInNamibia2DateOfFirstEntry", "residenceInNamibia2PortOfEntry", "residenceInNamibia2PeriodFrom", "residenceInNamibia2PeriodTo", "residenceInNamibia3DateOfFirstEntry", "residenceInNamibia3PortOfEntry", "residenceInNamibia3PeriodFrom", "residenceInNamibia3PeriodTo", "countryToBeTraveledTo1", "countryToBeTraveledTo2", "countryToBeTraveledTo3", "countryToBeTraveledTo4", "purposeOfJourney"],
      "next": "declaration"
    },
    {
      "id": "declaration",
      "title": "Declaration",
      "fields": ["declarationDate", "applicantSignature"]
    }
  ],
  "fields": [
    {
      "name": "surname",
      "label": "Surname",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Item 1 — \"Surname:\"",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "firstNames",
      "label": "First Names",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Item 2 — \"First Names:\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "maidenName",
      "label": "Maiden Name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Applicable only if the applicant is or was a married woman, per the form's own printed qualifier.",
      "sourceRef": "Item 3 — \"Maiden Name (if applicant is or was a married woman):\""
    },
    {
      "name": "sex",
      "label": "Sex",
      "type": "enum",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "Item 4 — \"Sex: Male / Female\"",
      "validation": { "enum": ["MALE", "FEMALE"] }
    },
    {
      "name": "maritalStatus",
      "label": "Marital Status",
      "type": "enum",
      "required": true,
      "sourceRef": "Item 5 — \"Marital Status: Never Married / Married / Divorced / Widow/Widower\"",
      "validation": { "enum": ["NEVER_MARRIED", "MARRIED", "DIVORCED", "WIDOW_WIDOWER"] }
    },
    {
      "name": "appliedForPermanentResidencePermit",
      "label": "Have You at Any Time Applied for a Permit to Settle Permanently in Namibia?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Item 6 — \"Have you at any time applied for a permit to settle permanently in Namibia? Yes No\""
    },
    {
      "name": "everRestrictedOrRefusedEntry",
      "label": "Have You Ever Been Restricted or Refused Entry into Namibia?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Item 7 — \"Have you ever been restricted or refused entry into Namibia? Yes No\""
    },
    {
      "name": "everDeportedOrOrderedToLeave",
      "label": "Have You Ever Been Deported or Ordered to Leave Namibia?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Item 8 — \"Have you ever been deported or ordered to leave Namibia? Yes No\""
    },
    {
      "name": "everConvictedOfCrime",
      "label": "Have You Ever Been Convicted of Any Crime in Any Country?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Item 9 — \"Have you ever been convicted of any crime in any country? Yes No\""
    },
    {
      "name": "hasContagiousDiseaseOrMentalIllness",
      "label": "Are You Suffering from a Listed Contagious Disease or Mental Illness?",
      "type": "boolean",
      "required": true,
      "classification": "health",
      "description": "Covers tuberculosis or any other contagious lung disease; trachoma or any other chronic eye infection; frambesia, yaws, scabies or any other contagious bacterial or other skin disease; syphilis or any other venereal disease; or leprosy or acquired immune deficiency syndrome virus (AIDS virus), or any mental illness or affliction, per the form's own printed list.",
      "sourceRef": "Item 10"
    },
    {
      "name": "birthDate",
      "label": "Birth: Date",
      "type": "date",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "Item 12(a) — \"Date:\""
    },
    {
      "name": "birthPlace",
      "label": "Birth: Place",
      "type": "string",
      "required": true,
      "sourceRef": "Item 12(b) — \"Place:\""
    },
    {
      "name": "birthCountry",
      "label": "Birth: Country",
      "type": "string",
      "required": true,
      "sourceRef": "Item 12 — \"Country:\""
    },
    {
      "name": "citizenship",
      "label": "Citizenship",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "If citizenship was acquired by naturalization, the form's own printed instruction is to state the applicant's original citizenship in this same answer.",
      "sourceRef": "Item 13 — \"Citizenship: ...... (If acquired by naturalization, state original citizenship.)\""
    },
    {
      "name": "passportNumber",
      "label": "Passport: Number",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "Item 14(a) — \"Number:\""
    },
    {
      "name": "passportPlaceOfIssue",
      "label": "Passport: Place of Issue",
      "type": "string",
      "required": true,
      "sourceRef": "Item 14(b) — \"Place of issue:\""
    },
    {
      "name": "passportDateOfIssue",
      "label": "Passport: Date of Issue",
      "type": "date",
      "required": true,
      "sourceRef": "Item 14(c) — \"Date of issue:\""
    },
    {
      "name": "passportDateOfExpiry",
      "label": "Passport: Date of Expiry",
      "type": "date",
      "required": true,
      "sourceRef": "Item 14(d) — \"Date of expiry:\""
    },
    {
      "name": "passportValidForTravelToNamibia",
      "label": "Is Passport Valid for Travel to Namibia?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Item 14(e) — \"Is passport valid for travel to Namibia? Yes No\""
    },
    {
      "name": "presentResidentialAddress",
      "label": "Present Residential Address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Item 15(a) — \"Present residential address:\""
    },
    {
      "name": "presentTelephoneCode",
      "label": "Present Residential Address: Telephone Code",
      "type": "string",
      "required": false,
      "sourceRef": "Item 15(b) — \"Telephone number: (Code:...)\""
    },
    {
      "name": "presentTelephoneNumber",
      "label": "Present Residential Address: Telephone Number",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Item 15(b) — \"No.:\""
    },
    {
      "name": "permanentResidenceAddress",
      "label": "Residential Address in Country of Permanent Residence",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Address in the country of which the applicant is a permanent resident (may differ from the present residential address above).",
      "sourceRef": "Item 16(a) — \"Residential address:\""
    },
    {
      "name": "permanentResidenceTelephoneCode",
      "label": "Country of Permanent Residence: Telephone Code",
      "type": "string",
      "required": false,
      "sourceRef": "Item 16(b) — \"Telephone number: (Code:...)\""
    },
    {
      "name": "permanentResidenceTelephoneNumber",
      "label": "Country of Permanent Residence: Telephone Number",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Item 16(b) — \"No.:\""
    },
    {
      "name": "permanentResidencePeriod",
      "label": "Period of Residence in Country of Permanent Residence",
      "type": "string",
      "required": true,
      "sourceRef": "Item 16(c) — \"Period:\""
    },
    {
      "name": "occupation",
      "label": "Occupation or Profession",
      "type": "string",
      "required": true,
      "sourceRef": "Item 17 — \"Occupation pr profession:\" (source's own printed text; \"pr\" appears to be a printing typo for \"or\")"
    },
    {
      "name": "representedOrganizationName",
      "label": "Firm, Company, University, etc. to Which Attached or Represented",
      "type": "string",
      "required": false,
      "sourceRef": "Item 18 — \"Firm, company, university, etc., to which you are attached or which you represent:\""
    },
    {
      "name": "employerNameAddress",
      "label": "Name and Address of Employer",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Item 18(a) — \"Name and adress of employer:\""
    },
    {
      "name": "employerTelephoneCode",
      "label": "Employer: Telephone Code",
      "type": "string",
      "required": false,
      "sourceRef": "Item 18(b) — \"Telephone number: (Code:...)\""
    },
    {
      "name": "employerTelephoneNumber",
      "label": "Employer: Telephone Number",
      "type": "string",
      "required": false,
      "sourceRef": "Item 18(b) — \"No.:\""
    },
    {
      "name": "natureOfBusiness",
      "label": "Nature of Business",
      "type": "string",
      "required": false,
      "sourceRef": "Item 18(c) — \"Nature of business:\""
    },
    {
      "name": "studentUniversityAndCourse",
      "label": "If a Student: University and Course Pursued",
      "type": "string",
      "required": false,
      "description": "Applicable only if the applicant is a student, per the form's own printed qualifier.",
      "sourceRef": "Item 18(d) — \"If a student, name of university to which you are attached and the course pursued:\""
    },
    {
      "name": "accompanyingFamilyMember1FirstNames",
      "label": "Accompanying Wife/Child 1: First Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Item 19's printed table has exactly 3 rows (a)-(c); flattened here to accompanyingFamilyMember1..3, per this registry's bounded-repeating-group convention. Not required: an applicant travelling alone leaves all rows blank. The form's own N.B. notes separate applications must be completed for a spouse or children over 16, and for children travelling with their own passports.",
      "sourceRef": "Item 19, row (a) — \"FIRST NAMES\""
    },
    {
      "name": "accompanyingFamilyMember1DateOfBirth",
      "label": "Accompanying Wife/Child 1: Date of Birth",
      "type": "date",
      "required": false,
      "sourceRef": "Item 19, row (a) — \"DATE OF BIRTH\""
    },
    {
      "name": "accompanyingFamilyMember1PlaceOfBirth",
      "label": "Accompanying Wife/Child 1: Place of Birth",
      "type": "string",
      "required": false,
      "sourceRef": "Item 19, row (a) — \"PLACE OF BIRTH\""
    },
    {
      "name": "accompanyingFamilyMember2FirstNames",
      "label": "Accompanying Wife/Child 2: First Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Item 19, row (b) — \"FIRST NAMES\""
    },
    {
      "name": "accompanyingFamilyMember2DateOfBirth",
      "label": "Accompanying Wife/Child 2: Date of Birth",
      "type": "date",
      "required": false,
      "sourceRef": "Item 19, row (b) — \"DATE OF BIRTH\""
    },
    {
      "name": "accompanyingFamilyMember2PlaceOfBirth",
      "label": "Accompanying Wife/Child 2: Place of Birth",
      "type": "string",
      "required": false,
      "sourceRef": "Item 19, row (b) — \"PLACE OF BIRTH\""
    },
    {
      "name": "accompanyingFamilyMember3FirstNames",
      "label": "Accompanying Wife/Child 3: First Names",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Item 19, row (c) — \"FIRST NAMES\""
    },
    {
      "name": "accompanyingFamilyMember3DateOfBirth",
      "label": "Accompanying Wife/Child 3: Date of Birth",
      "type": "date",
      "required": false,
      "sourceRef": "Item 19, row (c) — \"DATE OF BIRTH\""
    },
    {
      "name": "accompanyingFamilyMember3PlaceOfBirth",
      "label": "Accompanying Wife/Child 3: Place of Birth",
      "type": "string",
      "required": false,
      "sourceRef": "Item 19, row (c) — \"PLACE OF BIRTH\""
    },
    {
      "name": "fundsAvailableNAD",
      "label": "Funds Available on Arrival (N$)",
      "type": "number",
      "required": true,
      "sourceRef": "Item 20(a) — \"What amount of money will you have available on arrival in Namibia for your own use? N$\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "hasOnwardReturnTicket",
      "label": "Will You Be in Possession of an Onward/Return Ticket?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Item 20(b) — \"Will you be in possession of an onward / return ticket? Yes No\""
    },
    {
      "name": "visaCategory",
      "label": "Visa Category",
      "type": "enum",
      "required": true,
      "description": "The form's page 2 is explicitly split into two mutually exclusive parts by its own printed instruction: \"NOTE: COMPLETE ONLY PART A OR B\". Selects which of the two parts below applies; only that part's fields are applicable.",
      "sourceRef": "Page 2 header — \"NOTE: COMPLETE ONLY PART A OR B\" / \"(A) HOLIDAY / BUSINESS / WORK / TRANSIT VISA\" / \"(b) RETURN VISA\"",
      "validation": { "enum": ["HOLIDAY_BUSINESS_WORK_TRANSIT", "RETURN_VISA"] }
    },
    {
      "name": "intendedArrivalDateAndPort",
      "label": "Intended Date and Port of Arrival in Namibia",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "description": "Printed as a single combined blank (date and port together), not two separate fields.",
      "sourceRef": "Part A, Item 1 — \"Intended date and port of arrival in Namibia:\""
    },
    {
      "name": "purposeOfVisit",
      "label": "Purpose of Visit",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 2(a) — \"What is the purpose of your visits?\""
    },
    {
      "name": "businessNatureDetail",
      "label": "If for Business: Nature of Business",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "description": "Applicable only if the purpose of visit is for business, per the form's own printed qualifier.",
      "sourceRef": "Part A, Item 2(b) — \"If it is for business purposes, explain in detail the nature of business:\""
    },
    {
      "name": "durationOfIntendedVisit",
      "label": "Duration of Intended Visit",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "description": "Number of days, weeks, or months, per the form's own printed instruction.",
      "sourceRef": "Part A, Item 2(c) — \"Duration of intended visit (Number of days, weeks or months):\""
    },
    {
      "name": "placesToBeVisitedInNamibia",
      "label": "Places to Be Visited in Namibia",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "description": "Full addresses, including telephone numbers, per the form's own printed instruction. Printed as a multi-line answer block, modelled here as a single field.",
      "sourceRef": "Part A, Item 3 — \"Places to be visited in Namibia (full addresses, including telephone number must be provided):\""
    },
    {
      "name": "medicalDoctorHospitalClinicName",
      "label": "Medical Treatment: Name of Doctor, Hospital or Clinic",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "description": "Applicable only if the purpose of visit is medical treatment, per the form's own printed qualifier.",
      "sourceRef": "Part A, Item 4(a) — \"Name of doctor, hospital or clinic you will visit:\""
    },
    {
      "name": "medicalExpensesPayer",
      "label": "Medical Treatment: Who Will Pay Expenses and Fees",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 4(b) — \"Who will pay for your medical expenses and hospital fees:\""
    },
    {
      "name": "medicalFundsAvailable",
      "label": "Medical Treatment: Funds Available if Applicant Liable",
      "type": "number",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 4(c) — \"If you are liable for the expenses and fees above, state amount of funds available:\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "proposedResidentialAddressInNamibia",
      "label": "Proposed Residential Address in Namibia",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "classification": "pii",
      "sourceRef": "Part A, Item 5 — \"Proposed residential addres in Namibia:\""
    },
    {
      "name": "proposedResidentialTelNo",
      "label": "Proposed Residential Address in Namibia: Telephone Number",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 5 — \"Tel. No.:\""
    },
    {
      "name": "relativeInNamibia1Name",
      "label": "Relative in Namibia 1: Name",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "classification": "pii",
      "description": "Item 6's printed table has exactly 2 rows (a)-(b); flattened here to relativeInNamibia1/2, per this registry's bounded-repeating-group convention.",
      "sourceRef": "Part A, Item 6, row (a) — \"NAME\""
    },
    {
      "name": "relativeInNamibia1AddressAndPhone",
      "label": "Relative in Namibia 1: Address and Telephone Number",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 6, row (a) — \"ADDRESS AND TELEPHONE NUMBER\""
    },
    {
      "name": "relativeInNamibia1Relationship",
      "label": "Relative in Namibia 1: Relationship",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 6, row (a) — \"RELATIONSHIP\""
    },
    {
      "name": "relativeInNamibia2Name",
      "label": "Relative in Namibia 2: Name",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "classification": "pii",
      "sourceRef": "Part A, Item 6, row (b) — \"NAME\""
    },
    {
      "name": "relativeInNamibia2AddressAndPhone",
      "label": "Relative in Namibia 2: Address and Telephone Number",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 6, row (b) — \"ADDRESS AND TELEPHONE NUMBER\""
    },
    {
      "name": "relativeInNamibia2Relationship",
      "label": "Relative in Namibia 2: Relationship",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 6, row (b) — \"RELATIONSHIP\""
    },
    {
      "name": "dateOfLastVisitToNamibia",
      "label": "Date of Last Visit to Namibia, if Any",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 7 — \"Date of last visit, if any, to Namibia:\""
    },
    {
      "name": "professionalContributionDetails",
      "label": "Professional or Other Contribution to Publications, Radio, Television or Films",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "description": "Applicable only if the applicant does contribute, per the form's own \"if so\" qualifier.",
      "sourceRef": "Part A, Item 8 — \"Do you contribute professionally or otherwise to publications, radio, television or films? If so, please give details:\""
    },
    {
      "name": "destinationAfterLeavingNamibia",
      "label": "Destination After Leaving Namibia",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 9(a) — \"Destination after leaving Namibia:\""
    },
    {
      "name": "modeOfTravelToDestination",
      "label": "Mode of Travel to Destination",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 9(b) — \"Mode of travel to destination:\""
    },
    {
      "name": "intendedDayAndPortOfDeparture",
      "label": "Intended Day and Port of Departure",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "sourceRef": "Part A, Item 9(c) — \"Intended day and port of departure:\""
    },
    {
      "name": "destinationEntryAssuredDetails",
      "label": "Whether Entry to That Destination Is Assured",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "description": "E.g. whether the applicant holds a visa or a permit for permanent or temporary residence at the onward destination; proof is required to be submitted, per the form's own printed instruction. Printed as a single open answer line, not a Yes/No checkbox.",
      "sourceRef": "Part A, Item 9(d) — \"Is your entry to that destination assured, e.g. do you hold a visa or a permit for permanent or temporary residence? (proof to be submitted)\""
    },
    {
      "name": "reasonsForTravellingThroughNamibia",
      "label": "Reasons for Travelling Through Namibia",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "HOLIDAY_BUSINESS_WORK_TRANSIT" },
      "description": "Applicable to a transit visa; left optional since this Part also covers Holiday/Business/Work purposes for which this question does not apply.",
      "sourceRef": "Part A, Item 10 — \"Reasons for travelling through Namibia?\""
    },
    {
      "name": "permitKindAndNumber",
      "label": "Kind of Permit and Number",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 1(a) — \"Kind of permit and number:\""
    },
    {
      "name": "returnVisaDateOfDeparture",
      "label": "Date of Departure",
      "type": "date",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 1(b) — \"Date of departure:\""
    },
    {
      "name": "returnVisaExpectedDateOfReturn",
      "label": "Expected Date of Return",
      "type": "date",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 1(c) — \"Expected date of return:\""
    },
    {
      "name": "residenceInNamibia1DateOfFirstEntry",
      "label": "Residence in Namibia 1: Date of First Entry",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "description": "Item 2's printed table has exactly 3 blank rows; flattened here to residenceInNamibia1..3, per this registry's bounded-repeating-group convention.",
      "sourceRef": "Part B, Item 2, row 1 — \"DATE OF FIRST ENTRY\""
    },
    {
      "name": "residenceInNamibia1PortOfEntry",
      "label": "Residence in Namibia 1: Port of Entry",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 1 — \"PORT OF ENTRY\""
    },
    {
      "name": "residenceInNamibia1PeriodFrom",
      "label": "Residence in Namibia 1: Period From",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 1 — \"PERIODS OF RESIDENCE IN NAMIBIA\" / \"From\""
    },
    {
      "name": "residenceInNamibia1PeriodTo",
      "label": "Residence in Namibia 1: Period To",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 1 — \"PERIODS OF RESIDENCE IN NAMIBIA\" / \"To\""
    },
    {
      "name": "residenceInNamibia2DateOfFirstEntry",
      "label": "Residence in Namibia 2: Date of First Entry",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 2 — \"DATE OF FIRST ENTRY\""
    },
    {
      "name": "residenceInNamibia2PortOfEntry",
      "label": "Residence in Namibia 2: Port of Entry",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 2 — \"PORT OF ENTRY\""
    },
    {
      "name": "residenceInNamibia2PeriodFrom",
      "label": "Residence in Namibia 2: Period From",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 2 — \"PERIODS OF RESIDENCE IN NAMIBIA\" / \"From\""
    },
    {
      "name": "residenceInNamibia2PeriodTo",
      "label": "Residence in Namibia 2: Period To",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 2 — \"PERIODS OF RESIDENCE IN NAMIBIA\" / \"To\""
    },
    {
      "name": "residenceInNamibia3DateOfFirstEntry",
      "label": "Residence in Namibia 3: Date of First Entry",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 3 — \"DATE OF FIRST ENTRY\""
    },
    {
      "name": "residenceInNamibia3PortOfEntry",
      "label": "Residence in Namibia 3: Port of Entry",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 3 — \"PORT OF ENTRY\""
    },
    {
      "name": "residenceInNamibia3PeriodFrom",
      "label": "Residence in Namibia 3: Period From",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 3 — \"PERIODS OF RESIDENCE IN NAMIBIA\" / \"From\""
    },
    {
      "name": "residenceInNamibia3PeriodTo",
      "label": "Residence in Namibia 3: Period To",
      "type": "date",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 2, row 3 — \"PERIODS OF RESIDENCE IN NAMIBIA\" / \"To\""
    },
    {
      "name": "countryToBeTraveledTo1",
      "label": "Country to Be Traveled To 1",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "description": "Item 3's printed line has exactly 4 blanks (a)-(d); flattened here to countryToBeTraveledTo1..4, per this registry's bounded-repeating-group convention.",
      "sourceRef": "Part B, Item 3(a)"
    },
    {
      "name": "countryToBeTraveledTo2",
      "label": "Country to Be Traveled To 2",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 3(b)"
    },
    {
      "name": "countryToBeTraveledTo3",
      "label": "Country to Be Traveled To 3",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 3(c)"
    },
    {
      "name": "countryToBeTraveledTo4",
      "label": "Country to Be Traveled To 4",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "sourceRef": "Part B, Item 3(d)"
    },
    {
      "name": "purposeOfJourney",
      "label": "Purpose of Journey",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "description": "Explain fully, per the form's own printed instruction.",
      "sourceRef": "Part B, Item 4 — \"Purpose of journey (explain fully):\""
    },
    {
      "name": "declarationDate",
      "label": "Date",
      "type": "date",
      "required": true,
      "sourceRef": "Page 2, Declaration — \"Date:\""
    },
    {
      "name": "applicantSignature",
      "label": "Signature",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The form's own printed note states only the signature of the applicant will be accepted.",
      "sourceRef": "Page 2, Declaration — \"Signature:\" (N.B. Only the signature of the applicant will be accepted.)"
    }
  ],
  "documents": [
    {
      "id": "fullParticularsOfAffirmativeReply",
      "label": "Full particulars supporting an affirmative reply to items 6-9",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "any": [
          { "field": "appliedForPermanentResidencePermit", "equals": true },
          { "field": "everRestrictedOrRefusedEntry", "equals": true },
          { "field": "everDeportedOrOrderedToLeave", "equals": true },
          { "field": "everConvictedOfCrime", "equals": true }
        ]
      },
      "belongsTo": "applicant",
      "handling": "Required if the reply to any of items 6 to 9 is in the affirmative, per the form's own printed instruction.",
      "sourceRef": "Item 11 — \"If the reply to any of the questions 6 to 9 is in the affirmative, attach full particulars.\""
    },
    {
      "id": "proofOfAssuredEntryToDestination",
      "label": "Proof of assured entry to destination after leaving Namibia",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "handling": "Applicable to a Part A applicant who states their entry to the onward destination is assured (e.g. by an existing visa or residence permit); proof must be submitted, per the form's own printed instruction. Left plain-optional rather than requiredWhen-gated on destinationEntryAssuredDetails, per this registry's documented notEquals-against-an-absent-optional-field bug class.",
      "sourceRef": "Part A, Item 9(d) — \"(proof to be submitted)\""
    },
    {
      "id": "passportOrTravelDocument",
      "label": "Passport or travel document",
      "category": "identity-document",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "belongsTo": "applicant",
      "handling": "A Return Visa applicant must produce their passport or travel document, per the form's own printed IMPORTANT instruction (i).",
      "sourceRef": "Part B — \"IMPORTANT / An applicant has to: (i) produce his or her passport or travel document;\""
    },
    {
      "id": "proofOfResidenceRightsInNamibia",
      "label": "Proof of right of residence in Namibia",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": { "field": "visaCategory", "equals": "RETURN_VISA" },
      "belongsTo": "applicant",
      "handling": "Only required if the applicant's right of residence in Namibia is not already endorsed in their passport, per the form's own printed IMPORTANT instruction (ii).",
      "sourceRef": "Part B — \"IMPORTANT / An applicant has to: ... (ii) submit proof of his or her right of residence in Namibia if not endorsed in his or her passport.\""
    },
    {
      "id": "swornDeclarationAttestation",
      "label": "Declaration of accuracy",
      "category": "attestation",
      "required": true,
      "statement": "I solemnly declare that the above particulars given by me are true in substance and in fact and that I fully understand the meaning thereof.",
      "sourceRef": "Page 2, Declaration block"
    }
  ]
}
