{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "my/jim/visa-with-reference-application",
  "version": "1.0.0",
  "title": "Malaysia Visa With Reference Application (Borang Permohonan Pas Lawatan, IM.12)",
  "description": "The visit-pass application form (\"Borang Permohonan Pas Lawatan\" / \"Visit Pass Application Form\", form IM.12, Pin. 1/97) that the Jabatan Imigresen Malaysia (JIM, Immigration Department of Malaysia) requires, together with the companion Form Imm.38 (\"Application For Visa\"), as the intake form for a Visa With Reference (VDR) — a visa a Malaysian Representative Office abroad issues to a non-citizen so they may enter Malaysia once the Immigration Department Headquarters approves it. IM.12's own printed title names a \"Pass,\" not a \"Visa,\" but this schema models it under GovSchema's Visa vertical (there is no separate \"Pass\" vertical in this registry's 6-vertical taxonomy) because: (a) the form's own Section D, \"KEPERLUAN VISA / VISA REQUIREMENT,\" asks whether a visa is required and, if so, whether single- or multiple-entry; and (b) JIM's own current VDR service page classifies this exact form as the required intake form for the Visa With Reference service. Scope: JIM's VDR checklist page lists five applicant categories (A-E); this schema models only the four — A (wife of a Malaysian citizen), B (husband of a Malaysian citizen), D (India), E (China, Vietnam, North Korea, Cuba) — that submit Form Imm.12 together with Form Imm.38. Category C (Afghanistan) instead submits a different form, Form Imm.47, and is out of scope of this schema. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Malaysia or the Jabatan Imigresen Malaysia.",
  "status": "draft",
  "jurisdiction": {
    "country": "MY",
    "level": "national"
  },
  "authority": {
    "name": "Jabatan Imigresen Malaysia",
    "abbreviation": "JIM",
    "url": "https://www.imi.gov.my/"
  },
  "process": {
    "type": "application",
    "language": "ms"
  },
  "source": {
    "url": "https://www.imi.gov.my/wp-content/uploads/2022/06/Borang-Permohonan-Pas-Lawatan.pdf",
    "retrievedAt": "2026-07-08",
    "documentRef": "IM.12 (Pin. 1/97) — BORANG PERMOHONAN PAS LAWATAN / VISIT PASS APPLICATION FORM, Bahagian A-D, made under Peraturan 11(12) dan 11(15) of the Peraturan-Peraturan Imigresen 1963, plus JIM's own \"Visa With Reference\" service page (https://www.imi.gov.my/index.php/en/visa-with-reference/) for the VDR category checklist and https://www.imi.gov.my/wp-content/uploads/2022/01/IM38.pdf for the companion Form Imm.38 (cited as a required document only; its own content is not modelled — see VERIFICATION.md)"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-08",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-08",
    "notes": "GOV-1789: GovSchema Standard Research cycle, Malaysia's 3rd vertical (Visa), following GOV-1783/GOV-1774's Passport and DMV verticals. Malaysia's eVISA (malaysiavisa.imi.gov.my) and eNTRI (windowmalaysia.my) portals were both re-confirmed login/session-gated with no field-level screen reachable unauthenticated; the legacy portal2017/images/borang/ subsite's Visa PDF links (still present on the current Forms Download page) were re-confirmed 404 in every Wayback snapshot since 2022-08 — a stale link, not a genuine source. JIM's own IM.12 \"Borang Permohonan Pas Lawatan\" (Visit Pass Application Form) was picked instead: a genuine, unauthenticated, directly downloadable, currently-served PDF (confirmed live this cycle, HTTP 200, 770,958 bytes, an Adobe LiveCycle Designer XFA container with 0 AcroForm/XFA Widget annotations — a print-layout container, not fillable, but a self-documenting, numbered field-by-field form, the same shape as this registry's other JIM/JPJ Malaysian schemas). Spain's Policía Nacional DNI/passport channel and Chile's Passport/Visa/National ID candidates were re-confirmed still dead ends from prior cycles (login/CAPTCHA/appointment-gated, no downloadable field-level form) and not re-attempted. See VERIFICATION.md for the full candidate comparison, the XFA extraction method (re-run independently this cycle), every field-by-field citation, and the disclosed Visa-vs-Pass and category-scope judgment calls."
  },
  "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-08"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "passType",
      "label": "Jenis Pas (type of pass)",
      "type": "enum",
      "required": true,
      "description": "The category of visit pass being applied for, per the form's own four-option checkbox group printed above the numbered sections.",
      "sourceRef": "IM.12 p.1, '*Jenis Pas / Type of Pass' checkboxes: 'Iktisas/Professional', 'Sosial/Social', 'Berniaga/Business', 'Kerja Sementara/Temporary Employment'",
      "validation": {
        "enum": ["professional", "social", "business", "temporary_employment"]
      }
    },
    {
      "name": "applicationType",
      "label": "Jenis Permohonan (type of application)",
      "type": "enum",
      "required": true,
      "description": "Whether this is a new application or an extension of an existing pass, per the form's own two-option checkbox group.",
      "sourceRef": "IM.12 p.1, '*Jenis Permohonan / Type of Application' checkboxes: 'Baru/New', 'Lanjutan/Extension'",
      "validation": {
        "enum": ["new", "extension"]
      }
    },
    {
      "name": "applicantCategory",
      "label": "VDR applicant category",
      "type": "enum",
      "required": true,
      "description": "Which Visa With Reference eligibility category this application falls under. Not a field printed on IM.12 itself — IM.12 is a single common form used across every VDR category — but disclosed here as a schema-level field because JIM's own VDR checklist page publishes a materially different supporting-document list per category (see `documents[]`). Only the four categories that submit Form Imm.12 together with Form Imm.38 are in scope (A, B, D, E); category C (Afghanistan), which instead submits Form Imm.47, is out of scope and has no value here.",
      "sourceRef": "JIM 'Visa With Reference' service page (https://www.imi.gov.my/index.php/en/visa-with-reference/), 'Category:' list: 'A. Application For a Visa With Reference (Wife of Malaysia Citizen)', 'B. Application For a Visa With Reference (Husband of Malaysian Citizen)', 'D. Application For a Visa With Reference (India)', 'E. Application For a Visa With Reference (China, Vietnam, North Korea and Cuba)'",
      "validation": {
        "enum": ["wife_of_malaysian_citizen", "husband_of_malaysian_citizen", "india", "china_vietnam_north_korea_cuba"]
      }
    },
    {
      "name": "fullName",
      "label": "Nama Penuh (Huruf Besar)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's full name in capital letters, per Section A, item 1.",
      "sourceRef": "IM.12 p.1, 'A. MAKLUMAT PEMOHON / PARTICULARS OF APPLICANT', item 1 'Nama Penuh (Huruf Besar) / Full Name (Capital Letter)'"
    },
    {
      "name": "gender",
      "label": "Jantina",
      "type": "enum",
      "required": true,
      "description": "The applicant's gender: Lelaki (male) or Perempuan (female) — the form's own two-option checkbox.",
      "sourceRef": "IM.12 p.1, item 2 '*Jantina / Gender' checkboxes: 'Lelaki/Male', 'Perempuan/Female'",
      "validation": {
        "enum": ["Lelaki", "Perempuan"]
      }
    },
    {
      "name": "placeOfBirth",
      "label": "Tempat/Negara Lahir",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's place and country of birth.",
      "sourceRef": "IM.12 p.1, item 3 'Tempat/Negara Lahir / Place/Country of Birth'"
    },
    {
      "name": "dateOfBirth",
      "label": "Tarikh Lahir",
      "type": "date",
      "required": true,
      "classification": "pii",
      "description": "The applicant's date of birth (hari/bulan/tahun — day/month/year, per the form's own three-box layout and footnote date format).",
      "sourceRef": "IM.12 p.1, item 4 '**Tarikh Lahir / Date of Birth' (hari / bulan / tahun); footnote '** Format Tarikh 99/99/9999 / Date Format DD/MM/YYYY'"
    },
    {
      "name": "nationality",
      "label": "Warganegara",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's nationality, per Section A, item 5.",
      "sourceRef": "IM.12 p.1, item 5 'Warganegara / Nationality'"
    },
    {
      "name": "travelDocumentType",
      "label": "Jenis Dokumen Perjalanan",
      "type": "string",
      "required": true,
      "description": "The type of the applicant's travel document (e.g. ordinary passport), per Section B, item 6. The form prints no fixed checkbox list for this item; it is a free-text entry on the printed layout.",
      "sourceRef": "IM.12 p.1, 'B. MAKLUMAT PASPORT PERJALANAN / DOKUMEN PERJALANAN — PARTICULARS OF PASSPORT/TRAVEL DOCUMENT', item 6 'Jenis Dokumen Perjalanan / Type of Travel Document'"
    },
    {
      "name": "travelDocumentNumber",
      "label": "Nombor",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "description": "The applicant's passport or travel document number, per Section B, item 7.",
      "sourceRef": "IM.12 p.1, item 7 'Nombor / Number'"
    },
    {
      "name": "travelDocumentPlaceOfIssue",
      "label": "Tempat/Negara Dikeluarkan",
      "type": "string",
      "required": true,
      "description": "The place and country where the applicant's travel document was issued, per Section B, item 8.",
      "sourceRef": "IM.12 p.1, item 8 'Tempat / Negara Dikeluarkan / Place / Country of Issue'"
    },
    {
      "name": "travelDocumentValidUntil",
      "label": "Sah Sehingga",
      "type": "date",
      "required": true,
      "description": "The expiry date of the applicant's travel document (hari/bulan/tahun — day/month/year), per Section B, item 9.",
      "sourceRef": "IM.12 p.1, item 9 '**Sah Sehingga / Valid Until' (hari / bulan / tahun); footnote '** Format Tarikh 99/99/9999 / Date Format DD/MM/YYYY'"
    },
    {
      "name": "sponsorFullName",
      "label": "Nama Penuh (Huruf Besar) — Penganjur",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The full name (in capital letters) of the applicant's sponsor in Malaysia, per Section C, item 10.",
      "sourceRef": "IM.12 p.1, 'C. MAKLUMAT PENGANJUR DI MALAYSIA — PARTICULARS OF SPONSOR IN MALAYSIA', item 10 'Nama Penuh (Huruf Besar) / Full Name (Capital Letter)'"
    },
    {
      "name": "sponsorIcNumber",
      "label": "No. Kad Pengenalan — Penganjur",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "description": "The MyKad (national identity card) number of the applicant's sponsor in Malaysia, per Section C, item 11.",
      "sourceRef": "IM.12 p.1, item 11 'No. Kad Pengenalan / NRIC'"
    },
    {
      "name": "sponsorPhoneNumber",
      "label": "No. Telefon — Penganjur",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The telephone number of the applicant's sponsor in Malaysia, per Section C, item 12.",
      "sourceRef": "IM.12 p.1, item 12 'No. Telefon / Telephone No.'"
    },
    {
      "name": "sponsorAddress",
      "label": "Alamat — Penganjur",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The address of the applicant's sponsor in Malaysia, per Section C, item 13.",
      "sourceRef": "IM.12 p.1, item 13 'Alamat / Address'"
    },
    {
      "name": "sponsorState",
      "label": "Negeri — Penganjur",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The Malaysian state of the sponsor's address, printed as a sub-field of item 13.",
      "sourceRef": "IM.12 p.1, item 13 sub-field 'Negeri / State'"
    },
    {
      "name": "visaRequired",
      "label": "Adakah Visa Diperlukan",
      "type": "boolean",
      "required": true,
      "description": "Whether a visa is required for this applicant, per Section D's own yes/no checkbox (Ya/Yes, Tidak/No).",
      "sourceRef": "IM.12 p.1, 'D. KEPERLUAN VISA — VISA REQUIREMENT', item 14 '*Adakah Visa Diperlukan / Visa Requirement' checkboxes: 'Ya/Yes', 'Tidak/No'"
    },
    {
      "name": "visaType",
      "label": "Jenis Visa",
      "type": "enum",
      "required": false,
      "requiredWhen": {
        "field": "visaRequired",
        "equals": true
      },
      "description": "The type of visa requested when a visa is required: single-entry or multiple-entry, per Section D, item 15's own two-option checkbox.",
      "sourceRef": "IM.12 p.1, item 15 '*Jenis Visa / Type of Visa' checkboxes: 'Sekali Perjalanan/Single Entry', 'Berulangkali Perjalanan/Multiple Entry'",
      "validation": {
        "enum": ["single_entry", "multiple_entry"]
      }
    },
    {
      "name": "declarationDate",
      "label": "Tarikh",
      "type": "date",
      "required": true,
      "description": "The date the form is signed, printed directly beside the 'Tandatangan Pemohon / Penganjur' (Signature of Applicant/Sponsor) block. The form's own printed layout does not number this date/signature block (numbering runs 1-15 across Sections A-D and stops there); it is modelled unnumbered, disclosed here rather than assigned an invented item number. The form's own label allows either the applicant or the sponsor to be the signatory; this schema does not further distinguish which of the two signed.",
      "sourceRef": "IM.12 p.1, unnumbered closing block: 'Tarikh / Date' beside 'Tandatangan Pemohon / Penganjur — Signature of Applicant / Sponsor'"
    }
  ],
  "documents": [
    {
      "id": "applicantPhotograph",
      "label": "Photograph of the applicant, 3.5cm x 5.0cm",
      "category": "supporting-evidence",
      "required": true,
      "sourceRef": "IM.12 p.1, photograph box label: '(3.5 cm x 5.0 cm) Gambar Pemohon / Photograph Of Applicant'"
    },
    {
      "id": "recentPhotographs",
      "label": "2 recent photographs (of the applicant, or of the applicant and Malaysian spouse depending on category)",
      "category": "supporting-evidence",
      "required": true,
      "sourceRef": "JIM 'Visa With Reference' service page, checklist items '2 Recent photographs of husband/wife' (categories A, B) and '2 Recent photographs of applicant' (categories D, E) — universally required across all four in-scope categories, though who is photographed varies by category"
    },
    {
      "id": "imm38Form",
      "label": "Form Imm.38, Application For Visa",
      "category": "supporting-evidence",
      "required": true,
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Form Imm.38' (listed for categories A, B, D, E). This schema cites Form Imm.38 only as a required companion document; its own internal fields/layout are not modelled — the live PDF (https://www.imi.gov.my/wp-content/uploads/2022/01/IM38.pdf) was confirmed to be a single embedded raster image covering the whole page with no extractable text layer at all (see VERIFICATION.md)."
    },
    {
      "id": "sponsorIdentificationCard",
      "label": "Sponsor's identification card",
      "category": "identity-document",
      "required": true,
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item \"Sponsor's identification card (husband)\" (category A), \"Sponsor's identification card (wife)\" (category B), \"Sponsor's identification card\" (categories D, E) — universally required across all four in-scope categories"
    },
    {
      "id": "applicantPassportCopy",
      "label": "Copy of applicant's passport",
      "category": "identity-document",
      "required": true,
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item \"Copy of applicant's passport\" — listed identically for categories A, B, D, E"
    },
    {
      "id": "spousePassportCopy",
      "label": "Copy of Malaysian spouse's passport (marriage abroad)",
      "category": "identity-document",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "in": ["wife_of_malaysian_citizen", "husband_of_malaysian_citizen"]
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item \"Copy of husband's passport (marriage abroad)\" (category A), \"Copy of wife's passport (marriage abroad)\" (category B)"
    },
    {
      "id": "marriageCertificate",
      "label": "Marriage Certificate (Malaysia/abroad)",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "in": ["wife_of_malaysian_citizen", "husband_of_malaysian_citizen"]
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Marriage Certificate (Malaysia/abroad)' (categories A, B). Category E's checklist separately lists a \"Sponsor's Marriage Certificate\" — a distinct document belonging to the sponsor rather than the applicant/spouse pairing this entry describes — which is not modelled to avoid conflating the two; see VERIFICATION.md."
    },
    {
      "id": "securityBond",
      "label": "Security Bond",
      "category": "payment",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "in": ["wife_of_malaysian_citizen", "husband_of_malaysian_citizen"]
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Security Bond' (categories A, B; also listed for out-of-scope category C). Not listed for categories D or E, so not modelled as universal."
    },
    {
      "id": "divorceOrDeathCertificate",
      "label": "Divorce/Death Certificate (where applicable)",
      "category": "supporting-evidence",
      "required": false,
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Divorced /Death Certificate (where applicable)' (category A). The source's own \"where applicable\" qualifier (e.g. only when the sponsor was previously divorced or widowed) is narrower than a category-level `requiredWhen` gate can express without over-claiming it as required for every category-A applicant; left un-gated (`required: false`) rather than modelling a condition this schema cannot actually evaluate — disclosed as a deliberate scope limitation, not a silent drop."
    },
    {
      "id": "vdrQuestionnaireForm",
      "label": "VDR questionnaire form",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "equals": "wife_of_malaysian_citizen"
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'VDR questionnaire form' (category A only)"
    },
    {
      "id": "statutoryDeclarationForm",
      "label": "Statutory Declaration Form",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "equals": "wife_of_malaysian_citizen"
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Statutory Declaration Form' (category A only)"
    },
    {
      "id": "applicationLetterToEmbassy",
      "label": "Application letter sent to and received by the Embassy/High Commission of Malaysia",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "equals": "husband_of_malaysian_citizen"
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Application Letter sent to and received by the Embassy / High Commission of Malaysia' (category B only)"
    },
    {
      "id": "sponsorFinancialProof",
      "label": "Sponsor's proof of financial support / Form J (income equivalent to or more than RM2,000/month)",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "in": ["husband_of_malaysian_citizen", "india"]
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item \"Sponsor's proof of financial support/Form J (income equivalent to or more than RM2,000/month)\" (category B), \"Sponsor's proof of financial support/Form J (income of equivalent to or more than RM2,000/month)\" (category D)"
    },
    {
      "id": "sponsorLetterOfUndertaking",
      "label": "Sponsor's letter of undertaking",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "in": ["india", "china_vietnam_north_korea_cuba"]
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item \"Sponsor's letter of undertaking\" (categories D, E)"
    },
    {
      "id": "familyTiesDocuments",
      "label": "Supporting documents of family ties",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "in": ["india", "china_vietnam_north_korea_cuba"]
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Supporting documents of family ties' (categories D, E)"
    },
    {
      "id": "correspondenceLetterVerifiedInterpretation",
      "label": "Correspondence letter with verified interpretation",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "equals": "china_vietnam_north_korea_cuba"
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Correspondence letter with verified interpretation' (category E only)"
    },
    {
      "id": "sponsorMarriageCertificate",
      "label": "Sponsor's Marriage Certificate",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "equals": "china_vietnam_north_korea_cuba"
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item \"Sponsor's Marriage Certificate\" (category E only) — distinct from this schema's `marriageCertificate` entry (categories A/B), which describes the applicant/spouse's own marriage certificate rather than the sponsor's"
    },
    {
      "id": "notaryCertificateCopy",
      "label": "Copy of Notary Certificate",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "applicantCategory",
        "equals": "china_vietnam_north_korea_cuba"
      },
      "sourceRef": "JIM 'Visa With Reference' service page, checklist item 'Copy of Notary Certificate' (category E only)"
    },
    {
      "id": "signedDeclaration",
      "label": "Applicant/sponsor signature",
      "category": "attestation",
      "required": true,
      "issuingAuthority": "Self-attested by the applicant or sponsor, signed within the form's marked 'Tandatangan Pemohon / Penganjur' box",
      "sourceRef": "IM.12 p.1, unnumbered closing block 'Tandatangan Pemohon / Penganjur — Signature of Applicant / Sponsor'. IM.12's printed layout carries no verbatim attestation sentence beside the signature line (unlike IM.42's Bahagian E declaration text); this entry records only that a signature is required, not a fabricated attestation statement."
    }
  ],
  "steps": [
    {
      "id": "jenis_pas_permohonan",
      "title": "Jenis Pas, Jenis Permohonan, and VDR category",
      "fields": ["passType", "applicationType", "applicantCategory"],
      "next": "maklumat_pemohon"
    },
    {
      "id": "maklumat_pemohon",
      "title": "A - Maklumat Pemohon (applicant particulars)",
      "fields": ["fullName", "gender", "placeOfBirth", "dateOfBirth", "nationality"],
      "next": "maklumat_paspor"
    },
    {
      "id": "maklumat_paspor",
      "title": "B - Maklumat Paspor Perjalanan / Dokumen Perjalanan (travel document particulars)",
      "fields": [
        "travelDocumentType", "travelDocumentNumber",
        "travelDocumentPlaceOfIssue", "travelDocumentValidUntil"
      ],
      "next": "maklumat_penganjur"
    },
    {
      "id": "maklumat_penganjur",
      "title": "C - Maklumat Penganjur di Malaysia (sponsor particulars)",
      "fields": [
        "sponsorFullName", "sponsorIcNumber", "sponsorPhoneNumber",
        "sponsorAddress", "sponsorState"
      ],
      "next": "keperluan_visa"
    },
    {
      "id": "keperluan_visa",
      "title": "D - Keperluan Visa (visa requirement)",
      "fields": ["visaRequired", "visaType"],
      "next": "tandatangan"
    },
    {
      "id": "tandatangan",
      "title": "Tarikh dan Tandatangan (date and signature)",
      "fields": ["declarationDate"]
    }
  ]
}
