{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "jo/mfa/visa-application",
  "version": "1.0.0",
  "title": "Jordan — Visa Application to Enter the Hashemite Kingdom of Jordan",
  "description": "The Ministry of Foreign Affairs and Expatriates' (MFA) bilingual (English/Arabic) \"Visa Application to Enter the Hashemite Kingdom of Jordan\" form, distributed as a free download from MFA's own document host. Closes Jordan's Visa vertical (3 of 6), following GOV-2731's Taxes opening (49th jurisdiction) and GOV-2739's Passport vertical. The source is a genuine 2-page print-and-fill specimen — confirmed via pdfjs-dist to carry zero AcroForm/Widget annotations on either page — with a real, fully extractable bilingual text layer; every text item's (x, y) transform was grouped into rows and read in full, and both pages were also rendered to PNG via pdfjs-dist (legacy build) + node-canvas (with the bundled standard-fonts data supplied, since this specimen also relies on non-embedded base fonts) and visually cross-checked against the transcript before modeling any field. The rendered image confirmed a boxed, consular-only \"For Official Use\" sidebar running the full height of page 1 (submitted-documents checklist, receiving officer, receipt date, amount paid, decision to grant single/double/multiple-entry or refuse, notes) — excluded from this schema's fields, consistent with this registry's established convention for office/consular-use-only sections (e.g. jo/istd/pit-return-employee's \"For Official Use\" block, jo/cspd/passport-application's page 2). The applicant-facing structure runs: §1 Personal Details (First name; Father's & grandfather's name; Family name; Current nationality; Mother's name; Sex — printed checkboxes Male/Female; Date of Birth; Place of Birth; Marital status — printed checkboxes Single/Married/Divorced/Widow(er); Education; Name of spouse; Spouse's nationality); §2 Passport Details (Type of Passport — printed checkboxes Ordinary passport/Diplomatic passport/Travel document/Other-please specify, with its own free-text \"specify\" companion; Passport number; Date of issue; Date of expiry; Issuing authority); §3 Contact Details (Applicant's full address; telephone number; email address); §4 Employment (Current occupation; Name and full address of the employing Organisation; an asterisked companion line for School/University if the applicant is a student); §5 Trip Information (Main purpose of visit; Number of Entries — printed checkboxes single Entry/Double Entries/Multiple Entries; Port of entry; Date of arrival; Date of departure; travel-companion name(s), printed as 3 blank ruled lines; a single combined box for either the full address/telephone of the inviting person/organisation in Jordan, or, if a tourist, the hotel/place-of-stay details — both alternatives share one printed blank area); and §6 Additional Information (Do you have any other nationality? with its own \"if yes\" full-name/passport-number companion lines; Former Nationalities, with its own \"if yes\" name/passport-number companion lines; Have you ever changed your name? with an \"if yes\" former-name companion line; Date of first entry into country of residence; Have you been convicted of a criminal offence, or currently on trial? with an \"if yes\" details line; Have you ever served in the Armed Forces of any country? with an \"if yes\" details line; Have you ever been expelled from any country? with an \"if yes\" details line; Countries visited in the last 10 years, printed as 2 blank ruled lines), closing with the form's own certification statement and a combined Name-and-Signature/Date declaration line. This v1.0.0 models 48 applicant-facing fields plus 1 documents[] entry (the certification's own attestation text). This candidate was chosen over a previously-scouted 23-field embassy visa AcroForm because that candidate was only found on third-party visa-expediting mirrors (traveldocument.com, traveldocs.com), not a first-party Jordanian government host (disclosed as an open backlog item in jo/cspd/passport-application's own VERIFICATION.md); this MFA specimen is fetched directly and unauthenticated from mfa.gov.jo, a first-party government domain. The Y/N gate questions in §6 (other nationality, name change, criminal conviction, armed forces service, expulsion) are each modeled as a required boolean field with its own optional \"if yes\" companion detail field(s), with no requiredWhen coupling between them — matching the same no-invented-gate judgment call this registry's other Jordan schemas made for their own conditional blocks (e.g. jo/cspd/passport-application's Husband/Wife Data and bridge-crossing-card blocks). GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of Jordan or the Ministry of Foreign Affairs and Expatriates.",
  "status": "draft",
  "jurisdiction": {
    "country": "JO",
    "level": "national"
  },
  "authority": {
    "name": "Ministry of Foreign Affairs and Expatriates",
    "abbreviation": "MFA",
    "url": "https://www.mfa.gov.jo"
  },
  "process": {
    "type": "application",
    "language": "en"
  },
  "source": {
    "url": "https://www.mfa.gov.jo/documents/300419Jordan%20Visa%20Application%20.pdf",
    "retrievedAt": "2026-07-13",
    "documentRef": "Ministry of Foreign Affairs and Expatriates, \"Visa Application to Enter the Hashemite Kingdom of Jordan\""
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-13",
    "verifiedBy": "GovSchema Engineering",
    "nextReviewBy": "2027-01-13",
    "notes": "GovSchema Standard Research cycle GOV-2746. Closes Jordan's Visa vertical (3 of 6), following GOV-2731 (Taxes, opened Jordan as the registry's 49th jurisdiction) and GOV-2739 (Passport, confirmed Business Formation/DMV/National ID & Civic Documents as dead ends and left this MFA Visa candidate as an open, well-sourced backlog item after finding a competing 23-field embassy AcroForm only on third-party visa-expediting mirrors, not a first-party government host). This cycle independently re-fetched and re-verified the source from scratch rather than trusting the prior scouting pass's figures verbatim. See this schema's own VERIFICATION.md for the full sourcing record."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering",
    "assertedAt": "2026-07-13"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "firstName",
      "label": "First name",
      "type": "string",
      "required": true,
      "description": "The applicant's first name.",
      "classification": "pii",
      "sourceRef": "Page 1, §1 Personal Details, 1.1: \"First name\""
    },
    {
      "name": "fatherAndGrandfatherName",
      "label": "Father's & grandfather's name",
      "type": "string",
      "required": true,
      "description": "The applicant's father's and grandfather's names, printed as one combined blank line (unlike jo/cspd/passport-application's own separate Father/Grandfather lines).",
      "classification": "pii",
      "sourceRef": "Page 1, §1 Personal Details, 1.2: \"Father's & grandfather's name\""
    },
    {
      "name": "familyName",
      "label": "Family name",
      "type": "string",
      "required": true,
      "description": "The applicant's family name.",
      "classification": "pii",
      "sourceRef": "Page 1, §1 Personal Details, 1.3: \"Family name\""
    },
    {
      "name": "currentNationality",
      "label": "Current nationality",
      "type": "string",
      "required": true,
      "description": "The applicant's current nationality. Printed as a blank line with no options text, so modeled as free text rather than an invented enum.",
      "sourceRef": "Page 1, §1 Personal Details, 1.4: \"Current nationality\""
    },
    {
      "name": "mothersName",
      "label": "Mother's name",
      "type": "string",
      "required": true,
      "description": "The applicant's mother's name.",
      "classification": "pii",
      "sourceRef": "Page 1, §1 Personal Details, 1.5: \"Mother's name\""
    },
    {
      "name": "sex",
      "label": "Sex",
      "type": "enum",
      "required": true,
      "description": "The applicant's sex, printed as checkboxes.",
      "sourceRef": "Page 1, §1 Personal Details, 1.6: \"Sex\" — checkboxes \"Male\" / \"Female\"",
      "validation": { "enum": ["male", "female"] }
    },
    {
      "name": "dateOfBirth",
      "label": "Date of Birth",
      "type": "date",
      "required": true,
      "description": "The applicant's date of birth.",
      "classification": "pii",
      "sourceRef": "Page 1, §1 Personal Details, 1.7: \"Date of Birth\""
    },
    {
      "name": "placeOfBirth",
      "label": "Place of Birth",
      "type": "string",
      "required": true,
      "description": "The applicant's place of birth.",
      "classification": "pii",
      "sourceRef": "Page 1, §1 Personal Details, 1.8: \"Place of Birth\""
    },
    {
      "name": "maritalStatus",
      "label": "Marital status",
      "type": "enum",
      "required": true,
      "description": "The applicant's marital status, printed as checkboxes.",
      "sourceRef": "Page 1, §1 Personal Details, 1.9: \"Marital status\" — checkboxes \"Single\" / \"Married\" / \"Divorced\" / \"Widow(er)\"",
      "validation": { "enum": ["single", "married", "divorced", "widow(er)"] }
    },
    {
      "name": "education",
      "label": "Education",
      "type": "string",
      "required": true,
      "description": "The applicant's educational attainment. Printed as a blank line with no options text.",
      "sourceRef": "Page 1, §1 Personal Details, 1.10: \"Education\""
    },
    {
      "name": "nameOfSpouse",
      "label": "Name of spouse",
      "type": "string",
      "required": false,
      "description": "The applicant's spouse's name, if married. The specimen prints no explicit yes/no gate ahead of this field, so it is left optional, consistent with this registry's established precedent for unprinted-gate conditional blocks (e.g. jo/cspd/passport-application's Husband/Wife Data).",
      "classification": "pii",
      "sourceRef": "Page 1, §1 Personal Details, 1.11: \"Name of spouse\""
    },
    {
      "name": "spouseNationality",
      "label": "Spouse's nationality",
      "type": "string",
      "required": false,
      "description": "The applicant's spouse's nationality, if married.",
      "sourceRef": "Page 1, §1 Personal Details, 1.12: \"Spouse's nationality\""
    },
    {
      "name": "typeOfPassport",
      "label": "Type of Passport",
      "type": "enum",
      "required": true,
      "description": "The type of passport or travel document the applicant holds, printed as checkboxes.",
      "sourceRef": "Page 1, §2 Passport Details, 2.1: \"Type Of Passport\" — checkboxes \"Ordinary passport\" / \"Diplomatic passport\" / \"Travel document\" / \"Other-please specify\"",
      "validation": { "enum": ["ordinary-passport", "diplomatic-passport", "travel-document", "other"] }
    },
    {
      "name": "typeOfPassportOtherSpecify",
      "label": "Type of Passport — Other, please specify",
      "type": "string",
      "required": false,
      "description": "Free-text elaboration when \"Other\" is checked for Type of Passport.",
      "sourceRef": "Page 1, §2 Passport Details, 2.1: \"Other-please specify\""
    },
    {
      "name": "passportNumber",
      "label": "Passport number",
      "type": "string",
      "required": true,
      "description": "The applicant's passport (or travel document) number.",
      "classification": "sensitive-pii",
      "sourceRef": "Page 1, §2 Passport Details, 2.2: \"Passport number\""
    },
    {
      "name": "dateOfIssue",
      "label": "Date of issue",
      "type": "date",
      "required": true,
      "description": "The passport's date of issue.",
      "sourceRef": "Page 1, §2 Passport Details, 2.3: \"Date of issue\""
    },
    {
      "name": "dateOfExpiry",
      "label": "Date of expiry",
      "type": "date",
      "required": true,
      "description": "The passport's date of expiry.",
      "sourceRef": "Page 1, §2 Passport Details, 2.4: \"Date of expiry\""
    },
    {
      "name": "issuingAuthority",
      "label": "Issuing authority",
      "type": "string",
      "required": true,
      "description": "The authority that issued the passport.",
      "sourceRef": "Page 1, §2 Passport Details, 2.5: \"Issuing authority\""
    },
    {
      "name": "applicantFullAddress",
      "label": "Applicant's full address",
      "type": "string",
      "required": true,
      "description": "The applicant's full address.",
      "classification": "pii",
      "sourceRef": "Page 1, §3 Contact Details, 3.1: \"Applicant's full address\""
    },
    {
      "name": "applicantTelephoneNumber",
      "label": "Applicant's telephone number",
      "type": "string",
      "required": true,
      "description": "The applicant's telephone number.",
      "classification": "pii",
      "sourceRef": "Page 1, §3 Contact Details, 3.2: \"Applicants telephone number\""
    },
    {
      "name": "applicantEmailAddress",
      "label": "Applicant's email address",
      "type": "string",
      "required": true,
      "description": "The applicant's email address.",
      "classification": "pii",
      "sourceRef": "Page 1, §3 Contact Details, 3.3: \"Applicant's email address\""
    },
    {
      "name": "currentOccupation",
      "label": "Current occupation",
      "type": "string",
      "required": true,
      "description": "The applicant's current occupation.",
      "sourceRef": "Page 1, §4 Employment, 4.1: \"Current occupation\""
    },
    {
      "name": "employerNameAndAddress",
      "label": "Name and full address of the employing Organisation",
      "type": "string",
      "required": true,
      "description": "The name and full address of the applicant's employing organisation. (The form's own Arabic column additionally lists a telephone number alongside name/address; the English caption prints name and address only.)",
      "classification": "pii",
      "sourceRef": "Page 1, §4 Employment, 4.2: \"Name and full address of the employing Organisation\""
    },
    {
      "name": "studentSchoolNameAndAddress",
      "label": "If Student, name and full address of School/University",
      "type": "string",
      "required": false,
      "description": "The name and full address of the applicant's school or university, if the applicant is a student. The specimen prints no explicit yes/no gate ahead of this asterisked companion line, so it is left optional.",
      "sourceRef": "Page 1, §4 Employment: \"* If Student, name and full address of School/ University\""
    },
    {
      "name": "mainPurposeOfVisit",
      "label": "Main purpose of your visit to Jordan",
      "type": "string",
      "required": true,
      "description": "The main purpose of the applicant's visit to Jordan.",
      "sourceRef": "Page 2, §5 Trip Information, 5.1: \"Main purpose of your visit to Jordan\""
    },
    {
      "name": "numberOfEntries",
      "label": "Number of Entries",
      "type": "enum",
      "required": true,
      "description": "The number of entries requested for this visa, printed as checkboxes.",
      "sourceRef": "Page 2, §5 Trip Information, 5.2: \"Number of Entries\" — checkboxes \"single Entry\" / \"Double Entries\" / \"Multiple Entries\"",
      "validation": { "enum": ["single-entry", "double-entries", "multiple-entries"] }
    },
    {
      "name": "portOfEntry",
      "label": "Port of entry to Jordan",
      "type": "string",
      "required": true,
      "description": "The applicant's intended port of entry into Jordan.",
      "sourceRef": "Page 2, §5 Trip Information, 5.3: \"Port of entry to Jordan\""
    },
    {
      "name": "dateOfArrival",
      "label": "Date of arrival",
      "type": "date",
      "required": true,
      "description": "The applicant's planned date of arrival in Jordan.",
      "sourceRef": "Page 2, §5 Trip Information, 5.4: \"Date of arrival\""
    },
    {
      "name": "dateOfDeparture",
      "label": "Date of departure",
      "type": "date",
      "required": true,
      "description": "The applicant's planned date of departure from Jordan.",
      "sourceRef": "Page 2, §5 Trip Information, 5.5: \"Date of departure\""
    },
    {
      "name": "travelCompanionNames",
      "label": "If travelling with someone else, please provide name(s)",
      "type": "string",
      "required": false,
      "description": "The name(s) of any travel companion(s), if the applicant is travelling with someone else. Printed as 3 blank ruled lines; modeled as a single free-text field since the source prints no per-companion field structure. The specimen prints no explicit yes/no gate ahead of this line, so it is left optional.",
      "classification": "pii",
      "sourceRef": "Page 2, §5 Trip Information, 5.6: \"If travelling with someone else, please provide name(s)\""
    },
    {
      "name": "invitingPersonOrHotelDetails",
      "label": "Full address/telephone number of inviting person/Organisation in Jordan (or hotel details, if a tourist)",
      "type": "string",
      "required": true,
      "description": "The full address and telephone number of the person or organisation inviting the applicant to Jordan; or, if the applicant is a tourist, the name of the hotel or place of stay and its telephone number. Both alternatives are printed as captions sharing a single blank writable area, modeled here as one field.",
      "classification": "pii",
      "sourceRef": "Page 2, §5 Trip Information, 5.7: \"Full address/ telephone number of inviting person/ Organisation in Jordan\" / \"*If tourist, Name of hotel, place of stay and telephone number\""
    },
    {
      "name": "hasOtherNationality",
      "label": "Do you have any other nationality?",
      "type": "boolean",
      "required": true,
      "description": "Whether the applicant holds any other nationality besides the one declared at 1.4.",
      "sourceRef": "Page 2, §6 Additional Information, 6.1: \"Do you have any other nationality?\""
    },
    {
      "name": "otherNationalityPassportName",
      "label": "Other nationality — Full name as written on passport",
      "type": "string",
      "required": false,
      "description": "The applicant's full name as written on the other-nationality passport, if the applicant has another nationality.",
      "classification": "pii",
      "sourceRef": "Page 2, §6 Additional Information, 6.1: \"If yes. Full name as written on passport\""
    },
    {
      "name": "otherNationalityPassportNumber",
      "label": "Other nationality — Passport Number",
      "type": "string",
      "required": false,
      "description": "The passport number of the applicant's other nationality, if the applicant has another nationality.",
      "classification": "sensitive-pii",
      "sourceRef": "Page 2, §6 Additional Information, 6.1: \"Passport Number\""
    },
    {
      "name": "formerNationalityName",
      "label": "Former Nationalities — name as recorded on former passport",
      "type": "string",
      "required": false,
      "description": "The name as recorded on the applicant's former passport, if the applicant has held a former nationality. Unlike 6.1/6.3/6.5/6.6/6.7, this section is printed as a plain heading rather than an explicit yes/no question, so no accompanying boolean field is modeled.",
      "classification": "pii",
      "sourceRef": "Page 2, §6 Additional Information, 6.2: \"Former Nationalities\" — \"If Yes, type name as recorded on former passport\""
    },
    {
      "name": "formerNationalityPassportNumber",
      "label": "Former Nationalities — passport number",
      "type": "string",
      "required": false,
      "description": "The passport number of the applicant's former nationality, if the applicant has held a former nationality.",
      "classification": "sensitive-pii",
      "sourceRef": "Page 2, §6 Additional Information, 6.2: \"Passport number\""
    },
    {
      "name": "hasChangedName",
      "label": "Have you ever changed your name?",
      "type": "boolean",
      "required": true,
      "description": "Whether the applicant has ever changed their name.",
      "sourceRef": "Page 2, §6 Additional Information, 6.3: \"Have you ever changed your name?\""
    },
    {
      "name": "formerName",
      "label": "Former name(s)",
      "type": "string",
      "required": false,
      "description": "The applicant's former name(s), if the applicant has ever changed their name.",
      "classification": "pii",
      "sourceRef": "Page 2, §6 Additional Information, 6.3: \"If yes, former name(s)\""
    },
    {
      "name": "dateOfFirstEntryIntoCountryOfResidence",
      "label": "Date of first entry into country of residence",
      "type": "date",
      "required": true,
      "description": "The date the applicant first entered their country of residence.",
      "sourceRef": "Page 2, §6 Additional Information, 6.4: \"Date of first entry into country of residence\""
    },
    {
      "name": "hasCriminalConvictionOrTrial",
      "label": "Have you been convicted of a criminal offence, or currently on trial?",
      "type": "boolean",
      "required": true,
      "description": "Whether the applicant has been convicted of a criminal offence, or is currently on trial.",
      "sourceRef": "Page 2, §6 Additional Information, 6.5: \"Have you been convicted of a criminal offence, or currently on trial?\""
    },
    {
      "name": "criminalConvictionDetails",
      "label": "Criminal conviction/trial — details",
      "type": "string",
      "required": false,
      "description": "Details of the applicant's criminal conviction or ongoing trial, if applicable.",
      "classification": "sensitive-pii",
      "sourceRef": "Page 2, §6 Additional Information, 6.5: \"If yes, provide details\""
    },
    {
      "name": "hasServedInArmedForces",
      "label": "Have you ever served in the Armed Forces of any country?",
      "type": "boolean",
      "required": true,
      "description": "Whether the applicant has ever served in the armed forces of any country.",
      "sourceRef": "Page 2, §6 Additional Information, 6.6: \"Have you ever served in the Armed Forces of any country?\""
    },
    {
      "name": "armedForcesServiceDetails",
      "label": "Armed forces service — details",
      "type": "string",
      "required": false,
      "description": "Details of the applicant's armed forces service, if applicable.",
      "classification": "pii",
      "sourceRef": "Page 2, §6 Additional Information, 6.6: \"If yes, provide details\""
    },
    {
      "name": "hasBeenExpelled",
      "label": "Have you ever been expelled from any country?",
      "type": "boolean",
      "required": true,
      "description": "Whether the applicant has ever been expelled from any country.",
      "sourceRef": "Page 2, §6 Additional Information, 6.7: \"Have you ever been expelled from any country?\""
    },
    {
      "name": "expulsionDetails",
      "label": "Expulsion — details",
      "type": "string",
      "required": false,
      "description": "Details of the applicant's expulsion from a country, if applicable.",
      "classification": "sensitive-pii",
      "sourceRef": "Page 2, §6 Additional Information, 6.7: \"If yes, provide details\""
    },
    {
      "name": "countriesVisitedLast10Years",
      "label": "Countries visited in the last 10 years",
      "type": "string",
      "required": true,
      "description": "The countries the applicant has visited in the last 10 years, printed as 2 blank ruled lines; modeled as a single free-text field since the source prints no per-country field structure.",
      "sourceRef": "Page 2, §6 Additional Information, 6.8: \"Countries visited in the last 10 years\""
    },
    {
      "name": "declarantNameAndSignature",
      "label": "Name and Signature",
      "type": "string",
      "required": true,
      "description": "The applicant's printed name, standing in for their physical signature, attesting to the form's own certification statement.",
      "classification": "pii",
      "sourceRef": "Page 2, closing declaration: \"Name and Signature/ Date\""
    },
    {
      "name": "declarationDate",
      "label": "Date",
      "type": "date",
      "required": true,
      "description": "The date the applicant signed the declaration.",
      "sourceRef": "Page 2, closing declaration: \"Name and Signature/ Date\""
    }
  ],
  "documents": [
    {
      "id": "certificationAttestation",
      "label": "Applicant's certification",
      "category": "attestation",
      "belongsTo": "applicant",
      "required": true,
      "statement": "I hereby certify that the above information given is true and correct.",
      "sourceRef": "Page 2: \"I hereby certify that the above information given is true and correct\""
    }
  ]
}
