Registry entry
Bulgaria — Application for Issuance of a Driving Licence
The Ministerstvo na vatreshnite raboti's (MVR, Bulgaria's Ministry of Interior) "Заявление за издаване на свидетелство за управление на моторно превозно средство" (Приложение № 2а — Application for Issuance of a Driving Licence), a single-page specimen published unauthenticated on MVR's own "Бланки и образци" (Forms and specimens) static-forms page. Opens Bulgaria's DMV vertical (3 of 6), following the Taxes vertical opened by NRA's Form ОКД-5/Обр. 2001 (GOV-2821) and the Visa vertical opened by MVnR's Type-D national visa application (GOV-2830) — a distinct MVR (Ministry of Interior) source from either of those, and a genuinely fillable specimen unlike this registry's already-confirmed dead end for MVR's vehicle-registration application (system-generated at the counter, per GOV-2830's own VERIFICATION.md). Models the requested service tier, the applicant's national identification number, date/place of birth, name in both Cyrillic and Latin script, family name and other given name(s), address, sex, other nationality and naturalization-decree particulars, contact details, the office where the finished licence should be collected, an optional block for an authorized person (proxy) collecting the finished document on the applicant's behalf, an optional declaration renouncing previously-held driving-licence categories, the identity document (national ID card or, for foreign residents, a residence permit) presented at submission, the submission date, and the applicant's (or submitting proxy's) signature, plus a photograph, a signature specimen, and the form's own printed criminal-liability truthfulness declaration as documents[] entries. Excludes: the "Вх. номер" (incoming/office reference number) and "До" (addressee) office-intake fields, neither of which carries a printed blank/dotted entry line (unlike every other applicant-facing field on the page); the "от МВР" issuing-authority caption, which is static text (MVR is the sole issuing authority, never applicant-supplied); six "Вярно/Невярно" (True/False) checkbox pairs (beside the national-ID number, date of birth, place of birth, Cyrillic name, Latin name, and address fields respectively) that the form's own explanatory text ties to a system-assisted counter workflow in which the applicant's civil-status data is auto-filled from Bulgaria's civil-population and ID-document registries (NBD "Population" and NAIF "НРБЛД") for confirmation against the record on file — a distinct in-person, system-assisted pathway from the plain paper-form completion this schema models, so these six confirmation checkboxes are out of scope rather than modeled as fields; and "Имена на служителя, приел заявлението" / "Подпис на служителя" (the receiving official's name/signature), also office-only. 29 fields, plus 3 documents[] entries. 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 vatreshnite raboti.
Registry entry
bg/mvr/zayavlenie-za-izdavane-na-svidetelstvo-za-upravlenie-na-mps
Machine access
- Schema document
registry/bg/mvr/zayavlenie-za-izdavane-na-svidetelstvo-za-upravlenie-na-mps/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/bg/mvr/zayavlenie-za-izdavane-na-svidetelstvo-za-upravlenie-na-mps/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
29 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
-
serviceTypeenum requiredThe requested processing tier: обикновена (standard), бърза (fast), or ускорена (expedited).
enum: standard | fast | expedited -
nationalIdstring requiredThe applicant's EGN (Bulgarian personal number), LNCh (personal number of a foreigner), or LN, printed on the form as a 10-box grid.
patternclassification: sensitive-pii -
dateOfBirthdate requiredДата на раждане / Date of birth
classification: sensitive-pii -
placeOfBirthstring requiredМясто на раждане (Населено място, община, област или държава) / Place of birth
length: 0–150classification: pii -
namesInCyrillicstring requiredИмена на кирилица
length: 0–200classification: pii -
namesInLatinstring requiredИмена на латиница
length: 0–200classification: pii -
familyNamestring requiredФамилия / Family name
length: 0–100classification: pii -
otherNamesstring requiredДруги имена / Other name/s
length: 0–150classification: pii -
addressstring requiredАдрес (област, община, населено място, бул./ул., номер, вход, етаж, апартамент)
length: 0–300classification: pii -
sexenum requiredПол / Sex
enum: male | female -
otherNationalitystring optionalOnly completed when the applicant holds a nationality in addition to Bulgarian, per the field's "Друго" (Other/additional) label.
length: 0–100classification: pii -
citizenshipDecreeNumberstring optionalThe number of the presidential decree under which Bulgarian citizenship was granted, where applicable, per the form's own printed "Указ / Decree" field alongside otherNationality.
length: 0–50 -
phonestring optionalТелефон за връзка / Phone
length: 0–30classification: pii -
emailstring optionalPer the form's own printed note, an applicant who provides an email address is notified when the finished document is ready and before the document's validity period expires.
length: 0–254classification: pii -
placeOfReceivingstring requiredМясто на връчване / Place of receiving
length: 0–200 -
authorizedPersonNamestring optionalOnly completed if the requested document will be collected by an authorized person (proxy) rather than the applicant themselves, per the form's own printed instruction; the form prints no explicit boolean gate tying this block to a specific condition, so it is modeled as unconditionally optional rather than an invented requiredWhen gate.
length: 0–200classification: pii -
authorizedPersonNationalIdstring optionalThe authorized person's (proxy's) EGN. Only completed together with authorizedPersonName.
patternclassification: sensitive-pii -
authorizedPersonDocumentTypestring optionalThe type of identity document the authorized person (proxy) will present, e.g. a Bulgarian ID card or foreign passport. Only completed together with authorizedPersonName.
length: 0–100 -
authorizationDatedate optionalThe date of the proxy authorization, printed alongside the authorized person's document-type field. Only completed together with authorizedPersonName.
-
authorizedPersonDocumentNumberstring optionalThe number of the authorized person's (proxy's) identity document. Only completed together with authorizedPersonName.
length: 0–50 -
authorizedPersonDocumentIssueDatedate optionalThe issue date of the authorized person's (proxy's) identity document, issued by MVR. Only completed together with authorizedPersonName.
-
authorizationSignaturestring optionalThe applicant's name, standing in for a physical signature, authorizing the named person (proxy) to collect the finished document. Only completed together with authorizedPersonName.
classification: pii -
categoriesToDeclinestring optionalThe driving-licence category or categories the applicant is voluntarily renouncing, if any, per the form's own printed "Fill in categories which you would like to decline to" instruction. Only completed when applicable.
length: 0–200 -
idCardNumberstring optionalThe identity document presented at submission by a Bulgarian-citizen applicant (or their proxy). The form prints this and residencePermitNumber as separate lines with no explicit checkbox distinguishing which applies; typically only one of the two is completed, per the submitter's identity-document status.
length: 0–30classification: sensitive-pii -
residencePermitNumberstring optionalThe residence-permit number presented at submission by a foreign-national applicant (or their proxy) without a Bulgarian ID card. Alternative to idCardNumber.
length: 0–30classification: sensitive-pii -
residencePermitIssueDatedate optionalThe issue date of the residence permit named in residencePermitNumber, issued by MVR.
-
submissionDatedate requiredДата на подаване
-
applicantSignaturestring requiredThe applicant's (or submitting proxy's) name, standing in for a physical signature, per this registry's established convention for paper-form signature blocks.
classification: pii -
submitterNamestring requiredThe printed name of the person appearing in person to submit the application and the accompanying truthfulness declaration — either the applicant or, if designated above, their authorized proxy.
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-2853 (child of GOV-2851, "GovSchema Standard Research"). This schema opens Bulgaria's DMV vertical (3 of 6), following Taxes (two schemas, GOV-2821) and Visa (bg/mvnr/zayavlenie-za-izdavane-na-natsionalna-viza-tip-d, GOV-2830).
Provenance of this candidate
This candidate was pre-scouted, screened, and confirmed genuine during the prior GOV-2837 cycle (which authored Romania's Visa vertical instead and left this Bulgaria DMV candidate as an explicit, well-sourced, ready-to-author backlog item — see CATALOG.md's GOV-2837 correction to GOV-2830's earlier, too-broad "Bulgaria DMV is a dead end" claim). That prior screening established: MVR's "Бланки и образци" (Forms and specimens) static-forms page links this specimen directly and unauthenticated, HTTP 200, application/pdf, 382,212 bytes, a genuine text-layer (non-scanned) static specimen — a different MVR (Ministry of Interior) form from the already-confirmed vehicle-registration dead end (GOV-2830: that page states the application "is generated by MVR's information system" with no independently-fillable blank ever published; this driving-licence specimen, by contrast, is a genuine downloadable blank template).
This cycle independently re-fetched, re-derived, and re-verified all of the above from scratch rather than trusting the prior cycle's numbers.
Source verification (independently re-fetched this cycle)
- Forms-and-specimens page:
https://mvr.bg/dbds/%D0%B4%D0%B5%D0%B9%D0%BD%D0%BE%D1%81%D1%82%D0%B8/%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE-%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B2%D0%B0%D0%BD%D0%B5/blanki("Бланки и образци," under MVR's Дирекция "Български документи за самоличност" / DBDS section) — HTTP 200, fetched fresh this cycle with a browser-likeUser-Agent. The page lists, among many identity-document specimens, a direct link titled "Заявление за издаване на свидетелство за управление на моторно превозно средство - образец" pointing at this schema's ownsource.url. (DBDS is the Identity Documents directorate that hosts this static-forms page; MVR's driving-licence issuing authority is the Ministry as a whole, per the form's own footer, soauthority.nameis kept at the ministry level, consistent with how this registry attributes other nationally-uniform forms hosted on a sub-unit's own page — e.g.ro/dgpci's county-Prefecture-hosted-but-nationally-attributed precedent.) - Fetched file:
https://mvr.bg/upload/301782/%D0%B7%D0%B0%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20%E2%84%96%202a%20%D0%A1%D0%A3%D0%9C%D0%9F%D0%A1.pdf(this schema'ssource.url).- HTTP 200,
Content-Type: application/pdf, 382,212 bytes — matches both the prior cycle's own byte count and the response's ownContent-Disposition: ...; size=382212header, byte for byte. sha256:e633ee22c10e650186b69b5c2278a51c02eb8fb7c413fee875c724066cec9576, confirmed byte-identical across two independent fetch methods (curlandwget, both against the livemvr.bgorigin — no Wayback fallback was needed this cycle since the live source fetched cleanly).Last-Modified: Tue, 14 Jul 2026 04:03:58 GMT(this response header reflects the fetch time itself, per Cloudflare'scache-control: privatehandling of this endpoint — not a meaningful document-revision date).- 1 page. Confirmed via
pdfjs-dist@3(legacy build, Node.js):doc.numPages === 1. Zero AcroFormWidgetannotations (getAnnotations()returns an empty array) — a genuine flat text-layer specimen, not an AcroForm and not a scanned image (every label, checkbox glyph, and dotted blank-line extracts as discrete, positioned text items). - The full page was rendered to PNG at 2.5x scale via
pdfjs-dist+node-canvas(withstandardFontDataUrlsupplied) and visually cross-checked, in cropped sections, against the text-layer transcript. This confirmed: the exact reading order and cell boundaries of every field (several labels/blanks are ordered ambiguously by raw y-coordinate alone, e.g. the "Вярно/Невярно" checkbox pairs sit only 1-3pt above their associated blank line in several cells); that "Вх. номер" and "До" carry no printed blank/dotted entry line, unlike every other applicant-facing field (supporting their exclusion); and that the "от МВР" caption completes a fixed sentence ("... issued by MVR") rather than introducing its own blank.
- 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. No AcroForm widget correlation applies (zero Widget annotations on this source) — field boundaries were read directly off the printed labels and blank/dotted lines, cross-checked against a full-page render at 2.5x scale (cropped into header/mid/bottom sections for close reading) to resolve reading order and cell groupings that raw y-coordinate sorting alone left ambiguous.
Field derivation, by form section
- Header. "Вх. номер" (incoming/office reference number) and "До" (addressee) — both excluded (office-intake, no printed blank/dotted entry line, unlike every other field on the page). "Вид на услугата" (service type): three checkboxes — обикновена/бърза/ускорена (standard/fast/ expedited) — modeled as a required
enum. - Personal-data section. The applicant's national ID number (ЕГН/ЛНЧ/ЛН, printed as a 10-box grid); date of birth; place of birth; full name in Cyrillic script (one line); full name in Latin/Roman transliteration (one line); family name and other/given names (a second, separately-labelled breakdown of the same name data, matching how a Bulgarian driving licence itself prints family name and given name(s) as separate MRZ-style fields — modeled as two additional fields rather than collapsed into the two full-name lines above, since the source prints all four as distinct blanks); address; sex (М/Ж checkboxes, modeled as a required enum); other nationality (for applicants holding a second nationality); a naturalization decree number ("Указ / Decree," for applicants who acquired Bulgarian citizenship by presidential decree); phone; email (the form's own printed note: an applicant who supplies an email is notified when the document is ready and before its validity expires); and the office where the finished licence should be collected ("Място на връчване / Place of receiving"). Six "Вярно/Невярно" (True/False) checkbox pairs are printed adjacent to the national-ID, date-of-birth, place-of-birth, Cyrillic-name, Latin-name, and address fields respectively (re-confirmed by direct count against the rendered page — the prior cycle's own draft undercounted this at five; independently re-verified at six by both the raw text-extraction
ypositions and the visual render). The form's own explanatory paragraph ties these to a system-assisted, in-person counter workflow — "the application contains automatically filled current civil-status data from NBD 'Population' / via NAIF 'НРБЛД,' as well as a photo and signature from the last-issued Bulgarian personal document" — a different pathway from the plain paper-form completion this schema models (an agent filling in the blank specimen from scratch has no pre-filled registry data on this form to confirm or dispute). These six checkboxes are therefore treated as out of scope for this v1.0.0 rather than modeled asfields[]entries; see "Scoping and modeling judgment calls" below. - "Данни за упълномощено лице" (authorized-person/proxy) block. The form's own instruction: "fill in only if the requested identity document(s) will be received by an authorized person." No printed boolean gate ties this block to an explicit condition, so all six of its fields (name, EGN, document type, authorization date, document number, and the applicant's own signature authorizing the proxy) are modeled as unconditionally optional rather than an invented
requiredWhengate, consistent with this registry's established convention for "fill in only if applicable" instructions with no explicit checkbox (e.g.bg/mvnr'sguardianDetailsprecedent). - Category-decline declaration. "Декларирам, че се отказвам от придобита/и категория/и за правоуправление на МПС" (I declare that I renounce acquired driving-licence category/ies) — a free-text field for the category code(s) to decline, completed only when applicable.
- Submission section. The identity document presented at submission — a Bulgarian ID-card number for a citizen applicant, or a residence-permit number plus its issue date for a foreign-national applicant without a Bulgarian ID card (the source prints both as parallel blanks with no explicit toggle distinguishing which applies, so both are modeled as independently optional); the submission date; the applicant's (or submitting proxy's) printed name (preceding the identity-document row, tied to the form's own criminal-liability declaration under Art. 313 of the Penal Code); and the final applicant/proxy signature line.
- Excluded as office-only. "Имена на служителя, приел заявлението" / "Подпис на служителя" (the name/signature of the employee who received the application) — the form's own final row, consistent with this registry's established office-only-content exclusion convention (e.g.
rs/mup,rs/mfa,ro/dgpci).
29 fields[] entries in total, plus 3 documents[] entries: the applicant photograph ("Снимка 3,5/4,5," a 3.5×4.5cm photo box), a signature specimen box (printed in the left margin, aligned with the place-of-birth row — this is a physical signature specimen reproduced on the issued licence itself, distinct from the typed-name applicantSignature/authorizationSignature attestation fields), and the form's own printed criminal-liability truthfulness declaration under Art. 313 of the Penal Code.
Scoping and modeling judgment calls
- The six "Вярно/Невярно" confirmation checkboxes are out of scope, not modeled as fields. See "Field derivation" above. This is a judgment call, not a certainty: the form's own text does not explicitly label these boxes "for official use only" the way this registry's other office-only columns are labelled (e.g.
bg/mvnr's "Попълва се служебно" column,ro/dgpci's "Caseta A"). The disclosure here is deliberately explicit about that ambiguity: the reasoning for exclusion is that these checkboxes presuppose a system-assisted counter workflow (pre-filled civil-registry data to confirm or dispute) that does not arise when independently filling in this blank specimen from scratch with fresh data, not a claim that they are unambiguously staff-only. - "Вх. номер" and "До" excluded. Neither carries a printed blank/dotted entry line on the specimen, unlike every other applicant-facing field on the page — supporting treating both as office-intake/routing content rather than applicant-fillable fields, though (as with the confirmation checkboxes above) this is a disclosed judgment call rather than an explicit "office use only" label on the source.
- Cyrillic/Latin full-name lines modeled alongside separate family-name/other-names fields. The source prints all four as distinct blanks (two combined full-name lines, then a separate family-name/ given-name(s) breakdown) rather than one superseding the other; both are modeled rather than assuming redundancy, since a Bulgarian driving licence itself prints family name and given name(s) separately (mirroring how this registry already separates surname/given-names fields on passport and visa schemas even when a combined name line also exists elsewhere on the same source).
- Authorized-person (proxy) block fully optional, no invented gate. See "Field derivation" above.
idCardNumber/residencePermitNumberboth optional, no invented mutual-exclusivity gate. The source prints no checkbox distinguishing which identity-document type applies; modeling one asrequiredWhenthe other is absent would require gating on field absence, which this registry's own established practice avoids (see thenotEqualsempty-string/absent-field gotcha already documented for this repo).serviceType/sexmodeled asenum, matching this registry's established convention for a small, closed, mutually-exclusive printed checkbox set (e.g.bg/mvnr'stravelDocumentType/maritalStatus).- No
editionaxis. A standing application form, not a dated annual filing. process.typeisapplication, matching this registry's convention for first-issuance application forms.
Conformance run
No PDF/AcroForm widget-count cross-check applies (zero fillable Widget annotations on this source — confirmed above). In its place, two hand-authored mock instances were built and checked against schema.json's own required/requiredWhen/validation.enum/validation.maxLength/ validation.pattern grammar with a disposable, from-scratch Python checker (not committed, per this registry's established practice of not committing one-off verification scripts):
single-applicant-basic— a Bulgarian-citizen applicant, standard service tier, no proxy, no category declines, no second nationality. 17 of 29 fields populated. PASS.proxy-collection-with-declines— the same applicant additionally exercising the full authorized-person (proxy) block, declining two categories (C1, C1E), and declaring a second nationality plus a naturalization-decree number. 27 of 29 fields populated. PASS.
Three mutation-control checks confirmed the checker actually enforces the grammar rather than passing vacuously: dropping nationalId from the first instance (unconditionally required — correctly flagged missing); setting sex to an out-of-enum value (correctly flagged as an enum violation); and dropping submissionDate (unconditionally required — correctly flagged missing). Each mutation raised exactly its one expected error.
``` $ node tools/validate.mjs registry/bg/mvr/zayavlenie-za-izdavane-na-svidetelstvo-za-upravlenie-na-mps/1.0.0/schema.json ok registry/bg/mvr/zayavlenie-za-izdavane-na-svidetelstvo-za-upravlenie-na-mps/1.0.0/schema.json 1/1 document(s) passed.
$ node tools/validate-ajv.mjs registry/bg/mvr/zayavlenie-za-izdavane-na-svidetelstvo-za-upravlenie-na-mps/1.0.0/schema.json ok registry/bg/mvr/zayavlenie-za-izdavane-na-svidetelstvo-za-upravlenie-na-mps/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), so this cycle's own extraction tooling never touched tools/'s committed dependency set.
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.
Recovery note
A prior agent session's worktree for this same issue (GOV-2853) was found to already contain a substantially-complete draft of this exact schema — same source URL, same field structure, same 29/3 field/document counts — that had never been committed (an infra-crash artifact, per this repo's own established EnterWorktree/crash-recovery precedent). That draft was used as the starting point for this cycle's schema.json rather than re-authored from a blank slate, but every sourcing claim in it was independently re-verified from scratch this cycle (fresh fetch via two methods, fresh sha256, fresh pdfjs-dist extraction and page render), and one genuine defect was found and fixed in the process: the draft's own description undercounted the "Вярно/Невярно" checkbox pairs at five where a direct re-count (both from raw text-extraction y-positions and the rendered page) confirms six.
Scope and jurisdiction notes
- Opens Bulgaria's DMV vertical (3 of 6): Taxes (two schemas, GOV-2821), Visa (GOV-2830), DMV (this schema). Passport and National ID & Civic Documents remain open, unscreened Bulgaria backlog (National ID was spot-checked weak for the ID-card application specifically in GOV-2821; Passport is unscreened).
jurisdiction.levelisnational— MVR is Bulgaria's national Ministry of Interior and sole driving-licence-issuing authority.process.typeisapplication, matching this registry's convention for first-issuance application forms.process.languageisbg: the modeled edition is the bilingual Bulgarian/English specimen (English appears throughout as a secondary in-line gloss on most labels, but the form itself is not published as a separate English-language edition).
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 has not been superseded by a newer edition (this specimen's own numbering, "Приложение № 2а," suggests it is one annex among several in MVR's underlying regulation — a future review could confirm whether that regulation has been amended); (2) whether Bulgaria's Passport vertical has a genuine, unauthenticated, first-party source (unscreened this cycle); and (3) re-attempting a targeted, browser-rendered fetch of the Registry Agency's Business-Formation template portal (portal.registryagency.bg, confirmed JavaScript-gated in GOV-2830) now that a driving-licence-specific False lead has been resolved.
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.