Registry entry

Italy Application for Operations Relating to Motor Vehicles and Their Trailers (Modulario TT 2119)

TT 2119, 'Domanda per operazioni relative ai veicoli a motore e loro rimorchi (esclusi i ciclomotori)' (Application for operations relating to motor vehicles and their trailers, excluding mopeds), published by the Ministero delle infrastrutture e dei trasporti (MIT)'s Direzione Generale per la Motorizzazione via ilportaledellautomobilista.it. This is the single generic intake form Italy's Provincial Motorizzazione Civile offices use for the great majority of citizen-facing vehicle-registry operations against vehicles NOT enrolled in the Pubblico Registro Automobilistico (PRA) — i.e. everything except cars/trucks (which register instead via ACI-PRA): motorcycles, agricultural machines/trailers, operating machines, atypical vehicles, and non-PRA trailers. A single two-letter operationCode (drawn from the form's own closed 'Tabella riassuntiva delle operazioni') selects which of 36 distinct operations is being requested — first registration, renewal, plate reissue/duplicate, carta di circolazione updates, and several narrower issuances. This document models the applicant-facing core: the operation-selection code, the requesting party's own declared capacity, the vehicle owner's registry/identity data, the vehicle's own identification data, the previous-plate block (renewal/nationalization only), the goods-transport/rental-licence block, and the agricultural-machine-company block. It deliberately does NOT model: the extensive vehicle technical-specification block (dimensions, masses, axles, tyres, brakes, engine figures, tow-hook/fuel-type checkboxes, 'REVISIONE' inspection date) that occupies the lower half of the form and its own dedicated 'SPAZIO RISERVATO ALL'UFFICIO PER LA VISITA DEL VEICOLO' (space reserved for the office for the vehicle inspection) counterpart on page 2/8, both explicitly completed and signed by the office's own 'Funzionario Tecnico' (technical official), not the applicant; the 'CAUSALE AGGIORNAM.' box (explicitly 'Riservato all'Ufficio' per the form's own numbered note 16); the 'COD. USO' box (explicitly 'riservato all'Ufficio' per note 23a); the two large external lookup tables the form itself prints on its closing page (a ~50-entry 'Tabella denominazioni' of legal-form/ownership-interest codes, and a ~25-entry 'Tabella codici categorie macchine agricole' of agricultural-machine category codes), which are referenced by pattern/description rather than fully reproduced as enums; and the wet-ink signature lines (the form carries zero AcroForm widgets of any kind, including for its two signature blocks). See VERIFICATION.md for the full scope rationale, the form's own construction (a 4-ply scanned carbon form, not a fillable PDF), and every disclosed judgment call, including two genuine same-code-different-meaning duplicates the source table itself prints ('D A' and 'R V', each used for two distinct operations). GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Italy or the Ministero delle infrastrutture e dei trasporti.

Registry entry

it/mit/domanda-operazioni-veicoli-a-motore-e-rimorchi

Jurisdiction
Italy · national
Version
1.0.0
Verification
draft

Authoritative source Modulario TT 2119 (Mod. 29OTT010045)

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

42 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

  • operationCode enum required

    Two-letter code identifying which of the form's 36 distinct operations is being requested, entered into two single-character boxes directly after 'Il sottoscritto chiede:'. Codes and meanings, transcribed from the form's own 'Tabella riassuntiva delle operazioni': IA=Immatricolazione autoveicoli con targa di tipo A; IB=Immatricolazione autoveicoli con targa di tipo B; IR=Immatricolazione rimorchi di autoveicoli; IM=Immatricolazione motoveicoli; IG=Immatricolazione macchine agricole semoventi; IV=Immatricolazione rimorchi agricoli; IX=Immatricolazione macchine operatrici trainate; IY=Immatricolazione veicoli atipici; IE=Rilascio targhe di identificazione autoveicoli EE/CD; ID=Rilascio targhe EE per rimorchi; IZ=Rilascio targhe EE per motoveicoli; TE=Rilascio targhe ripetitrici EE per veicoli trainati; TR=Rilascio targhe ripetitrici di Tipo A per veicoli trainati da autoveicoli; TS=Rilascio targhe ripetitrici di Tipo B per veicoli trainati da autoveicoli; TA=Rilascio targhe ripetitrici per rimorchi agricoli e per macchine operatrici trainate; TD=Rilascio duplicato di targa; DA=Aggiornamento carta di circolazione per variazioni riguardanti l'intestatario, OR (a genuine second meaning the source table also prints under the same code) Cambio destinazione o uso; DC=Aggiornamento carta di circolazione per modifiche riguardanti il veicolo; VA=Rilascio contrassegno identificativo del potenziale inquinante dei veicoli (verdone); RA=Rinnovo immatricolazione autoveicoli con targa di Tipo A; RB=Rinnovo immatricolazione autoveicoli con targa di Tipo B; RR=Rinnovo immatricolazione rimorchi autoveicoli; RM=Rinnovo immatricolazione motoveicoli CC/UN/UNP/UNT; RG=Rinnovo immatricolazione macchine agricole semoventi; RO=Rinnovo immatricolazione macchine operatrici semoventi; RV=Rinnovo immatricolazione rimorchi agricoli, OR (a genuine second meaning the source table also prints under the same code) Rinnovo immatricolazione veicoli atipici; RX=Rinnovo immatricolazione macchine operatrici trainate; PA=Rilascio targa prova per autoveicoli e loro rimorchi; PM=Rilascio targa prova per motoveicoli; PG=Rilascio targa prova per macchine agricole; PX=Rilascio targa prova per macchine operatrici; AA=Rilascio del certificato di approvazione; TP=Rilascio targa provvisoria con foglio di via; EE=Rilascio dell'estratto della carta di circolazione (Tipo A o B); CP=Rilascio della carta provvisoria di circolazione; GG=Riservato all'Ufficio (altre operazioni). The DA and RV duplicates are printed as-is in the source table (see VERIFICATION.md); this schema does not attempt to silently resolve them.

    enum: 36 values
  • requestCapacity string required

    The capacity/title in which the applicant requests the operation (e.g. proprietario/owner, erede/heir, procuratore/proxy-holder), completing the declaration '... dichiara ... (1) di essere ___', made under the criminal-liability warning of art. 76 D.P.R. 445/2000 for false declarations.

  • consultancyFirmCode string optional

    Four-digit code assigned by the Ufficio Provinciale D.T.T. to the vehicle-consultancy firm (agenzia pratiche auto) submitting the request on the owner's behalf, when one is used. Left blank for a direct citizen submission.

    pattern
  • existingPlateNumber string optional

    The vehicle's current registration plate number, when the operation concerns an already-registered vehicle (e.g. a renewal, carta di circolazione update, or duplicate-plate request). Left blank for a first registration. Unlike most fields on this form, this box carries no cross-reference to a numbered note in the page 8/8 legend; its inclusion here as an optional field is a disclosed judgment call — see VERIFICATION.md.

  • ownerSurnameOrCompanyName string required

    The vehicle owner's full surname (natural person) or full legal-entity name (company/ministry/region/province/comune), written in full — the two-line cognome/nome fields are never used for SPA/SRL/SNC or public-body denominazioni.

  • ownerFirstNameOrCompanyNameContinuation string required

    The vehicle owner's first name (natural person), or the continuation of a legal-entity name too long for campo 5.

  • ownerLegalFormCode string optional

    Three-letter code identifying the owner's legal form/ownership-interest, drawn from the form's own 'Tabella denominazioni' printed on p.8/8 (e.g. SPA, SRL, SNC, MIN, REG, COM, LOC=locatario/lessee, USU=usufruttuario, RSD=acquisto con patto di riservato dominio, and ~45 further codes covering leasing/usufruct/reserved-domain variants of each legal form). Left blank for an ordinary natural-person owner. This ~50-entry lookup table is referenced here by pattern rather than fully reproduced as an enum — see VERIFICATION.md.

    pattern
  • ownerDateOfBirth date optional

    The owner's date of birth. Per the form's own nota 8, campi 8-11 are completed only for natural-person owners (ownerLegalFormCode blank, or LOC/USU/RSD).

  • ownerForeignBirthCountry string optional

    Foreign-country code for the owner's place of birth, from the 'sigle stati esteri' volume. Left blank if born in Italy.

  • ownerBirthProvince string optional

    Italian vehicle-registration-style two-letter province code of the owner's municipality of birth (e.g. RM for Roma). Only applicable when born in Italy.

    pattern
  • ownerBirthMunicipality string optional

    Full name of the owner's municipality of birth.

  • ownerResidenceMunicipality string required

    Municipality of the owner's residence as of the application date (or, for companies/entities, the municipality of their registered seat as it appears in their founding document).

  • ownerResidenceProvince string required

    Two-letter vehicle-registration-style province code of the owner's residence (e.g. RM for the Provincia di Roma).

    pattern
  • ownerResidenceAddress string required

    Street address of the owner's residence as of the application date, house number first, with slashes/punctuation excluded.

  • otherOwnersCount integer optional

    Count of ADDITIONAL co-owners beyond the one named above, each detailed on a separate 'modello 16' (additional-owners form). Left blank when the named owner is the sole owner.

    range: 1–∞
  • vehicleManufacturerAndType string required

    The vehicle's manufacturer and type/model designation.

  • usageType enum required

    Whether the vehicle is for the owner's own use (proprio) or for third-party use (terzi, e.g. hire/rental/goods-for-hire), per the form's own notes 17-18.

    enum: proprio | terzi
  • thirdPartyUsageDetail string optional

    Specification of the third-party-use case, per comma 5 dell'art. 82 del Codice della Strada (e.g. noleggio con conducente, locazione senza conducente).

  • vehicleClassification string required

    One of the vehicle classifications set out in artt. 53-54-55-56-57-58-59-60 of the Codice della Strada (e.g. autovettura, autocarro, motociclo, rimorchio). The Codice della Strada's own article text, not this form, is the authoritative list of permitted values.

  • typeApprovalNumber string optional

    The vehicle's type-approval (omologazione) number, when one applies.

  • chassisNumber string required

    The vehicle's chassis/frame identification number.

  • yearOfFirstRegistration integer optional

    The vehicle's year of first registration. Left blank for a vehicle undergoing its first-ever registration; completed for other operations only when unambiguously determinable from the submitted documentation.

  • agriculturalMachineCategory string optional

    Two-letter agricultural-machine category code from the form's own 'Tabella codici categorie macchine agricole' printed on p.8/8 (e.g. ST=trattrice agricola 2 RM, SB=mietitrebbiatrice, TC=rimorchio agricolo-cassone, VC=motocoltivatore, and ~20 further codes), completed only when applicable and only when it differs from the type-approval category. This ~25-entry lookup table is referenced here by pattern rather than fully reproduced as an enum — see VERIFICATION.md.

    pattern
  • vehicleCode string optional

    The vehicle code entered in the Dichiarazione di conformità (declaration of conformity), when present.

  • previousPlateNumber string optional

    The vehicle's previous registration plate number. Completed only for a renewal of registration or nationalization; for an Italian plate, the province-code prefix is followed by enough leading zeros to fill six boxes.

  • previousPlateForeignFlag string optional

    Left blank for an Italian-issued previous plate; entered as 'E' when the previous plate was foreign-issued.

    pattern
  • previousPlateForeignStateCode string optional

    Foreign-state code for the previous plate's issuing country, from the 'sigle stati esteri' volume.

  • previousOwnerSurnameInitials string optional

    First four initial characters of the previous owner's surname, for the plate referenced in previousPlateNumber. Repeat the initials from ownerSurnameOrCompanyName when the owner is unchanged.

    length: 0–4
  • previousOwnerTaxIdType enum optional

    F for codice fiscale (tax code) or V for partita IVA (VAT number), identifying which kind of identifier previousOwnerTaxIdOrVatNumber holds.

    enum: F | V
  • previousOwnerTaxIdOrVatNumber string optional

    The previous owner's codice fiscale or partita IVA, per the type flagged in previousOwnerTaxIdType.

  • goodsTransportExemptionOrLicenseNumber string optional

    Exemption reference, or the authorization/licence number, for a vehicle used in goods transport, hire-with-driver services, or agricultural-machine rental. Applicable only to that narrower class of operation.

  • goodsTransportLicenseIssueDate date optional

    Issue date of the authorization/licence referenced in goodsTransportExemptionOrLicenseNumber.

  • goodsTransportActivityOrGrantingAuthority string optional

    The goods-transport activity itself, or the authority that granted the licence/authorization.

  • agriculturalCompanyName string optional

    The agricultural business's name, omitting any legal-form wording captured instead in agriculturalCompanyTypeCode (e.g. for 'Azienda agricola La Stella', write only 'La Stella' here).

  • agriculturalCompanyNameContinuation string optional

    Continuation of agriculturalCompanyName when it does not fit in campo 31.

  • agriculturalCompanyTypeCode enum optional

    AA = azienda agricola (farming business); IM = impresa per lavorazioni meccaniche agrarie (agricultural mechanical-works contractor); IL = impresa per locazione macchine agricole (agricultural-machine rental business). When IM or IL applies, the business's own identifying details are captured instead via the owner fields (campi 5-15), per nota 33.

    enum: AA | IM | IL
  • agriculturalCompanyMunicipality string optional

    Municipality where the agricultural business's seat is located.

  • agriculturalCompanyProvince string optional

    Two-letter vehicle-registration-style province code of the agricultural business's seat (e.g. RM for the Provincia di Roma).

    pattern
  • agriculturalCompanyAddress string optional

    Street address of the agricultural business's seat, house number first, slashes/punctuation excluded.

  • umaDeclarationPre1979Flag boolean optional

    True only when the ownership declaration was issued by the UMA (Utenti Motori Agricoli) before 31 March 1979.

  • umaDeclarationNumber string optional

    The UMA ownership declaration's own reference number, when one was assigned.

  • umaDeclarationDate date optional

    Date of the UMA ownership declaration.

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-11

This is a GovSchema Standard Research cycle (GOV-2389), authoring the pre-scouted DMV follow-on candidate the prior cycle (GOV-2382, which opened Italy as the registry's 36th jurisdiction via Taxes) flagged in CATALOG.md's Known Gaps section: Modulario TT 2119, Ministero delle infrastrutture e dei trasporti (MIT) / ilportaledellautomobilista.it.

Source examined and fetched fresh

  • Authority: MIT — Direzione Generale per la Motorizzazione, per i Servizi ai Cittadini e alle Imprese in materia di Trasporti e Navigazione.
  • Document: Modulario TT 2119 (Mod. 29OTT010045), "Domanda per operazioni relative ai veicoli a motore e loro rimorchi (esclusi i ciclomotori)".
  • URL: https://www.ilportaledellautomobilista.it/documents/56611/128846273/TT2119.pdf
  • Fetched: direct curl from this sandbox, 2026-07-11. HTTP 200, no login/CAPTCHA/WAF gate.
  • Size: 998,509 bytes.
  • sha256: e12e797d3ee167e397e7f2d240b04807cf9b1b04f4366263243aaf06c1d98c07
  • Pages: 13 (confirmed via pdfjs-dist's doc.numPages).

Correcting the prior cycle's pre-scouting note

CATALOG.md's Known Gaps entry (written during GOV-2382, before this form was actually opened and inspected) described TT 2119 as "a genuine embedded text layer and no AcroForm widgets, its own lettered/coded operation-type table self-documenting the form's sections." That characterization is only partially correct and this cycle corrects it:

  • page.getAnnotations() (via pdfjs-dist 4.10.38, legacy/build/pdf.mjs) confirmed zero /Widget annotations across all 13 pages — the "no AcroForm widgets" half of the prior note holds.
  • However, page.getTextContent() returned zero text items on pages 4-7 (the form's own "4/8" through "7/8" — the actual applicant data-entry pages), not a genuine text layer. An operatorList dump for those four pages showed only paintImageXObject calls (op code 85), no text-showing operators at all. Grepping the raw PDF bytes independently confirmed four /Subtype /Image objects (object numbers 151, 162, 172, 178), each /ColorSpace /DeviceGray, 1239x1754 px, /Filter [/FlateDecode /DCTDecode] — i.e. four full-page scanned images, not text.
  • Pages 1-3, 8, and 9-13 (cover, the operation-code table, a PagoPA-attachment instruction, the numbered field-notes legend plus two lookup tables, and the GDPR privacy notice) genuinely do carry an extractable vector-text layer — this is where the prior cycle's characterization came from, but it did not distinguish these pages from the four scanned core pages.

New extraction technique for this registry: since the four scanned pages carry no text and no widgets, the only way to read their actual field layout was to view them as images. node-canvas-based pdfjs-dist page rendering failed in this sandbox for any page containing an image XObject (a TypeError: Image or Canvas expected deep inside pdfjs-dist's paintInlineImageXObject, reproducing the same page-rendering limitation this registry's GOV-2316 cycle already found with both a Chromium and a node-canvas route). Rather than fight that rendering pipeline further, the four JPEG streams were extracted directly from the PDF's own object stream: each object's raw stream bytes were located by byte offset, zlib.inflateSync'd (the outer FlateDecode layer), and the result — a valid %FFD8FF JPEG — was written straight to disk and viewed directly. This recovered a fully legible, high-resolution scan of the form with no rendering pipeline involved at all. All four scanned pages are confirmed identical carbon-copy layers of the same single-page form (footer labels read "COPIA INPUT", "COPIA UFFICIO", and two further copies), each printed with the same 1-40 numbered field markers cross-referenced against page 8/8's own footnote legend — so this schema models the field layout once, sourced from the "COPIA INPUT" copy (object 151).

The operation-code table on page 2/8 ("Tabella riassuntiva delle operazioni") is genuine vector text, but its two-column layout defeats simple reading-order concatenation (getTextContent()'s default item order interleaves the two columns mid-entry). It was re-extracted by grouping text items by transform y-coordinate (9-unit tolerance, to merge a code's two character glyphs which print roughly 2pt apart vertically) and sorting each row by x-coordinate — the same coordinate-based reading-order technique this registry has used for other multi-column/out-of-order layouts (e.g. dk/skattestyrelsen/oplysningsskemaet, it/agenzia-entrate/modello-730). This surfaced two genuine same-code-different-meaning duplicates the source table itself prints, independently confirmed via per-glyph codepoint dumps (not a rendering artifact, not a column-merge bug in this cycle's own extraction — both letters of each duplicate were re-verified at their exact (x, y) coordinates):

  • Code D A is printed twice: once in the table's left column ("Aggiornamento carta di circolazione per variazioni riguardanti l'intestatario") and once in the right column ("Cambio destinazione o uso").
  • Code R V is printed twice, both in the right column ("Rinnovo immatricolazione rimorchi agricoli" and "Rinnovo immatricolazione veicoli atipici").

Both are disclosed in operationCode's own field description rather than silently resolved or guessed at — consistent with this registry's established practice for genuine source-print irregularities (e.g. se/polisen's font-encoding artifact, GOV-2363's Caesar-shift decode).

Field inventory and scope

36 fields[] entries, plus 2 documents[] entries. In scope: the operation-selection code (36-entry closed enum); the requesting party's own declared capacity; the vehicle owner's registry/identity data (campi 5-15); vehicle identification (campi 17-24, usageType/thirdPartyUsageDetail as a requiredWhen pair); the previous-plate block for renewal/nationalization (campi 25-30); the unnumbered goods-transport/rental-licence block; and the unnumbered-but-explicitly-footnoted agricultural-machine-company block (campi 31-39, with agriculturalCompanyTypeCode as a 3-value enum and umaDeclarationPre1979Flag as a boolean per nota 37's single-letter "U" flag).

Deliberately out of scope:

  • The vehicle technical-specification block occupying the lower half of pages 4-7 (fiscal/actual power, body code, seats, dimensions, masses, axle count/spacing, tyre and brake data, tow-hook and dual-fuel-conversion checkboxes ["field 40" per nota 40], "REVISIONE" inspection date). This block is a near-exact field-for-field match to page 2/8's own explicitly labelled "SPAZIO RISERVATO ALL'UFFICIO PER LA VISITA DEL VEICOLO" (space reserved for the office for the vehicle inspection), itself signed "FIRMA DEL FUNZIONARIO TECNICO" (technical official's signature) — excluded on the same office-reserved-content basis as this registry's dk/cpr and se/skatteverket precedents (an authority-completed section, not applicant-facing).
  • The "CAUSALE AGGIORNAM." box (explicitly "16) Riservato all'Ufficio" per the form's own numbered note) and the "COD. USO" box (explicitly "23a) Il codice uso è riservato all'Ufficio").
  • The two large external lookup tables page 8/8 itself prints in full — a ~50-entry "Tabella denominazioni" (legal-form/ownership-interest codes) and a ~25-entry "Tabella codici categorie macchine agricole" (agricultural machine category codes). Both are referenced by validation.pattern (^[A-Z]{2,3}$) and described in the relevant field's own description (ownerLegalFormCode, agriculturalMachineCategory) rather than fully reproduced as enums — a disclosed scope decision given their size relative to the rest of the form, the same tier of decision this registry has made for other large external code tables.
  • Both signature blocks ("FIRMA DEL FUNZIONARIO CHE HA CONTROLLATO LA DOCUMENTAZIONE"; "IL DICHIARANTE"). The document carries zero AcroForm widgets of any kind, so — per this registry's established convention — a wet-ink signature line with no data-entry box of its own is not modelled as a schema field.
  • existingPlateNumber (the top-of-form "TARGA" box) is included as an optional field despite carrying no cross-reference to any of the form's own 40 numbered notes, unlike almost every other applicant-facing box on the form — a disclosed judgment call, included because it is plainly the vehicle-identifying field an applicant would complete for any operation concerning an already-registered vehicle.

Documents

  • pagopaPaymentReceipt (payment, required) — sourced directly from page 3/8's own printed instruction, "ALLEGARE A QUESTO DOCUMENTO L'ATTESTAZIONE DI VERSAMENTO PAGOPA" (attach the PagoPA payment confirmation to this document).
  • falseDeclarationLiabilityAttestation (attestation, required) — the verbatim criminal-liability declaration under art. 76 D.P.R. 445/2000 the applicant makes by signing, quoted in full in the statement field.

Conformance testing

Two mock scenarios run against tools/validate.mjs's conformance checker:

  1. private-individual-motorcycle-first-registration.json — a natural person registering a motorcycle for the first time (operationCode: IM, usageType: proprio, no previous-plate block, no agricultural block). 0 errors.
  2. company-agricultural-tractor-renewal.json — a farming business (ownerLegalFormCode: SPA on the owner block is not used here; instead the agricultural-company block is populated directly) renewing an agricultural tractor's registration (operationCode: RG, previous-plate block populated, agriculturalCompanyTypeCode: AA). 0 errors.

Four mutation controls, each hand-derived from a passing scenario by introducing exactly one violation:

  1. mutation-control-missing-required-field.json — deletes chassisNumber. 1 error (missing required field).
  2. mutation-control-enum-violation.json — sets operationCode to "ZZ" (not in the 36-entry enum). 1 error.
  3. mutation-control-pattern-violation.json — sets ownerResidenceProvince to "Roma" (fails the ^[A-Z]{2}$ province-code pattern). 1 error.
  4. mutation-control-missing-required-document.json — removes pagopaPaymentReceipt from documents[]. 1 error (missing required document) — deliberately exercising this registry's own previously-found conformance-checker documents[] blind spot (GOV-2179 and others).

All four mutation controls raised exactly the expected single error; the two passing scenarios raised zero.

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 Ministero delle infrastrutture e dei trasporti — Direzione Generale per la Motorizzazione, per i Servizi ai Cittadini e alle Imprese in materia di Trasporti e Navigazione or any government. The authoritative source is always the live government form and its official instructions.