{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "pt/imt/requerimento-carta-de-conducao",
  "version": "1.0.0",
  "title": "Portugal Driving Licence Requerimento (Renewal, Duplicate, Replacement, Exchange, or Address Change)",
  "description": "The general-purpose application (\"Requerimento\", form Mod. 1-IMT) a driving-licence holder files with the Instituto da Mobilidade e dos Transportes (IMT), Portugal's road-transport authority, to renew (revalidação), obtain a duplicate of (2ª via ou duplicado), replace (substituição, e.g. after a data or appearance change), exchange (troca, e.g. converting a foreign or old-format title), or change the registered address (alteração de morada) for a Licença de Aprendizagem (learner's permit), Licença de Condução, or Carta de Condução (driving licence card). Scoped to these five ordinary-citizen transactions on an existing title; it excludes a first-time learner's-permit application (initiated by the driving school on the applicant's behalf, not by this form) and the same combined form's separate professional-qualification tracks (taxi-driver aptitude certificate, driver-qualification certificate (CQM), vehicle-inspection-centre inspector, driving examiner, driving instructor, and driving-school director/deputy-director). GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Portugal or the Instituto da Mobilidade e dos Transportes.",
  "status": "draft",
  "jurisdiction": {
    "country": "PT",
    "level": "national"
  },
  "authority": {
    "name": "Instituto da Mobilidade e dos Transportes, I.P.",
    "abbreviation": "IMT",
    "url": "https://www.imt-ip.pt/"
  },
  "process": {
    "type": "request",
    "language": "pt"
  },
  "source": {
    "url": "https://www.imt-ip.pt/wp-content/uploads/IMTT/Portugues/Formularios/Documents/Mod1_IMT.pdf",
    "retrievedAt": "2026-07-08",
    "documentRef": "Mod. 1-IMT — REQUERIMENTO (application form for driving/qualification titles)"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-08",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-08",
    "notes": "GOV-1750: GovSchema Standard Research cycle. Opens Portugal as GovSchema's 24th jurisdiction. Six verticals were screened (DMV, Business Formation, Taxes, Passport, Visa, National ID); this IMT driving-licence Requerimento (Mod. 1-IMT) was picked as the strongest candidate because it is a genuine, unauthenticated, directly downloadable AcroForm PDF (96 named fields, 108 widget annotations total, confirmed via pdfjs-dist) with a self-documenting companion instructions PDF — the only Portuguese candidate examined this cycle meeting this registry's top-tier source bar. See VERIFICATION.md for the full six-vertical candidate comparison, field-by-field coordinate/OCR cross-matching method, and every disclosed scope decision."
  },
  "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-08"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "documentRequested",
      "label": "Title requested",
      "type": "enum",
      "required": true,
      "description": "Which of the three ordinary driving-title documents this Requerimento concerns. The same form also offers nine professional-qualification/institutional tracks (taxi-driver aptitude certificate, CQM, CITV inspector, examiner, instructor, driving-school director/deputy-director, and a free-text 'Outra') — out of scope for this document; see VERIFICATION.md.",
      "sourceRef": "Mod. 1-IMT p.1, REQUERIMENTO header, AcroForm field 'requerimento' (12-option radio group; values 0='LICENÇA DE APRENDIZAGEM', 1='LICENÇA DE CONDUÇÃO', 2='CARTA DE CONDUÇÃO')",
      "validation": {
        "enum": ["licenca_de_aprendizagem", "licenca_de_conducao", "carta_de_conducao"]
      }
    },
    {
      "name": "requestIssuance",
      "label": "Emissão (issuance)",
      "type": "boolean",
      "required": false,
      "description": "Requesting issuance — in this scope, typically a new licence category added to an already-held title (e.g. obtaining a new category on an existing Carta de Condução); a wholly first-time learner's permit is instead requested by the driving school, not via this form.",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'emissao'; Instruções p.1, '4 – DOCUMENTO ATUAL' example"
    },
    {
      "name": "requestDuplicate",
      "label": "2ª via ou duplicado (duplicate copy)",
      "type": "boolean",
      "required": false,
      "description": "Requesting a duplicate/second copy of the current title, e.g. after loss, theft, or damage.",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'Via2'"
    },
    {
      "name": "requestAddressChange",
      "label": "Alteração de morada (address change)",
      "type": "boolean",
      "required": false,
      "description": "Requesting an update of the address registered against the title.",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'altmorada'"
    },
    {
      "name": "requestRenewal",
      "label": "Revalidação (renewal)",
      "type": "boolean",
      "required": false,
      "description": "Requesting renewal (revalidação) of an expiring or expired title.",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'revalidacao'"
    },
    {
      "name": "requestExchange",
      "label": "Troca (exchange)",
      "type": "boolean",
      "required": false,
      "description": "Requesting exchange (troca) of a title, e.g. converting a foreign or old-format driving title into a Portuguese Carta de Condução.",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'troca'"
    },
    {
      "name": "requestReplacement",
      "label": "Substituição (replacement)",
      "type": "boolean",
      "required": false,
      "description": "Requesting replacement (substituição) of the current title, e.g. following a change of appearance or of health-related driving restrictions.",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'substituicao'"
    },
    {
      "name": "requestReplacementDetail",
      "label": "Substituição — detail",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "requestReplacement",
        "equals": true
      },
      "description": "Free-text detail of what is being replaced and why, written on the blank line next to the 'Substituição' checkbox.",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'txtOutra[1]' (blank line beside 'SUBSTITUIÇÃO')"
    },
    {
      "name": "requestOther",
      "label": "Outra (other)",
      "type": "boolean",
      "required": false,
      "description": "Requesting a transaction not covered by the form's other six named pretensões (emissão, 2ª via/duplicado, alteração de morada, revalidação, troca, substituição).",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'outra'; Instruções p.1: \"Caso uma pretensão não se encontre explicitada, deve assinalar a quadrícula 'Outra' e descrever o que pretende.\""
    },
    {
      "name": "requestOtherDetail",
      "label": "Outra — detail",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "requestOther",
        "equals": true
      },
      "description": "Free-text description of the requested transaction, required by the instructions whenever 'Outra' is marked.",
      "sourceRef": "Mod. 1-IMT p.1, '1 - PRETENSÃO', AcroForm field 'txtOutra[0]' (blank line beside 'OUTRA'); Instruções p.1"
    },
    {
      "name": "licenceCategory",
      "label": "Categoria pretendida (licence category)",
      "type": "enum",
      "required": false,
      "description": "The single driving-licence category (or agricultural-tractor/moped class) this request concerns. The form's own checkboxes are not a native single-choice radio group and, per the instructions, 'as categorias pretendidas devem ser assinaladas' (all categories intended must be marked) — in principle more than one may apply in a single submission; this schema models the common single-category case and leaves multi-category submissions as a disclosed scope limitation (see VERIFICATION.md).",
      "sourceRef": "Mod. 1-IMT p.1, '2 - CATEGORIAS' (19 individual checkboxes: AM, A1, A2, A, B1, B, BE, C1, C, C1E, CE, D1, D, DE, D1E, Ciclomotores, Tratores Agrícolas I/II/III)",
      "validation": {
        "enum": ["AM", "A1", "A2", "A", "B1", "B", "BE", "C1", "C", "C1E", "CE", "D1", "D", "DE", "D1E", "ciclomotores", "tratores_agricolas_i", "tratores_agricolas_ii", "tratores_agricolas_iii"]
      }
    },
    {
      "name": "medicalRestrictionCodes",
      "label": "Códigos de restrições/adaptações (restriction codes)",
      "type": "string",
      "required": false,
      "description": "Any EU Community restriction/adaptation code(s) from the applicant's own medical certificate (atestado médico) that apply to the requested category, e.g. corrective lenses or vehicle adaptations. The form provides one restriction line per category row (up to 5); this schema models the consolidated set as one free-text value. Not modelled as unconditionally required: the instructions state only that restrictions from the medical certificate must be indicated 'se pretender a emissão de um título de condução' and only when such restrictions in fact exist — a real-world fact this schema cannot gate on structurally without fabricating a rule the source does not itself state as a checkable condition.",
      "sourceRef": "Mod. 1-IMT p.1, '3 - RESTRIÇÕES', AcroForm fields 'restricao1'..'restricao5'; Instruções p.1, citing Decreto-Lei n.º 138/2012, de 05 de julho, Anexo I, secção B (Códigos Comunitários de Restrições e Adaptações)"
    },
    {
      "name": "currentlyHoldsLearnerPermit",
      "label": "Current document: Licença de Aprendizagem",
      "type": "boolean",
      "required": false,
      "description": "Marked when the title currently held (relevant to this request) is a Licença de Aprendizagem (learner's permit).",
      "sourceRef": "Mod. 1-IMT p.1, '4 - DOCUMENTO ATUAL', AcroForm field 'licenca1'"
    },
    {
      "name": "currentlyHoldsProvisionalLicence",
      "label": "Current document: Licença de Condução",
      "type": "boolean",
      "required": false,
      "description": "Marked when the title currently held (relevant to this request) is a Licença de Condução.",
      "sourceRef": "Mod. 1-IMT p.1, '4 - DOCUMENTO ATUAL', AcroForm field 'licenca2'"
    },
    {
      "name": "currentlyHoldsDrivingLicenceCard",
      "label": "Current document: Carta de Condução",
      "type": "boolean",
      "required": false,
      "description": "Marked when the title currently held (relevant to this request) is a Carta de Condução (the standard driving-licence card).",
      "sourceRef": "Mod. 1-IMT p.1, '4 - DOCUMENTO ATUAL', AcroForm field 'licenca3'"
    },
    {
      "name": "currentDocumentNumber",
      "label": "Número do documento atual",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "any": [
          { "field": "currentlyHoldsLearnerPermit", "equals": true },
          { "field": "currentlyHoldsProvisionalLicence", "equals": true },
          { "field": "currentlyHoldsDrivingLicenceCard", "equals": true }
        ]
      },
      "description": "The number of the currently-held title named above. The form additionally repeats this number as a 16-box individual-character grid ('NÚMERO DA CARTA DE CONDUÇÃO', 2 letter boxes + 14 digit boxes) for optical reading — the same value, not modelled as a separate field.",
      "sourceRef": "Mod. 1-IMT p.1, '4 - DOCUMENTO ATUAL', AcroForm field 'nTitCond'; duplicated at AcroForm fields 'ccL1'/'ccL2'/'ccN1'..'ccN14'"
    },
    {
      "name": "currentDocumentIssuer",
      "label": "Emissor do documento atual",
      "type": "string",
      "required": false,
      "description": "The issuer of the currently-held title, when relevant: per the instructions, indicate the issuing country if the title is a foreign driving title, or the Armed Forces branch if it is a military title.",
      "sourceRef": "Mod. 1-IMT p.1, '4 - DOCUMENTO ATUAL', AcroForm field 'emissorTitCond'; Instruções p.1, '4 – DOCUMENTO ATUAL'"
    },
    {
      "name": "taxIdentificationNumber",
      "label": "Número de Contribuinte (NIF)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's Portuguese tax identification number (NIF). Per the instructions, this validates identification data, allows a correctly completed receipt to be issued, and enables future online services.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO E ENDEREÇO POSTAL DO/DA REQUERENTE', AcroForm field 'nContribuinte'; duplicated at AcroForm field 'contribuintefinal' ('NÚMERO DE CONTRIBUINTE'); Instruções p.1"
    },
    {
      "name": "identityDocumentType",
      "label": "Tipo de documento de identificação",
      "type": "enum",
      "required": true,
      "description": "The single letter code identifying the type of identity document held, per the instructions' own legend: A=Cartão de Residência permanente de cidadão da U.E. (SEF); B=BI Arquivo Civil; C=Corpo Diplomático; D=Cartão de identidade de refugiado (SEF); E=BI Exército; F=BI Força Aérea; G=BI GNR; H=Cartão de Residência permanente de familiar de cidadão da U.E. nacional de Estado Terceiro (SEF); I=Cartão de Residência de familiar de cidadão da U.E. nacional de Estado Terceiro (SEF); J=Certificado de Registo de Cidadão da União Europeia; M=BI Marinha; P=BI PSP; Q=Cartão de Cidadão; R=Certificado de registo de cidadão da União Europeia (SEF); T=Título de residência temporária (SEF); U=BI Guarda Fiscal; V=Título de residência vitalícia (SEF); X=Título de residência anual (SEF).",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'tipo'; duplicated at AcroForm field 'tipoDoc'; Instruções p.1, '(a) Tipos de documentos de identificação'",
      "validation": {
        "enum": ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "M", "P", "Q", "R", "T", "U", "V", "X"]
      }
    },
    {
      "name": "identityDocumentNumber",
      "label": "Número do documento de identificação",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "description": "The identification number of the identity document named above (and its check digit, when the document type carries one). The form additionally repeats this number as a 16-box individual-character grid ('NÚMERO DO DOCUMENTO DE IDENTIFICAÇÃO' plus a separate 'D C' check-digit box) for optical reading — the same value, not modelled as a separate field.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'numero'; duplicated at AcroForm fields 'docId1'..'docId15'/'DocumentDC'; Instruções p.1 (control-digit example: \"Cartão de Cidadão 12345678 9 ZZ2\")"
    },
    {
      "name": "identityDocumentValidity",
      "label": "Validade do documento de identificação",
      "type": "date",
      "required": false,
      "description": "Expiry date of the identity document named above.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'validade'"
    },
    {
      "name": "identityDocumentIssuer",
      "label": "Emissor do documento de identificação",
      "type": "string",
      "required": false,
      "description": "The country or service that issued the identity document named above.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'emissorDI'"
    },
    {
      "name": "surname",
      "label": "Apelido",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's surname(s), as they appear on their identity document.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'apelido'"
    },
    {
      "name": "givenNames",
      "label": "Nome",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's given name(s), as they appear on their identity document. The form splits this across two box-rows ('nome1'/'nome2') to accommodate longer names; modelled here as one logical value.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm fields 'nome1' and 'nome2'"
    },
    {
      "name": "dateOfBirth",
      "label": "Data de Nascimento",
      "type": "date",
      "required": true,
      "classification": "sensitive-pii",
      "description": "The applicant's date of birth.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'dataNascimento'"
    },
    {
      "name": "placeOfBirth",
      "label": "Naturalidade",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's place of birth (naturalidade).",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'naturalidade'"
    },
    {
      "name": "nationality",
      "label": "Nacionalidade",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's nationality.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'nacionalidade'"
    },
    {
      "name": "currentAddressStreet",
      "label": "Morada Atual",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's current postal address (street, number, and floor/unit as applicable).",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'moradaActual'"
    },
    {
      "name": "currentAddressLocality",
      "label": "Localidade (morada atual)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "Continuation line of the applicant's current address (e.g. parish/locality), immediately below the street-address line.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'localidadeActual'"
    },
    {
      "name": "postalCode",
      "label": "Código Postal",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The postal code for the current address, in Portugal's NNNN-NNN format.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm fields 'codPostal4' (4 digits) and 'codPostal3' (3 digits), printed with a hyphen between them",
      "validation": {
        "pattern": "^\\d{4}-\\d{3}$"
      }
    },
    {
      "name": "postalCodeLocality",
      "label": "Localidade (código postal)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The post-office locality name corresponding to the postal code above.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'localidadeCP'"
    },
    {
      "name": "email",
      "label": "Email",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "An email address for IMT to send information of interest to the applicant.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'email'; Instruções p.1",
      "validation": {
        "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
      }
    },
    {
      "name": "mobilePhone",
      "label": "Telemóvel",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "A mobile phone number for IMT to send information of interest to the applicant via SMS.",
      "sourceRef": "Mod. 1-IMT p.1, '5 - IDENTIFICAÇÃO...', AcroForm field 'telemovel'; Instruções p.1"
    },
    {
      "name": "dateOfRequest",
      "label": "Data do Pedido",
      "type": "date",
      "required": true,
      "description": "The date the Requerimento is submitted.",
      "sourceRef": "Mod. 1-IMT p.1, footer, AcroForm field 'dataPedido'"
    }
  ],
  "documents": [
    {
      "id": "photograph",
      "label": "Passport-style photograph, affixed to the form",
      "category": "supporting-evidence",
      "required": true,
      "sourceRef": "Mod. 1-IMT p.1, 'Fotografia (colada)' box"
    },
    {
      "id": "statePaymentFee",
      "label": "State fee for the requested transaction",
      "category": "payment",
      "required": true,
      "amount": {
        "currency": "EUR",
        "value": 30
      },
      "sourceRef": "IMT 'Substituição da carta de condução' service page (€30 standard counter fee; €27 with the platform's own 10% online-submission discount). This is the confirmed fee for the substituição pretensão specifically; other pretensões (e.g. 2ª via/duplicado) are reported by secondary sources to carry a different fee (≈€35), not independently confirmed against a primary imt-ip.pt page this cycle — see VERIFICATION.md."
    },
    {
      "id": "signedDeclaration",
      "label": "Applicant's sworn declaration and signature",
      "category": "attestation",
      "required": true,
      "statement": "Declaro, sob compromisso de honra, que o original do documento ora requerido não se encontra apreendido quer por decisão judicial ou administrativa, quer por autoridade fiscalizadora. Fico perfeitamente ciente de que, caso se comprove a falsidade da presente declaração, incorro em procedimento criminal.",
      "issuingAuthority": "Self-attested by the applicant, signed within the form's marked signature box",
      "sourceRef": "Mod. 1-IMT p.1, declaration text above the 'Assinatura' box"
    }
  ],
  "exclusivityGroups": [
    {
      "id": "currentDocumentTypeGroup",
      "fields": ["currentlyHoldsLearnerPermit", "currentlyHoldsProvisionalLicence", "currentlyHoldsDrivingLicenceCard"]
    }
  ],
  "steps": [
    {
      "id": "tipo_documento",
      "title": "Title requested",
      "fields": ["documentRequested"],
      "next": "pretensao"
    },
    {
      "id": "pretensao",
      "title": "1 - Pretensão (purpose of the request)",
      "fields": ["requestIssuance", "requestDuplicate", "requestAddressChange", "requestRenewal", "requestExchange", "requestReplacement", "requestReplacementDetail", "requestOther", "requestOtherDetail"],
      "next": "categorias_restricoes"
    },
    {
      "id": "categorias_restricoes",
      "title": "2/3 - Categorias e Restrições",
      "fields": ["licenceCategory", "medicalRestrictionCodes"],
      "next": "documento_atual"
    },
    {
      "id": "documento_atual",
      "title": "4 - Documento Atual",
      "fields": ["currentlyHoldsLearnerPermit", "currentlyHoldsProvisionalLicence", "currentlyHoldsDrivingLicenceCard", "currentDocumentNumber", "currentDocumentIssuer"],
      "next": "identificacao"
    },
    {
      "id": "identificacao",
      "title": "5 - Identificação e endereço postal do/da requerente",
      "fields": ["taxIdentificationNumber", "identityDocumentType", "identityDocumentNumber", "identityDocumentValidity", "identityDocumentIssuer", "surname", "givenNames", "dateOfBirth", "placeOfBirth", "nationality"],
      "next": "endereco_contacto"
    },
    {
      "id": "endereco_contacto",
      "title": "Endereço e contacto",
      "fields": ["currentAddressStreet", "currentAddressLocality", "postalCode", "postalCodeLocality", "email", "mobilePhone"],
      "next": "pedido"
    },
    {
      "id": "pedido",
      "title": "Data do pedido e assinatura",
      "fields": ["dateOfRequest"]
    }
  ]
}
