{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "ua/mfa/passport-application-for-travel-abroad",
  "version": "1.0.0",
  "title": "Ukraine Application-Questionnaire for a Citizen's Passport for Travel Abroad",
  "description": "Apply, through a Ukrainian consular institution abroad, for a passport of a citizen of Ukraine for travel abroad (закордонний паспорт) — the Ministry of Foreign Affairs' own two-page 'ЗАЯВА-АНКЕТА на оформлення паспорта громадянина України для виїзду за кордон' (Application-questionnaire for issuance of a passport of a citizen of Ukraine for travel abroad). This edition is specifically for Ukrainian citizens residing abroad and filing through a consulate, not the domestic/DMS channel: it asks whether the applicant is a permanent or temporary resident abroad, their consular-registration status, and (for permanent residents) the Ukrainian authority and date that granted permission to reside abroad permanently. Models the residence-status selection; the ten-item, plus free-text 'other', circumstance-for-issuance checklist (including a first-passport-for-a-child-under-16 circumstance that unlocks a further five-item reason sub-checklist); the taxpayer registration (identification) number; the applicant's Ukrainian- and Latin-script surname/given name/patronymic and up to three previously-used full names; date of birth; sex (female/male/not specified); country, region, and postal address of residence abroad; place of residence in Ukraine before departure abroad (region, district, settlement type/name, street type/name, house/block/apartment, postal code); contact phone and email; consular-registration status (permanent/temporary/not registered) with its since-when date and the consular institution's name; the temporary-residence reason/purpose (for temporary residents) or the permanent-residence-abroad permit's granting institution and date (for permanent residents); and the applicant's own privacy-consent declaration and signature. Does not model the form's own 'For official use only' sections — the receiving officer's own acceptance signature/stamp block, the passport-issuance decision block, the new-passport-issued (series/number/date) block, and the passport-pickup acknowledgement signature captured later, at collection, not at filing — consistent with how other consular-form schemas in this registry (e.g. ua/mfa/visa-application-form, co/cancilleria/visa-application-individual) exclude officer/agency-facing review sections and post-issuance receipt steps. Does not submit anything and does not imply endorsement by, or affiliation with, the Ministry of Foreign Affairs of Ukraine or the Ukrainian government.",
  "status": "draft",
  "jurisdiction": {
    "country": "UA",
    "level": "national"
  },
  "authority": {
    "name": "Ministry of Foreign Affairs of Ukraine (Міністерство закордонних справ України)",
    "abbreviation": "MFA",
    "url": "https://mfa.gov.ua"
  },
  "process": {
    "type": "application",
    "language": "uk"
  },
  "source": {
    "url": "https://libya.mfa.gov.ua/storage/app/sites/121/imported_content/5e30694f7a7d6.pdf",
    "retrievedAt": "2026-07-17",
    "documentRef": "Ministry of Foreign Affairs of Ukraine, 'ЗАЯВА-АНКЕТА на оформлення паспорта громадянина України для виїзду за кордон' (Application-questionnaire for issuance of a passport of a citizen of Ukraine for travel abroad), 2-page AcroForm PDF mirrored on the Ukrainian Embassy in Libya's consular pages, filename '5e30694f7a7d6.pdf'"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-17",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-17",
    "notes": "GovSchema Standard Research cycle (GOV-3537). Ukraine's Passport vertical opens (4/6), deepening this jurisdiction's own disclosed, pre-scouted Passport backlog candidate rather than scouting a new jurisdiction (Ukraine, opened as the registry's 73rd jurisdiction via GOV-3513, already had Business Formation, Visa, and Taxes opened by three preceding same-week cycles; DMV and National ID remain confirmed weak per those cycles' own disclosed findings). Direct fetch of the disclosed libya.mfa.gov.ua URL returns HTTP 403 to this sandbox (the same pattern the GOV-3513/3523/3531 cycles hit against mfa.gov.ua and its subdomains). The specific Wayback Machine capture this backlog note itself flagged (timestamp 20220705215542) is truncated by Wayback's own crawler at exactly 1,048,576 bytes (confirmed via the mirror's own 'warning: 299 wayback content truncated by \"length\"' response header) versus the source's true 1,293,642-byte size — exactly the truncation this backlog note anticipated. The CDX index for this exact URL lists two other captures; the 20220413044121 capture (three months earlier) is not truncated: fetched via https://web.archive.org/web/20220413044121if_/https://libya.mfa.gov.ua/storage/app/sites/121/imported_content/5e30694f7a7d6.pdf, HTTP 200, 1,293,642 bytes (matching x-archive-orig-content-length exactly, no truncation warning), sha256:71628425ada5a3461d91dd2fe66c8fe8855ce7e5459d46c9e3e528e1b05b44b6, independently re-fetched twice with identical size and hash. A genuine 2-page AcroForm PDF (57 /Widget annotations: 37 on page 1, 20 on page 2 — confirmed via pdfjs-dist), with fully generic, non-self-documenting field names (fill_1..fill_17, fill_1_2..fill_17_2, and five checkbox groups Group1-Group5), so every field's meaning was resolved from the page's own text layer, correlated to each widget by matching each widget's PDF rectangle (x/y bounds) against the nearest text row above/beside it — the same coordinate-correlation technique this registry has used for other generic-AcroForm-field-name sources (e.g. pl/mswia/wniosek-o-wydanie-dowodu-osobistego). The form's own ten printed field numbers (1-10 on page 1, 11-15 on page 2; the two applicant-signature blocks and every officer-facing block below field 15 are unnumbered) group the 57 widgets as follows — field 1 ('Оформлення паспорта для' — passport is issued for): Group1, 2 choices (permanent residence abroad / temporary residence abroad); field 2 ('Обставини, за яких оформляється паспорт' — circumstances of issuance): Group2, 10 choices (expiry, loss, processing of permanent-residence-abroad departure, no free pages, turning 16, acquiring Ukrainian citizenship, damage, name change, first passport for a child under 16, other) plus fill_1 for the 'other' free text; field 3 (conditional, only when field 2's 'child under 16' choice is selected — 'якщо паспорт оформляється для дитини віком до 16 років, з якої причини'): Group3, 5 choices (international-organisation requirement, requiring state's requirement, permanent residence of a child adopted by a foreigner, independent departure of the child, other) plus fill_2 for 'other'; field 4 (taxpayer registration/identification number): fill_3; field 5 (surname/given name/patronymic, Ukrainian- and Latin-script): fill_4 (surname, Ukrainian), fill_5 (surname, Latin), fill_6 (given name, Ukrainian), fill_7 (given name, Latin), fill_8 (patronymic, Ukrainian only — the source prints no Latin-script patronymic line, consistent with this registry's own prior finding, in ua/moj/state-registration-individual-entrepreneur, that Ukrainian patronymics are an optional naming element with no universal Latin-transliteration convention); field 6 (previously-used full names, 'починаючи з останнього' — starting from the most recent): three identical blank lines, fill_9/fill_10/fill_11, modelled as a bounded (up to 3) repeating group per this registry's established entrantN/childN convention; field 7 (date of birth): fill_12; field 8 (sex): Group4, 3 choices, whose on-page left-to-right label order (жіноча/чоловіча/не зазначено — female/male/not specified) is matched to the checkboxes' own left-to-right rect order (Choice1 female, Choice2 male, Choice3 not specified) since checkboxes print immediately left of their own label; field 9 (residence abroad): fill_13 (country), fill_14 (region/state/province/land, parenthetically listed as one of several possible names for the same administrative concept depending on the destination country), fill_15/fill_16/fill_17 (postal address per the rules of the country of residence, three blank lines); field 10 (signature specimen 'to be entered into the passport', plus a warning that an unsatisfactory specimen requires re-filing the whole application-questionnaire): no AcroForm widget exists for this box — like the applicant's photo box at the top of page 1, it is a physical specimen pasted/signed into a printed box, not a fillable text field, and is modelled as a documents[] entry, not a field; field 11 (place of residence in Ukraine, page 2, parenthetically annotated 'для ПМП: останнє місце проживання в Україні до виїзду за кордон' — for [permanent-residence-abroad status]: last place of residence in Ukraine before departure abroad): fill_1_2 (oblast), fill_2_2 (district/city of oblast significance), fill_3_2+fill_4_2 (settlement type + name), fill_5_2+fill_6_2 (street type + name), fill_7_2 (house number), fill_8_2 (block/corpus number), fill_9_2 (apartment number), fill_10_2 (postal code) — field-naming mirrors this registry's own established ua/moj address convention (oblastName/districtName/settlementName/streetTypeAndName/houseNumber/buildingNumber/apartmentNumber/postalCode); field 12 (contact details): fill_11_2 (phone), fill_12_2 (email, marked 'якщо є' — if any); field 13 (consular-registration status): Group5, 3 choices (permanently registered / temporarily registered / not registered) plus fill_13_2 (since-when date, conditional on being registered) and fill_14_2 (consular institution's name, conditional on being registered); field 14 ('для тимчасового проживання за кордоном: причина/мета проживання за кордоном' — for temporary residence abroad: reason/purpose): fill_15_2, modelled as requiredWhen field 1 is temporary residence abroad, the one place on this form's own text where a field is explicitly scoped to one of field 1's two residence-status values; field 15 ('для осіб, що отримали дозвіл на виїзд на постійне проживання за кордоном' — for persons granted permission to depart for permanent residence abroad): fill_16_2 (granting Ukrainian institution) and fill_17_2 (date the permit was received), modelled requiredWhen field 1 is permanent residence abroad, the symmetric counterpart to field 14. Field 11's own 'для ПМП' parenthetical is the only textual link between it and field 1's permanent-residence-abroad status; rather than leave it unconditionally required for every applicant (which would risk over-scoping a residence-in-Ukraine disclosure that the source itself qualifies), it is modelled requiredWhen field 1 equals permanent residence abroad, matching the same gating already textually explicit for fields 14 and 15 — a disclosed judgment call, not a directly printed condition, since the source's parenthetical is genuinely ambiguous about whether it restricts applicability or merely clarifies intent for one cohort. Below field 15, the source's own remaining rows (в порядку зверху вниз: 'Заяву-анкету заповнив' with the automated-personal-data-processing consent declaration and the applicant's own date/place/signature line; then, unnumbered and visually set apart, 'Заяву-анкету прийняв', 'Рішення про оформлення паспорта', and 'Оформлено новий паспорт', each its own officer signature/stamp/date line with no applicant-facing content; and finally 'Паспорт одержав' with a second applicant signature line) were read in full. 'Заяву-анкету заповнив' plus its consent paragraph and signature line is modelled as the sole documents[] attestation (applicantConsentDeclarationAndSignature); the three officer-only blocks are out of scope as this registry's own established officer/agency-facing-review-section exclusion; 'Паспорт одержав' is also out of scope as a post-issuance pickup-acknowledgement signature captured at collection, not at filing, distinct in kind from the filing-time attestation this schema models. Field 4 (taxpayer registration number) carries no printed conditional qualifier, but is modelled required:false: Ukrainian citizens are not universally issued or required to hold one (e.g. those who have registered a religious objection under Article 71.2 of the Tax Code, or citizens born and residing abroad who never registered in Ukraine's taxpayer system) and the source form provides no separate 'if applicable' gate to key a requiredWhen against — a disclosed scoping judgment, not a printed condition, consistent with how nationalIdentityNumber-type fields are treated elsewhere in this registry (e.g. ua/mfa/visa-application-form) when a jurisdiction does not guarantee universal issuance. No required-field asterisks or equivalent visual markers are present anywhere in the extracted text layer, so required vs. optional was otherwise determined structurally: fields with no printed conditional qualifier are modelled required:true; every conditional field is modelled required:false with requiredWhen/visibleWhen tied to its own parent field, disclosed field-by-field above. No live submission was made or attempted; this is Ukraine's own foreign-facing consular application to a real, currently-operating government, and fabricating and submitting a real passport application against it would not be a safe or reversible action, consistent with this registry's established discipline for other live government-passport and -visa schemas."
  },
  "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-17"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "residenceStatusAbroad",
      "label": "Оформлення паспорта для",
      "type": "enum",
      "required": true,
      "sourceRef": "Field 1 (p.1): 'Оформлення паспорта для' — checkboxes 'Постійне проживання' / 'Тимчасове проживання'",
      "validation": { "enum": ["permanent-residence-abroad", "temporary-residence-abroad"] }
    },
    {
      "name": "issuanceCircumstance",
      "label": "Обставини, за яких оформляється паспорт",
      "type": "enum",
      "required": true,
      "sourceRef": "Field 2 (p.1): 'Обставини, за яких оформляється паспорт' — 10 checkboxes",
      "validation": {
        "enum": [
          "passport-term-expired",
          "passport-lost",
          "processing-permanent-residence-abroad-departure",
          "no-free-pages-left",
          "turning-16",
          "acquired-ukrainian-citizenship",
          "passport-damaged",
          "name-changed",
          "first-passport-for-child-under-16",
          "other"
        ]
      }
    },
    {
      "name": "issuanceCircumstanceOtherDescription",
      "label": "Інше (вказати)",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "issuanceCircumstance", "equals": "other" },
      "sourceRef": "Field 2 (p.1), free-text continuation of the 'Інше (вказати)' checkbox",
      "validation": { "maxLength": 200 }
    },
    {
      "name": "childUnder16Reason",
      "label": "Якщо паспорт оформляється для дитини віком до 16 років, з якої причини",
      "type": "enum",
      "required": false,
      "requiredWhen": { "field": "issuanceCircumstance", "equals": "first-passport-for-child-under-16" },
      "sourceRef": "Field 3 (p.1): 'Якщо паспорт оформляється для дитини віком до 16 років, з якої причини' — 5 checkboxes",
      "validation": {
        "enum": [
          "international-organisation-requirement",
          "requiring-state-requirement",
          "permanent-residence-of-child-adopted-by-foreigner",
          "independent-departure-of-child",
          "other"
        ]
      }
    },
    {
      "name": "childUnder16ReasonOtherDescription",
      "label": "Інше (вказати)",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "childUnder16Reason", "equals": "other" },
      "sourceRef": "Field 3 (p.1), free-text continuation of the 'Інше (вказати)' checkbox",
      "validation": { "maxLength": 200 }
    },
    {
      "name": "taxpayerRegistrationNumber",
      "label": "Реєстраційний номер облікової картки платника податків (ідентифікаційний номер)",
      "type": "string",
      "required": false,
      "classification": "sensitive-pii",
      "description": "Not universally issued to or held by every Ukrainian citizen (e.g. those with a registered religious objection under Article 71.2 of the Tax Code, or citizens who have never resided in Ukraine); the source provides no separate conditional gate, so this is modelled optional as a disclosed scoping judgment, not a printed condition — see VERIFICATION.md.",
      "sourceRef": "Field 4 (p.1): 'Реєстраційний номер облікової картки платника податків (ідентифікаційний номер)'",
      "validation": { "pattern": "^[0-9]{10}$" }
    },
    {
      "name": "surnameUkrainian",
      "label": "Прізвище (українською мовою)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Field 5 (p.1): 'Прізвище' — 'українською мовою'",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "surnameLatin",
      "label": "Прізвище (латиницею)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Field 5 (p.1): 'Прізвище' — 'латиницею'",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "givenNameUkrainian",
      "label": "Ім'я (українською мовою)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Field 5 (p.1): 'Ім'я' — 'українською мовою'",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "givenNameLatin",
      "label": "Ім'я (латиницею)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Field 5 (p.1): 'Ім'я' — 'латиницею'",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "patronymicUkrainian",
      "label": "По батькові (українською мовою)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The applicant's patronymic, if they have one — the source prints no Latin-script patronymic line at all, consistent with this registry's own prior finding (ua/moj/state-registration-individual-entrepreneur) that the patronymic is an optional Ukrainian naming element.",
      "sourceRef": "Field 5 (p.1): 'По батькові' — 'українською мовою'",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "previousFullName1",
      "label": "Прізвище, ім'я, по батькові, якими користувалися раніше (1)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Up to 3 previously-used full names may be listed, starting from the most recent; the source provides exactly 3 identical blank lines for this.",
      "sourceRef": "Field 6 (p.1): 'Прізвище, ім'я, по батькові, якими користувалися раніше (зазначаються всі, які мали, починаючи з останнього)' — line 1 of 3",
      "validation": { "maxLength": 300 }
    },
    {
      "name": "previousFullName2",
      "label": "Прізвище, ім'я, по батькові, якими користувалися раніше (2)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Field 6 (p.1), line 2 of 3",
      "validation": { "maxLength": 300 }
    },
    {
      "name": "previousFullName3",
      "label": "Прізвище, ім'я, по батькові, якими користувалися раніше (3)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Field 6 (p.1), line 3 of 3",
      "validation": { "maxLength": 300 }
    },
    {
      "name": "dateOfBirth",
      "label": "Дата народження",
      "type": "date",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "Field 7 (p.1): 'Дата народження (дд.мм.рррр)'"
    },
    {
      "name": "sex",
      "label": "Стать",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "sourceRef": "Field 8 (p.1): 'Стать' — checkboxes 'жіноча' / 'чоловіча' / 'не зазначено'",
      "validation": { "enum": ["female", "male", "not-specified"] }
    },
    {
      "name": "residenceAbroadCountry",
      "label": "Країна проживання",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Field 9 (p.1): 'Місце проживання за кордоном' — 'Країна проживання'",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "residenceAbroadRegion",
      "label": "Область (штат/провінція/земля/суб'єкт федерації тощо)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Optional: not every country of residence has an equivalent administrative subdivision.",
      "sourceRef": "Field 9 (p.1): 'Область (штат/провінція/земля/суб'єкт федерації тощо)'",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "residenceAbroadPostalAddressLine1",
      "label": "Поштова адреса за правилами країни проживання (1)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "To be written in Latin letters; in Russian for CIS countries, per the source's own instruction. The source provides 3 identical blank lines for this address.",
      "sourceRef": "Field 9 (p.1): 'Поштова адреса за правилами країни проживання (латинськими літерами, для країн СНД - російською мовою)' — line 1 of 3",
      "validation": { "minLength": 1, "maxLength": 200 }
    },
    {
      "name": "residenceAbroadPostalAddressLine2",
      "label": "Поштова адреса за правилами країни проживання (2)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Field 9 (p.1), line 2 of 3",
      "validation": { "maxLength": 200 }
    },
    {
      "name": "residenceAbroadPostalAddressLine3",
      "label": "Поштова адреса за правилами країни проживання (3)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Field 9 (p.1), line 3 of 3",
      "validation": { "maxLength": 200 }
    },
    {
      "name": "ukraineResidenceOblastName",
      "label": "Область",
      "type": "string",
      "required": false,
      "classification": "pii",
      "requiredWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "description": "Last place of residence in Ukraine before departure abroad, printed with a 'для ПМП' (for permanent-residence-abroad status) parenthetical; modelled requiredWhen residenceStatusAbroad is permanent-residence-abroad, a disclosed judgment call — see VERIFICATION.md.",
      "sourceRef": "Field 11 (p.2): 'Місце проживання в Україні (для ПМП: останнє місце проживання в Україні до виїзду за кордон)' — 'Область'",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "ukraineResidenceDistrictName",
      "label": "Район, місто обласного значення",
      "type": "string",
      "required": false,
      "classification": "pii",
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Район, місто обласного значення'",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "ukraineResidenceSettlementType",
      "label": "Населений пункт: Тип (село, селище, місто)",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Населений пункт' — 'Тип (село, селище, місто)'",
      "validation": { "maxLength": 30 }
    },
    {
      "name": "ukraineResidenceSettlementName",
      "label": "Населений пункт: Назва",
      "type": "string",
      "required": false,
      "classification": "pii",
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Населений пункт' — 'Назва'",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "ukraineResidenceStreetType",
      "label": "Вулиця: Тип (вулиця, провулок, бульвар, проспект тощо)",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Вулиця' — 'Тип (вулиця, провулок, бульвар, проспект тощо)'",
      "validation": { "maxLength": 30 }
    },
    {
      "name": "ukraineResidenceStreetName",
      "label": "Вулиця: Назва",
      "type": "string",
      "required": false,
      "classification": "pii",
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Вулиця' — 'Назва'",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "ukraineResidenceHouseNumber",
      "label": "Будинок",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Будинок'",
      "validation": { "maxLength": 20 }
    },
    {
      "name": "ukraineResidenceBuildingNumber",
      "label": "Корпус",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Корпус'",
      "validation": { "maxLength": 20 }
    },
    {
      "name": "ukraineResidenceApartmentNumber",
      "label": "Квартира",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Квартира'",
      "validation": { "maxLength": 20 }
    },
    {
      "name": "ukraineResidencePostalCode",
      "label": "Поштовий індекс",
      "type": "string",
      "required": false,
      "visibleWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 11 (p.2): 'Поштовий індекс'",
      "validation": { "pattern": "^[0-9]{5}$" }
    },
    {
      "name": "contactPhoneNumber",
      "label": "Контактний телефон",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Field 12 (p.2): 'Контакти особи' — 'Контактний телефон'",
      "validation": { "minLength": 1, "maxLength": 30 }
    },
    {
      "name": "contactEmailAddress",
      "label": "Адреса електронної пошти (якщо є)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "Field 12 (p.2): 'Контакти особи' — 'Адреса електронної пошти (якщо є)'",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "consularRegistrationStatus",
      "label": "Перебування на консульському обліку",
      "type": "enum",
      "required": true,
      "sourceRef": "Field 13 (p.2): 'Перебування на консульському обліку' — checkboxes 'Постійний' / 'Тимчасовий' / 'Не перебуваю'",
      "validation": { "enum": ["permanent", "temporary", "not-registered"] }
    },
    {
      "name": "consularRegistrationSince",
      "label": "Якщо перебуваю, з якого часу",
      "type": "date",
      "required": false,
      "requiredWhen": { "field": "consularRegistrationStatus", "in": ["permanent", "temporary"] },
      "sourceRef": "Field 13 (p.2): 'Якщо перебуваю, з якого часу (дд.мм.рррр)'"
    },
    {
      "name": "consularInstitutionName",
      "label": "Найменування консульської установи",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "consularRegistrationStatus", "in": ["permanent", "temporary"] },
      "sourceRef": "Field 13 (p.2): 'Найменування консульської установи'",
      "validation": { "maxLength": 200 }
    },
    {
      "name": "temporaryResidenceReason",
      "label": "Для тимчасового проживання за кордоном: причина/мета проживання за кордоном",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "residenceStatusAbroad", "equals": "temporary-residence-abroad" },
      "sourceRef": "Field 14 (p.2): 'Для тимчасового проживання за кордоном: причина/мета проживання за кордоном'",
      "validation": { "maxLength": 300 }
    },
    {
      "name": "permanentResidencePermitIssuedBy",
      "label": "Установа України, яка надала дозвіл на постійне проживання за кордоном",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 15 (p.2): 'Для осіб, що отримали дозвіл на виїзд на постійне проживання за кордоном' — 'Установа України, яка надала дозвіл на постійне проживання за кордоном'",
      "validation": { "maxLength": 200 }
    },
    {
      "name": "permanentResidencePermitDate",
      "label": "Дата отримання дозволу на постійне місце проживання",
      "type": "date",
      "required": false,
      "requiredWhen": { "field": "residenceStatusAbroad", "equals": "permanent-residence-abroad" },
      "sourceRef": "Field 15 (p.2): 'Дата отримання дозволу на постійне місце проживання (дд.мм.рррр)'"
    }
  ],
  "documents": [
    {
      "id": "applicantPhoto",
      "label": "Фото",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "'Фото' placeholder box, top-right of page 1"
    },
    {
      "id": "signatureSpecimen",
      "label": "Зразок підпису, який буде вноситися до паспорта",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Field 10 (p.1): 'Зразок підпису, який буде вноситися до паспорта', plus the 'Увага' warning note beneath it that an unsatisfactory specimen requires re-filing the whole application-questionnaire. Provided in a printed box with no AcroForm widget — a physical specimen, not a fillable text field."
    },
    {
      "id": "applicantConsentDeclarationAndSignature",
      "label": "Заяву-анкету заповнив (signature of the applicant, or their legal representative)",
      "category": "attestation",
      "required": true,
      "belongsTo": "applicant",
      "statement": "Paraphrased from the source's own declaration paragraph (not a verbatim quote — see VERIFICATION.md): the applicant consents to the automated processing, transfer, and storage of their personal data specified in the application, in accordance with the Law of Ukraine 'On Personal Data Protection', for the purpose of producing and issuing the passport.",
      "sourceRef": "Page 2, 'Заяву-анкету заповнив' block: the personal-data-processing consent paragraph, followed by the date/place and 'підпис заявника (законного представника)' signature line"
    }
  ]
}
