Registry entry

North Macedonia Driving Licence Application (Барање за издавање на возачка дозвола)

The Ministry of Internal Affairs's (Министерство за внатрешни работи, МВР) universal request form for driving-licence transactions, БАРАЊЕ ЗА ИЗДАВАЊЕ НА ВОЗАЧКА ДОЗВОЛА (Прилог бр. 2). One form covers eleven distinct procedures selected via a single reason code: first-time issuance, exchange of a foreign licence, replacement on expiry, replacement on loss/wear/damage, replacement on name change, replacement on new-category certification, replacement on residence change, duplicate issuance, replacement to record health-related restrictions, replacement to record a driving ban, and validity extension per a registered temporary residence. Advances North Macedonia's DMV vertical (1 of 6, opening it). The source is a genuine, unauthenticated, print-and-fill PDF distributed directly from the Ministry's own linked document host (portal.mdt.gov.mk, the Ministry of Digital Transformation's shared document CMS), confirmed via both a raw byte scan and independent pdfjs-dist text-layer extraction; the underlying font's ToUnicode/CID mapping is broken (garbled raw text), so every field and label on this schema was independently re-derived via glyph x/y coordinate-correlation against a rendered image of the source PDF, not raw text extraction (see VERIFICATION.md). This v1.0.0 models the single-select procedure-reason code (Part 1), the applicant's Macedonian-script name, the optional name-transliteration-language checkboxes (Part 2), the applicant's personal registration number, date/place of birth, and registered residence/address (Part 2), the regular-vs-urgent procedure choice (Part 3), the previous-licence reference fields completed by the receiving official (Part 4), the required-attachment checklist with its per-procedure conditional requirements (Part 5), the applicant's consent attestation authorizing the Ministry to obtain ex-officio-marked attachments (Part 6), and the closing filing date/place, contact-details, and signature fields. GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of the Republic of North Macedonia or the Ministry of Internal Affairs.

Registry entry

mk/mvr/baranje-za-izdavanje-na-vozacka-dozvola

Jurisdiction
North Macedonia · national
Version
1.0.0
Verification
draft

Authoritative source Прилог бр. 2 — Барање за издавање на возачка дозвола, linked from mvr.gov.mk's "Граѓански постапки" service page, section 1.3

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

23 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

  • procedureReason enum required

    The single procedure this filing requests, selected from the form's own numbered list (Part 1, '(се избира постапката на која се однесува барањето)' — 'the procedure to which the request refers is selected'). The printed list carries no checkbox glyphs next to its 11 entries; the applicant indicates the applicable one by marking/circling its number. Codes and their meaning: '1.1' = issuance of a driving licence for the first time; '1.2' = exchange of a foreign for a Macedonian driving licence; '1.3' = replacement due to expiry of the validity period; '1.4' = replacement due to loss, wear, or damage; '1.5' = replacement due to change of the driver's personal name; '1.6' = replacement due to certification of a new category; '1.7' = replacement due to change of the driver's residence; '1.8' = issuance of a duplicate driving licence; '1.9' = replacement due to recording health-related restrictions; '1.10' = replacement due to recording a ban on driving a motor vehicle; '1.11' = extension of validity per a registered temporary residence, upon prior notice of the place of filing.

    enum: 11 values
  • applicantFirstName string required

    The applicant's given name, written in the Macedonian language/script per the form's own annotation.

    classification: pii
  • applicantLastName string required

    The applicant's surname, written in the Macedonian language/script per the form's own annotation.

    classification: pii
  • nameInTurkish boolean

    Whether the applicant requests their personal name also be printed on the driving licence in Turkish language and script. One of five independent (non-exclusive) checkbox options under 'Барам моето лично име во возачката дозвола да биде испишано и на:' ('I request my personal name in the driving licence also be written in:') — an applicant may select more than one.

  • nameInVlach boolean

    Whether the applicant requests their personal name also be printed on the driving licence in Vlach (Aromanian) language and script. See nameInTurkish for the shared instruction text.

  • nameInSerbian boolean

    Whether the applicant requests their personal name also be printed on the driving licence in Serbian language and script. See nameInTurkish for the shared instruction text.

  • nameInRomani boolean

    Whether the applicant requests their personal name also be printed on the driving licence in Romani language and script. See nameInTurkish for the shared instruction text.

  • nameInBosnian boolean

    Whether the applicant requests their personal name also be printed on the driving licence in Bosnian language and script. See nameInTurkish for the shared instruction text.

  • personalIdNumber string required

    The applicant's unique master citizen number (ЕМБГ), a 13-digit identifier in the same format used across former-Yugoslav jurisdictions.

    patternclassification: sensitive-pii
  • dateOfBirth date required

    The applicant's date of birth.

    classification: pii
  • placeOfBirth string required

    The applicant's place of birth.

    classification: pii
  • residenceLocality string required

    The settlement/municipality of the applicant's registered permanent residence (живеалиште) or temporary residence (престојувалиште). Printed as a single labelled cell alongside a separate 'Место/Адреса' cell (see residenceAddress); the source does not further subdivide either cell's expected content beyond its own header, so both are transcribed literally as the two distinct blanks the printed table provides (disclosed judgment call, see VERIFICATION.md).

    classification: pii
  • residenceAddress string required

    The place and street address of the applicant's residence entered in residenceLocality. See residenceLocality for the disclosed cell-boundary judgment call.

    classification: pii
  • isRegularProcedure boolean

    Whether the applicant requests the driving licence be issued via the regular (non-expedited) procedure. One of two mutually exclusive printed checkbox options; see exclusivityGroups. Modelled as an independent boolean, not an enum, since the source form implements the two options as separate checkbox widgets rather than one radio-button group, following this registry's established convention (see si/ajpes/prijava-za-vpis-v-poslovni-register-sole-proprietor precedent).

  • isUrgentProcedure boolean

    Whether the applicant requests the driving licence be issued via the urgent (expedited) procedure. See isRegularProcedure for the shared modelling rationale.

  • previousLicenceNumber string

    The applicant's previous driving licence number, when this filing replaces, renews, or duplicates an existing licence. Per the form's own instructions (УПАТСТВО ЗА ПОПОЛНУВАЊЕ..., final page), Part 4's data is completed by the receiving official, not the applicant.

  • previousLicenceIssuingAuthority string

    The authority that issued the applicant's previous driving licence referenced in previousLicenceNumber. Completed by the receiving official, not the applicant — see previousLicenceNumber.

  • filingDate date

    The date this request is filed.

  • filingPlace string

    The place (municipality/office) where this request is filed.

  • contactDetails string

    The applicant's chosen contact channel (phone number or email address) for the Ministry to reach them about this filing, per the form's own instructions: the applicant chooses how the Ministry may contact them (by phone or electronically) and states the chosen channel here.

    classification: pii
  • applicantSignature string

    The applicant's signature.

  • receivingOfficialSignature string

    The signature of the authorized official who received this request.

  • consentToExOfficioDataUse boolean

    The applicant's consent for their personal data to be used by the competent authorities to obtain, on the Ministry's own initiative, every attachment in the Part 5 checklist marked with an asterisk (*) — see documents[] entries with handling 'obtained-ex-officio-by-ministry'.

Verification record

This file is the source-review record for this document version, per the manual-source-review-v1 practice. It documents the provenance of the published fields and states the current verification claim honestly.

Current claim

  • status: draft
  • verification.method: manual-source-review-v1
  • verification.lastVerifiedAt: 2026-07-14

This is a GovSchema Standard Research cycle (GOV-2940, following the GOV-2937 research cycle that pre-verified this candidate). North Macedonia already exists in the registry as of this cycle's start (opened at 54th jurisdiction by GOV-2919, via Taxes) with one schema. This document advances North Macedonia's DMV vertical (1 of 6, opening it).

Why this candidate

The Ministry of Internal Affairs (МВР) links this form directly and unauthenticated from its own public "Граѓански постапки" (Civil Procedures) service page, under the driving-licence-issuance section. It is served from portal.mdt.gov.mk, the Ministry of Digital Transformation's shared document CMS used across multiple MK ministries — a first-party government host, not a third-party aggregator. No login/CAPTCHA/eID wall stands between the service page and the PDF.

Sources examined

Source 1 (primary source, the form)
  • Authority: Министерство за внатрешни работи (МВР, Ministry of Internal Affairs).
  • URL: https://portal.mdt.gov.mk/post-documents/gragjanski-postapki-document-Ddz8.pdf
  • Retrieved / reviewed: 2026-07-14, independently re-fetched this cycle with curl from scratch (not trusted from the issue's own cited hash).
  • HTTP status: 200. Content-Type: application/pdf. Size: 1,716,897 bytes. sha256: 6cc5484a461065ea5a4c20d9960ef7ca125019429ac14bf7596d3ee3f9bf471a (independently computed this cycle with sha256sum) — matches the GOV-2937 candidate-verification cycle's own independently-derived size exactly, a second independent confirmation that the source is stable and unchanged.
  • Mirror check: the issue also flagged a near-identical mirror at ...-document-P4TM.pdf. Independently re-fetched: 1,716,896 bytes, sha256 6e1bda6999aac677aa64f65659d7e8ccfc128be87dfbed056fa0fa409b8372e5. cmp against the Ddz8 copy shows the two are byte-identical up to the point the shorter file ends — the P4TM mirror is the same edition, truncated by exactly one trailing byte, not a distinct form. Ddz8 (the copy actually linked from mvr.gov.mk's own service page) is treated as canonical; P4TM is not independently cited.
  • Extraction method: pdfjs-dist (legacy/build/pdf.js) confirms 2 pages, doc.getFieldObjects() returns 0 entries, and page.getAnnotations() returns 0 Widget annotations on either page — a genuine print-and-fill form, no AcroForm. page.getTextContent() returns a real, dense text layer (~2,600 characters/page), but the embedded font's ToUnicode/CID mapping is broken: the extracted strings do not decode to the actual Cyrillic content (the same gotcha disclosed on this cycle's passport sibling, GOV-2937/GOV-2939). Raw text extraction was therefore unusable for field labels. Instead, both pages were rendered to PNG at 3x scale via node-canvas + pdfjs-dist's page.render(), and every field/label/instruction in this schema was read directly off the rendered image, with the text layer's glyph x/y coordinates used only to confirm row/column/table-boundary structure (never as a source of character content).
  • What it confirms: every field this document models, verbatim, transcribed from the rendered page images: the 11-way procedure-reason list (Part 1), the applicant identity/residence block and its five independent name-transliteration-language checkboxes (Part 2), the regular/urgent procedure choice (Part 3), the previous-licence reference block (Part 4), the 12-item required-attachment checklist (Part 5), the ex-officio-data-use consent checkbox (Part 6), and the closing filing date/place, contact-details, and signature lines, plus the form's own "УПАТСТВО ЗА ПОПОЛНУВАЊЕ" (filling instructions) at the foot of page 2.
Source 2 (service page, context only)
  • URL: https://mvr.gov.mk/mk-MK/uslugi/gragjanski-postapki
  • Fetched this cycle to check for a citable legal basis (law/rulebook name or number) for this procedure. None is stated on the page — it lists required documents and fees per sub-procedure but no statute reference. The PDF itself likewise carries no footer/footnote statute citation (contrast with mk/ujp/danochna-prijava-na-danokot-na-dodadena-vrednost, whose form footer cites the Official Gazette issue and article numbers directly). Accordingly, authority.operatedBy is omitted from this document rather than asserting an unconfirmed citation, following the precedent set by bg/mvr/zayavlenie-za-izdavane-na-svidetelstvo-za-upravlenie-na-mps (a sibling MVR driving-licence schema with the same gap).

Corrections to the GOV-2937 scouting note

Independent re-verification found two inaccuracies in the GOV-2940 issue's own scouting-cycle description of the form content, both corrected in this schema rather than carried forward:

  1. Sub-procedure list. The issue described the form as covering "first licence (1.1), moped (1.2), new category (1.3), replacement-worn (1.4), replacement-expired (1.5), foreign-exchange (1.6), duplicate (1.7)" — a 7-item list. The rendered page 1 actually shows an 11-item list (1.1-1.11) with different content throughout: 1.2 is foreign-to-Macedonian exchange (not moped), 1.3 is expiry-replacement (not new category), and so on — see procedureReason's description for the full, independently re-read list. The scouting note's guess was not usable as a basis for authoring and was fully discarded in favor of this cycle's own reading.
  2. Transliteration languages. The issue described the name-transliteration checkboxes as "Turkish/Albanian/Serbian/Romani/Bosnian." The rendered page 1 actually shows Turkish/Vlach/Serbian/Romani/Bosnian — item 2 is "Влашки јазик и писмо" (Vlach/Aromanian), not Albanian (which would read "албански" and looks nothing like "влашки" even under the source's broken text encoding). Modelled as nameInVlach, not an Albanian field.

The issue's core sourcing claims (URL, HTTP 200, PDF magic bytes, file size, 0 AcroForm widgets, garbled text layer) were all independently reconfirmed and are accurate.

Disclosed judgment calls

  • residenceLocality / residenceAddress cell boundary. Part 2's bottom row prints two column headers, "Живеалиште/Престојувалиште" and "Место/Адреса," each followed by a tall blank cell with no further sub-labelling. The precise intended semantic split between the two cells (e.g. "registered municipality" vs. "street address," or a single address split arbitrarily across two writing areas) is not fully disambiguated by the source's own layout. Modelled literally as two distinct string fields, one per printed header, rather than merged into one field or guessed apart further.
  • existingDrivingLicence document's 1.4 exception. Part 5 item 3 requires the existing licence for procedures "1.2., 1.3., 1.4. (освен при губење на возачка дозвола), 1.5., 1.6., 1.8. и 1.9." — i.e. 1.4 EXCEPT when the reason for that 1.4 filing specifically is loss (not wear or damage). Procedure 1.4 itself ("ЗАМЕНА ... ПОРАДИ ГУБЕЊЕ, ДОТРАЕНОСТ ИЛИ ОШТЕТЕНОСТ") bundles loss/wear/damage into one procedureReason code with no sub-field distinguishing which of the three applies, so this exception cannot be expressed as a machine-checkable requiredWhen at this schema's field granularity. Disclosed on the document entry's sourceRef rather than silently dropped or silently over-included.
  • medicalFitnessCertificate / proofOfForeignLicenceVehicleCategories conditions. Both documents' printed trigger conditions (age ≥ 75; a specific set of licence categories; validity restrictions; an unclear foreign-licence text) depend on data this form does not itself collect as a field (age, requested/held vehicle category). Left as plain optional documents without a requiredWhen, with the condition documented in each entry's sourceRef for a consuming agent to apply out-of-band.
  • consentToExOfficioDataUse requiredness. The source form does not mark this checkbox as unconditionally mandatory in the printed text, so it is modelled as a plain optional boolean rather than required: true, even though several ex-officio-marked documents[] entries reference it functionally.
  • No authority.operatedBy/legal-basis citation — see Source 2 above.

Field inventory

  • Fields: 21 (fields[]), covering Parts 1, 2, 3, 4, 6, and the closing block.
  • Documents: 12 (documents[]), covering Part 5's full attachment checklist, including the two conditionally-required and one always-required categories, three ex-officio-obtained (*) entries, and the free-text catch-all.
  • Exclusivity groups: 1 (procedureUrgencyChoice, over isRegularProcedure/isUrgentProcedure).

Conformance testing

Six fixtures under conformance/mk/mvr/baranje-za-izdavanje-na-vozacka-dozvola/1.0.0/ were checked against this schema's required/requiredWhen/validation/ exclusivityGroups rules with a throwaway local evaluator (not committed — ad hoc, per this registry's established mock-conformance-testing practice):

  • valid-first-time-issuance.json — procedure 1.1, regular processing: no rule violations.
  • valid-foreign-licence-exchange-urgent.json — procedure 1.2, urgent processing, two transliteration-language checkboxes set: no rule violations.
  • mutation-control-missing-applicant-first-name.json — omits the required applicantFirstName: correctly flagged missing.
  • mutation-control-invalid-procedure-reason-enum.json — sets procedureReason to "1.12", outside the 11-value enum: correctly flagged.
  • mutation-control-invalid-personal-id-number-pattern.json — sets personalIdNumber to a 5-digit value against the 13-digit pattern: correctly flagged.
  • mutation-control-both-procedure-urgency-checkboxes.json — sets both isRegularProcedure and isUrgentProcedure to true: correctly flagged by the procedureUrgencyChoice exclusivity group.

All six behaved as expected. This document is authored at structural-reference maturity: the form's own printed structure is fully transcribed and machine-checkable where the source data permits, but no live MVR submission was attempted.

Meta-schema validation

``` $ node tools/validate-ajv.mjs registry/mk/mvr/baranje-za-izdavanje-na-vozacka-dozvola/1.0.0/schema.json ok registry/mk/mvr/baranje-za-izdavanje-na-vozacka-dozvola/1.0.0/schema.json [v0.3]

1/1 document(s) validated against the meta-schema (ajv 2020-12). ```

View the raw record (VERIFICATION.md)

Version history

  • 1.0.0 draft latest this page has verification record schema.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.