{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "pe/mtc/solicitud-licencia-conducir-012-17",
  "version": "1.0.0",
  "title": "Peru Driver's Licence Application (Formulario 012/17.03)",
  "description": "Apply for, renew, upgrade the category of, or request a duplicate of a Peruvian Clase A driver's licence through the Ministerio de Transportes y Comunicaciones' (MTC) Dirección de Circulación Vial (DCV), using Formulario 012/17.03, \"Solicitud - Licencias de Conducir.\" Opens Peru's DMV vertical (3 of 6), following the Visa and Business Formation verticals opened by `pe/cancilleria/solicitud-visa-dgc-005` and `pe/sunat/solicitud-inscripcion-ruc-persona-natural`. Covers Rubro I (Datos del Solicitante: identity, address, contact, licence-issuance format), Rubro III (Procedimiento a Solicitar: which administrative procedure and licence category is being requested), Rubro IV (Entidades Complementarias: the health establishment, driving school, and knowledge/skills evaluation records the Sistema Nacional de Conductores cross-checks), and Rubro V (Pago por Derecho de Trámite: processing-fee payment proof). Scoped to the nine procedure codes most relevant to an individual citizen obtaining, renewing, upgrading, or replacing their own Clase A licence (DCV-037 Expedición Categoría I, DCV-038 Revalidación Categoría I, DCV-039 through DCV-043 Recategorización to IIa/IIb/IIIa/IIIb/IIIc, DCV-044 Revalidación Categorías II/III, and S-DCV-001 Duplicado); the military/police, diplomatic, refugee/asylum, foreign-licence, MATPEL hazardous-materials-endorsement, and information-correction procedure codes are out of scope — see VERIFICATION.md. Does not model Rubro II (Notificación, a prose prerequisite notice about the mandatory Sistema de Casillas Electrónicas, not an applicant-filled field), the \"Uso de Mesa de Partes\" office-assigned control numbers, Rubro VI/VII's declaración jurada oath text, or the physical signature/fingerprint marks captured on the printed form. This document does not submit an application; MTC (Ministerio de Transportes y Comunicaciones) is always authoritative.",
  "status": "draft",
  "jurisdiction": {
    "country": "PE",
    "level": "national"
  },
  "authority": {
    "name": "Ministerio de Transportes y Comunicaciones, Dirección de Circulación Vial",
    "abbreviation": "MTC-DCV",
    "url": "https://www.gob.pe/mtc"
  },
  "process": {
    "type": "application",
    "language": "es"
  },
  "source": {
    "url": "https://portal.mtc.gob.pe/servicios_tramite/plataforma/documentos/Formulario2022/DCV/PDF_F_012-17.03.pdf",
    "retrievedAt": "2026-07-12",
    "documentRef": "Formulario 012/17.03, \"Solicitud - Licencias de Conducir\""
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-12",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-12",
    "notes": "Opens Peru's DMV vertical (3 of 6). CATALOG.md's own 'Known Gaps' section (items 11-13, the GOV-2404/GOV-2419/GOV-2426 cycles) had named MTC's driver's-licence application as Peru's strongest pre-scouted DMV candidate but flagged it as never actually fetched or field-extracted. This cycle found the candidate is more layered than the prior notes suggested: the canonical host, `portal.mtc.gob.pe`, is unreachable from this environment (TCP connection to 200.62.243.23 times out — an infrastructure/network limitation, not a login gate or WAF challenge), so the live form was retrieved via a verified Wayback Machine capture (2026-06-28) whose SHA-1 content digest (`UE6SELZNJWXPDVKQS2SVPY6UKLGOUOWV`) is identical across every crawl from 2022-06-30 through 2025-06-28 in the CDX index, and independently corroborated current by a 2026-01-16 crawl of MTC's own TUPA (Texto Único de Procedimientos Administrativos) entry for procedure DCV-037, which cites 'Formulario PDF: 012/17.03' by name. A second, superseded revision (unversioned '012/17', no version suffix, missing the Rubro II Notificación/Sistema de Casillas Electrónicas section added by a 2019-era legal requirement) is separately mirrored on a `gob.pe` institutional page — the same superseded-circular pattern this registry caught in `vn/xuatnhapcanh/to-khai-cap-ho-chieu-pho-thong-trong-nuoc` (GOV-2404). Neither revision carries any AcroForm widget (`pdfjs-dist` `page.getAnnotations()` returns 0 widgets on every page of both); both are genuine, unauthenticated, text-layer PDFs, the same tier as this registry's `jp/houmukyoku` and `pe/sunat` precedents. This document models 012/17.03, scoped to the nine procedure codes (of ~20 total) most relevant to an individual obtaining, renewing, upgrading, or replacing their own Clase A driver's licence; the military/police, diplomatic, refugee/asylum, foreign-licence-exchange, MATPEL hazardous-materials-endorsement, and information-correction codes are disclosed as out of scope. See VERIFICATION.md for the full sourcing record, the checkbox-matrix reconstruction method, every disclosed judgment call, and the mock conformance test run."
  },
  "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-12"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "apellidosNombres",
      "label": "Apellidos y Nombres",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Full name of the applicant, as it appears on their identity document or corresponding partida registral.",
      "sourceRef": "Rubro I, Apellidos y Nombres"
    },
    {
      "name": "tipoDocumentoIdentidad",
      "label": "Documento de Identidad — Tipo",
      "type": "enum",
      "required": true,
      "description": "Identity document type. The printed form's own checkbox row renders one label as \"CI\" in this cycle's text-layer extraction, but the form's own companion instructions (Rubro I) define only DNI/TI/PTP/CE/CSR and do not define any \"CI\" acronym — this schema follows the instructions document's canonical list, treating the header-row rendering as a font-substitution artifact, a disclosed judgment call (see VERIFICATION.md).",
      "sourceRef": "Rubro I, Documento de Identidad (DNI/TI/CE/PTP/CSR checkbox row)",
      "validation": { "enum": ["DNI", "TI", "CE", "PTP", "CSR"] }
    },
    {
      "name": "numeroDocumentoIdentidad",
      "label": "Documento de Identidad — Número",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Identity document number, for the document type selected in tipoDocumentoIdentidad.",
      "sourceRef": "Rubro I, Documento de Identidad (DNI/TI/CE/PTP/CSR checkbox row)"
    },
    {
      "name": "direccion",
      "label": "Dirección",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Applicant's address, specifying Avenida/Calle/Jirón/Pasaje, street number, Departamento (unit), Manzana, Lote, or Urbanización as applicable, per the form's own general instruction 1.",
      "sourceRef": "Rubro I, Dirección; Instrucciones Generales 1"
    },
    {
      "name": "distrito",
      "label": "Distrito",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "District of the applicant's address.",
      "sourceRef": "Rubro I, Distrito"
    },
    {
      "name": "provincia",
      "label": "Provincia",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Province of the applicant's address.",
      "sourceRef": "Rubro I, Provincia"
    },
    {
      "name": "region",
      "label": "Región",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Region of the applicant's address.",
      "sourceRef": "Rubro I, Región"
    },
    {
      "name": "telefono",
      "label": "Teléfono Fijo / Celular",
      "type": "string",
      "classification": "pii",
      "description": "Landline or mobile phone number. Not marked as obligatory by the source, which asks for it only \"si considera conveniente para facilitar comunicaciones posteriores\" (if convenient, to ease later communications); the form's own general instruction 2 (\"Consignar teléfono celular\") nonetheless recommends a mobile number specifically.",
      "sourceRef": "Rubro I, Teléfono Fijo / Celular; Instrucciones Generales 2"
    },
    {
      "name": "correoElectronico",
      "label": "Correo Electrónico",
      "type": "string",
      "classification": "pii",
      "description": "Email address. Not marked as obligatory by the source, offered on the same convenience basis as telefono above.",
      "sourceRef": "Rubro I, Correo Electrónico",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "formatoLicencia",
      "label": "Licencia de Conducir de Clase A",
      "type": "enum",
      "required": true,
      "description": "Whether the Clase A licence being requested is issued as both a physical card and an electronic licence, or as an electronic licence only.",
      "sourceRef": "Rubro I, Licencia de Conducir de Clase A (Marcar con \"X\")",
      "validation": { "enum": ["ELECTRONICA_Y_FISICA", "ELECTRONICA"] }
    },
    {
      "name": "tipoTramite",
      "label": "Procedimiento a Solicitar",
      "type": "enum",
      "required": true,
      "description": "The single administrative procedure being requested, per the form's own Rubro III instruction to mark exactly one box (\"Marcar con un aspa 'X' una sola casilla\"). Scoped to the nine DCV codes most relevant to an individual obtaining, renewing, upgrading, or replacing their own Clase A licence. Out of scope: CANJE — MILITAR O POLICIAL (DCV 045), OBTENCIÓN/CANJE DIPLOMÁTICO (DCV 046/047), OBTENCIÓN/CANJE/REVALIDACIÓN — REFUGIADO O ASILADO (DCV 048/049/050), CANJE — OTORGADA EN OTRO PAÍS (DCV 051), AUTORIZACIÓN ESPECIAL/REVALIDACIÓN AUTORIZACIÓN MATPEL (DCV 052/053), and CANJE — MODIFICACIÓN DE LA INFORMACIÓN (S-DCV 002) — see VERIFICATION.md.",
      "sourceRef": "Rubro III, Procedimientos a Solicitar (Marcar con un aspa \"x\")",
      "validation": {
        "enum": [
          "EXPEDICION_A_I",
          "REVALIDACION_A_I",
          "RECATEGORIZACION_A_IIA",
          "RECATEGORIZACION_A_IIB",
          "RECATEGORIZACION_A_IIIA",
          "RECATEGORIZACION_A_IIIB",
          "RECATEGORIZACION_A_IIIC",
          "REVALIDACION_II_III",
          "DUPLICADO"
        ]
      }
    },
    {
      "name": "categoriaLicencia",
      "label": "Categoría",
      "type": "enum",
      "requiredWhen": { "field": "tipoTramite", "in": ["REVALIDACION_II_III", "DUPLICADO"] },
      "description": "Licence category, for the two selected procedures whose own printed checkbox row offers a choice of category rather than fixing one implicitly. Every other in-scope tipoTramite value fixes its own target category by definition (EXPEDICION_A_I/REVALIDACION_A_I are always Categoría I; each RECATEGORIZACION_A_* code names its own single target category), so categoriaLicencia does not apply to them.",
      "sourceRef": "Rubro III, category checkbox row (I / IIa / IIb / IIIa / IIIb / IIIc) beneath REVALIDACIÓN (DCV 044) and DUPLICADO (S-DCV 001)",
      "validation": { "enum": ["I", "IIA", "IIB", "IIIA", "IIIB", "IIIC"] }
    },
    {
      "name": "establecimientoSaludNombre",
      "label": "Establecimiento de Salud — Nombre/Razón Social",
      "type": "string",
      "description": "Name of the MTC-authorized health establishment that issued the applicant's medical/psychological fitness certificate. Not marked as obligatory on the printed form (Rubro IV's own instruction reads \"de ser el caso\", i.e. as applicable), though MTC's own TUPA entry for DCV-037 lists an approved, Sistema Nacional de Conductores-registered health certificate as a numbered requisito for that specific procedure — see VERIFICATION.md.",
      "sourceRef": "Rubro IV, Establecimiento de Salud, Nombre/Razón social"
    },
    {
      "name": "establecimientoSaludCertificado",
      "label": "Establecimiento de Salud — N° de Certificado",
      "type": "string",
      "description": "Certificate number issued by the health establishment above.",
      "sourceRef": "Rubro IV, Establecimiento de Salud, N° de certificado"
    },
    {
      "name": "establecimientoSaludFechaEmision",
      "label": "Establecimiento de Salud — Fecha de Emisión",
      "type": "date",
      "description": "Date the health certificate above was issued.",
      "sourceRef": "Rubro IV, Establecimiento de Salud, Fecha de emisión"
    },
    {
      "name": "escuelaConductoresNombre",
      "label": "Escuela de Conductores — Nombre/Razón Social",
      "type": "string",
      "description": "Name of the accredited driving school (Escuela de Conductores) the applicant attended, if applicable.",
      "sourceRef": "Rubro IV, Escuela de Conductores, Nombre/Razón social"
    },
    {
      "name": "escuelaConductoresCertificado",
      "label": "Escuela de Conductores — N° de Certificado",
      "type": "string",
      "description": "Certificate number issued by the driving school above.",
      "sourceRef": "Rubro IV, Escuela de Conductores, N° de certificado"
    },
    {
      "name": "escuelaConductoresFechaEmision",
      "label": "Escuela de Conductores — Fecha de Emisión",
      "type": "date",
      "description": "Date the driving-school certificate above was issued.",
      "sourceRef": "Rubro IV, Escuela de Conductores, Fecha de emisión"
    },
    {
      "name": "evaluacionConocimientosEntidad",
      "label": "Evaluación de Conocimientos — Nombre/Razón Social",
      "type": "string",
      "description": "Name of the entity that administered the applicant's knowledge (traffic-rules) evaluation.",
      "sourceRef": "Rubro IV, Evaluación de Conocimientos, Nombre/Razón social"
    },
    {
      "name": "evaluacionConocimientosNota",
      "label": "Evaluación de Conocimientos — Nota Aprobatoria",
      "type": "string",
      "description": "Passing score obtained on the knowledge evaluation.",
      "sourceRef": "Rubro IV, Evaluación de Conocimientos, Nota aprobatoria"
    },
    {
      "name": "evaluacionConocimientosFecha",
      "label": "Evaluación de Conocimientos — Fecha de Evaluación",
      "type": "date",
      "description": "Date the knowledge evaluation was taken.",
      "sourceRef": "Rubro IV, Evaluación de Conocimientos, Fecha de evaluación"
    },
    {
      "name": "evaluacionHabilidadesEntidad",
      "label": "Evaluación de Habilidades en la Conducción — Nombre/Razón Social",
      "type": "string",
      "description": "Name of the entity that administered the applicant's driving-skills evaluation.",
      "sourceRef": "Rubro IV, Evaluación de Habilidades en la Conducción, Nombre/Razón social"
    },
    {
      "name": "evaluacionHabilidadesNota",
      "label": "Evaluación de Habilidades en la Conducción — Nota Aprobatoria",
      "type": "string",
      "description": "Passing score obtained on the driving-skills evaluation.",
      "sourceRef": "Rubro IV, Evaluación de Habilidades en la Conducción, Nota aprobatoria"
    },
    {
      "name": "evaluacionHabilidadesFecha",
      "label": "Evaluación de Habilidades en la Conducción — Fecha de Evaluación",
      "type": "date",
      "description": "Date the driving-skills evaluation was taken.",
      "sourceRef": "Rubro IV, Evaluación de Habilidades en la Conducción, Fecha de evaluación"
    },
    {
      "name": "pagoNombreEntidad",
      "label": "Nombre de la Entidad",
      "type": "string",
      "description": "Name of the entity the processing fee was paid to. Per Rubro V's own instruction, payments are made at any Banco de la Nación service point or through its payment gateway.",
      "sourceRef": "Rubro V, Nombre de la Entidad"
    },
    {
      "name": "pagoNumeroRecibo",
      "label": "N° de Recibo",
      "type": "string",
      "description": "Payment receipt or constancia-de-pago number.",
      "sourceRef": "Rubro V, N° de Recibo"
    },
    {
      "name": "pagoFechaPago",
      "label": "Fecha de Pago",
      "type": "date",
      "description": "Date the processing fee was paid.",
      "sourceRef": "Rubro V, Fecha de Pago"
    }
  ]
}
