{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "th/mfa/non-immigrant-visa-b-application-for-employment",
  "version": "1.0.0",
  "title": "Thailand Non-Immigrant Visa (B) Application — For Employment",
  "description": "The Ministry of Foreign Affairs' (MFA) two-page visa application specimen served under its Non-Immigrant Visa (B) for Employment publishing path, opening Thailand's Visa vertical (2 of 6; Taxes opened via th/rd/pit-90-personal-income-tax-return). Page 1 is a non-fillable checklist naming the required supporting documents for this visa category and purpose (modelled as documents[] below, not fields[]); page 2 is the MFA's own generic 'APPLICATION FOR VISA' AcroForm (footer-stamped 'mfavisaform 10 09 2007'), used across all MFA/Royal Thai Embassy and Consulate-General visa categories, with a 'Please Indicate Type of Visa Requested' selector rather than a form dedicated solely to Non-Immigrant Visa (B). This v1.0.0 models every applicant-facing field on page 2's live AcroForm: the visa-type-requested and title selectors, full identity/travel-document/occupation/address fields, the local-guarantor and guarantor-in-Thailand blocks, the minor-children-if-accompanying block, travel/entry details, and the purpose-of-visit selector, plus the date fields accompanying the form's two printed declarations. Two of the 58 AcroForm widgets (Text4, Text13) are excluded as non-visible, near-zero-dimension artifact fields with no corresponding printed label — disclosed in VERIFICATION.md. The lower 'FOR OFFICIAL USE' block (Application/Reference No., Visa No., consulate-assigned Type of Visa/Category/Entries/Fee/dates, Documents Submitted) carries no AcroForm widgets at all and is out of scope, consistent with this registry's convention for consulate/caseworker-only sections. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Thailand or the Ministry of Foreign Affairs.",
  "status": "draft",
  "jurisdiction": {
    "country": "TH",
    "level": "national"
  },
  "authority": {
    "name": "Ministry of Foreign Affairs of the Kingdom of Thailand",
    "abbreviation": "MFA",
    "url": "https://www.mfa.go.th"
  },
  "process": {
    "type": "application",
    "language": "en"
  },
  "source": {
    "url": "https://image.mfa.go.th/mfa/0/3fsjzRYZ2e/VISA_FORM/NON-IMMIGRANT_VISA_(B)_FOR_EMPLOYMENT_-_To_be_employed_in_Thailand-new.pdf",
    "retrievedAt": "2026-07-12",
    "documentRef": "NON-IMMIGRANT VISA (B) FOR EMPLOYMENT — checklist + APPLICATION FOR VISA (page 2 footer-stamped \"mfavisaform 10 09 2007\")"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-12",
    "verifiedBy": "GovSchema Engineering",
    "nextReviewBy": "2027-01-12",
    "notes": "GovSchema Standard Research cycle GOV-2602, a pre-scouted candidate identified in GOV-2593's cycle. Opens Thailand's Visa vertical (2 of 6; Taxes already open via th/rd/pit-90-personal-income-tax-return, GOV-2593). Independently re-fetched https://image.mfa.go.th/mfa/0/3fsjzRYZ2e/VISA_FORM/NON-IMMIGRANT_VISA_(B)_FOR_EMPLOYMENT_-_To_be_employed_in_Thailand-new.pdf this cycle (not trusting the prior cycle's citation): HTTP 200, application/pdf, 270,415 bytes, sha256 8e61fcc80bd6260f83f86b01d5443f54a75eda4ef915c3c5449e498b8b2600d4. Re-ran pdfjs-dist (legacy build, getAnnotations({intent:'display'}) filtered to subtype==='Widget'): confirmed 2 pages, 58 AcroForm widgets total (0 on page 1, 58 on page 2) — matching the pre-scouted count exactly. Every widget's rect was correlated against getTextContent()'s position-sorted text (grouped by rounded y, sorted by x) to identify its printed label before modelling, per this registry's established coordinate-correlation technique; 2 of the 58 widgets (Text4, Text13) are near-zero-dimension artifacts (1pt and 0pt wide respectively) with no adjacent printed label and are excluded from fields[], disclosed here and in VERIFICATION.md. Deliberately scoped to model only page 2's applicant-facing AcroForm plus page 1's checklist (as documents[]); the page-2 'FOR OFFICIAL USE' block and its printed (but widget-less) consulate fields are out of scope since no AcroForm mechanism exists for them."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering",
    "assertedAt": "2026-07-12"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "visaTypeDiplomatic",
      "label": "Diplomatic Visa",
      "type": "boolean",
      "required": false,
      "description": "One of six mutually-exclusive 'Type of Visa Requested' options printed at the top of the application (see exclusivityGroups). This document is served under the MFA's Non-Immigrant Visa (B) for Employment publishing path, so an applicant using this specimen for that purpose is expected to select visaTypeNonImmigrant rather than this option; the field itself is modelled as printed since the underlying AcroForm is the MFA's shared, all-purpose visa application (not a Non-Immigrant-B-only form) and imposes no such constraint mechanically.",
      "sourceRef": "Page 2, \"Please Indicate Type of Visa Requested\" box: \"Diplomatic Visa\" (Check Box3)"
    },
    {
      "name": "visaTypeOfficial",
      "label": "Official Visa",
      "type": "boolean",
      "required": false,
      "description": "See visaTypeDiplomatic for the mutual-exclusivity and shared-form disclosure.",
      "sourceRef": "Page 2, \"Please Indicate Type of Visa Requested\" box: \"Official Visa\" (Check Box6)"
    },
    {
      "name": "visaTypeCourtesy",
      "label": "Courtesy Visa",
      "type": "boolean",
      "required": false,
      "description": "See visaTypeDiplomatic for the mutual-exclusivity and shared-form disclosure.",
      "sourceRef": "Page 2, \"Please Indicate Type of Visa Requested\" box: \"Courtesy Visa\" (Check Box5)"
    },
    {
      "name": "visaTypeNonImmigrant",
      "label": "Non-Immigrant Visa",
      "type": "boolean",
      "required": false,
      "description": "The option expected to be checked for this document's Non-Immigrant Visa (B) for Employment purpose. See visaTypeDiplomatic for the mutual-exclusivity and shared-form disclosure.",
      "sourceRef": "Page 2, \"Please Indicate Type of Visa Requested\" box: \"Non-Immigrant Visa\" (Check Box4)"
    },
    {
      "name": "visaTypeTourist",
      "label": "Tourist Visa",
      "type": "boolean",
      "required": false,
      "description": "See visaTypeDiplomatic for the mutual-exclusivity and shared-form disclosure.",
      "sourceRef": "Page 2, \"Please Indicate Type of Visa Requested\" box: \"Tourist Visa\" (Check Box7)"
    },
    {
      "name": "visaTypeTransit",
      "label": "Transit Visa",
      "type": "boolean",
      "required": false,
      "description": "See visaTypeDiplomatic for the mutual-exclusivity and shared-form disclosure.",
      "sourceRef": "Page 2, \"Please Indicate Type of Visa Requested\" box: \"Transit Visa\" (Check Box2)"
    },
    {
      "name": "numberOfEntriesRequested",
      "label": "Number of Entries Requested",
      "type": "string",
      "required": false,
      "description": "A handwritten blank ('Number of Entries Requested _____') printed beside the visa-type selector, with no corresponding AcroForm widget in the source PDF — modelled here for completeness of the printed form's data points, but not backed by a fillable field; disclosed in VERIFICATION.md.",
      "sourceRef": "Page 2: \"Number of Entries Requested _____\""
    },
    {
      "name": "titleMr",
      "label": "Mr.",
      "type": "boolean",
      "required": false,
      "description": "One of three mutually-exclusive title checkboxes preceding the applicant's name (see exclusivityGroups).",
      "sourceRef": "Page 2, name row: \"Mr.\" (Check Box14)"
    },
    {
      "name": "titleMrs",
      "label": "Mrs.",
      "type": "boolean",
      "required": false,
      "description": "See titleMr for the mutual-exclusivity note.",
      "sourceRef": "Page 2, name row: \"Mrs.\" (Check Box15)"
    },
    {
      "name": "titleMiss",
      "label": "Miss",
      "type": "boolean",
      "required": false,
      "description": "See titleMr for the mutual-exclusivity note.",
      "sourceRef": "Page 2, name row: \"Miss\" (Check Box16)"
    },
    {
      "name": "fullName",
      "label": "First Name Middle Name Family Name (in BLOCK letters)",
      "type": "string",
      "required": true,
      "description": "The applicant's full name in block letters, e.g. \"SOMCHAI MANEE JAIDEE\".",
      "classification": "pii",
      "sourceRef": "Page 2, row beside the title checkboxes (Text1)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "formerName",
      "label": "Former Name (if any)",
      "type": "string",
      "required": false,
      "description": "A prior legal name the applicant has held, if any.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text2)"
    },
    {
      "name": "nationality",
      "label": "Nationality",
      "type": "string",
      "required": true,
      "description": "The applicant's current nationality, e.g. \"Malaysian\".",
      "classification": "pii",
      "sourceRef": "Page 2 (Text3)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "nationalityAtBirth",
      "label": "Nationality at Birth",
      "type": "string",
      "required": true,
      "description": "The nationality the applicant held at birth, if different from the current nationality (printed as its own blank distinct from nationality above).",
      "classification": "pii",
      "sourceRef": "Page 2 (Text5)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "countriesTravelDocumentValid",
      "label": "Countries for which travel document is valid",
      "type": "string",
      "required": true,
      "description": "The countries/territories the applicant's travel document is valid for, e.g. \"All countries\".",
      "sourceRef": "Page 2 (Text35)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "birthPlace",
      "label": "Birth Place",
      "type": "string",
      "required": true,
      "description": "The applicant's city/country of birth, e.g. \"Kuala Lumpur, Malaysia\".",
      "classification": "pii",
      "sourceRef": "Page 2 (Text6)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "maritalStatus",
      "label": "Marital Status",
      "type": "string",
      "required": true,
      "description": "The applicant's marital status as a free-text blank, e.g. \"Single\" — printed as a blank line, not as selectable checkboxes.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text7)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "proposedAddressInThailandLine1",
      "label": "Proposed Address in Thailand",
      "type": "string",
      "required": true,
      "description": "The address the applicant intends to reside at in Thailand (line 1 of 3 blank lines provided).",
      "classification": "pii",
      "sourceRef": "Page 2 (Text36)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "proposedAddressInThailandLine2",
      "label": "Proposed Address in Thailand (continued)",
      "type": "string",
      "required": false,
      "description": "Second of 3 blank lines for the proposed address in Thailand.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text37)"
    },
    {
      "name": "proposedAddressInThailandLine3",
      "label": "Proposed Address in Thailand (continued)",
      "type": "string",
      "required": false,
      "description": "Third of 3 blank lines for the proposed address in Thailand.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text38)"
    },
    {
      "name": "dateOfBirth",
      "label": "Date of Birth",
      "type": "date",
      "required": true,
      "description": "The applicant's date of birth.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text8)"
    },
    {
      "name": "localGuarantorNameAddressLine1",
      "label": "Name and Address of Local Guarantor",
      "type": "string",
      "required": true,
      "description": "The name and address of the applicant's local (home-country) guarantor (line 1 of 2 blank lines provided).",
      "classification": "pii",
      "sourceRef": "Page 2 (Text39)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "localGuarantorNameAddressLine2",
      "label": "Name and Address of Local Guarantor (continued)",
      "type": "string",
      "required": false,
      "description": "Second of 2 blank lines for the local guarantor's name and address.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text40)"
    },
    {
      "name": "localGuarantorTel",
      "label": "Tel./Fax. (Local Guarantor)",
      "type": "string",
      "required": false,
      "description": "The local guarantor's telephone/fax number.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text41)"
    },
    {
      "name": "travelDocumentType",
      "label": "Type of Travel Document",
      "type": "string",
      "required": true,
      "description": "The type of travel document presented, e.g. \"Ordinary Passport\".",
      "sourceRef": "Page 2 (Text9)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "guarantorInThailandNameAddressLine1",
      "label": "Name and Address of Guarantor in Thailand",
      "type": "string",
      "required": true,
      "description": "The name and address of the applicant's guarantor in Thailand — for this visa's Employment purpose, typically the sponsoring employer (line 1 of 2 blank lines provided).",
      "classification": "pii",
      "sourceRef": "Page 2 (Text42)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "guarantorInThailandNameAddressLine2",
      "label": "Name and Address of Guarantor in Thailand (continued)",
      "type": "string",
      "required": false,
      "description": "Second of 2 blank lines for the name and address of the guarantor in Thailand.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text43)"
    },
    {
      "name": "guarantorInThailandTel",
      "label": "Tel./Fax. (Guarantor in Thailand)",
      "type": "string",
      "required": false,
      "description": "The Thailand-based guarantor's telephone/fax number.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text44)"
    },
    {
      "name": "travelDocumentNo",
      "label": "No. (Travel Document)",
      "type": "string",
      "required": true,
      "description": "The travel document's number.",
      "classification": "sensitive-pii",
      "sourceRef": "Page 2 (Text10)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "travelDocumentIssuedAt",
      "label": "Issued at",
      "type": "string",
      "required": true,
      "description": "The place the travel document was issued.",
      "sourceRef": "Page 2 (Text12)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "travelDocumentDateOfIssue",
      "label": "Date of Issue (Travel Document)",
      "type": "date",
      "required": true,
      "description": "The travel document's date of issue.",
      "sourceRef": "Page 2 (Text15)"
    },
    {
      "name": "travelDocumentExpiryDate",
      "label": "Expiry Date (Travel Document)",
      "type": "date",
      "required": true,
      "description": "The travel document's expiry date.",
      "sourceRef": "Page 2 (Text16)"
    },
    {
      "name": "occupationPosition",
      "label": "Occupation (present position)",
      "type": "string",
      "required": true,
      "description": "The applicant's present position/job title, per the label's instruction to \"specify present position and name of employer\" across the 2 blank lines provided (line 1).",
      "sourceRef": "Page 2 (Text17)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "occupationEmployer",
      "label": "Occupation (name of employer)",
      "type": "string",
      "required": true,
      "description": "The applicant's employer, per the label's instruction to \"specify present position and name of employer\" across the 2 blank lines provided (line 2).",
      "sourceRef": "Page 2 (Text18)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "currentAddressLine1",
      "label": "Current Address",
      "type": "string",
      "required": true,
      "description": "The applicant's current address (line 1 of 2 blank lines provided).",
      "classification": "pii",
      "sourceRef": "Page 2 (Text19)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "currentAddressLine2",
      "label": "Current Address (continued)",
      "type": "string",
      "required": false,
      "description": "Second of 2 blank lines for the applicant's current address.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text20)"
    },
    {
      "name": "currentAddressTel",
      "label": "Tel. (Current Address)",
      "type": "string",
      "required": true,
      "description": "A contact telephone number for the applicant's current address.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text21)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "currentAddressEmail",
      "label": "E-mail (Current Address)",
      "type": "string",
      "required": false,
      "description": "An e-mail address for the applicant.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text22)"
    },
    {
      "name": "permanentAddressLine1",
      "label": "Permanent Address (if different from above)",
      "type": "string",
      "required": false,
      "description": "The applicant's permanent address, only if different from the current address above (line 1 of 3 blank lines provided). No selector field distinguishes whether this block applies; left fully optional, per this registry's established convention for the same class of printed 'if different/if applicable' block with no dedicated gating widget.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text23)"
    },
    {
      "name": "permanentAddressLine2",
      "label": "Permanent Address (continued)",
      "type": "string",
      "required": false,
      "description": "Second of 3 blank lines for the permanent address.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text24)"
    },
    {
      "name": "permanentAddressLine3",
      "label": "Permanent Address (continued)",
      "type": "string",
      "required": false,
      "description": "Third of 3 blank lines for the permanent address.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text25)"
    },
    {
      "name": "permanentAddressTel",
      "label": "Tel. (Permanent Address)",
      "type": "string",
      "required": false,
      "description": "A contact telephone number for the applicant's permanent address, if provided.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text26)"
    },
    {
      "name": "minorChildrenInfoLine1",
      "label": "Names, dates and places of birth of minor children (if accompanying)",
      "type": "string",
      "required": false,
      "description": "Names, dates, and places of birth of any minor children accompanying the applicant (line 1 of 2 blank lines provided). Optional: only applies when minor children are accompanying.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text27)"
    },
    {
      "name": "minorChildrenInfoLine2",
      "label": "Names, dates and places of birth of minor children (continued)",
      "type": "string",
      "required": false,
      "description": "Second of 2 blank lines for accompanying minor children's information.",
      "classification": "pii",
      "sourceRef": "Page 2 (Text28)"
    },
    {
      "name": "dateOfArrivalInThailand",
      "label": "Date of Arrival in Thailand",
      "type": "date",
      "required": true,
      "description": "The applicant's planned date of arrival in Thailand.",
      "sourceRef": "Page 2 (Text29)"
    },
    {
      "name": "travelingBy",
      "label": "Traveling by",
      "type": "string",
      "required": true,
      "description": "The applicant's mode of travel into Thailand, e.g. \"Air\".",
      "sourceRef": "Page 2 (Text30)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "flightOrVesselName",
      "label": "Flight No. or Vessel's name",
      "type": "string",
      "required": true,
      "description": "The flight number or vessel name the applicant will arrive on.",
      "sourceRef": "Page 2 (Text31)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "durationOfProposedStay",
      "label": "Duration of Proposed Stay",
      "type": "string",
      "required": true,
      "description": "The applicant's proposed duration of stay in Thailand, e.g. \"90 days\".",
      "sourceRef": "Page 2 (Text32)",
      "validation": {
        "minLength": 1
      }
    },
    {
      "name": "dateOfPreviousVisitToThailand",
      "label": "Date of Previous Visit to Thailand",
      "type": "date",
      "required": false,
      "description": "The date of the applicant's most recent previous visit to Thailand, if any.",
      "sourceRef": "Page 2 (Text33)"
    },
    {
      "name": "purposeOfVisitTourism",
      "label": "Purpose of Visit: Tourism",
      "type": "boolean",
      "required": false,
      "description": "One of five mutually-exclusive 'Purpose of Visit' options (see exclusivityGroups). None of the five printed options is literally worded 'Employment'; for this visa's Employment purpose, purposeOfVisitBusiness is the closest applicable printed option, disclosed here rather than asserted as canonical.",
      "sourceRef": "Page 2, \"Purpose of Visit:\" row: \"Tourism\" (Check Box8)"
    },
    {
      "name": "purposeOfVisitTransit",
      "label": "Purpose of Visit: Transit",
      "type": "boolean",
      "required": false,
      "description": "See purposeOfVisitTourism for the mutual-exclusivity and Employment-purpose disclosure.",
      "sourceRef": "Page 2, \"Purpose of Visit:\" row: \"Transit\" (Check Box9)"
    },
    {
      "name": "purposeOfVisitBusiness",
      "label": "Purpose of Visit: Business",
      "type": "boolean",
      "required": false,
      "description": "The closest printed option to this document's Employment purpose (see purposeOfVisitTourism). See purposeOfVisitTourism for the mutual-exclusivity note.",
      "sourceRef": "Page 2, \"Purpose of Visit:\" row: \"Business\" (Check Box11)"
    },
    {
      "name": "purposeOfVisitDiplomaticOfficial",
      "label": "Purpose of Visit: Diplomatic/Official",
      "type": "boolean",
      "required": false,
      "description": "See purposeOfVisitTourism for the mutual-exclusivity and Employment-purpose disclosure.",
      "sourceRef": "Page 2, \"Purpose of Visit:\" row: \"Diplomatic/Official\" (Check Box10)"
    },
    {
      "name": "purposeOfVisitOther",
      "label": "Purpose of Visit: Other",
      "type": "boolean",
      "required": false,
      "description": "See purposeOfVisitTourism for the mutual-exclusivity note. When selected, purposeOfVisitOtherDescription should be completed.",
      "sourceRef": "Page 2, \"Purpose of Visit:\" row: \"Other (please specify)\" (Check Box13)"
    },
    {
      "name": "purposeOfVisitOtherDescription",
      "label": "Other (please specify)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "purposeOfVisitOther",
        "equals": true
      },
      "description": "Free-text description of the visit's purpose, required only when purposeOfVisitOther is checked.",
      "sourceRef": "Page 2 (Text34)"
    },
    {
      "name": "refundDeclarationDate",
      "label": "Date (Refund Declaration)",
      "type": "date",
      "required": true,
      "description": "The date accompanying the applicant's signature on the printed declaration \"I hereby declare that I will not request any refund from my paid visa fee even if my application has been declined.\" (No separate fillable Signature widget exists in the source; the signature itself is a wet-ink line with no AcroForm mechanism, consistent with this registry's convention for such lines.)",
      "sourceRef": "Page 2, refund declaration block (Text50)"
    },
    {
      "name": "touristTransitDeclarationDate",
      "label": "Date (Tourist/Transit Declaration)",
      "type": "date",
      "required": false,
      "description": "The date accompanying the applicant's signature on the printed declaration under \"Attention for Tourist and Transit Visas Applicants\" (\"I hereby declare that the purpose of my visit to Thailand is for pleasure or transit only...\"). Required only for Tourist/Transit applicants; left optional here since this document's Employment purpose does not fall under that attention block. No separate fillable Signature widget exists, consistent with refundDeclarationDate.",
      "sourceRef": "Page 2, tourist/transit declaration block (Text51)"
    }
  ],
  "documents": [
    {
      "id": "completedVisaApplicationForm",
      "label": "Completed visa application form",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "handling": "This document (page 2, modelled as fields[] above) printed and signed.",
      "sourceRef": "Page 1 checklist, item 1: \"Completed visa application form\""
    },
    {
      "id": "originalPassport",
      "label": "Original passport with at least 6-month validity and 2 blank visa pages",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Page 1 checklist, item 2"
    },
    {
      "id": "passportCopy",
      "label": "A copy of passport (ID page)",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Page 1 checklist, item 3"
    },
    {
      "id": "passportPhoto",
      "label": "A passport size photo (white/blue background, taken within the past 6 months)",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Page 1 checklist, item 4"
    },
    {
      "id": "workPermitOrApprovalEvidence",
      "label": "Work-authorization evidence: a copy of an existing Thai work permit (if applicable), OR a Ministry of Labour approval letter / Form W.P. 3 (m.vi. 3), OR a Board of Investment of Thailand letter",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "handling": "The source lists three alternative sub-items (5.1-5.3) under a single 'Any of the followings' instruction, without a discrete selector distinguishing which one applies; modelled as one required document per this registry's convention for disclosed either/or evidence requirements.",
      "sourceRef": "Page 1 checklist, item 5 (\"Any of the followings\"): 5.1-5.3"
    },
    {
      "id": "jobOfferLetter",
      "label": "Job offer letter",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "responsible-party",
      "sourceRef": "Page 1 checklist, item 6.1"
    },
    {
      "id": "companyRegistrationCopy",
      "label": "A copy of the company's registration/business license",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "responsible-party",
      "sourceRef": "Page 1 checklist, item 6.2"
    },
    {
      "id": "shareholderListCopy",
      "label": "A copy of the company's list of shareholders",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "responsible-party",
      "sourceRef": "Page 1 checklist, item 6.3"
    },
    {
      "id": "balanceSheetCopy",
      "label": "A copy of the company's latest balance sheet",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "responsible-party",
      "sourceRef": "Page 1 checklist, item 6.4"
    },
    {
      "id": "vatRegistrationCopy",
      "label": "A copy of the company's value-added tax (VAT) registration",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "responsible-party",
      "sourceRef": "Page 1 checklist, item 6.5"
    }
  ],
  "exclusivityGroups": [
    {
      "id": "visa_type_requested",
      "fields": [
        "visaTypeDiplomatic",
        "visaTypeOfficial",
        "visaTypeCourtesy",
        "visaTypeNonImmigrant",
        "visaTypeTourist",
        "visaTypeTransit"
      ]
    },
    {
      "id": "title",
      "fields": [
        "titleMr",
        "titleMrs",
        "titleMiss"
      ]
    },
    {
      "id": "purpose_of_visit",
      "fields": [
        "purposeOfVisitTourism",
        "purposeOfVisitTransit",
        "purposeOfVisitBusiness",
        "purposeOfVisitDiplomaticOfficial",
        "purposeOfVisitOther"
      ]
    }
  ]
}
