Registry entry
Bulgaria — Application for Issuance of a National Visa, Type "D"
The Ministerstvo na vanshnite raboti's (MVnR, Bulgaria's Ministry of Foreign Affairs) "Заявление за издаване на национална виза (тип „D”)" (Application for Issuance of a National Visa, Type "D") — the long-stay national visa application form a third-country national files (in person or via an authorized proxy) at a Bulgarian diplomatic or consular mission to request a visa authorizing a stay in Bulgaria longer than 90 days (e.g. for employment, family reunification, study, or other long-term purposes), distinct from the short-stay Schengen-area "C" visa. Advances Bulgaria's Visa vertical (2 of 6), following the Taxes vertical opened by NRA's Form ОКД-5 and Обр. 2001 (GOV-2821). The source is distributed as a free, unauthenticated "Безплатен образец" (free specimen) direct PDF download from mfa.bg's own consular-services visa-forms page — a genuine text-layer PDF (no AcroForm widgets on its data-entry pages) closely following the EU-harmonized visa application layout also used by this registry's other national/Schengen visa schemas (e.g. de/auswaertiges-amt, ee/vm). Models the applicant's identification (name, date/place/country of birth, current/former/other nationality, sex, address, contact details), travel-document details, marital status with a conditionally-required spouse/registered-partner identification block, a bounded 4-row children table (the form's own printed table has exactly four blank rows, confirmed by rendering the page), a free-text parental-rights/legal-guardian block for minor applicants, the trip's purpose/dates/planned accommodation, a bounded 3-row previous-Bulgaria-stays table, prior-residence-elsewhere and prior-refusal/conviction/expulsion/notifiable-disease declarations (each with its own printed "if yes, indicate..." follow-up detail field), the funding-source checklist (own means vs. sponsor, each with its own means-of-subsistence sub-checklist), and the signature block. Excludes the form's entire right-hand "Попълва се служебно" (to be completed by the official) column throughout Part I and Part II — the application-number/receipt-date/receiving-officer fields, the supporting-documents-provided checklist, the decision (inadmissible/refused/issued) and validity/entry-count/permitted-days fields are all consular-adjudication-only and not applicant-fillable, mirroring this registry's established consular-only-column exclusion precedent (e.g. rs/mfa, gr/mfa). 108 fields, plus 2 documents[] entries (the applicant photograph and the multi-paragraph data-processing-consent/truthfulness declaration printed above the signature block). GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of Bulgaria or the Ministerstvo na vanshnite raboti.
Registry entry
bg/mvnr/zayavlenie-za-izdavane-na-natsionalna-viza-tip-d
Authoritative source MVnR "Заявление за издаване на национална виза (тип „D”)", Bulgarian-language edition, published on mfa.bg's own "Формуляри за виза" consular-services page
Machine access
- Schema document
registry/bg/mvnr/zayavlenie-za-izdavane-na-natsionalna-viza-tip-d/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/bg/mvnr/zayavlenie-za-izdavane-na-natsionalna-viza-tip-d/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
108 fields, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Fields
-
surnamestring requiredФамилно име
length: 0–100classification: pii -
formerSurnamesstring optionalФамилно име по рождение (предишно(и) фамилно(и) име(на))
length: 0–200classification: pii -
givenNamesstring requiredСобствено(и) име(на)
length: 0–100classification: pii -
dateOfBirthdate requiredДата на раждане (ден-месец-година)
classification: sensitive-pii -
placeOfBirthstring requiredМясто на раждане
length: 0–100classification: pii -
countryOfBirthstring requiredДържава на раждане
length: 0–100classification: pii -
currentNationalitystring requiredНастоящо гражданство
length: 0–100classification: pii -
nationalityAtBirthstring optionalOnly completed when different from currentNationality, per the form's own printed instruction.
length: 0–100classification: pii -
otherNationalitystring optionalДруго гражданство
length: 0–100classification: pii -
previousNationalitiesstring optionalIf the applicant has held any previous nationality/nationalities, the dates and grounds for acquisition and loss, per the form's own printed instruction.
length: 0–500 -
sexenum requiredПол
enum: male | female -
residenceAddressstring requiredМестожителство (точен адрес)
length: 0–300classification: pii -
emailstring optionalИмейл адрес
length: 0–200classification: pii -
phonestring optionalТелефонен номер
length: 0–30classification: pii -
travelDocumentTypeenum requiredВид документ за задгранично пътуване
enum: ordinary passport | diplomatic passport | service passport | official passport | special passport | other -
otherTravelDocumentDetailsstring optionalДруг документ за задгранично пътуване (моля, уточнете)
length: 0–200 -
travelDocumentNumberstring requiredНомер на документа за задгранично пътуване
length: 0–50classification: sensitive-pii -
travelDocumentDateOfIssuedate requiredДата на издаване
-
travelDocumentValidUntildate requiredВалиден до
-
travelDocumentIssuedByCountrystring requiredИздаден от (държава)
length: 0–100 -
nationalIdNumberstring optionalНационален идентификационен номер, където е приложимо
length: 0–50classification: sensitive-pii -
maritalStatusenum requiredСемейно положение
enum: 7 values -
maritalStatusOtherDetailsstring optionalДруго (да се посочи)
length: 0–100 -
spouseFamilyNamestring optionalФамилия (на съпругата/съпруга/регистрирания партньор)
length: 0–100classification: pii -
spouseFormerFamilyNamestring optionalПредходна(и) фамилия(и) (на съпругата/съпруга/регистрирания партньор)
length: 0–200classification: pii -
spouseGivenNamesstring optionalИме/Имена (на съпругата/съпруга/регистрирания партньор)
length: 0–100classification: pii -
spouseDateOfBirthdate optionalДата на раждане (ден-месец-година, на съпругата/съпруга/регистрирания партньор)
classification: sensitive-pii -
spouseCurrentNationalitystring optionalАктуално гражданство/гражданства (на съпругата/съпруга/регистрирания партньор)
length: 0–100classification: pii -
spousePreviousNationalitystring optionalПредишно(-и) гражданство(-а) (на съпругата/съпруга/регистрирания партньор)
length: 0–200classification: pii -
spouseAddressstring optionalМестожителство (пълен и точен адрес, на съпругата/съпруга/регистрирания партньор)
length: 0–300classification: pii -
child1FamilyNamestring optionalФамилия (дете 1)
length: 0–100classification: pii -
child1GivenNamesstring optionalСобствено име (имена) (дете 1)
length: 0–100classification: pii -
child1DateAndPlaceOfBirthstring optionalДата на раждане и месторождение (дете 1)
length: 0–150classification: sensitive-pii -
child1Nationalitystring optionalГражданство (дете 1)
length: 0–100classification: pii -
child1Addressstring optionalМестожителство (пълен и точен адрес) (дете 1)
length: 0–300classification: pii -
child2FamilyNamestring optionalФамилия (дете 2)
length: 0–100classification: pii -
child2GivenNamesstring optionalСобствено име (имена) (дете 2)
length: 0–100classification: pii -
child2DateAndPlaceOfBirthstring optionalДата на раждане и месторождение (дете 2)
length: 0–150classification: sensitive-pii -
child2Nationalitystring optionalГражданство (дете 2)
length: 0–100classification: pii -
child2Addressstring optionalМестожителство (пълен и точен адрес) (дете 2)
length: 0–300classification: pii -
child3FamilyNamestring optionalФамилия (дете 3)
length: 0–100classification: pii -
child3GivenNamesstring optionalСобствено име (имена) (дете 3)
length: 0–100classification: pii -
child3DateAndPlaceOfBirthstring optionalДата на раждане и месторождение (дете 3)
length: 0–150classification: sensitive-pii -
child3Nationalitystring optionalГражданство (дете 3)
length: 0–100classification: pii -
child3Addressstring optionalМестожителство (пълен и точен адрес) (дете 3)
length: 0–300classification: pii -
child4FamilyNamestring optionalФамилия (дете 4)
length: 0–100classification: pii -
child4GivenNamesstring optionalСобствено име (имена) (дете 4)
length: 0–100classification: pii -
child4DateAndPlaceOfBirthstring optionalДата на раждане и месторождение (дете 4)
length: 0–150classification: sensitive-pii -
child4Nationalitystring optionalГражданство (дете 4)
length: 0–100classification: pii -
child4Addressstring optionalМестожителство (пълен и точен адрес) (дете 4)
length: 0–300classification: pii -
guardianDetailsstring optionalFamily name, given name, address (if different from the applicant's), phone number, email address, and nationality of the person exercising parental rights or the legal guardian, for underage applicants — printed as a single free-text block, not a set of discrete sub-fields.
length: 0–500classification: pii -
purposeOfTravelenum requiredЦел(и) на пътуването
enum: 8 values -
otherPurposeDetailsstring optionalДруго (моля, посочете)
length: 0–200 -
plannedArrivalDatedate requiredПланирана дата на пристигане в Република България
-
previouslyStayedInBulgariaboolean requiredПребивавали ли сте преди в Република България?
-
previousStay1Fromstring optionalОт (посещение 1, месец/година)
length: 0–20 -
previousStay1Tostring optionalДо (посещение 1, месец/година)
length: 0–20 -
previousStay1Placestring optionalВ/във (посещение 1)
length: 0–100 -
previousStay2Fromstring optionalОт (посещение 2, месец/година)
length: 0–20 -
previousStay2Tostring optionalДо (посещение 2, месец/година)
length: 0–20 -
previousStay2Placestring optionalВ/във (посещение 2)
length: 0–100 -
previousStay3Fromstring optionalОт (посещение 3, месец/година)
length: 0–20 -
previousStay3Tostring optionalДо (посещение 3, месец/година)
length: 0–20 -
previousStay3Placestring optionalВ/във (посещение 3)
length: 0–100 -
residesInCountryOtherThanNationalityboolean requiredПребиваване в държава, различна от държавата на настоящото гражданство
-
residencePermitNumberstring optionalНомер на разрешение за пребиваване или равностоен документ
length: 0–50classification: sensitive-pii -
residencePermitValidUntildate optionalВалидност до (на разрешението за пребиваване)
-
residenceFromdate optionalПребиваване от
-
residenceTodate optionalПребиваване до
-
plannedStayFromdate requiredПланирана продължителност на пребиваване — от
-
plannedStayTodate requiredПланирана продължителност на пребиваване — до
-
intendedPlaceOfStayInBulgariastring requiredПредвидено място за пребиваване на територията на Република България
length: 0–300classification: pii -
intendsToLiveOutsideBulgariaboolean requiredВъзнамерявате ли да живеете и извън Република България?
-
livingOutsideBulgariaDetailsstring optionalМоля, посочете (живеене извън Република България)
length: 0–300 -
familyMembersTravelingTogetherboolean requiredПътуват ли с Вас членове на Вашето семейство?
-
familyMembersDetailsstring optionalМоля, посочете (членове на семейството, пътуващи заедно с кандидата)
length: 0–300classification: pii -
currentProfessionstring requiredНастояща професия
length: 0–150 -
employerOrSchoolDetailsstring requiredРаботодател и адрес и телефонен номер на работодателя, на канещото дружество или организация. За учащи — име и адрес на учебното заведение
length: 0–400 -
otherTravelPurposeInfostring optionalДруга информация относно целта на пребиваването
length: 0–400 -
previouslyRefusedEntryOrPermitboolean requiredИмали ли сте отхвърлена молба за разрешение за пребиваване или отказвано ли Ви е влизане в Република България?
-
refusalDetailsstring optionalПериод и причина (отказ за пребиваване/влизане)
length: 0–400 -
hasCriminalConvictionboolean requiredОсъждан ли сте?
-
convictionDetailsstring optionalДържавата/държавите, деянието и вида на наложеното наказание
length: 0–500classification: sensitive-pii -
previouslyExpelledOrDeportedboolean requiredБили ли сте някога експулсиран или депортиран от Република България?
-
expulsionDetailsstring optionalПериод и причина (експулсиране/депортиране)
length: 0–400 -
hasNotifiableDiseaseboolean requiredThe form's own printed list: smallpox; poliomyelitis; types of influenza not common in humans (e.g. avian flu, swine flu); acute pandemic influenza; severe acute respiratory syndrome (SARS); cholera; pneumonic plague; yellow fever; viral haemorrhagic fever (e.g. Ebola, Lassa, Marburg).
-
fundedByApplicantboolean optionalОт собствени средства
-
hasCashApplicantboolean optionalСредства за издръжка — в брой
-
hasTravellersChequesApplicantboolean optionalСредства за издръжка — пътнически чекове
-
hasCreditCardApplicantboolean optionalСредства за издръжка — кредитна карта
-
hasPrepaidAccommodationApplicantboolean optionalПредплатено настаняване
-
hasPrepaidTransportApplicantboolean optionalПредплатен транспорт
-
hasOtherApplicantboolean optionalДруго (моля, уточнете) — собствени средства
-
otherApplicantMeansDetailsstring optionalМоля, уточнете (други собствени средства)
length: 0–200 -
fundedBySponsorboolean optionalОт спонсор (домакин, дружество, организация)
-
sponsorDetailsstring optionalМоля, уточнете (спонсор — домакин, дружество или организация)
length: 0–300classification: pii -
fundedByOtherEntityboolean optionalДруго (моля, уточнете) — спонсор
-
fundedByOtherEntityDetailsstring optionalМоля, уточнете (друг източник на финансиране)
length: 0–200 -
fundedByEntityInField30boolean optionalFunding provided by the employer, inviting company, or organization named in employerOrSchoolDetails (item 30).
-
hasCashSponsorboolean optionalСредства за издръжка — парични средства в брой (спонсор)
-
hasAccommodationProvidedSponsorboolean optionalСредства за издръжка — осигурено настаняване (спонсор)
-
hasAllCostsCoveredSponsorboolean optionalСредства за издръжка — всички разходи по време на престоя са покрити (спонсор)
-
hasPrepaidTransportSponsorboolean optionalСредства за издръжка — предплатен транспорт (спонсор)
-
hasOtherSponsorboolean optionalДруго (моля, уточнете) — средства за издръжка от спонсор
-
otherSponsorMeansDetailsstring optionalМоля, уточнете (други средства за издръжка от спонсор)
length: 0–200 -
placeAndDatestring requiredМясто и дата
length: 0–100 -
applicantSignaturestring requiredThe applicant's name, standing in for a physical signature, per this registry's established convention for paper-form signature blocks.
classification: pii -
guardianSignaturestring optionalOnly completed when the applicant is a minor and item 20 (guardianDetails) applies; the form prints no explicit boolean gate tying this to a specific age/guardian condition, so it is modeled as unconditionally optional rather than an invented requiredWhen gate.
classification: pii
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-14maturity.level:structural-reference
This is GovSchema Standard Research cycle GOV-2830. This schema advances Bulgaria's Visa vertical to 2 of 6, following the Taxes vertical opened in GOV-2821 (NRA's Form ОКД-5, bg/nra/deklaratsiya-za-registratsiya-na-samoosiguryavashto-se-litse, PR #466) and extended in the same cycle (Обр. 2001, bg/nra/godishna-danachna-deklaratsiya-chl-50-zddfl, PR #467).
Jurisdiction/vertical screening this cycle
Per this cycle's brief, DMV and Business Formation were screened first as the likely-strongest remaining candidates, followed by Visa. Both DMV and Business Formation turned out to be genuine dead ends for a first-party, unauthenticated fetch this cycle:
- DMV (МВР/КАТ vehicle registration). Fetched
mvr.bg's own vehicle- registration service page directly (https://mvr.bg/opp/административни-услуги/услуги-по-регистрация-на-пс/извършване-на-първоначална-регистрация-на-превозно-средство— HTTP 200 and real page content at the time of this cycle's own screening fetch, but a later re-fetch during schema authoring (~20 minutes afterward, same session) found this same URL now returns 404 — a genuine Cloudflare-served "Страницата не е намерена" page, re-confirmed withcurl -v, not a transient network blip; evidence ofmvr.bg's own CMS being reorganized or unstable mid-cycle, disclosed here rather than a fabricated citation). The page's own procedure text, captured at the time of the successful fetch, states plainly: "Заявлението се генерира от информационна система на МВР. Данните са попълнени автоматично. Заявителят само проверява данните и удостоверява с подписа си верността им. Заявителят не е необходимо предварително да попълва заявление." ("The application is generated by MVR's information system. The data is filled in automatically. The applicant only checks the data and certifies its accuracy with their signature. The applicant does not need to fill out an application in advance.") — a system-generated-at-the-counter form, structurally identical to this registry's other MVR/counter-service dead ends (e.g. Bulgaria's own National ID, screened weak in GOV-2821). No downloadable blank form exists for an agent to fill out independently. Not pursued further. - Business Formation (Registry Agency / Агенция по вписванията, Commercial Register application forms А1-А13). Fetched
portal.registryagency.bg's own document-templates page directly (https://portal.registryagency.bg/document-template-cr, HTTP 200, 28,925 bytes of static HTML). The page's category sections (e.g. "Заявление, влизащо в сила от 30.06.2024 г.", "Б. Заявления за вписване на прокура, клон, залог, запор и ликвидация") each render as an empty<div class="group-items group-items-NNN"></div>in the raw, unauthenticated HTML response — the actual template file links are populated client-side by JavaScript after page load (confirmed: no.pdf/.doc/.docxhref appears anywhere in the fetched HTML;portal.registryagency.bg's own bundledjs.jswas also fetched and inspected, and contains no discoverable REST endpoint pattern; three guessed API-style paths were probed directly and all either 404'd or redirected to a generic error page). This is the same portal-shell-with-no-static-attachment pattern GOV-2821 already found for NRA's self-employed-registration lead onnra.bg's own WebSphere Portal. A genuine fetch of the actual A4/etc. template content would require a JavaScript-executing browser, which was not attempted this cycle (logged as a candidate for a future cycle with browser-rendering tooling, rather than falling back to a third-party mirror for a jurisdiction-opening/vertical- advancing schema). Not pursued further this cycle. - Visa (МВнР, Ministry of Foreign Affairs) — chosen. Fetched
mfa.bg's own "Формуляри за виза" (Visa Forms) consular-services page directly (https://www.mfa.bg/bg/uslugi-patuvania/konsulski-uslugi/patuvane-bulgaria/formuliari-viza), which lists both the short-stay Schengen "C" visa specimen and the national long-stay "D" visa application, each as a direct PDF download in multiple languages, explicitly marked "Безплатен образец" (free specimen). The "D" visa application (this schema's source) was chosen over the "C" visa specimen because it is Bulgaria's own national long-stay instrument (not an EU-harmonized form shared verbatim across all Schengen states, several of which this registry already models — e.g.de/auswaertiges-amt,ee/vm,at/bmeia), making it the more distinctive and valuable addition. Confirmed a genuine, unauthenticated, first-party, plain-text-layer PDF (no CAPTCHA/WAF/login gate) — see Source verification below.
Source verification (independently fetched this cycle)
- Source page:
https://www.mfa.bg/bg/uslugi-patuvania/konsulski-uslugi/patuvane-bulgaria/formuliari-viza("Формуляри за виза") — lists the Bulgarian-language "Type D" national visa application asЗаявление за виза за дългосрочно пребиваване тип D-BG.pdf, alongside English/Russian/French/Turkish editions of the same form and the separate Schengen "C" visa specimen. - Fetched file:
https://www.mfa.bg/upload/137205/%D0%97%D0%B0%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B7%D0%B0%20%D0%B2%D0%B8%D0%B7%D0%B0%20%D0%B7%D0%B0%20%D0%B4%D1%8A%D0%BB%D0%B3%D0%BE%D1%81%D1%80%D0%BE%D1%87%D0%BD%D0%BE%20%D0%BF%D1%80%D0%B5%D0%B1%D0%B8%D0%B2%D0%B0%D0%B2%D0%B0%D0%BD%D0%B5%20%D1%82%D0%B8%D0%BF%20D-BG.pdf(percent-encoded form of "Заявление за виза за дългосрочно пребиваване тип D-BG.pdf"; this schema'ssource.url).- HTTP 200,
Content-Type: application/pdf, 144,794 bytes (matches theContent-Dispositionheader's ownsize=144794). sha256:427738994b1e3a87ff1d6fa35d1ef8ad2678464d70bb70ac922eb794cfcff932.Last-Modified: Tue, 14 Jan 2025 07:56:22 GMT.- 4 pages. Confirmed via
pdfjs-dist@3(legacy build, Node.js): a genuine text-layer PDF, not a scanned image — every label, checkbox glyph (□), and table cell extracts as a discrete text-positioned item. Zero AcroFormWidgetannotations on pages 1-3; page 4 carries 2 annotation entries that are plain (non-form) link/markup annotations, not fillable widgets. - All 4 pages independently rendered to PNG at 2x scale via
pdfjs-dist+node-canvas(standardFontDataUrlsupplied) and visually cross-checked against the text-layer transcript — this confirmed the exact printed row counts for the two tabular sections (item 19's children table: exactly 4 blank rows; item 23's previous-stays table: exactly 3 numbered rows), and confirmed the entire right-hand "Попълва се служебно" (to be completed by the official) column on pages 1-2 is consular-adjudication-only (receipt date/application number/receiving officer, supporting-documents-provided checklist, decision, validity, entry count, permitted days) — none of it applicant-fillable.
- HTTP 200,
Extraction method
Text-layer extraction via pdfjs-dist@3 (legacy build), reusing this registry's established Node.js + pdfjs-dist render/extract technique (see e.g. gh/gis, jo/cspd, rs/mfa prior cycles). No AcroForm widget correlation was needed (this source has none, unlike a fillable-PDF AcroForm specimen) — field boundaries were instead read directly off the printed numbered items (1-36) and table headers, cross-checked against the page renders described above.
Field derivation, by form part
- Part I — Данни за кандидата (applicant data, items 1-10). Name (surname, former surname(s), given names), date/place/country of birth, current nationality with two optional adjoining columns ("nationality at birth, if different" and "other nationality"), previous nationalities (free text, "if the answer is positive, please state the dates and grounds for acquisition/loss"), sex, and residence address with adjoining email/phone sub-fields.
- Part II — Документ за пътуване (travel document, items 11-16). An enumerated document-type field (ordinary/diplomatic/service/official/special passport, or other with its own detail field), document number, dates of issue/expiry, issuing country, and an optional national ID number.
- Part III — Семейно положение (marital status, items 17-20). An enumerated marital-status field (with an "other, specify" detail field); a spouse/registered-partner identification block,
requiredWhenmaritalStatusismarriedorregistered partnershipfor its five core identity fields (former surname and previous nationality kept as unconditionally-optionalvisibleWhencompanions, per this registry'sde/auswaertiges-amtprecedent for supplementary-but-not-mandatory conditional fields); a children table modeled as a bounded 4-row repeating group (child1...child4, each with family name, given names, a combined date-and-place-of-birth field matching the source's own single printed column, nationality, and address) — the exact row count (4) was confirmed by rendering the page, not guessed; and a single free-text parental-rights/ legal-guardian field for minor applicants (the source prints no boolean toggle tying this to an explicit age condition, so it is left unconditionally optional rather than an inventedrequiredWhengate). - Part IV — Цел на пътуването (purpose of travel, items 21-36). An enumerated purpose field (work/family reunification/cultural activity/ sport/medical reasons/study/retiree/other, with its own "other" detail field); planned arrival date; a previous-Bulgaria-stays boolean gating a bounded 3-row table (
previousStay1...previousStay3— row 1's three sub-fieldsrequiredWhenthe boolean is true, rows 2-3 kept as optionalvisibleWhencompanions, since the source's own three numbered rows are an upper bound, not a mandate to fill all three); a residence-elsewhere boolean gating permit number/validity/residence-period detail fields; planned stay dates; intended place of stay; an intends-to-live-outside-Bulgaria boolean and a family-members-traveling-together boolean, each gating its own "please specify" detail field per the form's own printed instruction; current profession and employer/inviting-organization/school details; free-text additional-purpose information; and four Yes/No declarations (prior refusal/prior conviction/prior expulsion/notifiable disease), each gating its own "if yes, indicate the period and reason" (or equivalent) detail field per the form's own printed instruction. Item 36 (funding sources) is modeled as two parallel checkbox groups — applicant's own means (with a means-of-subsistence sub-checklist: cash, traveller's cheques, credit card, prepaid accommodation, prepaid transport, other-with-detail) and sponsor funding (with its own sub-checklist: cash, accommodation provided, all costs covered, prepaid transport, other-with-detail, plus a dedicated boolean for funding by the entity already named in item 30) — none of these checkboxes are mutually exclusive on the source, so none are modeled as an enum. - Signature block. Place and date; the applicant's signature (name standing in for a physical signature, per this registry's
ro/anaf/ro/dgpci/bg/nraprecedent); an optional guardian/legal-representative signature line for minor applicants (left unconditionally optional, mirroring theguardianDetailsfield above).
108 fields[] entries in total, plus 2 documents[] entries: the applicant photograph (the "СНИМКА" box on page 1) and the multi-paragraph data- processing-consent/truthfulness declaration printed immediately above the signature block on page 4 (the criminal/administrative-liability and visa-fee-non-refundable warnings, and the NVIS data-retention notice).
Scoping and modeling judgment calls
- Excludes the entire "Попълва се служебно" column. Every field in the right-hand consular-only column on pages 1-2 (application receipt date and number, receiving officer's name/signature, the supporting-documents- provided checklist, the decision — inadmissible/refused/issued — and its validity/entry-count/permitted-days fields) is consular-adjudication-only, never filled in by the applicant. Excluded entirely, consistent with this registry's
rs/mfa/gr/mfaconsular-only-column precedent. - Children table bounded to 4 rows, previous-stays table bounded to 3 rows — both counts confirmed by rendering, not guessed. Consistent with this registry's established bounded-repeating-group convention (e.g.
ng/nis'schild1...child4) for a printed table with a fixed number of blank rows, rather than modeling an unbounded list type this spec line does not support. - No invented
requiredWhengates beyond what the form itself prints. The parental-rights/legal-guardian field (item 20) and the corresponding guardian signature line have no printed boolean toggle tying them to an explicit age condition (the source only carries a parenthetical "(for underage persons)"), so both are modeled as unconditionally optional rather than gated on a fabricatedisMinorfield that does not exist on the form. - Funding-source checkboxes modeled as independent booleans, not an enum. The source's own item 36 layout allows checking any combination of applicant-funded and sponsor-funded boxes (e.g. partial self-funding plus a sponsor covering accommodation), so none of
fundedByApplicant/fundedBySponsor/fundedByOtherEntity/fundedByEntityInField30or their respective means-of-subsistence sub-checklists are modeled as mutually exclusive. travelDocumentType/maritalStatus/purposeOfTravelenum values kept in English, consistent with this registry's cross-jurisdiction enum-value convention (native-language text lives in each field'slabel); the enumerated options themselves are a direct, complete transcription of the form's own printed checkbox list for each item.- No
editionaxis. This is a standing national-visa application form, not a dated annual filing; consistent with this registry's convention for non-time-versioned application forms.
Conformance run
No PDF/AcroForm widget-count cross-check applies (see Source verification — this source has zero fillable Widget annotations). In its place, two hand-authored mock instances were built and checked against schema.json's own required/requiredWhen/validation.enum/validation.maxLength grammar with a disposable, from-scratch Python checker (not committed, per this registry's own established practice of not committing one-off verification scripts):
single-applicant-basic— an unmarried applicant with no children, no prior Bulgaria stay, no residence in a third country, self-funded via cash, filing for work. 33 of 108 fields populated. PASS.married-with-family-and-sponsor— a married applicant filing through a spouse's employment sponsor, exercising the full spouse-identification block, both children (a bounded 2-of-4 use of the children table), one prior refusal (Germany, 2016), a residence-elsewhere declaration, two prior Bulgaria stays (a bounded 2-of-3 use of the previous-stays table), an "other" travel-document type with its own detail field, and full sponsor- funding detail. 77 of 108 fields populated. PASS.
Four mutation-control checks confirmed the checker actually enforces the gates rather than passing vacuously: dropping travelDocumentNumber from the first instance (unconditionally required — correctly flagged missing); dropping spouseFamilyName from the second instance while maritalStatus stayed married (conditionally required — correctly flagged missing); setting sex to an out-of-enum value (correctly flagged as an enum violation); and setting previouslyStayedInBulgaria to true on the first instance without adding the corresponding previousStay1From/To/Place fields (correctly flagged all three as missing). Each mutation raised exactly its one expected error.
``` $ node tools/validate.mjs registry/bg/mvnr/zayavlenie-za-izdavane-na-natsionalna-viza-tip-d/1.0.0/schema.json ok registry/bg/mvnr/zayavlenie-za-izdavane-na-natsionalna-viza-tip-d/1.0.0/schema.json 1/1 document(s) passed.
$ node tools/validate-ajv.mjs registry/bg/mvnr/zayavlenie-za-izdavane-na-natsionalna-viza-tip-d/1.0.0/schema.json ok registry/bg/mvnr/zayavlenie-za-izdavane-na-natsionalna-viza-tip-d/1.0.0/schema.json [v0.3] 1/1 document(s) validated against the meta-schema (ajv 2020-12). ```
tools/node_modules did not exist in this worktree at the start of this cycle; npm ci --include=dev installed ajv/ajv-formats cleanly with no wipe. pdfjs-dist/canvas were reused from a pre-existing scratch installation at /tmp/pdfscratch (outside the repo, left over from a prior cycle's own verification work) rather than installed fresh inside tools/, so this cycle's own extraction tooling could not collide with tools/'s committed dependency set at all.
tools/govschema-client/registry-index.json was regenerated via npm run build-index inside tools/govschema-client/ — see the diff in this PR for the updated jurisdiction/document counts.
Scope and jurisdiction notes
- Advances Bulgaria's Visa vertical to 2 of 6 (the vertical did not exist before this cycle; GOV-2821 opened Bulgaria via Taxes only). DMV and Business Formation were screened and found to be genuine dead ends this cycle (see above); Passport and National ID (both likely МВР, and National ID already spot-checked weak in GOV-2821) remain open, unscreened Bulgaria backlog candidates.
jurisdiction.levelisnational— MVnR is Bulgaria's national foreign ministry and sole issuer of Bulgarian visas.process.typeisapplication, matching this registry's convention for visa application forms (e.g.de/auswaertiges-amt,ee/vm,rs/mfa).process.languageisbg: the modeled edition is the Bulgarian-language specimen. English/Russian/French/Turkish editions of the same form are published on the same source page but not modeled by this v1.0.0.
Re-verification
Per the practice's cadence, nextReviewBy is set to 2027-01-14 (6 months). A future review should prioritize: (1) confirming the source PDF's Last-Modified date (2025-01-14) has not been superseded by a newer edition; (2) re-attempting Business Formation (Registry Agency's А1-А13 Commercial Register application templates) with a JavaScript-executing browser, since this cycle's static-HTML fetch could not reach the actual template files; (3) whether Bulgaria's remaining unscreened verticals (Passport, National ID) should be scouted; (4) whether the Schengen "C" visa specimen also hosted on this same MVnR source page is worth a companion schema, given several other jurisdictions' Schengen-harmonized visa forms are already modeled elsewhere in this registry.
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Министерство на външните работи or any government. The authoritative source is always the live government form and its official instructions.