{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "md/mfa/entry-visa-application",
  "version": "1.0.0",
  "title": "Moldova Entry Visa Application (Cerere de solicitare a vizei de intrare în Republica Moldova / Application for an Entry Visa to the Republic of Moldova)",
  "description": "The Ministry of Foreign Affairs and European Integration's (MFAEI) standard consular application form for a national entry visa to the Republic of Moldova, submitted by third-country nationals at a Moldovan embassy or consulate abroad. The 33-item layout, printed declaration text, and required supporting documents closely mirror the EU-harmonised uniform ('Schengen', Annex I to Regulation (EC) No 810/2009) short-stay visa application template — Moldova is not a Schengen or EU member state, but its own national visa form reuses the same field structure and much of the same printed wording, substituting 'Republic of Moldova' for 'Schengen area'/'Member State(s)' throughout and omitting the EU template's multi-country fields (destination Member State(s), Member State of first entry) since this is a single-country visa. This document models the applicant-facing content of MFAEI's own central, unauthenticated, English-language 3-page specimen (corroborated during scouting by an identical mirror hosted by the Moldovan consulate in Iași, Romania): applicant identity, travel document, contact, occupation, purpose-of-journey, prior-visa/biometric history, host/inviting-party, and travel-funding data, plus a family-member block for applicants related to a Moldovan citizen. GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of the Republic of Moldova, the Ministry of Foreign Affairs and European Integration, or any Moldovan embassy or consulate.",
  "status": "draft",
  "jurisdiction": {
    "country": "MD",
    "level": "national"
  },
  "authority": {
    "name": "Ministerul Afacerilor Externe și Integrării Europene (Ministry of Foreign Affairs and European Integration), acting through Moldova's embassies and consulates abroad",
    "abbreviation": "MFAEI",
    "url": "https://mfa.gov.md"
  },
  "process": {
    "type": "application",
    "language": "en"
  },
  "source": {
    "url": "https://mfa.gov.md/sites/default/files/visa-application-form_0.pdf",
    "retrievedAt": "2026-07-15",
    "documentRef": "'Application for an Entry Visa to the Republic of Moldova', MFAEI's own central English-language 3-page flat/print PDF specimen, hosted directly on mfa.gov.md"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-15",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-15",
    "notes": "GOV-3181, a disclosed backlog candidate delegated from the GOV-3157/GOV-3152 'GovSchema Standard Research' cycle. Re-verified fresh rather than trusted from the prior scouting note: HTTP 200, content-type application/pdf, 53,469 bytes, sha256 380ba14e0eeb2a005a71783261a7a12c4ff01b4899fbdd4e7e499f2d543d2c03, genuine %PDF-1.5 header, no login/CAPTCHA/WAF gate on mfa.gov.md. Extracted with pdfjs-dist@3.11.174: 3 pages, a genuine native text layer (277/132/29 text items per page), zero AcroForm widgets on any page (getAnnotations() returns 0 throughout) — a flat, non-fillable print-and-fill specimen, consistent with this registry's established convention for such forms. Every field, checkbox label, and option set below was read directly from the coordinate-sorted text extraction (y/x position of each text run), cross-checked against a node-canvas box-grid render of pages 2-3 at 2.5x scale to confirm row/column structure where glyph rendering itself was unavailable in this sandbox (missing standard font data); no field numbering or wording was assumed from prior knowledge of the cognate EU Annex I template without confirming it against this extraction.\n\n**Not a duplicate of this registry's existing EU-Annex-I-style visa siblings** (at/bmeia/schengen-visa-application, gr/mfa/application-for-schengen-visa, es/maec/solicitud-visado-nacional, il/mfa/entry-visa-application, among others): while the field structure and much of the printed wording is near-identical to the EU-harmonised template (both this form and the EU Annex I form share the same 1-31 applicant-data field sequence, the same sex/marital-status/travel-document-type/purpose-of-journey/number-of-entries enumerations, and the same two-sided applicant/sponsor travel-funding block), this Moldovan national form differs substantively: (1) it is a single-country visa with no 'Member State(s) of destination' or 'Member State of first entry' fields, unlike every Schengen-area sibling; (2) its prior-visa lookback window is 12 months (not 3 years) and is framed entirely around 'the Republic of Moldova' rather than 'the Schengen area'; (3) it carries no asterisked EU/EEA/CH-family-member exemption footnote anywhere (confirmed absent by a full-text scan for '*') — unlike at/bmeia, this specimen's family-member section (item 31) is instead framed around relatives who are themselves 'citizen[s] of the Republic of Moldova', a genuinely different eligibility population, not a cosmetic relabelling; (4) its closing declaration names Moldova's own 'SIA \\\"Consul\\\"' data system (not the EU's VIS) and the Ministry of the Interior Affairs of the Republic of Moldova as the responsible data authority; and (5) uniquely among this registry's EU-Annex-I-style siblings reviewed so far, it carries **two separate, structurally distinct place/date-plus-signature blocks** rather than one (see the next paragraph) — confirmed a genuine two-step sign-off, not a duplicate-content-stream rendering artifact, since the surrounding text differs completely between the two occurrences and a node-canvas render of both pages confirms two visually distinct single-row boxes at the expected coordinates.\n\n**Two signature blocks, disclosed and both modelled.** The form's own numbered item 32 ('Place and date') and item 33 ('Signature (for minors, signature of parental authority/legal guardian)') form the final row of the main tabular data-entry section, immediately after the item-31 family-member block, with no declarative text of its own printed alongside it — modelled as signaturePlace/signatureDate, paired with an applicationSignature documents[] attestation. Independently, after several paragraphs of closing declaration text spanning the remainder of page 2 and all of page 3 (visa-fee non-refundability; the travel-medical-insurance requirement for multiple-entry applicants; consent to data/photograph/fingerprint collection and processing under the SIA 'Consul' system for up to five years; a data-subject-rights notice; an accuracy-of-particulars declaration; and an undertaking to leave Moldovan territory before visa expiry), the source prints a second, unnumbered 'Place and date' / 'Signature (for minors, signature of parental authority/legal guardian)' row — modelled as declarationPlace/declarationDate, paired with a closingDeclaration documents[] attestation carrying a paraphrase (not a verbatim quote, per this registry's established convention, e.g. at/bmeia/schengen-visa-application) of that full closing text.\n\n**Requiredness judgment calls** (the source carries no asterisk, bolding, or other printed required/optional convention anywhere on any of its 3 pages, confirmed by a full-text scan for '*'): core identity, travel-document, contact-address/phone, occupation, employer, purpose-of-journey, entries-requested, duration, prior-visa/fingerprint-history, arrival/departure-date, host, and both signature-block fields are modelled required; minors'-guardian details, national identity number (itself printed 'where applicable'), applicant e-mail address, inviting-party telephone/telefax, inviting-company block, all travel-funding checkboxes/means-of-support checkboxes, and the entire item-31 Moldovan-relative block are modelled optional, since each applies only to a subset of applicants (minors, dual/registered nationals, business-hosted travellers, a specific funding arrangement, or a Moldovan-citizen family tie) rather than to every applicant. Unlike at/bmeia/schengen-visa-application's asterisked items 19/20/31/32/33 (occupation, employer, host, inviting-company, and funding — exempted there only for EU/EEA/CH family members under a printed footnote this Moldovan specimen does not carry), currentOccupation and employerOrEducationalEstablishmentDetails are modelled required here, since no equivalent exemption is printed on this form.\n\nThe office-processing box on page 1 ('For official use only': date of application, visa application number, lodging channel, file handler, a supporting-documents-received checklist, the visa decision itself, category A/C/LTV, validity dates, and a second, office-facing 'number of entries'/'number of days' pair distinct from the applicant-facing items 22/23) is entirely consular-staff-completed data, not applicant-supplied, and is out of scope — the same convention this registry applies to other jurisdictions' clerk-only intake/decision sections (e.g. il/mfa/entry-visa-application's 'for office use' box). The printed '(x)' marker on items 1-3 (surname, surname at birth, first names) carries no further explanatory footnote text recoverable anywhere in this 3-page specimen (unlike at/bmeia/schengen-visa-application's fuller EU template, which explains it elsewhere); disclosed here as an unresolved marker rather than assumed to mean the same 'per travel document' instruction the cognate EU form states explicitly, though that is the plausible reading given the shared template lineage.\n\n2 valid mock scenarios (a self-funded tourist applying alone, with no prior Moldovan visa or fingerprints on file; a business traveller invited by a Moldovan company, with a spouse recorded as a Moldovan-citizen family member and their own fingerprints previously collected) plus 7 mutation-control fixtures (a missing statically-required field, a missing conditionally-required field each for the marital-status/travel-document/purpose-of-journey \"other\" branches, a missing signature-block field, an invalid enum value, and an invalid date format) are committed under conformance/md/mfa/entry-visa-application/1.0.0/. An ephemeral, from-scratch conformance checker (deriving required/requiredWhen rules directly from this schema's own fields[]/documents[], discarded after use, not committed) ran all 9: both valid scenarios at 0 errors, all 7 mutation controls each raising exactly 1 error. Validated clean with node tools/validate.mjs and node tools/validate-ajv.mjs, individually and as part of the full registry run. Opens Moldova's Visa vertical (2nd of 6, after DMV via md/asp/vehicle-registration, GOV-3157); Taxes remains the last open, previously-scouted vertical for Moldova, and Passport/National ID remain confirmed dead ends from the GOV-3152 cycle."
  },
  "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-15"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "surname",
      "label": "Surname (family name)",
      "type": "string",
      "required": true,
      "sourceRef": "'1. Surname (Family name) (x)'",
      "validation": { "minLength": 1, "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "surnameAtBirth",
      "label": "Surname at birth (former family name(s))",
      "type": "string",
      "required": false,
      "sourceRef": "'2. Surname at the birth (Former family name(s)) (x)'",
      "validation": { "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "firstNames",
      "label": "First name(s) (given name(s))",
      "type": "string",
      "required": true,
      "sourceRef": "'3. First name(s) (Given name(s)) (x)'",
      "validation": { "minLength": 1, "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "dateOfBirth",
      "label": "Date of birth",
      "type": "date",
      "required": true,
      "sourceRef": "'4. Date of birth (day-month-year)'",
      "classification": "sensitive-pii"
    },
    {
      "name": "placeOfBirth",
      "label": "Place of birth",
      "type": "string",
      "required": true,
      "sourceRef": "'5. Place of birth'",
      "validation": { "minLength": 1, "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "countryOfBirth",
      "label": "Country of birth",
      "type": "string",
      "required": true,
      "sourceRef": "'6. Country of birth'",
      "validation": { "minLength": 1, "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "currentNationality",
      "label": "Current nationality",
      "type": "string",
      "required": true,
      "sourceRef": "'7. Current nationality'",
      "validation": { "minLength": 1, "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "nationalityAtBirthIfDifferent",
      "label": "Nationality at birth, if different",
      "type": "string",
      "required": false,
      "sourceRef": "'Nationality at birth, if different:' (unnumbered continuation beneath item 7)",
      "validation": { "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "sex",
      "label": "Sex",
      "type": "enum",
      "required": true,
      "sourceRef": "'8. Sex': Male, Female",
      "validation": { "enum": ["male", "female"] }
    },
    {
      "name": "maritalStatus",
      "label": "Marital status",
      "type": "enum",
      "required": true,
      "sourceRef": "'9. Marital status': Single, Married, Separated, Divorced, Widow, other (please specify)",
      "validation": { "enum": ["single", "married", "separated", "divorced", "widowed", "other"] }
    },
    {
      "name": "maritalStatusOtherDescription",
      "label": "Description of other marital status",
      "type": "string",
      "required": false,
      "sourceRef": "'other (please specify)' (free-text continuation of item 9's sixth option)",
      "validation": { "maxLength": 200 },
      "requiredWhen": { "field": "maritalStatus", "equals": "other" }
    },
    {
      "name": "minorLegalGuardianDetails",
      "label": "For minors: surname, first name, address (if different from the applicant's) and nationality of parental authority/legal guardian",
      "type": "string",
      "required": false,
      "sourceRef": "'10. In the case of minors: Surname, first name, address (if different from applicant's) and nationality of parental authority/legal guardian'",
      "validation": { "maxLength": 500 },
      "classification": "pii"
    },
    {
      "name": "nationalIdentityNumber",
      "label": "National identity number, where applicable",
      "type": "string",
      "required": false,
      "sourceRef": "'11. National identity number, where applicable'",
      "validation": { "maxLength": 50 },
      "classification": "sensitive-pii"
    },
    {
      "name": "travelDocumentType",
      "label": "Type of travel document",
      "type": "enum",
      "required": true,
      "sourceRef": "'12. Type of travel document:' ordinary passport, Diplomatic passport, Service passport, Official passport, Special passport, Other travel document (please specify)",
      "validation": {
        "enum": ["ordinary-passport", "diplomatic-passport", "service-passport", "official-passport", "special-passport", "other"]
      }
    },
    {
      "name": "travelDocumentTypeOtherDescription",
      "label": "Description of other travel document type",
      "type": "string",
      "required": false,
      "sourceRef": "'Other travel document (please specify)' (free-text continuation of item 12's sixth option)",
      "validation": { "maxLength": 200 },
      "requiredWhen": { "field": "travelDocumentType", "equals": "other" }
    },
    {
      "name": "travelDocumentNumber",
      "label": "Number of travel document",
      "type": "string",
      "required": true,
      "sourceRef": "'13. Number of travel document'",
      "validation": { "minLength": 1, "maxLength": 50 },
      "classification": "sensitive-pii"
    },
    {
      "name": "travelDocumentIssueDate",
      "label": "Date of issue of travel document",
      "type": "date",
      "required": true,
      "sourceRef": "'14. Date of issue'"
    },
    {
      "name": "travelDocumentValidUntil",
      "label": "Travel document valid until",
      "type": "date",
      "required": true,
      "sourceRef": "'15. Valid until'"
    },
    {
      "name": "travelDocumentIssuedBy",
      "label": "Travel document issued by",
      "type": "string",
      "required": true,
      "sourceRef": "'16. Issued by'",
      "validation": { "minLength": 1, "maxLength": 200 }
    },
    {
      "name": "applicantHomeAddress",
      "label": "Applicant's home address",
      "type": "string",
      "required": true,
      "sourceRef": "'17. Applicant's home address'",
      "validation": { "minLength": 1, "maxLength": 400 },
      "classification": "pii"
    },
    {
      "name": "applicantTelephoneNumbers",
      "label": "Applicant's telephone number(s)",
      "type": "string",
      "required": true,
      "sourceRef": "'Telephone number (s)' (printed as a distinct heading within item 17's box)",
      "validation": { "minLength": 1, "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "applicantEmailAddress",
      "label": "Applicant's e-mail address",
      "type": "string",
      "required": false,
      "sourceRef": "'E-mail address' (printed as a distinct heading within item 17's box)",
      "validation": { "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "residesInOtherCountry",
      "label": "Resident in a country other than the country of current nationality",
      "type": "boolean",
      "required": true,
      "sourceRef": "'18. Residence in a country other than the country of current nationality': No, Yes"
    },
    {
      "name": "residencePermitNumber",
      "label": "Residence permit or equivalent document number",
      "type": "string",
      "required": false,
      "sourceRef": "'Yes. Residence permit or equivalent No. ……………………………' (item 18's Yes sub-block)",
      "validation": { "maxLength": 100 },
      "classification": "sensitive-pii",
      "requiredWhen": { "field": "residesInOtherCountry", "equals": true }
    },
    {
      "name": "residencePermitValidUntil",
      "label": "Residence permit or equivalent document valid until",
      "type": "date",
      "required": false,
      "sourceRef": "'Valid until ....' (item 18's Yes sub-block)",
      "requiredWhen": { "field": "residesInOtherCountry", "equals": true }
    },
    {
      "name": "currentOccupation",
      "label": "Current occupation",
      "type": "string",
      "required": true,
      "sourceRef": "'19. Current occupation'",
      "validation": { "minLength": 1, "maxLength": 200 }
    },
    {
      "name": "employerOrEducationalEstablishmentDetails",
      "label": "Employer's address and telephone number, or (for students) name and address of educational establishment",
      "type": "string",
      "required": true,
      "sourceRef": "'20. Employer and employer's address and telephone number. For students, name and address of educational establishment.'",
      "validation": { "minLength": 1, "maxLength": 400 }
    },
    {
      "name": "mainPurposeOfJourney",
      "label": "Main purpose(s) of the journey",
      "type": "enum",
      "required": true,
      "sourceRef": "'21. Main purpose(s) of the journey:' Tourism, Business, Visiting family or friends, Cultural, Sports, Official visit, Medical reasons, Study, Transit, Airport transit, Other (please specified)",
      "validation": {
        "enum": ["tourism", "business", "visiting-family-or-friends", "cultural", "sports", "official-visit", "medical-reasons", "study", "transit", "airport-transit", "other"]
      }
    },
    {
      "name": "mainPurposeOfJourneyOtherDescription",
      "label": "Description of other main purpose of journey",
      "type": "string",
      "required": false,
      "sourceRef": "'Other (please specified)' (free-text continuation of item 21's eleventh option)",
      "validation": { "maxLength": 200 },
      "requiredWhen": { "field": "mainPurposeOfJourney", "equals": "other" }
    },
    {
      "name": "numberOfEntriesRequested",
      "label": "Number of entries requested",
      "type": "enum",
      "required": true,
      "sourceRef": "'22. Number of entries requested :' Single entry, Two entries, Multiple entries",
      "validation": { "enum": ["single", "two", "multiple"] }
    },
    {
      "name": "durationOfIntendedStayDays",
      "label": "Duration of the intended stay or transit (number of days)",
      "type": "integer",
      "required": true,
      "sourceRef": "'23. Duration of the intended stay or transit ... Indicate number of days'",
      "validation": { "minimum": 1, "maximum": 365 }
    },
    {
      "name": "visasIssuedPastTwelveMonths",
      "label": "Visas issued for the Republic of Moldova during the past 12 months",
      "type": "boolean",
      "required": true,
      "sourceRef": "'24. Visas issued for the Republic of Moldova during the past 12 months': No, Yes"
    },
    {
      "name": "visasIssuedValidFrom",
      "label": "Date of validity from (most recent Moldovan visa issued in the past 12 months)",
      "type": "date",
      "required": false,
      "sourceRef": "'Yes. Date(s) of validity from ……………………………..' (item 24's Yes sub-block)",
      "requiredWhen": { "field": "visasIssuedPastTwelveMonths", "equals": true }
    },
    {
      "name": "visasIssuedValidTo",
      "label": "Date of validity to (most recent Moldovan visa issued in the past 12 months)",
      "type": "date",
      "required": false,
      "sourceRef": "'to…………………………………………...' (item 24's Yes sub-block)",
      "requiredWhen": { "field": "visasIssuedPastTwelveMonths", "equals": true }
    },
    {
      "name": "fingerprintsCollectedPreviously",
      "label": "Fingerprints collected previously for the purpose of applying for a visa for the Republic of Moldova",
      "type": "boolean",
      "required": true,
      "sourceRef": "'25. Fingerprints collected previously for the purpose of applying for a visa for the Republic of Moldova': No, Yes"
    },
    {
      "name": "fingerprintsCollectedDate",
      "label": "Date fingerprints were collected, if known",
      "type": "date",
      "required": false,
      "description": "The source form itself marks this sub-field optional ('if known') even when the parent question is answered 'Yes', so it carries no requiredWhen — only visibleWhen, following the same convention established for at/bmeia/schengen-visa-application's identical sub-field.",
      "sourceRef": "'Date, if known' (item 25's Yes sub-block)",
      "visibleWhen": { "field": "fingerprintsCollectedPreviously", "equals": true }
    },
    {
      "name": "intendedArrivalDate",
      "label": "Intended date of arrival on the territory of the Republic of Moldova",
      "type": "date",
      "required": true,
      "sourceRef": "'26. Intended date of arrival on the territory of the Republic of Moldova'"
    },
    {
      "name": "intendedDepartureDate",
      "label": "Intended date of departure from the territory of the Republic of Moldova",
      "type": "date",
      "required": true,
      "sourceRef": "'27. Intended date of departure from the territory of the Republic of Moldova'"
    },
    {
      "name": "invitingPersonOrHotelName",
      "label": "Surname and first name of the inviting person(s) in the Republic of Moldova; if not applicable, name of hotel(s) or temporary accommodation(s)",
      "type": "string",
      "required": true,
      "sourceRef": "'28. Surname and first name of the inviting person(s) in the Republic of Moldova. If not applicable, name of hotel(s) or temporary accommodation(s) in the Republic of Moldova'",
      "validation": { "minLength": 1, "maxLength": 300 },
      "classification": "pii"
    },
    {
      "name": "invitingPersonOrHotelAddressAndEmail",
      "label": "Address and e-mail address of inviting person(s)/hotel(s)/temporary accommodation(s)",
      "type": "string",
      "required": true,
      "sourceRef": "'Address and e-mail address of inviting person(s)/hotel(s)/temporary accommodation(s)' (item 28's sub-block)",
      "validation": { "minLength": 1, "maxLength": 400 },
      "classification": "pii"
    },
    {
      "name": "invitingPersonOrHotelTelephoneAndTelefax",
      "label": "Telephone and telefax of inviting person(s)/hotel(s)/temporary accommodation(s)",
      "type": "string",
      "required": false,
      "sourceRef": "'Telephone and telefax' (item 28's sub-block)",
      "validation": { "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "invitingCompanyOrOrganizationNameAddress",
      "label": "Name and address of inviting company/organization",
      "type": "string",
      "required": false,
      "sourceRef": "'29. Name and address of inviting company/organization'",
      "validation": { "maxLength": 300 }
    },
    {
      "name": "invitingCompanyTelephoneAndTelefax",
      "label": "Telephone and telefax of inviting company/organization",
      "type": "string",
      "required": false,
      "sourceRef": "'Telephone and telefax of company/organization' (item 29's sub-block)",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "invitingCompanyContactPersonDetails",
      "label": "Surname, first name, address, telephone, telefax and e-mail address of contact person in company/organization",
      "type": "string",
      "required": false,
      "sourceRef": "'Surname, first name, address, telephone, telefax and e-mail address of contact person in company/organization' (item 29's sub-block)",
      "validation": { "maxLength": 400 },
      "classification": "pii"
    },
    {
      "name": "fundedByApplicant",
      "label": "Cost of travelling and living covered by the applicant themselves",
      "type": "boolean",
      "required": false,
      "description": "This and the following three 'fundedBy...' fields are mutually exclusive per exclusivityGroups below.",
      "sourceRef": "'30. Cost of travelling and living during the applicant's stay is covered ... by the applicant himself/herself'"
    },
    {
      "name": "fundedBySponsor",
      "label": "Cost of travelling and living covered by a sponsor (host company, organization)",
      "type": "boolean",
      "required": false,
      "sourceRef": "'by a sponsor (host company, organization), please specify' (item 30's second option)"
    },
    {
      "name": "fundedBySponsorDescription",
      "label": "Description of the sponsor (host company or organization)",
      "type": "string",
      "required": false,
      "sourceRef": "free-text continuation of the 'by a sponsor' checkbox",
      "validation": { "maxLength": 300 },
      "requiredWhen": { "field": "fundedBySponsor", "equals": true }
    },
    {
      "name": "fundedBySeeField28Or29",
      "label": "Cost of travelling and living covered as referred to in item 28 or 29",
      "type": "boolean",
      "required": false,
      "sourceRef": "'referred to in field 28 or 29' (item 30's third option)"
    },
    {
      "name": "fundedByOtherEntity",
      "label": "Cost of travelling and living covered by another entity",
      "type": "boolean",
      "required": false,
      "sourceRef": "'other (please specify)' (item 30's fourth option)"
    },
    {
      "name": "fundedByOtherEntityDescription",
      "label": "Description of the other entity covering cost of travelling and living",
      "type": "string",
      "required": false,
      "sourceRef": "free-text continuation of the 'other (please specify)' checkbox",
      "validation": { "maxLength": 300 },
      "requiredWhen": { "field": "fundedByOtherEntity", "equals": true }
    },
    {
      "name": "hasCashApplicant",
      "label": "Means of support during stay (applicant) — cash",
      "type": "boolean",
      "required": false,
      "sourceRef": "'cash' (applicant's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasTravellersChequesApplicant",
      "label": "Means of support during stay (applicant) — traveller's cheques",
      "type": "boolean",
      "required": false,
      "sourceRef": "'Traveler's cheques' (applicant's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasCreditCardsApplicant",
      "label": "Means of support during stay (applicant) — credit cards",
      "type": "boolean",
      "required": false,
      "sourceRef": "'Credit cards' (applicant's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasPrepaidAccommodationApplicant",
      "label": "Means of support during stay (applicant) — pre-paid accommodation",
      "type": "boolean",
      "required": false,
      "sourceRef": "'pre-paid accommodation' (applicant's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasPrepaidTransportApplicant",
      "label": "Means of support during stay (applicant) — pre-paid transport",
      "type": "boolean",
      "required": false,
      "sourceRef": "'Pre-paid transport' (applicant's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasOtherApplicant",
      "label": "Means of support during stay (applicant) — other",
      "type": "boolean",
      "required": false,
      "sourceRef": "'others (please specify)' (applicant's means-of-support checkbox list, item 30)"
    },
    {
      "name": "otherMeansOfSupportApplicantDescription",
      "label": "Description of other means of support (applicant)",
      "type": "string",
      "required": false,
      "sourceRef": "free-text continuation of the applicant's means-of-support 'others' checkbox",
      "validation": { "maxLength": 200 },
      "requiredWhen": { "field": "hasOtherApplicant", "equals": true }
    },
    {
      "name": "hasCashSponsor",
      "label": "Means of support during stay (sponsor) — cash",
      "type": "boolean",
      "required": false,
      "sourceRef": "'Cash' (sponsor's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasAccommodationProvidedSponsor",
      "label": "Means of support during stay (sponsor) — accommodation provided",
      "type": "boolean",
      "required": false,
      "sourceRef": "'Accommodation provided' (sponsor's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasAllExpensesCoveredSponsor",
      "label": "Means of support during stay (sponsor) — all expenses covered during the stay",
      "type": "boolean",
      "required": false,
      "sourceRef": "'All expenses covered during the stay' (sponsor's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasPrepaidTransportSponsor",
      "label": "Means of support during stay (sponsor) — pre-paid transport",
      "type": "boolean",
      "required": false,
      "sourceRef": "'Pre-paid transport' (sponsor's means-of-support checkbox list, item 30)"
    },
    {
      "name": "hasOtherSponsor",
      "label": "Means of support during stay (sponsor) — other",
      "type": "boolean",
      "required": false,
      "sourceRef": "'Other (please Specify)' (sponsor's means-of-support checkbox list, item 30)"
    },
    {
      "name": "otherMeansOfSupportSponsorDescription",
      "label": "Description of other means of support (sponsor)",
      "type": "string",
      "required": false,
      "sourceRef": "free-text continuation of the sponsor's means-of-support 'Other' checkbox",
      "validation": { "maxLength": 200 },
      "requiredWhen": { "field": "hasOtherSponsor", "equals": true }
    },
    {
      "name": "moldovanRelativeSurname",
      "label": "Surname of the family member who is a citizen of the Republic of Moldova",
      "type": "string",
      "required": false,
      "description": "Item 31 is completed only by applicants with a family tie to a Moldovan citizen; see moldovanRelativeRelationship for the relationship options.",
      "sourceRef": "'31. Personal data of the family member which is citizen of the Republic of Moldova — Surname'",
      "validation": { "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "moldovanRelativeFirstNames",
      "label": "First name(s) of the family member who is a citizen of the Republic of Moldova",
      "type": "string",
      "required": false,
      "sourceRef": "'First name(s)' (item 31's sub-block)",
      "validation": { "maxLength": 200 },
      "classification": "pii"
    },
    {
      "name": "moldovanRelativeDateOfBirth",
      "label": "Date of birth of the family member who is a citizen of the Republic of Moldova",
      "type": "date",
      "required": false,
      "sourceRef": "'Date of birth' (item 31's sub-block)",
      "classification": "sensitive-pii"
    },
    {
      "name": "moldovanRelativeNationality",
      "label": "Nationality of the family member who is a citizen of the Republic of Moldova",
      "type": "string",
      "required": false,
      "sourceRef": "'nationality' (item 31's sub-block)",
      "validation": { "maxLength": 100 },
      "classification": "pii"
    },
    {
      "name": "moldovanRelativeTravelDocumentOrIdNumber",
      "label": "Number of travel document or ID card of the family member who is a citizen of the Republic of Moldova",
      "type": "string",
      "required": false,
      "sourceRef": "'Number of travel document or ID card' (item 31's sub-block)",
      "validation": { "maxLength": 50 },
      "classification": "sensitive-pii"
    },
    {
      "name": "moldovanRelativeRelationship",
      "label": "Family relationship with the citizen of the Republic of Moldova",
      "type": "enum",
      "required": false,
      "sourceRef": "'Family relationship with an citizen of the Republic of Moldova': spouse, child, grandchild, dependent ascendant",
      "validation": { "enum": ["spouse", "child", "grandchild", "dependent-ascendant"] }
    },
    {
      "name": "signaturePlace",
      "label": "Place of signature",
      "type": "string",
      "required": true,
      "sourceRef": "'32. Place and date' (place component, final row of the main data-entry section)",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "signatureDate",
      "label": "Date of signature",
      "type": "date",
      "required": true,
      "sourceRef": "'32. Place and date' (date component, final row of the main data-entry section)"
    },
    {
      "name": "declarationPlace",
      "label": "Place of signature (closing declaration)",
      "type": "string",
      "required": true,
      "description": "A second, unnumbered 'Place and date' field printed at the very end of page 3, after the full closing-declaration text — structurally distinct from signaturePlace, which closes the main data-entry section. See this document's verification notes for the disclosure of this two-signature structure.",
      "sourceRef": "'Place and date' (unnumbered, foot of page 3, after the closing declaration text)",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "declarationDate",
      "label": "Date of signature (closing declaration)",
      "type": "date",
      "required": true,
      "description": "See declarationPlace for the two-signature-structure disclosure.",
      "sourceRef": "'Place and date' (unnumbered, foot of page 3, after the closing declaration text)"
    }
  ],
  "documents": [
    {
      "id": "applicantPhoto",
      "label": "Applicant's photograph",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "'PHOTO' placeholder box, top right of page 1"
    },
    {
      "id": "applicationSignature",
      "label": "Signature confirming the application data (items 1-31), or (for minors) of the parental authority/legal guardian",
      "category": "attestation",
      "required": true,
      "belongsTo": "applicant",
      "statement": "The applicant's (or, for minors, their parental authority/legal guardian's) signature at item 33, closing the main data-entry section (items 1-31). No declarative text is printed alongside item 32/33 itself on the source; the substance being attested to is simply the accuracy of the preceding data fields.",
      "sourceRef": "'33. Signature (for minors, signature of parental authority/legal guardian)', paired with signaturePlace/signatureDate (item 32)"
    },
    {
      "id": "closingDeclaration",
      "label": "Signature confirming the closing declaration, or (for minors) of the parental authority/legal guardian",
      "category": "attestation",
      "required": true,
      "belongsTo": "applicant",
      "statement": "Paraphrased from the source form's closing declaration text (not a verbatim quote — see this document's verification notes): the applicant is aware the visa fee is not refunded if the application is refused; is aware of the need for adequate travel medical insurance for the first stay and any subsequent visits, where a multiple-entry visa is applied for; consents to the collection of the data on this form, a photograph, and (where applicable) fingerprints, and to their supply to and processing by the relevant authorities of the Republic of Moldova for the purpose of a visa decision; is aware that this data, and any decision on the application (or on annulling, revoking, or extending an issued visa), will be entered into and stored in the SIA 'Consul' system for up to five years, accessible to Moldovan visa, border-check, immigration, and asylum authorities, and (under certain conditions) to authorities responsible for preventing and investigating terrorist and other serious criminal offences, with the Ministry of the Interior Affairs of the Republic of Moldova as the responsible processing authority; is aware of the right to obtain notification of, and request correction or deletion of, their own recorded data, and that the national supervisory authority hears related claims; declares that, to the best of their knowledge, all particulars supplied are correct and complete, and is aware that false statements may lead to refusal or annulment of a visa and to prosecution; and undertakes to leave the territory of the Republic of Moldova before the expiry of a granted visa, acknowledging that possession of a visa is only one prerequisite for entry, does not entitle the holder to compensation if entry is refused, and that entry prerequisites are checked again at the border.",
      "sourceRef": "Unnumbered closing declaration text spanning the remainder of page 2 and all of page 3, paired with declarationPlace/declarationDate"
    }
  ],
  "exclusivityGroups": [
    {
      "id": "costOfTravelFundedBySelection",
      "fields": ["fundedByApplicant", "fundedBySponsor", "fundedBySeeField28Or29", "fundedByOtherEntity"]
    }
  ],
  "crossFieldValidation": [
    {
      "id": "departureNotBeforeArrival",
      "compare": {
        "field": "intendedDepartureDate",
        "operator": "greaterThanOrEqual",
        "compareTo": "intendedArrivalDate"
      }
    },
    {
      "id": "travelDocumentValidUntilAfterIssueDate",
      "compare": {
        "field": "travelDocumentValidUntil",
        "operator": "greaterThanOrEqual",
        "compareTo": "travelDocumentIssueDate"
      }
    }
  ]
}
