vehicles 0.6.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -0
  3. data/CHANGELOG.md +274 -0
  4. data/README.md +55 -10
  5. data/data/PROVENANCE-vehicles.md +12 -0
  6. data/data/plates/PROVENANCE.md +5 -4
  7. data/data/plates/_decode/at-districts.yml +287 -0
  8. data/data/plates/_decode/ch-cantons.yml +110 -0
  9. data/data/plates/_decode/cn-issuing-offices.yml +463 -0
  10. data/data/plates/_decode/cn-provinces.yml +614 -0
  11. data/data/plates/_decode/cz-kraj.yml +159 -0
  12. data/data/plates/_decode/dk-serial-blocks.yml +327 -0
  13. data/data/plates/_decode/fr-departements.yml +191 -0
  14. data/data/plates/_decode/gb-age-identifiers.yml +170 -0
  15. data/data/plates/_decode/gb-memory-tags.yml +202 -0
  16. data/data/plates/_decode/gr-prefectures.yml +1408 -0
  17. data/data/plates/_decode/hr-cities.yml +315 -0
  18. data/data/plates/_decode/ie-counties.yml +227 -0
  19. data/data/plates/_decode/in-state-codes.yml +169 -0
  20. data/data/plates/_decode/is-districts-1938.yml +116 -0
  21. data/data/plates/_decode/it-provinces.yml +348 -0
  22. data/data/plates/_decode/jp-office-marks.yml +960 -0
  23. data/data/plates/_decode/jp-use-marks.yml +205 -0
  24. data/data/plates/_decode/kr-authority-marks.yml +146 -0
  25. data/data/plates/_decode/kr-use-syllables.yml +194 -0
  26. data/data/plates/_decode/lu-series-order.yml +638 -0
  27. data/data/plates/_decode/mx-entity-series.yml +380 -0
  28. data/data/plates/_decode/my-index-marks.yml +271 -0
  29. data/data/plates/_decode/no-counties-1913.yml +148 -0
  30. data/data/plates/_decode/no-districts.yml +901 -0
  31. data/data/plates/_decode/pl-powiats.yml +567 -0
  32. data/data/plates/_decode/pt-trailer-services.yml +96 -0
  33. data/data/plates/_decode/ro-counties.yml +213 -0
  34. data/data/plates/_decode/se-diplomatic.yml +220 -0
  35. data/data/plates/_decode/si-regions.yml +123 -0
  36. data/data/plates/_decode/sk-districts.yml +314 -0
  37. data/data/plates/_decode/th-registration-elements.yml +208 -0
  38. data/data/plates/_decode/ua-regions.yml +393 -0
  39. data/data/plates/_decode/za-licence-marks.yml +215 -0
  40. data/data/plates/_meta/classes.yml +1 -0
  41. data/data/plates/_meta/separators.yml +102 -0
  42. data/data/plates/ad.yml +961 -0
  43. data/data/plates/ar.yml +762 -0
  44. data/data/plates/at.yml +1424 -0
  45. data/data/plates/au-act.yml +472 -0
  46. data/data/plates/au-nsw.yml +282 -0
  47. data/data/plates/au-nt.yml +431 -0
  48. data/data/plates/au-qld.yml +272 -0
  49. data/data/plates/au-sa.yml +248 -0
  50. data/data/plates/au-tas.yml +302 -0
  51. data/data/plates/au-vic.yml +215 -0
  52. data/data/plates/au-wa.yml +309 -0
  53. data/data/plates/be.yml +1840 -0
  54. data/data/plates/br.yml +1152 -0
  55. data/data/plates/ca-ab.yml +430 -0
  56. data/data/plates/ca-bc.yml +697 -0
  57. data/data/plates/ca-mb.yml +499 -0
  58. data/data/plates/ca-nb.yml +537 -0
  59. data/data/plates/ca-nl.yml +743 -0
  60. data/data/plates/ca-ns.yml +808 -0
  61. data/data/plates/ca-nt.yml +610 -0
  62. data/data/plates/ca-nu.yml +280 -0
  63. data/data/plates/ca-on.yml +881 -0
  64. data/data/plates/ca-pe.yml +592 -0
  65. data/data/plates/ca-qc.yml +1036 -0
  66. data/data/plates/ca-sk.yml +256 -0
  67. data/data/plates/ca-yt.yml +656 -0
  68. data/data/plates/ch.yml +1273 -0
  69. data/data/plates/cn.yml +1431 -0
  70. data/data/plates/cy.yml +688 -0
  71. data/data/plates/cz.yml +1179 -0
  72. data/data/plates/de.yml +553 -118
  73. data/data/plates/dk.yml +1647 -0
  74. data/data/plates/ee.yml +1275 -0
  75. data/data/plates/es.yml +228 -32
  76. data/data/plates/fi.yml +1271 -0
  77. data/data/plates/fr.yml +1265 -0
  78. data/data/plates/gb.yml +1188 -0
  79. data/data/plates/gr.yml +721 -0
  80. data/data/plates/hr.yml +860 -0
  81. data/data/plates/hu.yml +959 -0
  82. data/data/plates/ie.yml +775 -0
  83. data/data/plates/in.yml +1172 -0
  84. data/data/plates/is.yml +667 -0
  85. data/data/plates/it.yml +1317 -0
  86. data/data/plates/jp.yml +3650 -0
  87. data/data/plates/kr.yml +1375 -0
  88. data/data/plates/li.yml +1010 -0
  89. data/data/plates/lt.yml +879 -0
  90. data/data/plates/lu.yml +842 -0
  91. data/data/plates/lv.yml +924 -0
  92. data/data/plates/mc.yml +1024 -0
  93. data/data/plates/mt.yml +854 -0
  94. data/data/plates/mx.yml +1372 -0
  95. data/data/plates/my.yml +685 -0
  96. data/data/plates/nl.yml +44 -0
  97. data/data/plates/no.yml +1018 -0
  98. data/data/plates/nz.yml +1699 -0
  99. data/data/plates/pl.yml +1296 -0
  100. data/data/plates/pt.yml +847 -0
  101. data/data/plates/ro.yml +785 -0
  102. data/data/plates/se.yml +1091 -0
  103. data/data/plates/si.yml +1105 -0
  104. data/data/plates/sk.yml +1439 -0
  105. data/data/plates/sm.yml +1119 -0
  106. data/data/plates/th.yml +1150 -0
  107. data/data/plates/ua.yml +1672 -0
  108. data/data/plates/us-ak.yml +763 -0
  109. data/data/plates/us-al.yml +457 -0
  110. data/data/plates/us-ar.yml +427 -0
  111. data/data/plates/us-as.yml +454 -0
  112. data/data/plates/us-az.yml +430 -0
  113. data/data/plates/us-ca.yml +892 -0
  114. data/data/plates/us-co.yml +452 -0
  115. data/data/plates/us-ct.yml +427 -0
  116. data/data/plates/us-dc.yml +614 -0
  117. data/data/plates/us-de.yml +551 -0
  118. data/data/plates/us-fl.yml +319 -96
  119. data/data/plates/us-ga.yml +644 -0
  120. data/data/plates/us-gu.yml +658 -0
  121. data/data/plates/us-hi.yml +585 -0
  122. data/data/plates/us-ia.yml +438 -0
  123. data/data/plates/us-id.yml +531 -0
  124. data/data/plates/us-il.yml +516 -0
  125. data/data/plates/us-in.yml +324 -0
  126. data/data/plates/us-ks.yml +351 -0
  127. data/data/plates/us-ky.yml +770 -0
  128. data/data/plates/us-la.yml +568 -0
  129. data/data/plates/us-ma.yml +379 -0
  130. data/data/plates/us-md.yml +536 -0
  131. data/data/plates/us-me.yml +445 -0
  132. data/data/plates/us-mi.yml +408 -0
  133. data/data/plates/us-mn.yml +411 -0
  134. data/data/plates/us-mo.yml +356 -0
  135. data/data/plates/us-mp.yml +402 -0
  136. data/data/plates/us-ms.yml +432 -0
  137. data/data/plates/us-mt.yml +619 -0
  138. data/data/plates/us-nc.yml +602 -0
  139. data/data/plates/us-nd.yml +419 -0
  140. data/data/plates/us-ne.yml +483 -0
  141. data/data/plates/us-nh.yml +394 -0
  142. data/data/plates/us-nj.yml +547 -0
  143. data/data/plates/us-nm.yml +574 -0
  144. data/data/plates/us-nv.yml +655 -0
  145. data/data/plates/us-ny.yml +592 -0
  146. data/data/plates/us-oh.yml +404 -0
  147. data/data/plates/us-ok.yml +513 -0
  148. data/data/plates/us-or.yml +392 -0
  149. data/data/plates/us-pa.yml +506 -0
  150. data/data/plates/us-pr.yml +507 -0
  151. data/data/plates/us-ri.yml +445 -0
  152. data/data/plates/us-sc.yml +605 -0
  153. data/data/plates/us-sd.yml +428 -0
  154. data/data/plates/us-tn.yml +471 -0
  155. data/data/plates/us-tx.yml +535 -0
  156. data/data/plates/us-ut.yml +384 -0
  157. data/data/plates/us-va.yml +567 -0
  158. data/data/plates/us-vi.yml +489 -0
  159. data/data/plates/us-vt.yml +458 -0
  160. data/data/plates/us-wa.yml +484 -0
  161. data/data/plates/us-wi.yml +509 -0
  162. data/data/plates/us-wv.yml +446 -0
  163. data/data/plates/us-wy.yml +523 -0
  164. data/data/plates/va.yml +604 -0
  165. data/data/plates/za.yml +1141 -0
  166. data/data/vehicles.json +160653 -105090
  167. data/lib/vehicles/configuration.rb +17 -3
  168. data/lib/vehicles/dataset.rb +73 -18
  169. data/lib/vehicles/fuzzy.rb +115 -0
  170. data/lib/vehicles/http.rb +48 -0
  171. data/lib/vehicles/make.rb +36 -6
  172. data/lib/vehicles/mcp_server.rb +5 -5
  173. data/lib/vehicles/model.rb +21 -2
  174. data/lib/vehicles/plates/series.rb +172 -18
  175. data/lib/vehicles/plates/template_fill.rb +188 -0
  176. data/lib/vehicles/plates/templates.rb +162 -0
  177. data/lib/vehicles/plates.rb +12 -0
  178. data/lib/vehicles/providers/hosted_provider.rb +28 -55
  179. data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
  180. data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
  181. data/lib/vehicles/version.rb +1 -1
  182. data/lib/vehicles.rb +32 -16
  183. data/rakelib/data_refresh.rake +109 -0
  184. data/rakelib/plates_refresh.rake +29 -0
  185. data/sig/vehicles.rbs +18 -0
  186. metadata +164 -2
@@ -0,0 +1,1317 @@
1
+ # plates/it.yml — Italy (PRD-PLATES gate L1).
2
+ #
3
+ # EVERY format, colour, dimension and period claim in this file comes from the
4
+ # consolidated text of the REGOLAMENTO DI ESECUZIONE E DI ATTUAZIONE DEL NUOVO
5
+ # CODICE DELLA STRADA — D.P.R. 16 dicembre 1992, n. 495 (GU n. 303 del
6
+ # 28-12-1992, Suppl. Ordinario n. 134) — read article by article and appendix by
7
+ # appendix off Normattiva's own Akoma-Ntoso export of the act, together with the
8
+ # CODICE DELLA STRADA itself (D.Lgs. 30 aprile 1992, n. 285, GU n. 114 del
9
+ # 18-05-1992, S.O. n. 74), D.P.R. 24 novembre 2001, n. 474 (trade plates) and,
10
+ # for the pre-1993 provincial system, the regulation the 1992 regolamento
11
+ # replaced: D.P.R. 30 giugno 1959, n. 420.
12
+ #
13
+ # The L0 EU research dossier recorded Italy as its worst gap — "**No primary
14
+ # source secured.** Everything below is from Wikipedia and must be confirmed
15
+ # against the Codice della Strada and DPR 495/1992" (plates-research-eu-intl.md
16
+ # §2.5 and DEAD-ENDS §8). This file closes that gap: every claim below is
17
+ # instrument-dated, and where the primaries and the enthusiast web disagree the
18
+ # disagreement is RECORDED rather than averaged (PRD-PLATES §5.3).
19
+ #
20
+ # THE SIX STRUCTURAL FACTS THAT SHAPE THIS FILE
21
+ #
22
+ # 1. THE SERIAL GRAMMAR IS APPENDICE XII, AND IT IS COMPLETE AND SMALL.
23
+ # Art. 257 comma 1 delegates: "I criteri per la formazione dei dati riportati
24
+ # nelle targhe di cui all'articolo 100, comma 9, del codice, sono quelli
25
+ # riportati nell'appendice XII al presente titolo." Appendice XII then spells
26
+ # out, per vehicle kind, the ORDER of the imprinted elements — e.g. for cars,
27
+ # verbatim: "due caratteri alfabetici, il marchio ufficiale della Repubblica
28
+ # italiana, tre caratteri numerici e due caratteri alfabetici". Its comma 2
29
+ # gives the alphabet, verbatim: "I caratteri alfabetici utilizzabili sono: A,
30
+ # B, C, D, E, F, G, H, J, K, L, M, N, P, R, S, T, V, W, X, Y, Z". Twenty-two
31
+ # letters; I, O, Q and U are the four the authority never issues. Comma 2 also
32
+ # gives the progression, verbatim: "La progressione, entro il campo numerico,
33
+ # procede secondo la naturale sequenza da destra verso sinistra. I caratteri
34
+ # alfabetici ... progrediscono in successione da destra verso sinistra,
35
+ # ciascuno avanzando ad ogni completamento della serie numerica."
36
+ #
37
+ # 2. THE MARCHIO IS NOT A SEPARATOR — IT IS WHAT SITS IN THE GAP. Art. 262
38
+ # verbatim: "Il marchio ufficiale, che le targhe di ogni tipo devono portare,
39
+ # è costituito da una stella a cinque punte tra un ramo di olivo ed uno di
40
+ # quercia, della forma e dimensioni di cui alla figura III.5." Appendice XII
41
+ # always names it BETWEEN two character groups, so the printed gaps on an
42
+ # Italian plate are occupied by an emblem, exactly as the German gap is
43
+ # occupied by the Plaketten (see plates/de.yml). The dataset writes those gaps
44
+ # as the emitted SPACE separator (PRD-PLATES §2.6) and carries the emblem in
45
+ # `design.emblem`; no glyph is ever inside an Italian serial.
46
+ #
47
+ # 3. 1993, NOT 1994 — AND THE PRIMARY SAYS SO TWICE. Art. 260 comma 5 as
48
+ # originally enacted: "Il sistema di targatura stabilito dal presente
49
+ # regolamento entra in vigore, ai sensi dell'articolo 235, comma 7, del
50
+ # codice, a partire dal 1 luglio 1993 progressivamente con l'esaurimento delle
51
+ # targhe di vecchio tipo ancora in giacenza presso gli uffici provinciali
52
+ # della Direzione generale della M.C.T.C." As amended (text in force from
53
+ # 1997) the date reads "((a partire dal 1 ottobre 1993))" with a hard backstop
54
+ # "((e comunque non oltre il 31 dicembre 1996))". The ubiquitous "1994" start
55
+ # date for AA 000 AA is UNCITED wherever it appears (it.wikipedia gives
56
+ # "dal 28 febbraio 1994" with no source of any kind) and is recorded here as
57
+ # folklore, not as a period claim. What the primary supports is: legal
58
+ # commencement 1 October 1993, progressive rollout as each provincial office
59
+ # exhausted its old-type stock, everything over by 31 December 1996 — which is
60
+ # also, by the same sentence, the LAST year a provincial plate could issue.
61
+ #
62
+ # 4. THE 1999 CHANGE IS A DESIGN CHANGE, NOT A FORMAT CHANGE — one instrument,
63
+ # D.P.R. 4 settembre 1998, n. 355 (GU 14-10-1998 n. 240), did all of it: it
64
+ # rewrote Appendice XII lett. a) and c) to add "una zona rettangolare a
65
+ # sinistra dove, su fondo blu, è impressa in giallo nella parte superiore la
66
+ # corona di stelle simbolo della Unione europea e nella parte inferiore è
67
+ # impressa in bianco la lettera I" plus "una zona rettangolare a destra, a
68
+ # fondo blu"; it inserted art. 256 comma 4-bis (the province sigla); it
69
+ # rewrote art. 258's dimensions (the plate physically GREW: 340x109 -> 360x110
70
+ # front, 486x109 -> 520x110 rear); it rewrote art. 260 comma 3 (the two
71
+ # stickers) and comma 5, which now names the switchover date itself: "le nuove
72
+ # targhe in uso dal 1 gennaio 1999". Art. 260 comma 5 also settles that the
73
+ # SERIAL survived the change — a 1993-series plate may be swapped for a
74
+ # 1999-series one "con la stessa sigla alfanumerica ... senza che si configuri
75
+ # l'ipotesi di reimmatricolazione".
76
+ #
77
+ # 5. THE RIGHT-HAND BLUE ZONE IS PART OF THE PLATE; WHAT IT CARRIES IS NOT.
78
+ # Art. 260 comma 3, verbatim: "Nelle targhe di immatricolazione degli
79
+ # autoveicoli, dei rimorchi e dei motoveicoli la zona rettangolare posta
80
+ # all'estrema destra è destinata a contenere due talloncini in materiale
81
+ # autoadesivo, CHE NON FORMANO PARTE INTEGRANTE DELLA TARGA E NON INFLUISCONO
82
+ # AI FINI DELL'IDENTIFICAZIONE DEL VEICOLO E DEL RELATIVO INTESTATARIO: il
83
+ # primo, da applicarsi nella parte alta, reca in giallo le ultime due cifre
84
+ # dell'anno di immatricolazione; il secondo, da applicarsi nella parte bassa,
85
+ # reca in bianco la sigla della provincia di residenza dell'intestatario della
86
+ # carta di circolazione." So Italy's celebrated year+province band is, in the
87
+ # regulation's own words, two removable stickers that are not part of the
88
+ # plate — which is exactly why they are modelled here as
89
+ # `design.right_field.stickers` and NOT as serial characters, and why their
90
+ # absence proves nothing. Note also whose province it is: the province of
91
+ # RESIDENCE OF THE REGISTRATION-DOCUMENT HOLDER, not of the registering
92
+ # office.
93
+ #
94
+ # 6. THE MINISTER MAY DEVIATE WITHOUT AMENDING THE APPENDIX. Art. 257 comma 2,
95
+ # verbatim: "Fermo restando quanto previsto dall'articolo 246, il Ministro dei
96
+ # trasporti può, in caso di particolari esigenze, stabilire una successione ed
97
+ # un impiego di caratteri alfanumerici diversi da quelli indicati al comma 1
98
+ # della suddetta appendice XII." This is the single most important sourcing
99
+ # caveat for Italy: a ministerial decree can lawfully put a different
100
+ # character succession on the road than the appendix prints, without leaving a
101
+ # trace in the regolamento. It is the reason the MOTORCYCLE series below is
102
+ # `matching: recall-only` — see its notes.
103
+ #
104
+ # REGEX POLICY, as in plates/de.yml and plates/nl.yml: `format.regex` is the
105
+ # lint-round-trippable regex written in PRINTED form (§2.6 rule 2), with the
106
+ # inter-group gap spelled as an optional emitted SPACE because Appendice XII
107
+ # prescribes a marchio in the gap and no separator glyph. `format.regex_strict`
108
+ # carries the sourced twenty-two-letter alphabet of Appendice XII comma 2, which
109
+ # `regex` cannot carry because the lint's pattern generator emits all 26 letters
110
+ # for an "L".
111
+ jurisdiction: it
112
+ authority:
113
+ name: Ministero delle Infrastrutture e dei Trasporti — Dipartimento per i trasporti terrestri (ex Direzione generale della M.C.T.C.)
114
+ url: "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495"
115
+ binding: vehicle
116
+ binding_note: >-
117
+ VEHICLE-bound today, but with a dormant statutory switch that a consumer must
118
+ know about. Art. 100 comma 3-bis of the Codice della Strada reads, verbatim:
119
+ "Le targhe di cui ai commi 1, 2 e 3 sono personali, non possono essere abbinate
120
+ contemporaneamente a più di un veicolo e sono trattenute dal titolare in caso
121
+ di trasferimento di proprietà, costituzione di usufrutto, stipulazione di
122
+ locazione con facoltà di acquisto, esportazione all'estero e cessazione o
123
+ sospensione dalla circolazione" — i.e. a Swiss-style OWNER binding. It is not
124
+ in force: L. 29 luglio 2010, n. 120, art. 11 comma 6 provides that art. 100
125
+ comma 3-bis "si applica a decorrere dal sesto mese successivo alla data di
126
+ entrata in vigore del regolamento di cui al comma 5", and no such regolamento
127
+ was found in this pass (recorded gap). `binding: vehicle` is therefore the
128
+ current fact and `binding: owner` is a scheduled future one. The MOPED series
129
+ is the exception and already carries `binding: owner` — see it-moped-2006.
130
+ instrument:
131
+ citation: "Decreto del Presidente della Repubblica 16 dicembre 1992, n. 495 — Regolamento di esecuzione e di attuazione del nuovo codice della strada (GU n. 303 del 28-12-1992, Suppl. Ordinario n. 134)"
132
+ ausfertigungsdatum: "1992-12-16"
133
+ gazzetta: "GU Serie Generale n. 303 del 28-12-1992 — Suppl. Ordinario n. 134"
134
+ enabling_act: "D.Lgs. 30 aprile 1992, n. 285 (Nuovo codice della strada), GU n. 114 del 18-05-1992, S.O. n. 74 — artt. 97, 99, 100, 131, 134, 138"
135
+ replaces: "D.P.R. 30 giugno 1959, n. 420 (regolamento del T.U. delle norme sulla circolazione stradale, D.P.R. 15 giugno 1959, n. 393)"
136
+ amendments_that_touch_plates:
137
+ - "D.P.R. 16 settembre 1996, n. 610 (SO n. 212 alla GU 04-12-1996 n. 284) — moved the targatura commencement to 1 ottobre 1993 and added the 31-12-1996 backstop in art. 260 c. 5; widened the repeater-plate box count in Appendice XII lett. h) and i)"
138
+ - "D.P.R. 4 settembre 1998, n. 355 (GU 14-10-1998 n. 240) — THE 1999 PLATE: EU band + right-hand blue zone in Appendice XII a) and c); art. 256 c. 4-bis; art. 258 dimensions incl. the new 177x177 motorcycle plate; art. 260 c. 1 c-bis), c. 3 and c. 5; Appendice XI (province sigle); Appendice XIII; the Allegati figures"
139
+ - "D.P.R. 24 novembre 2001, n. 474 (GU 30-01-2002 n. 25) — abrogated the targa prova from the regolamento (Appendice XII lett. l)-o), art. 254, art. 260 c. 1 lett. b)) and re-enacted it with a new format in its own art. 2"
140
+ - "D.P.R. 6 marzo 2006, n. 153 (GU 15-04-2006 n. 89) — turned the moped 'contrassegno di identificazione' into a 'targa' (artt. 248-250)"
141
+ - "D.P.R. 28 settembre 2012, n. 198 (GU 22-11-2012 n. 273) — trailers moved from their own 'Rimorchio' format onto the car format; art. 8 c. 1: in force from the ninetieth day after publication and 'si applicano ai soli rimorchi immatricolati successivamente' to that date"
142
+ - "D.P.R. 20 luglio 2017, n. 140 (GU 22-09-2017 n. 222) — withdrew four province sigle and added Sud Sardegna; art. 2 c. 2: 'I veicoli dotati di targhe di immatricolazione con le sigle delle province, di cui al comma 1, possono continuare a circolare fino a una nuova immatricolazione o fino alla cessazione dalla circolazione'"
143
+ source: "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Normattiva Akoma-Ntoso export of the consolidated DPR 495/1992 — the whole act incl. Appendici XI, XII and XIII and the AGGIORNAMENTO notes; accessed 2026-08-02"
144
+
145
+ # ---------------------------------------------------------------------------
146
+ # Jurisdiction-wide facts, cited once and referenced per series.
147
+ # ---------------------------------------------------------------------------
148
+ common:
149
+ alphabet:
150
+ letters: [A, B, C, D, E, F, G, H, J, K, L, M, N, P, R, S, T, V, W, X, Y, Z]
151
+ letters_excluded: [I, O, Q, U]
152
+ digits: "0-9, all values"
153
+ verbatim: >-
154
+ Appendice XII comma 2: "I caratteri numerici di cui alle lettere da a) ad s)
155
+ del comma 1 assumono tutti i valori da zero a nove. La progressione, entro
156
+ il campo numerico, procede secondo la naturale sequenza da destra verso
157
+ sinistra. I caratteri alfabetici, previsti nello stesso comma, progrediscono
158
+ in successione da destra verso sinistra, ciascuno avanzando ad ogni
159
+ completamento della serie numerica. I caratteri alfabetici utilizzabili
160
+ sono: A, B, C, D, E, F, G, H, J, K, L, M, N, P, R, S, T, V, W, X, Y, Z
161
+ (tabelle da III.3/a a III.3/d che fanno parte integrante del presente
162
+ regolamento)."
163
+ note: >-
164
+ The four excluded letters are I, O, Q and U. The regulation gives the
165
+ positive list only and states no reason; the usual explanation (I/O/Q
166
+ confusable with 1/0, U with V) is NOT in the text and is not asserted here.
167
+ Tabelle III.3/a-III.3/d, which the same comma incorporates, are FIGURES and
168
+ were not text-extractable — the block-allocation order inside the alphabet
169
+ is therefore a recorded gap.
170
+ source: "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII al Titolo III, comma 2 — the 22-letter alphabet and the right-to-left progression, verbatim"
171
+ marchio_ufficiale:
172
+ description: "una stella a cinque punte tra un ramo di olivo ed uno di quercia"
173
+ figure: "figura III.5"
174
+ verbatim: "Art. 262: 'Il marchio ufficiale, che le targhe di ogni tipo devono portare, è costituito da una stella a cinque punte tra un ramo di olivo ed uno di quercia, della forma e dimensioni di cui alla figura III.5.'"
175
+ exception: "Appendice XII comma 3: repeater plates carry NO marchio ('contengono soltanto la lettera \"R\" in rosso, senza il marchio ufficiale della Repubblica italiana')."
176
+ licensing: >-
177
+ The emblem is the Stella d'Italia between olive and oak — an element of the
178
+ emblem of the Italian Republic, whose use is regulated independently of
179
+ copyright. PRD-PLATES §3 placeholder rule applies: renders carry
180
+ `emblem: {present: true, rendered: placeholder}` until a per-emblem
181
+ clearance exists.
182
+ source: "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art262 # art. 262 Marchio ufficiale, verbatim"
183
+ colours:
184
+ verbatim: >-
185
+ Art. 260 comma 1: "Il fondo delle targhe è giallo per le targhe di
186
+ immatricolazione delle macchine agricole semoventi o trainate, delle
187
+ macchine operatrici semoventi o trainate e per tutte le targhe ripetitrici;
188
+ è bianco in tutti gli altri casi ad eccezione delle parti poste
189
+ all'estremità delle targhe per autoveicoli, loro rimorchi e motoveicoli. I
190
+ caratteri ed il marchio ufficiale della Repubblica italiana sono neri, la
191
+ sigla I è bianca, ad eccezione dei casi di seguito indicati: a) colore
192
+ rosso: scritta RIM. AGR.; lettera R delle targhe ripetitrici; marchio
193
+ ufficiale e caratteri alfanumerici delle targhe di immatricolazione delle
194
+ macchine operatrici; ... c) colore azzurro: lettere EE di tutte le targhe
195
+ previste dall'articolo 134, comma 1, del codice. c-bis) colore nero: sigla I
196
+ alle targhe per escursionisti esteri, quando prevista."
197
+ note: >-
198
+ Every Italian plate colour is a NAMED colour — bianco, giallo, nero, rosso,
199
+ azzurro, blu — with no RAL or RGB value anywhere in the regolamento or in
200
+ the Appendice XIII disciplinare's extractable text. Every hex in this file
201
+ is therefore `hex_basis: observed` (a plausible rendering of the named
202
+ colour) except black and white, which are marked `spec` because the name
203
+ determines the value. Contrast Germany, whose Anlage 3 and Anlage 4 do give
204
+ RAL codes. The photometric/colorimetric limits do exist — Appendice XIII
205
+ point 4.1 "Le prescrizioni cromatiche relative ai colori bianco, giallo e
206
+ blu sono contenute al punto 4.1" — but the chromaticity tables at that point
207
+ are figures and were not text-extractable (recorded gap).
208
+ source: "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art260 # art. 260 commi 1-3"
209
+ construction:
210
+ verbatim: >-
211
+ Art. 260 comma 2: "Tutti i caratteri alfanumerici e gli elementi
212
+ complementari impressi nelle targhe sono realizzati mediante imbutitura
213
+ profonda 1,4 ± 0,1 mm". Appendice XIII punto 2.1: "Il supporto metallico
214
+ deve essere in lamiera di alluminio tipo Al 99,5 UNI 9001, parte seconda,
215
+ nelle gradazioni H12, H14 o H24, dello spessore di 1,00 ± 0,05 mm".
216
+ Appendice XIII punto 1.4: "Le targhe devono essere realizzate con quattro
217
+ fori di fissaggio del diametro di 5 mm e gli spigoli raccordati."
218
+ embossing_mm: 1.4
219
+ embossing_tolerance_mm: 0.1
220
+ substrate: "aluminium Al 99,5 UNI 9001 (H12/H14/H24), 1.00 ± 0.05 mm, phospho-chromated per UNI 4718 or chromated per UNI 4719"
221
+ finish: retroreflective
222
+ fixing_holes: { count: 4, diameter_mm: 5 }
223
+ retroreflection_required_by: "art. 100 comma 5 del codice: 'Le targhe indicate ai commi 1, 2, 3, 4 devono avere caratteristiche rifrangenti.'"
224
+ source: "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # art. 260 c. 2 and Appendice XIII al Titolo III, punti 1.1-1.4 and 2.1-2.3"
225
+ font:
226
+ name: null
227
+ statutory_basis: >-
228
+ NO TYPEFACE IS NAMED ANYWHERE. Art. 260 comma 4: "Le dimensioni delle targhe
229
+ e il formato dei relativi caratteri sono quelli previsti nelle figure
230
+ allegate al presente regolamento." Appendice XIII punto 1.2: "Le targhe ...
231
+ devono essere composte con caratteri alfanumerici conformi a quelli indicati
232
+ nelle figure stesse, con la spaziatura ivi indicata." Art. 261: "I modelli
233
+ delle targhe sono depositati presso il Ministero dei trasporti."
234
+ licence: >-
235
+ Italy is the fourth surveyed country to prescribe the glyphs by STATUTORY
236
+ DRAWING rather than by named licensable font (after DE, ES and UK — EU
237
+ dossier §6). PRD-PLATES §6 therefore applies unchanged: the render layer
238
+ derives glyphs from the statutory figures, never from a third-party
239
+ "Italian plate font" TTF whose own licence is unstated. The figures
240
+ themselves were not text-extractable from Normattiva's export and are a
241
+ recorded gap for the render pass.
242
+ source: "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art260 # art. 260 c. 4; art. 261 c. 1"
243
+ euro_band:
244
+ side: left
245
+ content: eu-stars+I
246
+ verbatim: >-
247
+ Appendice XII lett. a): "una zona rettangolare a sinistra dove, su fondo blu,
248
+ è impressa in giallo nella parte superiore la corona di stelle simbolo della
249
+ Unione europea e nella parte inferiore è impressa in bianco la lettera I".
250
+ note: >-
251
+ Italy states the band's CONTENT and its three colours in words and gives no
252
+ geometry at all — no millimetres, no star-circle ratio. The only hard
253
+ Euroband geometry secured anywhere in this program remains German (FZV
254
+ Anlage 4 Abschnitt 1 Nr. 3, see plates/de.yml). Italy also does not
255
+ cross-reference Reg. (CE) 2411/98 the way Germany does.
256
+ source: "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. a) and c)"
257
+ right_field:
258
+ side: right
259
+ background: blue
260
+ verbatim: >-
261
+ Appendice XII lett. a): "una zona rettangolare a destra, a fondo blu,
262
+ destinata ad ospitare i talloncini di cui al comma 3 dell'articolo 260."
263
+ stickers:
264
+ - { position: top, content: "last two digits of the year of registration", colour: yellow }
265
+ - { position: bottom, content: "sigla of the province of RESIDENCE of the holder of the carta di circolazione", colour: white }
266
+ legal_status: "art. 260 c. 3: the two stickers 'non formano parte integrante della targa e non influiscono ai fini dell'identificazione del veicolo e del relativo intestatario'"
267
+ source: "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art260 # art. 260 c. 3, second sentence"
268
+ no_historic_series:
269
+ finding: >-
270
+ ITALY HAS NO HISTORIC/VINTAGE PLATE SERIES, and that is a sourced negative,
271
+ not a gap. Art. 60 of the codice splits old vehicles in two: "veicoli
272
+ d'epoca" (cancelled from the P.R.A., museum-kept) and "veicoli di interesse
273
+ storico e collezionistico" (registered in ASI, Storico Lancia, Italiano
274
+ FIAT, Italiano Alfa Romeo, Storico FMI). The first group has no plate at
275
+ all — art. 214 of the regolamento: "Ai veicoli d'epoca ... per la
276
+ circolazione nei luoghi consentiti, è rilasciato il foglio di via e la targa
277
+ provvisoria previsti dall'articolo 99 del codice", i.e. they borrow the
278
+ TEMPORARY series (see it-temporary-provvisoria). The second group keeps its
279
+ ordinary registration; art. 215 imposes technical conditions, not a plate.
280
+ There is consequently no Italian equivalent of the German H-Kennzeichen or
281
+ the Spanish histórico, and no `historic` series is authored here.
282
+ source: "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # art. 214 (veicoli d'epoca -> foglio di via + targa provvisoria) and art. 215 (veicoli di interesse storico); D.Lgs. 285/1992 art. 60"
283
+ unsourced_series:
284
+ diplomatic_and_consular: >-
285
+ THE CURRENT CD/CC FORMAT IS NOT IN ANY INSTRUMENT READ IN THIS PASS. Art.
286
+ 131 comma 2 of the codice delegates it: for vehicles of diplomatic and
287
+ career consular agents "il Ministero dei trasporti, su richiesta del
288
+ Ministero degli affari esteri, ... provvede all'immatricolazione, assegnando
289
+ speciali targhe di riconoscimento, NEI TIPI E NELLE CARATTERISTICHE
290
+ DETERMINATE CON DECRETO DEL MINISTRO DEI TRASPORTI, DI CONCERTO CON IL
291
+ MINISTRO DEGLI AFFARI ESTERI." That decree was not located (Normattiva's
292
+ full-text search is not reachable without a session and the WebSearch budget
293
+ was exhausted). This is the same shape as the German district list (§ 9 Abs.
294
+ 3 FZV delegating to the Bundesanzeiger): the MECHANISM is cited, the table
295
+ is not invented. Art. 131 c. 4 does give one modellable fact — "La validità
296
+ delle speciali targhe di riconoscimento ... scade al momento in cui cessa lo
297
+ status diplomatico di colui al quale il veicolo appartiene" — and the
298
+ PRE-1993 diplomatic plate IS sourced and appears below as
299
+ it-diplomatic-1959.
300
+ military_and_police: >-
301
+ NOT MODELLED, and for a cleaner reason: art. 138 comma 1 of the codice
302
+ removes military vehicles from the civil system entirely — "Le Forze armate
303
+ provvedono direttamente nei riguardi dei veicoli di loro dotazione agli
304
+ accertamenti tecnici, all'immatricolazione militare, al rilascio dei
305
+ documenti di circolazione e delle targhe di riconoscimento." The EI / MM /
306
+ AM / CC / GdiF / VF / POLIZIA series therefore live outside DPR 495 and
307
+ outside every instrument read here. No format is asserted.
308
+ monopattini: >-
309
+ A NEW SERIES LANDED IN 2025 AND IS NOT MODELLED. L. 177/2024 and its
310
+ implementing decree (reported as decreto n. 210 of 27-06-2025) introduce an
311
+ identification mark for monopattini (e-scooters). Neither text was pinned in
312
+ this pass; it is flagged for the next Italian pass rather than guessed.
313
+ source: "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art131 # art. 131 c. 2 and c. 4, verbatim; art. 138 c. 1"
314
+
315
+ region_encoding_tables:
316
+ reference: "plates/_decode/it-provinces.yml"
317
+ note: >-
318
+ TWO closed, primary, inlineable-sized tables live in Appendice XI al Titolo
319
+ III, and both are extracted into one decode file: (1) comma 1, the sigle of
320
+ the provincial M.C.T.C. offices (A1 Alessandria ... X4 Oristano), which are
321
+ the PREFIX of the targa provvisoria; and (2) comma 1-bis, the sigle of the
322
+ provinces, which is what the right-hand sticker carries. They are NOT the same
323
+ table and they do not use the same codes — Rome is "P4" as an office and the
324
+ literal word "Roma" as a province.
325
+ source: "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XI al Titolo III, commi 1 and 1-bis"
326
+
327
+ series:
328
+
329
+ # =========================================================================
330
+ # THE CURRENT STANDARD SERIES — AA 000 AA with the two blue zones.
331
+ # =========================================================================
332
+ - id: it-standard-1999
333
+ class: standard
334
+ categories: [car, van, truck, bus]
335
+ period: { start: 1999 }
336
+ period_evidence: instrument-in-force
337
+ matching: strict
338
+ format:
339
+ pattern: "LL 999 LL"
340
+ regex: '\A[A-Z]{2} ?\d{3} ?[A-Z]{2}\z'
341
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?\d{3} ?[ABCDEFGHJKLMNPRSTVWXYZ]{2}\z'
342
+ charset:
343
+ letters: [A, B, C, D, E, F, G, H, J, K, L, M, N, P, R, S, T, V, W, X, Y, Z]
344
+ letters_excluded: [I, O, Q, U]
345
+ notes: "Appendice XII comma 2 — see common.alphabet. The exclusion applies to BOTH letter groups; there is no separate rule for the first pair."
346
+ progression: >-
347
+ Appendice XII comma 2: the numeric field advances right to left in natural
348
+ sequence; the alphabetic characters advance right to left, each moving on
349
+ when the numeric series completes. With 22 letters the space is
350
+ 22 x 22 x 1000 x 22 x 22 = 234,256,000 combinations. The dataset does NOT
351
+ claim which letter block is current — the block order lives in tabelle
352
+ III.3/a-III.3/d, which are figures (recorded gap), so an Italian plate
353
+ cannot be dated from its serial by anything in this file.
354
+ separator_note: >-
355
+ The two printed gaps are occupied by the marchio ufficiale (Appendice XII
356
+ lett. a) names it between the first letter pair and the digits), not by a
357
+ separator glyph. Both regexes accept the gap as an optional emitted SPACE
358
+ per PRD-PLATES §2.6.
359
+ reserved_combinations: >-
360
+ Art. 100 comma 8 of the codice lets the holder request "una specifica
361
+ combinazione alfanumerica" at cost, "ferma restando la sequenza
362
+ alfanumerica fissata dal regolamento" — a personalised SERIAL inside the
363
+ standard grammar, hence the `personalized` variant below rather than a
364
+ series of its own (PRD-PLATES §2.3).
365
+ design:
366
+ plate: { w: 520, h: 110, unit: mm, note: "targa posteriore, formato A" }
367
+ plate_variants:
368
+ - { w: 360, h: 110, unit: mm, note: "targa anteriore" }
369
+ - { w: 297, h: 214, unit: mm, note: "targa posteriore formato B — 'destinato esclusivamente agli autoveicoli il cui alloggiamento targa non consente l'installazione della targa formato A'" }
370
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec, spec_note: "art. 260 c. 1: 'è bianco in tutti gli altri casi ad eccezione delle parti poste all'estremità'" }
371
+ foreground: "#000000"
372
+ band: { side: left, color: "#003399", content: eu-stars+I, hex_basis: observed, stars_color: "#FFCC00", letter_color: "#FFFFFF", note: "art. 260 c. 1: 'la sigla I è bianca'; Appendice XII a): stars 'in giallo', letter I 'in bianco', on 'fondo blu'" }
373
+ right_field:
374
+ side: right
375
+ color: "#003399"
376
+ hex_basis: observed
377
+ content: "two adhesive stickers: year of registration (yellow, top) over province sigla of the holder's residence (white, bottom)"
378
+ note: "art. 260 c. 3 — the stickers are expressly NOT part of the plate and do not affect identification of the vehicle or its holder"
379
+ emblem: { present: true, rendered: placeholder, note: "marchio ufficiale — five-pointed star between olive and oak branches, figura III.5 (art. 262)" }
380
+ rear_differs: true
381
+ rear_differs_note: >-
382
+ ITALY IS THE EU DOSSIER'S NAMED CASE OF FRONT/REAR ASYMMETRY, and the
383
+ primary confirms it: art. 258 c. 1 lett. a) gives 360 x 110 mm for the
384
+ front plate and lett. b) 520 x 110 mm for the rear. Same serial, different
385
+ plate. A render pipeline must emit two artefacts per Italian registration.
386
+ display: "front and rear on autoveicoli (art. 100 c. 1 del codice)"
387
+ region_encoding: "plates/_decode/it-provinces.yml"
388
+ region_encoding_mechanism: >-
389
+ NONE IN THE SERIAL. The 1993 reform removed geography from the Italian
390
+ registration mark completely: Appendice XII lett. a) contains no province
391
+ element. Geography survives only in the right-hand STICKER (art. 260 c. 3),
392
+ which is removable, optional in practice, decodes to the HOLDER'S PROVINCE
393
+ OF RESIDENCE rather than the place of registration, and is expressly not
394
+ part of the plate. A parse API must treat an Italian province claim as
395
+ evidence about the sticker, never about the serial — the same "the band lies"
396
+ caution the EU dossier records for the French SIV département.
397
+ variants:
398
+ - class: personalized
399
+ format: { pattern: "LL 999 LL", regex: '\A[A-Z]{2} ?\d{3} ?[A-Z]{2}\z' }
400
+ note: >-
401
+ TARGA A COMBINAZIONE RICHIESTA. Art. 100 c. 8: the holder may request a
402
+ specific alphanumeric combination at the cost set under art. 101 c. 1;
403
+ the office checks the combination is unused, registers the vehicle, and
404
+ the Istituto Poligrafico delivers the plates within thirty days. Format
405
+ and design are identical to the standard series — a sub-entry, not a
406
+ series, per PRD-PLATES §2.3. Italy has no vanity ALPHABET: the requested
407
+ combination must still obey Appendice XII.
408
+ sources:
409
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art100 # art. 100 c. 8, verbatim"
410
+ sources:
411
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. a) — 'due caratteri alfabetici, il marchio ufficiale della Repubblica italiana, tre caratteri numerici e due caratteri alfabetici' plus the left EU zone and the right blue zone; comma 2 — the 22-letter alphabet"
412
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art258 # art. 258 c. 1 lett. a) and b) — 360x110 front, 520x110 formato A, 297x214 formato B, all 'fermo restando quanto stabilito nella materia dalle norme previgenti per i veicoli immatricolati anteriormente al 1 gennaio 1999'"
413
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art260 # art. 260 c. 1 (colours), c. 3 (the two stickers), c. 5 ('le nuove targhe in uso dal 1 gennaio 1999')"
414
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art100 # art. 100 c. 1 (front and rear), c. 5 (retroreflective), c. 8 (requested combination), c. 9 (what the regolamento must fix)"
415
+ notes: >-
416
+ THE CURRENT ITALIAN CAR PLATE. period.start 1999 is the date the primary
417
+ itself names: art. 260 c. 5, as amended by D.P.R. 4 settembre 1998 n. 355,
418
+ speaks of "le nuove targhe in uso dal 1 gennaio 1999", and art. 258 c. 1
419
+ opens by preserving the previous rules "per i veicoli immatricolati
420
+ anteriormente al 1 gennaio 1999". `period_evidence: instrument-in-force`
421
+ rather than a harder value because the instrument names a month-and-year
422
+ switchover, not a first-issue date; the widely repeated "8 febbraio 1999" is
423
+ uncited and is not adopted. NOTE THE CONTINUITY the same comma establishes:
424
+ a 1993-series plate may be exchanged for a 1999-series one "con la stessa
425
+ sigla alfanumerica ... senza che si configuri l'ipotesi di reimmatricolazione
426
+ di cui all'articolo 102", so serial-space and design-space are orthogonal in
427
+ Italy, and a 1999-design plate can carry a serial first issued in 1993.
428
+
429
+ # =========================================================================
430
+ # ONE SERIES BACK — the same serial, no bands, smaller plates.
431
+ # =========================================================================
432
+ - id: it-standard-1993
433
+ class: standard
434
+ categories: [car, van, truck, bus]
435
+ period: { start: 1993, end: 1999 }
436
+ period_evidence: instrument-in-force
437
+ period_rollout:
438
+ legal_commencement: 1993
439
+ old_stock_backstop: 1996
440
+ note: >-
441
+ Art. 260 c. 5: "a partire dal 1 ottobre 1993 progressivamente con
442
+ l'esaurimento delle targhe di vecchio tipo ancora in giacenza presso gli
443
+ uffici provinciali della Direzione generale della M.C.T.C. e comunque non
444
+ oltre il 31 dicembre 1996". Legal commencement and full coverage are three
445
+ years apart and the regulation says so — the PRD-PLATES §2.2
446
+ `period.rollout` case, arriving in Italy.
447
+ matching: strict
448
+ format:
449
+ pattern: "LL 999 LL"
450
+ regex: '\A[A-Z]{2} ?\d{3} ?[A-Z]{2}\z'
451
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?\d{3} ?[ABCDEFGHJKLMNPRSTVWXYZ]{2}\z'
452
+ charset: { letters_excluded: [I, O, Q, U], notes: "identical to the 1999 series — the 1998 amendment did not touch Appendice XII comma 2" }
453
+ design:
454
+ plate: { w: 486, h: 109, unit: mm, note: "targa posteriore, formato A (1993 dimensions)" }
455
+ plate_variants:
456
+ - { w: 340, h: 109, unit: mm, note: "targa anteriore (1993 dimensions)" }
457
+ - { w: 336, h: 202, unit: mm, note: "targa posteriore formato B (1993 dimensions)" }
458
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
459
+ foreground: "#000000"
460
+ band: { side: none }
461
+ band_note: "NO EU band and NO right-hand blue zone: Appendice XII lett. a) as enacted read simply 'due caratteri alfabetici, il marchio ufficiale della Repubblica italiana, tre caratteri numerici e due caratteri alfabetici', and art. 260 c. 1 as enacted made the whole ground white with no end-zone exception."
462
+ emblem: { present: true, rendered: placeholder }
463
+ rear_differs: true
464
+ region_encoding: none
465
+ sources:
466
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=19940101 # Appendice XII lett. a) as originally enacted (no blue zones) and art. 260 c. 5 as originally enacted ('a partire dal 1 luglio 1993'), Normattiva multivigenza export at 1994-01-01"
467
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=19980101 # art. 260 c. 5 as amended: '((a partire dal 1 ottobre 1993))' and '((e comunque non oltre il 31 dicembre 1996))'; art. 258 c. 1 lett. a)-b) with the 340x109 / 486x109 / 336x202 dimensions"
468
+ notes: >-
469
+ THE 1993 SERIES — the first Italian plate with no province in it, and the
470
+ FOLKLORE FLAG of this file. Every enthusiast source and it.wikipedia date it
471
+ to 1994 ("dal 28 febbraio 1994", uncited); the regulation dates its own
472
+ commencement to 1 July 1993 as enacted and 1 October 1993 as amended, and
473
+ caps the transition at 31 December 1996. Because provincial offices issued
474
+ old-type stock until it ran out, the first AA 000 AA plate in a given
475
+ province may well post-date the legal commencement by months — which is
476
+ exactly why `period_rollout` carries the backstop instead of the folklore
477
+ year being laundered into `period.start`. Distinct from it-standard-1999
478
+ only in DESIGN (no bands, smaller plates); the serial grammar is
479
+ character-for-character the same, and art. 260 c. 5 expressly allows a
480
+ 1993-series serial to be re-plated in the 1999 design.
481
+
482
+ # =========================================================================
483
+ # THE PRE-1993 PROVINCIAL SYSTEM — the real "one series back".
484
+ # =========================================================================
485
+ - id: it-provincial-1959
486
+ class: standard
487
+ categories: [car, van, truck, bus]
488
+ period: { start: 1959, end: 1996 }
489
+ period_evidence: instrument-in-force
490
+ # RECALL-ONLY (PRD-PLATES §2.7): the 1959 regolamento fixes the province
491
+ # sigla and nothing else — the rest of the mark is "un numero o una
492
+ # combinazione di lettere e cifre", with no length, no alphabet and no
493
+ # arrangement. Any regex covering it is necessarily wider than what was
494
+ # issued, so a match is a shape hit and never a validity claim.
495
+ matching: recall-only
496
+ format:
497
+ pattern: "LL 999999"
498
+ regex: '\A(?:ROMA|[A-Z]{1,2}) ?[A-Z0-9]{1,6}\z'
499
+ charset:
500
+ notes: >-
501
+ Art. 320 D.P.R. 420/1959, verbatim: "Essa porta in rilievo in carattere
502
+ bianco su fondo nero, il contrassegno d'immatricolazione dell'autoveicolo,
503
+ formato dalla sigla di individuazione della provincia in cui è
504
+ immatricolato e da un numero o da una combinazione di lettere e cifre,
505
+ con il marchio ufficiale interposto tra i predetti elementi." The serial
506
+ part is DELIBERATELY unbounded in the primary; the {1,6} in the regex is a
507
+ practical recall bound, not a sourced one, which is the other half of why
508
+ this series is recall-only.
509
+ progression: "not stated in the 1959 regolamento — recorded gap"
510
+ design:
511
+ plate: { w: 275, h: 200, unit: mm, note: "targa di riconoscimento posteriore (art. 320)" }
512
+ plate_variants:
513
+ - { w: 267, h: 62, unit: mm, note: "targa anteriore, single row (art. 321): 'porta in rilievo, in carattere bianco su fondo nero, su unica riga le indicazioni contenute nella targa di riconoscimento'" }
514
+ background: { color: "#000000", finish: painted, hex_basis: spec, spec_note: "art. 320: 'in carattere bianco su fondo nero'" }
515
+ foreground: "#FFFFFF"
516
+ band: { side: none }
517
+ emblem: { present: true, rendered: placeholder, note: "'con il marchio ufficiale interposto tra i predetti elementi' — the emblem sits between the province sigla and the serial, which is why province and serial are visually separated" }
518
+ rear_differs: true
519
+ construction: "metal or equivalent, rounded corners, four 5 mm fixing holes (art. 320)"
520
+ colour_caveat: >-
521
+ THE COLOUR CLAIM HERE IS THE REGULATION'S, NOT THE ROAD'S. The text of art.
522
+ 320 still read "carattere bianco su fondo nero" in the version in force on
523
+ 1 January 1992, yet the last generation of provincial plates was black on
524
+ white retroreflective. No instrument changing the colour was located in
525
+ this pass, so the black-on-white variant is a RECORDED GAP and is not
526
+ asserted; the sourced colours are recorded here and the discrepancy is
527
+ flagged rather than averaged (PRD-PLATES §5.3).
528
+ region_encoding: "plates/_decode/it-provinces.yml"
529
+ region_encoding_mechanism: >-
530
+ THE PROVINCE IS IN THE MARK ITSELF — this is the only Italian series where a
531
+ parse can return a province from the serial. The sigla is the province of
532
+ registration (art. 320), not of residence, which inverts the modern sticker's
533
+ semantics. TWO CAUTIONS a decode table must carry: (1) the only
534
+ primary-sourced sigle list is Appendice XI comma 1-bis of DPR 495/1992, which
535
+ was inserted in 1998 and uses the province set of that date — provinces
536
+ created in 1992 (Lecco, Lodi, Rimini, Prato, Crotone, Vibo Valentia,
537
+ Verbano-Cusio-Ossola) never issued provincial plates at all, and the
538
+ pre-1992 list is a recorded gap; (2) Rome's sigla is the literal word "Roma",
539
+ not "RM" — Appendice XII comma 3 has to say so explicitly for repeater
540
+ plates: "Nel caso in cui la targa del veicolo traente contenga la parola Roma
541
+ essa viene riportata sulla targa ripetitrice mediante la sigla RM."
542
+ sources:
543
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19590630&codiceRedaz=059U0420&dataVigenza=19920101 # D.P.R. 30 giugno 1959, n. 420, art. 320 (rear plate 275x200, white on black, province sigla + marchio + number or letter/digit combination) and art. 321 (front plate 267x62, single row)"
544
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art260 # art. 260 c. 5 — the provincial plates' issuance end: old-type stock ran until exhausted 'e comunque non oltre il 31 dicembre 1996', and already-registered vehicles 'possono continuare a circolare con la targa di immatricolazione ... originale'"
545
+ notes: >-
546
+ THE PROVINCIAL SYSTEM (MI 12345, ROMA 123456). period.start 1959 is the date
547
+ of the instrument that states the rule read here, NOT the date the system
548
+ began — Italian province codes are commonly said to date from 1927 and no
549
+ primary for that was secured, so it is recorded as folklore and not as a
550
+ period claim. period.end 1996 IS sourced, and unusually cleanly: art. 260
551
+ c. 5 of the 1992 regolamento caps the issuance of old-type plates at 31
552
+ December 1996. The same comma is the reason a provincial plate is still a
553
+ live parse target thirty years later: "Gli autoveicoli ... già immatricolati,
554
+ possono continuare a circolare con la targa di immatricolazione (e con quella
555
+ anteriore, ove ricorra) originale" — never re-plated, still legal.
556
+
557
+ - id: it-provincial-motorcycle-1959
558
+ class: motorcycle
559
+ categories: [motorcycle]
560
+ period: { start: 1959, end: 1996 }
561
+ period_evidence: instrument-in-force
562
+ matching: recall-only
563
+ format:
564
+ pattern: "LL 999999"
565
+ regex: '\A(?:ROMA|[A-Z]{1,2}) ?[A-Z0-9]{1,6}\z'
566
+ charset: { notes: "art. 322: same open grammar as the car plate — province sigla + marchio + 'un numero o una combinazione di lettere e cifre'" }
567
+ design:
568
+ plate: { w: 165, h: 165, unit: mm, note: "square, rounded corners, four 5 mm holes" }
569
+ background: { color: "#FFFFFF", finish: painted, hex_basis: spec, spec_note: "art. 322: 'in carattere blu su fondo bianco'" }
570
+ foreground: "#0000A0"
571
+ band: { side: none }
572
+ emblem: { present: true, rendered: placeholder }
573
+ region_encoding: "plates/_decode/it-provinces.yml"
574
+ sources:
575
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19590630&codiceRedaz=059U0420&dataVigenza=19920101 # art. 322: 'La targa di riconoscimento per i motoveicoli è ... di forma quadrata, con il lato di mm. 165 ... Essa porta in rilievo, in carattere blu su fondo bianco, il contrassegno d'immatricolazione del motoveicolo formato dalla sigla d'individuazione della provincia'"
576
+ notes: >-
577
+ THE BLUE-ON-WHITE MOTORCYCLE PLATE, and the one genuinely surprising colour
578
+ fact in Italian plate law: while cars carried white on black, motorcycles
579
+ carried BLUE on white under the same 1959 regolamento. Its own series rather
580
+ than a variant of it-provincial-1959 because both design and dimensions
581
+ differ (PRD-PLATES §2.3). The 165 x 165 mm square survived the 1993 reform
582
+ unchanged and did not grow until 1999.
583
+
584
+ # =========================================================================
585
+ # MOTORCYCLES — the file's one deliberately over-broad current series.
586
+ # =========================================================================
587
+ - id: it-motorcycle-1999
588
+ class: motorcycle
589
+ categories: [motorcycle]
590
+ period: { start: 1999 }
591
+ period_evidence: instrument-in-force
592
+ # RECALL-ONLY (PRD-PLATES §2.7), and the reason is a documented conflict
593
+ # rather than a union of issued shapes — see notes. A match is a shape hit.
594
+ matching: recall-only
595
+ format:
596
+ pattern: "LL 999 LL"
597
+ regex: '\A(?:[A-Z]{2} ?\d{3} ?[A-Z]{2}|[A-Z]{2} ?\d{5})\z'
598
+ pattern_note: >-
599
+ The pattern shows the APPENDIX shape (two letters, three digits, two
600
+ letters). The regex is the union of that shape and the two-letters +
601
+ five-digits shape reported everywhere on the enthusiast web and in
602
+ it.wikipedia, because the two cannot both be right and neither can be
603
+ discarded — see notes.
604
+ charset:
605
+ letters_excluded: [I, O, Q, U]
606
+ notes: "Appendice XII comma 2's 22-letter alphabet governs whichever shape is in fact issued; it is not written into `regex` because a recall-only series may carry no regex_strict (PRD-PLATES §2.7)."
607
+ design:
608
+ plate: { w: 177, h: 177, unit: mm, note: "art. 258 c. 1 lett. e-bis), inserted by D.P.R. 355/1998 — the motorcycle plate GREW from 165x165 to 177x177 when the EU band arrived" }
609
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
610
+ foreground: "#000000"
611
+ band: { side: left, color: "#003399", content: eu-stars+I, hex_basis: observed }
612
+ right_field: { side: right, color: "#003399", hex_basis: observed, content: "the same two art. 260 c. 3 stickers as the car plate — year over province" }
613
+ emblem: { present: true, rendered: placeholder }
614
+ layout: "two rows on a square plate; the EU band runs the full height at the left"
615
+ display: "rear only (art. 100 c. 2 del codice)"
616
+ region_encoding: "plates/_decode/it-provinces.yml"
617
+ variants:
618
+ - class: motorcycle
619
+ design: { background: { color: "#FFCC00", finish: painted, hex_basis: observed }, foreground: "#000000" }
620
+ note: >-
621
+ THE OFF-ROAD COMPETITION SUBSTITUTE PANEL, and one of the odder things in
622
+ the codice. Art. 100 c. 10, verbatim: "I motoveicoli impegnati in
623
+ competizioni motoristiche fuori strada che prevedono trasferimenti su
624
+ strada possono esporre, limitatamente ai giorni e ai percorsi di gara, in
625
+ luogo della targa di cui al comma 2, una targa sostitutiva costituita da
626
+ un pannello AUTO-COSTRUITO che riproduce i dati di immatricolazione del
627
+ veicolo. Il pannello deve avere fondo giallo, cifre e lettere nere e
628
+ caratteristiche dimensionali identiche a quelle della targa che
629
+ sostituisce." A self-built yellow panel repeating the vehicle's own
630
+ registration, legal only on race days and race routes, and only for FMI
631
+ licence holders. Colour-and-substrate variant of the same serial, hence a
632
+ sub-entry (PRD-PLATES §2.3).
633
+ sources:
634
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art100 # art. 100 c. 10, second sentence"
635
+ sources:
636
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. c) as amended in 1998: '((c) targa dei motoveicoli (fig. III 4/e): riporta nell'ordine, una zona rettangolare a sinistra dove, su fondo blu, è impressa in giallo ... la corona di stelle ... la lettera I; due caratteri alfabetici, il marchio della Repubblica italiana, tre caratteri numerici e due caratteri alfabetici; una zona rettangolare a destra ...))'"
637
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=19980101 # the same lett. c) BEFORE the amendment: 'due caratteri alfabetici, il marchio ufficiale della Repubblica italiana e cinque caratteri numerici' — proof that the 1998 amendment deliberately replaced the five-digit tail"
638
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art258 # art. 258 c. 1 lett. e-bis): 'targhe di immatricolazioni dei motoveicoli: 177 mm X 177 mm'"
639
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art257 # art. 257 c. 2 — the Minister's power to set 'una successione ed un impiego di caratteri alfanumerici diversi da quelli indicati' in Appendice XII"
640
+ notes: >-
641
+ THE ONE PLACE THIS FILE REFUSES TO CHOOSE, and it is recorded rather than
642
+ resolved. D.P.R. 355/1998 rewrote Appendice XII lett. c) so that a
643
+ motorcycle plate carries "tre caratteri numerici e due caratteri alfabetici"
644
+ — the car grammar — replacing the enacted "cinque caratteri numerici". The
645
+ consolidated regolamento in force in 2026 still reads that way. But every
646
+ non-primary description of Italian motorcycle plates, it.wikipedia included,
647
+ says the second row is FIVE DIGITS, and none of them cites anything.
648
+ Art. 257 c. 2 supplies a lawful mechanism by which both could be true — the
649
+ Minister may set a different character succession by decree without amending
650
+ the appendix — and no such decree was located. Averaging the two would be
651
+ exactly the failure PRD-PLATES §5.3 forbids, so the series is `recall-only`
652
+ with a union regex, the appendix text is quoted in the sources, and this is
653
+ the FIRST item on the verifier's list (see dossier-it.md §Verification).
654
+ period.start 1999 is the design date (D.P.R. 355/1998 + art. 260 c. 5's
655
+ 1 January 1999); if the five-digit shape is the one actually issued, this
656
+ series' start is unaffected but its format claim moves to the 1993 entry.
657
+
658
+ - id: it-motorcycle-1993
659
+ class: motorcycle
660
+ categories: [motorcycle]
661
+ period: { start: 1993, end: 1999 }
662
+ period_evidence: instrument-in-force
663
+ matching: strict
664
+ format:
665
+ pattern: "LL 99999"
666
+ regex: '\A[A-Z]{2} ?\d{5}\z'
667
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?\d{5}\z'
668
+ charset: { letters_excluded: [I, O, Q, U], notes: "Appendice XII comma 2" }
669
+ design:
670
+ plate: { w: 165, h: 165, unit: mm }
671
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
672
+ foreground: "#000000"
673
+ band: { side: none }
674
+ emblem: { present: true, rendered: placeholder, note: "the marchio sits between the letter pair and the five digits" }
675
+ display: "rear only"
676
+ region_encoding: none
677
+ sources:
678
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=19940101 # Appendice XII lett. c) as enacted: 'targa dei motoveicoli (fig. III.4/e): riporta, nell'ordine, due caratteri alfabetici, il marchio ufficiale della Repubblica italiana e cinque caratteri numerici'; art. 258 c. 1 lett. e) — 165 x 165 mm"
679
+ notes: >-
680
+ THE 1993 MOTORCYCLE SERIES — two letters, the emblem, five digits, on the
681
+ same 165 mm square the 1959 regolamento used. This entry is `strict` and its
682
+ 1999 successor is not, which is the honest asymmetry: the five-digit shape is
683
+ unambiguously sourced FOR THIS PERIOD, and the dispute is only about whether
684
+ it was ever replaced. If the verifier finds that motorcycles never moved off
685
+ the five-digit tail, the fix is to extend this series rather than to widen
686
+ it-motorcycle-1999.
687
+
688
+ # =========================================================================
689
+ # MOPEDS — six alphanumerics, owner-bound, and no arrangement in the law.
690
+ # =========================================================================
691
+ - id: it-moped-2006
692
+ class: moped
693
+ categories: [moped]
694
+ period: { start: 2006 }
695
+ period_evidence: instrument-in-force
696
+ binding: owner
697
+ matching: strict
698
+ format:
699
+ pattern: "LLL999"
700
+ regex: '\A[A-Z0-9]{6}\z'
701
+ charset:
702
+ notes: >-
703
+ Art. 250 c. 1 of the regolamento, verbatim: "La targa è composta da sei
704
+ caratteri alfanumerici, nonché dal marchio ufficiale della Repubblica
705
+ italiana." Art. 250 c. 4: "Il codice alfanumerico è costituito da una
706
+ combinazione di lettere e numeri. La progressione delle combinazioni
707
+ viene stabilita dal Dipartimento per i trasporti terrestri." SIX
708
+ POSITIONS IS THE WHOLE OF THE SOURCED GRAMMAR — the regulation fixes
709
+ neither the arrangement of letters and digits nor any excluded character,
710
+ and expressly hands the progression to the Department. The commonly
711
+ repeated three-letters-then-three-digits arrangement, the A/E/I/O/Q/U
712
+ letter exclusion and the "no digit 1" rule are UNSOURCED and are not
713
+ written into any regex here.
714
+ progression: "set by the Dipartimento per i trasporti terrestri (art. 250 c. 4); not published in the regolamento — recorded gap"
715
+ design:
716
+ plate: { note: "form and dimensions are 'indicati nella figura III 3' and the character format 'nella tabella III 2' (art. 250 c. 2) — both are figures and were not text-extractable; RECORDED GAP" }
717
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec, spec_note: "art. 250 c. 1: 'Il fondo della targa è bianco'" }
718
+ foreground: "#000000"
719
+ band: { side: none }
720
+ band_note: "art. 250 gives the moped plate no EU band and no right-hand zone; only art. 260 c. 1's white ground and black characters"
721
+ emblem: { present: true, rendered: placeholder }
722
+ illumination: "art. 250 c. 5: 'La targa non deve essere necessariamente illuminata'"
723
+ region_encoding: none
724
+ sources:
725
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # artt. 248-251 as amended: art. 248 c. 1 (the art. 97 plate has art. 250's characteristics and an alphanumeric code), c. 3 (owner binding), art. 250 c. 1 (six alphanumeric characters, white ground, black characters, 1.4 mm embossing on 1.00 mm aluminium), c. 2 (figura III 3, tabella III 2), c. 4 (progression set by the Department), c. 5 (need not be illuminated)"
726
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art97 # art. 97 c. 1 lett. b): a moped needs 'una targa, che identifica l'intestatario del certificato di circolazione'; c. 2: 'La targa è personale e abbinata a un solo veicolo'"
727
+ notes: >-
728
+ THE ITALIAN MOPED PLATE IS OWNER-BOUND, and it is the only Italian series
729
+ that is. Art. 97 c. 2 of the codice: "La targa è personale e abbinata a un
730
+ solo veicolo", retained by the holder on sale; art. 248 c. 3 of the
731
+ regolamento: "La targa è strettamente legata al titolare, che la applica solo
732
+ al veicolo identificato nel certificato di circolazione di cui risulta
733
+ intestatario. Chi risulta intestatario di più veicoli deve conseguentemente
734
+ munirsi di un corrispondente numero di certificati di circolazione e di
735
+ targhe." Hence `binding: owner` on this series while the file's default is
736
+ `binding: vehicle` — the Swiss case arriving in Italy through a different
737
+ door, and a trap for any vehicle-keyed consumer.
738
+ PREDECESSOR, NOT MODELLED: before D.P.R. 6 marzo 2006 n. 153 the same
739
+ vehicles carried a "contrassegno di identificazione" whose art. 250 read
740
+ only "porta in rilievo su fondo bianco retroriflettente una combinazione di
741
+ cifre e lettere" — no count, no arrangement, nothing quantifiable — and which
742
+ was bound to the PERSON so loosely that art. 248 c. 4 let one holder ride
743
+ several different mopeds on it ("Lo stesso contrassegno permette
744
+ all'intestatario di circolare con differenti ciclomotori"). A series whose
745
+ primary fixes no length cannot carry a regex, so none is authored; it is a
746
+ recorded gap, and the 14 July 2006 date usually given for the changeover is
747
+ uncited (the instrument's own date, GU 15-04-2006, is what `period.start`
748
+ rests on).
749
+
750
+ # =========================================================================
751
+ # TRAILERS — the 2013 merge, and the "RIMORCHIO" plate it replaced.
752
+ # =========================================================================
753
+ - id: it-trailer-2013
754
+ class: trailer
755
+ categories: [trailer, semitrailer]
756
+ period: { start: 2013 }
757
+ period_evidence: instrument-in-force
758
+ matching: strict
759
+ format:
760
+ pattern: "LL 999 LL"
761
+ regex: '\A[A-Z]{2} ?\d{3} ?[A-Z]{2}\z'
762
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?\d{3} ?[ABCDEFGHJKLMNPRSTVWXYZ]{2}\z'
763
+ charset: { letters_excluded: [I, O, Q, U] }
764
+ design:
765
+ plate: { w: 520, h: 110, unit: mm, note: "formato A; art. 258 c. 1 lett. b) extended to 'autoveicoli ((e loro rimorchi))'" }
766
+ plate_variants:
767
+ - { w: 297, h: 214, unit: mm, note: "formato B where the mounting cannot take formato A" }
768
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
769
+ foreground: "#000000"
770
+ band: { side: left, color: "#003399", content: eu-stars+I, hex_basis: observed }
771
+ right_field: { side: right, color: "#003399", hex_basis: observed, content: "the art. 260 c. 3 stickers" }
772
+ emblem: { present: true, rendered: placeholder }
773
+ display: "rear only (art. 100 c. 3 del codice)"
774
+ region_encoding: none
775
+ sources:
776
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. a) as amended by D.P.R. 198/2012: 'targa anteriore e posteriore degli autoveicoli, nonché quella posteriore dei loro rimorchi'; lett. b) 'LETTERA SOPPRESSA DAL D.P.R. 28 SETTEMBRE 2012, N. 198'; art. 258 c. 1 lett. b) with '((e loro rimorchi))'"
777
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art260 # AGGIORNAMENTO (44): D.P.R. 28 settembre 2012, n. 198 art. 8 c. 1 — in force from the ninetieth day after publication (GU 22-11-2012 n. 273) and applicable 'ai soli rimorchi immatricolati successivamente'"
778
+ notes: >-
779
+ TRAILERS JOINED THE CAR FORMAT IN 2013. D.P.R. 28 settembre 2012 n. 198
780
+ suppressed Appendice XII lett. b) — the dedicated "Rimorchio" plate — and
781
+ extended lett. a) to cover "quella posteriore dei loro rimorchi", so an
782
+ Italian trailer registered after the changeover carries an ordinary AA 000 AA
783
+ plate with both blue zones and is indistinguishable from a car by its serial.
784
+ period.start 2013 is derived, not printed: art. 8 c. 1 sets commencement at
785
+ the ninetieth day after publication in GU of 22 November 2012, which falls in
786
+ February 2013. The same comma carries the transitional rule that makes the
787
+ old series a live parse target indefinitely — the new format "si applica ai
788
+ soli rimorchi immatricolati successivamente alla" that date, with an express
789
+ option to re-register older trailers.
790
+
791
+ - id: it-trailer-1993
792
+ class: trailer
793
+ categories: [trailer, semitrailer]
794
+ period: { start: 1993, end: 2013 }
795
+ period_evidence: instrument-in-force
796
+ matching: strict
797
+ format:
798
+ pattern: "LL 99999"
799
+ regex: '\A[A-Z]{2} ?\d{5}\z'
800
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?\d{5}\z'
801
+ charset: { letters_excluded: [I, O, Q, U] }
802
+ legend_note: >-
803
+ The word "Rimorchio" printed above the serial is a LEGEND, not part of the
804
+ mark: Appendice XII lett. b) as enacted reads "riporta, nell'ordine, la
805
+ scritta 'Rimorchio', due caratteri alfabetici, il marchio ufficiale della
806
+ Repubblica italiana e cinque caratteri numerici". It is carried in
807
+ `design.legend` because it contains a full stop and a space and could never
808
+ be spelled inside a serial under PRD-PLATES §2.6.
809
+ design:
810
+ plate: { w: 340, h: 109, unit: mm, note: "art. 258 c. 1 lett. d) as enacted" }
811
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
812
+ foreground: "#000000"
813
+ legend: { text: "RIMORCHIO", color: "#CC0000", note: "art. 260 c. 1 lett. a) as enacted: 'colore rosso: scritte RIMORCHIO, RIM. AGR.'" }
814
+ band: { side: none }
815
+ emblem: { present: true, rendered: placeholder }
816
+ region_encoding: none
817
+ sources:
818
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=19940101 # Appendice XII lett. b) as enacted (the 'Rimorchio' legend + 2 letters + marchio + 5 digits); art. 258 c. 1 lett. d) (340 x 109 mm); art. 260 c. 1 lett. a) (the red legend)"
819
+ notes: >-
820
+ THE "RIMORCHIO" PLATE — twenty years of Italian trailers, and the reason a
821
+ five-digit Italian mark is not automatically a motorcycle. Same serial shape
822
+ as it-motorcycle-1993 (two letters, five digits) on a completely different
823
+ plate: 340 x 109 mm landscape, with the red word RIMORCHIO across the top.
824
+ Distinguishing the two from the string alone is impossible; distinguishing
825
+ them from the plate is trivial. Recorded so the parse API returns both
826
+ candidates rather than guessing.
827
+
828
+ - id: it-repeater
829
+ class: trailer
830
+ categories: [trailer]
831
+ period: { start: 1993 }
832
+ period_evidence: instrument-in-force
833
+ # RECALL-ONLY (PRD-PLATES §2.7): a repeater plate carries the TOWING vehicle's
834
+ # registration, transcribed by the owner into empty boxes. Its regex is a
835
+ # container, not a grammar; a match says only that the string could sit in
836
+ # those boxes. Same situation as nl-export.
837
+ matching: recall-only
838
+ format:
839
+ pattern: "LLR999LL"
840
+ regex: '\A[A-Z]{2} ?R ?[A-Z0-9]{1,6}\z'
841
+ pattern_note: >-
842
+ Appendice XII lett. h): "targa ripetitrice per carrelli appendice: riporta,
843
+ nell'ordine, due caratteri alfabetici, la lettera 'R', e sei caratteri
844
+ alfanumerici". Lett. i) gives five alphanumerics for agricultural trailers
845
+ and trailed operating machines. As enacted in 1992 both were narrower —
846
+ lett. h) read "tre caratteri numerici e due caratteri alfabetici" — and
847
+ D.P.R. 610/1996 widened them, which is why one open series is modelled
848
+ rather than two.
849
+ fill_rule: >-
850
+ Appendice XII comma 3, verbatim: "In luogo delle cifre e delle lettere
851
+ costituenti il numero o il contrassegno di immatricolazione, le targhe
852
+ ripetitrici sono dotate di riquadri rettangolari, aventi dimensioni di
853
+ 80 x 40 o 60 x 30 o 65 x 31 millimetri ... ciascuno dei quali è riservato a
854
+ ricevere un carattere alfabetico o numerico. Gli interessati avranno cura
855
+ di riprodurre su dette targhe, con caratteri neri autoadesivi o impressi
856
+ con sistemi equivalenti, il numero o il contrassegno di immatricolazione
857
+ della motrice cui il veicolo viene agganciato, NON IMPEGNANDO LA PRIMA O LE
858
+ PRIME CASELLE eventualmente eccedenti rispetto alla quantità di caratteri
859
+ costituenti il numero d'immatricolazione."
860
+ design:
861
+ plate: { w: 486, h: 109, unit: mm, note: "formato A (art. 258 c. 1 lett. c))" }
862
+ plate_variants:
863
+ - { w: 336, h: 202, unit: mm, note: "formato B where the mounting cannot take formato A" }
864
+ - { w: 340, h: 109, unit: mm, note: "repeater plates for agricultural trailers and trailed operating machines (art. 258 c. 1 lett. d))" }
865
+ background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed, spec_note: "art. 260 c. 1: yellow ground for 'tutte le targhe ripetitrici'; Appendice XII c. 3: 'Esse hanno fondo retroriflettente di colore giallo'" }
866
+ foreground: "#000000"
867
+ marker: { text: "R", color: "#CC0000", note: "art. 260 c. 1 lett. a): 'colore rosso: ... lettera R delle targhe ripetitrici'" }
868
+ band: { side: none }
869
+ emblem: { present: false, note: "Appendice XII c. 3: repeater plates 'contengono soltanto la lettera \"R\" in rosso, SENZA il marchio ufficiale della Repubblica italiana' — the only Italian plate with no emblem" }
870
+ boxes: { sizes_mm: ["80x40", "60x30", "65x31"], note: "80x40 for carrelli appendice behind autoveicoli; 60x30 behind agricultural/operating machines; 65x31 behind EE autoveicoli" }
871
+ region_encoding: none
872
+ sources:
873
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. h) and i) and comma 3 in full; art. 258 c. 1 lett. c) and d); art. 260 c. 1 lett. a) and c. 2"
874
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art100 # art. 100 c. 4: 'I carrelli appendice, quando sono agganciati ad una motrice, devono essere muniti posteriormente di una targa ripetitrice dei dati di immatricolazione della motrice stessa'"
875
+ notes: >-
876
+ THE TARGA RIPETITRICE — an owner-filled yellow plate that repeats the towing
877
+ vehicle's mark, carried by carrelli appendice, agricultural trailers and
878
+ trailed operating machines. Three facts make it worth its own entry rather
879
+ than a footnote: it is the ONLY Italian plate with no marchio; it is the only
880
+ one whose characters are applied by the owner rather than the State; and it
881
+ contains the single best piece of decode trivia in Italian plate law —
882
+ Appendice XII comma 3: "Nel caso in cui la targa del veicolo traente contenga
883
+ la parola Roma essa viene riportata sulla targa ripetitrice mediante la sigla
884
+ RM." Rome's provincial plates spelled the city out in full, and the repeater
885
+ plate is where the abbreviation had to be legislated.
886
+
887
+ # =========================================================================
888
+ # AGRICULTURAL AND OPERATING MACHINES — yellow, no EU band, four shapes.
889
+ # =========================================================================
890
+ - id: it-agricultural-selfpropelled
891
+ class: agricultural
892
+ categories: [tractor]
893
+ period: { start: 1993 }
894
+ period_evidence: instrument-in-force
895
+ matching: strict
896
+ format:
897
+ pattern: "LL 999 L"
898
+ regex: '\A[A-Z]{2} ?\d{3} ?[A-Z]\z'
899
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?\d{3} ?[ABCDEFGHJKLMNPRSTVWXYZ]\z'
900
+ charset: { letters_excluded: [I, O, Q, U] }
901
+ design:
902
+ plate: { w: 165, h: 165, unit: mm, note: "art. 258 c. 1 lett. e)" }
903
+ background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed, spec_note: "art. 260 c. 1: 'Il fondo delle targhe è giallo per le targhe di immatricolazione delle macchine agricole semoventi o trainate'" }
904
+ foreground: "#000000"
905
+ band: { side: none }
906
+ band_note: "NO EU band. D.P.R. 355/1998 added the blue zones only to Appendice XII lett. a) and c) — cars and motorcycles. Letters d) to i) were left untouched, so on the regulation's own text an Italian agricultural or operating-machine plate has never carried a Euroband. Flagged for verification against photographs."
907
+ emblem: { present: true, rendered: placeholder }
908
+ region_encoding: none
909
+ sources:
910
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. d): 'targa delle macchine agricole semoventi (figura III.4/f): riporta, nell'ordine, due caratteri alfabetici, il marchio ufficiale della Repubblica italiana, tre caratteri numerici ed un carattere alfabetico'; art. 258 c. 1 lett. e); art. 260 c. 1"
911
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art113 # art. 113 c. 1 of the codice — the registration duty these plates discharge"
912
+ notes: >-
913
+ MACCHINE AGRICOLE SEMOVENTI — self-propelled agricultural machines. The
914
+ Italian yellow family is four series (this one, the agricultural trailer, and
915
+ the two operating-machine shapes) and they are genuinely four: two different
916
+ character orders and two different colour rules. This one is the plain
917
+ yellow-and-black case. Unchanged since 1993 in the regulation's text, which
918
+ is why `period.start` is the regolamento's own commencement year and
919
+ `period_evidence` is instrument-in-force.
920
+
921
+ - id: it-agricultural-trailer
922
+ class: agricultural
923
+ categories: [trailer]
924
+ period: { start: 1993 }
925
+ period_evidence: instrument-in-force
926
+ matching: strict
927
+ format:
928
+ pattern: "LL 999 L"
929
+ regex: '\A[A-Z]{2} ?\d{3} ?[A-Z]\z'
930
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?\d{3} ?[ABCDEFGHJKLMNPRSTVWXYZ]\z'
931
+ charset: { letters_excluded: [I, O, Q, U] }
932
+ legend_note: "the 'Rim. Agr.' legend contains a full stop and a space and is therefore a design element, never part of the serial (PRD-PLATES §2.6)"
933
+ design:
934
+ plate: { w: 340, h: 109, unit: mm, note: "art. 258 c. 1 lett. d)" }
935
+ background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed }
936
+ foreground: "#000000"
937
+ legend: { text: "RIM. AGR.", color: "#CC0000", note: "art. 260 c. 1 lett. a): 'colore rosso: scritta RIM. AGR.'" }
938
+ band: { side: none }
939
+ emblem: { present: true, rendered: placeholder }
940
+ region_encoding: none
941
+ sources:
942
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. f): 'targa dei rimorchi agricoli (fig. III.4/h): riporta, nell'ordine, la scritta \"Rim. Agr.\", due caratteri alfabetici, il marchio ufficiale della Repubblica italiana, tre caratteri numerici ed un carattere alfabetico'; art. 260 c. 1 lett. a)"
943
+ notes: >-
944
+ RIMORCHI AGRICOLI. Identical serial grammar to the self-propelled machines,
945
+ distinguished on the road by the red RIM. AGR. legend and the landscape
946
+ 340 x 109 plate. Same class as it-agricultural-selfpropelled, but the
947
+ categories do not overlap ([trailer] vs [tractor]) and the notes are distinct,
948
+ which is how the parallel-issuance rule is satisfied.
949
+
950
+ - id: it-machine-selfpropelled
951
+ class: agricultural
952
+ categories: [machine]
953
+ period: { start: 1993 }
954
+ period_evidence: instrument-in-force
955
+ matching: strict
956
+ format:
957
+ pattern: "LL L 999"
958
+ regex: '\A[A-Z]{2} ?[A-Z] ?\d{3}\z'
959
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?[ABCDEFGHJKLMNPRSTVWXYZ] ?\d{3}\z'
960
+ charset: { letters_excluded: [I, O, Q, U] }
961
+ order_note: >-
962
+ NOTE THE INVERSION, which is the whole point of a separate series:
963
+ Appendice XII lett. e) puts the single letter BEFORE the three digits
964
+ ("un carattere alfabetico e tre caratteri numerici") where lett. d) puts it
965
+ after. Two shapes, one character-count, opposite order — the cheapest
966
+ possible tell between an agricultural machine and an operating machine.
967
+ design:
968
+ plate: { w: 165, h: 165, unit: mm, note: "art. 258 c. 1 lett. e)" }
969
+ background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed }
970
+ foreground: "#CC0000"
971
+ foreground_note: "art. 260 c. 1 lett. a): 'colore rosso: ... marchio ufficiale e caratteri alfanumerici delle targhe di immatricolazione delle macchine operatrici'. RED characters AND a red emblem on yellow — the only Italian plate whose entire imprint is red."
972
+ band: { side: none }
973
+ emblem: { present: true, rendered: placeholder, color: "#CC0000" }
974
+ region_encoding: none
975
+ sources:
976
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. e): 'targa delle macchine operatrici semoventi (fig. III.4/g): riporta, nell'ordine, due caratteri alfabetici, il marchio ufficiale della Repubblica italiana, un carattere alfabetico e tre caratteri numerici'; art. 260 c. 1 lett. a)"
977
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art114 # art. 114 c. 4 of the codice — the registration duty for macchine operatrici"
978
+ notes: >-
979
+ MACCHINE OPERATRICI SEMOVENTI — self-propelled operating machines (excavators,
980
+ loaders, road plant). CLASS CAVEAT, stated plainly: `_meta/classes.yml` has
981
+ `agricultural` but nothing for construction/works plant, and art. 114 of the
982
+ codice is a different regime from art. 113. `agricultural` is recorded as the
983
+ closest available value and flagged as a vocabulary gap, exactly as
984
+ plates/de.yml records for the German green tax-exempt plate.
985
+
986
+ - id: it-machine-trailed
987
+ class: agricultural
988
+ categories: [machine, trailer]
989
+ period: { start: 1993 }
990
+ period_evidence: instrument-in-force
991
+ matching: strict
992
+ format:
993
+ pattern: "LL L 999"
994
+ regex: '\A[A-Z]{2} ?[A-Z] ?\d{3}\z'
995
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?[ABCDEFGHJKLMNPRSTVWXYZ] ?\d{3}\z'
996
+ charset: { letters_excluded: [I, O, Q, U] }
997
+ legend_note: "'Macc. Op.' is a legend, not serial content"
998
+ design:
999
+ plate: { w: 340, h: 109, unit: mm, note: "art. 258 c. 1 lett. d)" }
1000
+ background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed }
1001
+ foreground: "#CC0000"
1002
+ legend: { text: "MACC. OP.", note: "Appendice XII lett. g) prints it as 'Macc. Op.'; art. 260 c. 1 lett. a) puts the machine plates' characters and marchio in red but names only 'RIM. AGR.' among the red legends, so the legend's colour is a recorded gap" }
1003
+ band: { side: none }
1004
+ emblem: { present: true, rendered: placeholder, color: "#CC0000" }
1005
+ region_encoding: none
1006
+ sources:
1007
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. g): 'targa delle macchine operatrici trainate (fig. III.4/i): riporta, nell'ordine, la scritta \"Macc. Op.\", due caratteri alfabetici, il marchio ufficiale della Repubblica italiana, un carattere alfabetico e tre caratteri numerici'"
1008
+ notes: >-
1009
+ MACCHINE OPERATRICI TRAINATE — trailed operating machines. Same inverted
1010
+ letter-then-digits order as the self-propelled machines, on the landscape
1011
+ 340 x 109 plate, with the Macc. Op. legend. Kept separate from
1012
+ it-machine-selfpropelled because dimensions and legend differ; kept separate
1013
+ from it-agricultural-trailer because the character order and the colour rule
1014
+ differ.
1015
+
1016
+ # =========================================================================
1017
+ # EE — ESCURSIONISTI ESTERI. Italy's temporary-import / pre-export series.
1018
+ # =========================================================================
1019
+ - id: it-ee-1993
1020
+ class: export
1021
+ categories: [car, van, truck, bus, trailer]
1022
+ period: { start: 1993 }
1023
+ period_evidence: instrument-in-force
1024
+ matching: strict
1025
+ format:
1026
+ pattern: "EE 999 LL"
1027
+ regex: '\AEE ?\d{3} ?[A-Z]{2}\z'
1028
+ regex_strict: '\AEE ?\d{3} ?[ABCDEFGHJKLMNPRSTVWXYZ]{2}\z'
1029
+ charset:
1030
+ fixed_letters: "EE"
1031
+ letters_excluded: [I, O, Q, U]
1032
+ notes: "Appendice XII lett. p): 'riporta, nell'ordine, il marchio ufficiale della Repubblica italiana, il rettangolo destinato a contenere il talloncino di scadenza, la sigla dello Stato italiano, la scritta \"EE\", tre caratteri numerici e due caratteri alfabetici'"
1033
+ design:
1034
+ plate: { w: 340, h: 109, unit: mm, note: "art. 258 c. 1 lett. d) — EE plates for autoveicoli and their trailers, including repeater plates" }
1035
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
1036
+ foreground: "#000000"
1037
+ ee_letters: { color: "#0066CC", hex_basis: observed, note: "art. 260 c. 1 lett. c): 'colore azzurro: lettere EE di tutte le targhe previste dall'articolo 134, comma 1, del codice'" }
1038
+ country_oval: { content: "I", color: "#000000", note: "art. 260 c. 1 lett. c-bis), added in 1998: 'colore nero: sigla I alle targhe per escursionisti esteri, quando prevista' — the EE plate carries the Vienna-style national sign as an ELLIPSE on the plate, not an EU band" }
1039
+ expiry_field:
1040
+ w: 69
1041
+ h: 20
1042
+ unit: mm
1043
+ background: "#CC0000"
1044
+ foreground: "#FFFFFF"
1045
+ content: "month number, a white separating stroke, then the last two digits of the year in which the carta di circolazione expires"
1046
+ note: "art. 260 c. 3, first sentence — a red adhesive sticker in a raised 69 x 20 mm rectangle"
1047
+ band: { side: none }
1048
+ emblem: { present: true, rendered: placeholder }
1049
+ validity: { max_months: 12, note: "art. 134 c. 1 del codice: 'una carta di circolazione della durata massima di un anno, salvo eventuale proroga, e una speciale targa di riconoscimento, come stabilito nel regolamento'" }
1050
+ region_encoding: none
1051
+ sources:
1052
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. p); art. 258 c. 1 lett. d); art. 260 c. 1 lett. c) and c-bis), c. 2 and c. 3"
1053
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art134 # art. 134 c. 1: temporarily imported or factory-new-for-export vehicles belonging to Italians resident abroad or to foreigners passing through; max one year, extendable"
1054
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=19940101 # Appendice XII lett. q) as enacted — the separate EE TRAILER plate ('la sigla dello Stato italiano, la scritta \"Rimorchio\", il rettangolo ..., la scritta \"EE\", il marchio ufficiale ... e cinque caratteri numerici'), suppressed by D.P.R. 198/2012"
1055
+ notes: >-
1056
+ TARGHE EE (ESCURSIONISTI ESTERI) — the plate an Italian resident abroad or a
1057
+ foreigner passing through gets for a temporarily imported vehicle or for a
1058
+ factory-new vehicle bought in Italy for export. CLASS CAVEAT: art. 134 c. 1
1059
+ covers BOTH legs ("importati temporaneamente O nuovi di fabbrica acquistati
1060
+ per l'esportazione") and `_meta/classes.yml` forces a choice; `export` is
1061
+ recorded because the plate's defining feature is that the vehicle is not
1062
+ staying, and `temporary` is the near miss — the twelve-month cap is carried
1063
+ in `validity` so a class-blind consumer still sees it. THE EE PLATE IS THE
1064
+ ONE ITALIAN PLATE WITH A DATE ON IT: a red expiry sticker giving month and
1065
+ year, in a rectangle the regulation embosses into the plate. It carries the
1066
+ national sign as a black "I" in an ellipse rather than as an EU band, which
1067
+ is exactly the pre-amendment Vienna Annex 3 arrangement the EU dossier warns
1068
+ about. Since D.P.R. 198/2012 suppressed Appendice XII lett. q), EE trailers
1069
+ have no separate format and fall under this entry.
1070
+
1071
+ - id: it-ee-motorcycle-1993
1072
+ class: export
1073
+ categories: [motorcycle]
1074
+ period: { start: 1993 }
1075
+ period_evidence: instrument-in-force
1076
+ matching: strict
1077
+ format:
1078
+ pattern: "EE 999 L"
1079
+ regex: '\AEE ?\d{3} ?[A-Z]\z'
1080
+ regex_strict: '\AEE ?\d{3} ?[ABCDEFGHJKLMNPRSTVWXYZ]\z'
1081
+ charset: { fixed_letters: "EE", letters_excluded: [I, O, Q, U] }
1082
+ design:
1083
+ plate: { w: 165, h: 165, unit: mm, note: "art. 258 c. 1 lett. e) — 'targhe EE per motoveicoli'" }
1084
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
1085
+ foreground: "#000000"
1086
+ ee_letters: { color: "#0066CC", hex_basis: observed }
1087
+ expiry_field: { w: 69, h: 20, unit: mm, background: "#CC0000", foreground: "#FFFFFF" }
1088
+ band: { side: none }
1089
+ emblem: { present: true, rendered: placeholder }
1090
+ validity: { max_months: 12 }
1091
+ region_encoding: none
1092
+ sources:
1093
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XII lett. s): 'targa EE per motoveicoli (fig. III.4/u): riporta, nell'ordine, la sigla \"EE\", il marchio ufficiale della Repubblica italiana, la sigla dello Stato italiano, il rettangolo destinato a contenere il talloncino di scadenza, tre caratteri numerici ed un carattere alfabetico'"
1094
+ notes: >-
1095
+ EE FOR MOTORCYCLES — one letter where the car plate has two, on the 165 mm
1096
+ square. Note the order differs from the car EE plate as well: here "EE" comes
1097
+ FIRST and the marchio and the national sign follow, where lett. p) opens with
1098
+ the marchio. Two entries rather than one because both format and dimensions
1099
+ differ (PRD-PLATES §2.3).
1100
+
1101
+ # =========================================================================
1102
+ # TEMPORARY — targa provvisoria, the only Italian plate with a region prefix
1103
+ # still being issued.
1104
+ # =========================================================================
1105
+ - id: it-temporary-provvisoria
1106
+ class: temporary
1107
+ categories: [car, van, truck, bus, motorcycle, trailer]
1108
+ period: { start: 1993 }
1109
+ period_evidence: instrument-in-force
1110
+ matching: strict
1111
+ format:
1112
+ pattern: "L9 99999"
1113
+ regex: '\A[A-Z]\d{1,2} ?\d{5}\z'
1114
+ regex_statutory: '\A[A-Z]\d{1,2} ?[A-Z0-9]{5}\z'
1115
+ charset:
1116
+ notes: >-
1117
+ Art. 255 c. 2, verbatim: "I criteri per la formazione dei dati riportati
1118
+ nelle targhe provvisorie sono i seguenti: a) sigla d'individuazione
1119
+ dell'ufficio provinciale, come indicato nella suddetta appendice ...;
1120
+ b) marchio ufficiale della Repubblica Italiana; c) serie progressiva
1121
+ costituita da cinque caratteri numerici. Il Ministero dei trasporti e
1122
+ della navigazione - Direzione generale della M.C.T.C. può stabilire che
1123
+ la serie in questione sia modificata ed integrata da caratteri
1124
+ alfabetici." `regex` is the five-NUMERIC series the article prescribes;
1125
+ `regex_statutory` is the outer bound the last sentence authorises, and is
1126
+ the honest encoding of a power that has been exercised or not — the
1127
+ dataset cannot tell, and says so.
1128
+ progression: "five-digit progressive series per issuing office (art. 255 c. 2 lett. c))"
1129
+ design:
1130
+ note: >-
1131
+ NO DESIGN IS SOURCED. Art. 255 sits outside the art. 256 definitions of
1132
+ immatricolazione / ripetitrici / riconoscimento plates, so art. 258's
1133
+ dimensions, art. 260's colours and Appendice XIII's construction rules do
1134
+ not reach it on their own terms, and no figure for the targa provvisoria was
1135
+ located. Colours and dimensions are a RECORDED GAP and are deliberately not
1136
+ guessed.
1137
+ emblem: { present: true, rendered: placeholder, note: "art. 255 c. 2 lett. b) puts the marchio ufficiale on the plate" }
1138
+ validity:
1139
+ max_days: 60
1140
+ max_days_special: 180
1141
+ note: >-
1142
+ Art. 99 c. 2 del codice: "Il foglio di via deve indicare il percorso, la
1143
+ durata e le eventuali prescrizioni tecniche. La durata non può comunque
1144
+ eccedere i giorni sessanta. Tuttavia, per particolari esigenze di
1145
+ sperimentazione di veicoli nuovi non ancora immatricolati, l'ufficio
1146
+ competente ... può rilasciare alla fabbrica costruttrice uno speciale foglio
1147
+ di via, senza limitazioni di percorso, della durata massima di centottanta
1148
+ giorni."
1149
+ region_encoding: "plates/_decode/it-provinces.yml"
1150
+ region_encoding_mechanism: >-
1151
+ THE PREFIX IS AN OFFICE CODE, NOT A PROVINCE SIGLA, and confusing the two is
1152
+ the trap this decode file exists to prevent. Appendice XI comma 1 lists the
1153
+ M.C.T.C. provincial offices as a letter plus a number — A1 Alessandria, B6
1154
+ Milano, P4 Roma, X4 Oristano — grouped under bare region letters (A Piemonte
1155
+ e Valle d'Aosta, B Lombardia, ...) that are headings and not codes. Art. 255
1156
+ c. 2 lett. a) adds the maintenance rule: "Detto elenco può essere aggiornato
1157
+ con decreto del Ministro dei trasporti e della navigazione, a seguito
1158
+ dell'istituzione di ulteriori province", so the table grows by ministerial
1159
+ decree and decode rows need period discipline.
1160
+ sources:
1161
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art255 # art. 255 c. 1 and c. 2 in full"
1162
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art99 # art. 99 c. 1 (the six purposes: technical checks, driving to border crossings for export, military reviews, authorised shows and fairs), c. 2 (60 / 180 days)"
1163
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=20260802 # Appendice XI comma 1 — the office sigle; art. 214 — veicoli d'epoca use this plate"
1164
+ notes: >-
1165
+ TARGA PROVVISORIA, issued with a foglio di via. Two things make it more
1166
+ interesting than a typical temporary plate. First, it is the ONLY Italian
1167
+ series still issued that encodes geography in the mark itself — but as an
1168
+ OFFICE code, not a province sigla, so a decoder that reaches for the province
1169
+ table will produce nonsense. Second, it is Italy's historic-vehicle plate by
1170
+ default: art. 214 of the regolamento sends veicoli d'epoca here — "Ai veicoli
1171
+ d'epoca ... per la circolazione nei luoghi consentiti, è rilasciato il foglio
1172
+ di via e la targa provvisoria previsti dall'articolo 99 del codice" — with the
1173
+ foglio di via capping speed at 40, 25 or 15 km/h depending on brakes and
1174
+ tyres, and the event needing at least fifteen participants. Anyone looking for
1175
+ an Italian H-Kennzeichen finds this instead.
1176
+
1177
+ # =========================================================================
1178
+ # TRADE PLATES — targa prova, before and after DPR 474/2001.
1179
+ # =========================================================================
1180
+ - id: it-dealer-prova-2002
1181
+ class: dealer
1182
+ categories: [car, van, truck, bus, motorcycle, moped, trailer, tractor, machine]
1183
+ period: { start: 2002 }
1184
+ period_evidence: enabling-statute
1185
+ binding: business
1186
+ matching: strict
1187
+ format:
1188
+ pattern: "LLP99999"
1189
+ regex: '\A[A-Z0-9]{2} ?P ?[A-Z0-9]{5}\z'
1190
+ charset:
1191
+ notes: >-
1192
+ Art. 2 c. 3 D.P.R. 474/2001, verbatim: "La targa è composta, nell'ordine,
1193
+ da due caratteri alfanumerici, dalla lettera 'P' e da cinque caratteri
1194
+ alfanumerici. Il fondo della targa è bianco. Il colore dei caratteri e
1195
+ della lettera 'P' è nero." ALPHANUMERIC, not alphabetic: unlike every
1196
+ series under Appendice XII, the outer groups may be letters or digits, and
1197
+ the 22-letter alphabet of Appendice XII comma 2 does not govern this
1198
+ decree at all. No strict twin is authored because none is sourced.
1199
+ serial_semantics: "art. 2 c. 1: the character sequence 'corrisponde al numero dell'autorizzazione medesima' — the plate IS the authorisation number"
1200
+ design:
1201
+ plate: { note: "'Le dimensioni della targa ed il formato dei relativi caratteri sono quelli previsti nella figura allegata al presente regolamento' (art. 2 c. 4); the figure was not text-extractable — recorded gap" }
1202
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec, spec_note: "art. 2 c. 3: 'Il fondo della targa è bianco'" }
1203
+ foreground: "#000000"
1204
+ foreground_note: "art. 2 c. 3: 'Il colore dei caratteri e della lettera P è nero' — the GREEN P of the 1993 plate is gone"
1205
+ band: { side: none }
1206
+ emblem: { present: false, note: "art. 2 c. 3 lists ground, characters, P and the embossing; it does not put a marchio on the plate, and D.P.R. 474/2001 has no equivalent of art. 262" }
1207
+ construction: "1.4 ± 0.1 mm embossing on 1.00 ± 0.05 mm aluminium with retroreflective self-adhesive film (art. 2 c. 3)"
1208
+ display: "rear; on autotreni and autoarticolati the plate goes on the TRAILED vehicle (art. 2 c. 1)"
1209
+ validity: { max_months: 12, note: "the autorizzazione 'ha validità annuale e non è rinnovabile decorsi sei mesi dalla sua scadenza'" }
1210
+ region_encoding: none
1211
+ sources:
1212
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=20020130&codiceRedaz=002G0018&dataVigenza=20260802 # D.P.R. 24 novembre 2001, n. 474 (GU 30-01-2002 n. 25), art. 2 commi 1-4: the transferable plate bearing the authorisation number, the 2 + P + 5 composition, white ground and black characters, the figure reference; art. 3 (loss/theft); the annual validity and the six-month non-renewal cliff"
1213
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art98 # art. 98 of the codice: commi 1 and 2 'ABROGATO DAL D.P.R. 24 NOVEMBRE 2001, N. 474'; comma 3 still penalises using a prova vehicle for another purpose or without the authorisation holder or a delegated employee aboard"
1214
+ notes: >-
1215
+ TARGA PROVA — Italy's trade plate, and like the German rote Kennzeichen it
1216
+ binds to a BUSINESS rather than a vehicle: art. 2 c. 1 makes it "trasferibile
1217
+ da veicolo a veicolo insieme con la relativa autorizzazione", hence
1218
+ `binding: business` and a warning to any vehicle-keyed consumer not to join on
1219
+ it. `period_evidence: enabling-statute` is earned here rather than assumed:
1220
+ D.P.R. 474/2001 is a self-contained regolamento di semplificazione that both
1221
+ abrogated the old regime (art. 254, Appendice XII lett. l)-o) and art. 260
1222
+ c. 1 lett. b) of DPR 495/1992 all read "ABROGATO/SOPPRESSA DAL D.P.R. 24
1223
+ NOVEMBRE 2001, N. 474") and created this format, and Normattiva records the
1224
+ resulting text as in force from 14 February 2002. One good operational detail
1225
+ for a claims model: art. 2 c. 2-bis requires the ordinary registration plate
1226
+ to stay on and stay legible while the prova plate is fitted — an Italian
1227
+ vehicle can lawfully display two plates at once.
1228
+
1229
+ - id: it-dealer-prova-1993
1230
+ class: dealer
1231
+ categories: [car, van, truck, bus, trailer]
1232
+ period: { start: 1993, end: 2002 }
1233
+ period_evidence: instrument-in-force
1234
+ binding: business
1235
+ matching: strict
1236
+ format:
1237
+ pattern: "LLP 9999"
1238
+ regex: '\A[A-Z]{2} ?P ?\d{4}\z'
1239
+ regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?P ?\d{4}\z'
1240
+ charset: { letters_excluded: [I, O, Q, U], notes: "Appendice XII comma 2 governed the prova plates too, since they were letters l)-o) of the same comma 1" }
1241
+ design:
1242
+ plate: { w: 340, h: 109, unit: mm, note: "art. 258 c. 1 lett. d) as enacted — 'targhe prova degli autoveicoli e loro rimorchi'" }
1243
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
1244
+ foreground: "#000000"
1245
+ marker: { text: "P", color: "#008000", note: "art. 260 c. 1 lett. b) as enacted, verbatim: 'colore verde: lettera P di tutte le targhe per la circolazione di prova e lettere M ed A ed M ed O che la integrano, rispettivamente, nelle targhe per la circolazione di prova delle macchine agricole e delle targhe per la circolazione di prova delle macchine operatrici'" }
1246
+ band: { side: none }
1247
+ emblem: { present: true, rendered: placeholder }
1248
+ variants:
1249
+ - class: dealer
1250
+ format: { pattern: "LLP999", regex: '\A[A-Z]{2} ?P ?\d{3}\z' }
1251
+ note: "targa prova per motoveicoli (from 1997, 'per ciclomotori e motoveicoli') — Appendice XII lett. m) as enacted: 'due caratteri alfabetici, il marchio ufficiale della Repubblica italiana, la lettera \"P\" e tre caratteri numerici', on the 165 x 165 mm square"
1252
+ - class: dealer
1253
+ format: { pattern: "LLP999", regex: '\A[A-Z]{2} ?P ?\d{3}\z' }
1254
+ note: "targa prova per macchine agricole — Appendice XII lett. n) as enacted, same characters plus 'la scritta \"MA\" con le lettere poste in successione verticale', the M and A in green"
1255
+ - class: dealer
1256
+ format: { pattern: "LLP999", regex: '\A[A-Z]{2} ?P ?\d{3}\z' }
1257
+ note: "targa prova per macchine operatrici — Appendice XII lett. o) as enacted, same characters plus a vertically stacked 'MO' in green"
1258
+ region_encoding: none
1259
+ sources:
1260
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=19940101 # Appendice XII lett. l) 'targa prova per autoveicoli e rimorchi (fig. III.4/n): riporta, nell'ordine, due caratteri alfabetici, la lettera \"P\", il marchio ufficiale della Repubblica italiana e quattro caratteri numerici', lett. m), n) and o); art. 258 c. 1 lett. d) and e); art. 260 c. 1 lett. b) — the green P"
1261
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19921228&codiceRedaz=092G0531&dataVigenza=19980101 # lett. m) retitled '((targa prova per ciclomotori e motoveicoli))' by D.P.R. 610/1996"
1262
+ notes: >-
1263
+ THE GREEN-P TRADE PLATE, 1993-2002. Four shapes under one regime, so the three
1264
+ companions are recorded as variants rather than as three thin series: what
1265
+ distinguishes them is a vertically stacked two-letter suffix (MA, MO) and the
1266
+ plate size, not the serial. The GREEN P is the one colour Italy ever assigned
1267
+ to a functional letter and it did not survive: D.P.R. 474/2001 repainted the P
1268
+ black. Note the letter order relative to the marchio also flipped between
1269
+ lett. l) (P before the marchio) and lett. m)-o) (P after it) — recorded here
1270
+ because a render pipeline needs it and a parser does not.
1271
+
1272
+ # =========================================================================
1273
+ # DIPLOMATIC — sourced only for the pre-1993 era. The modern format is a
1274
+ # documented gap; see common.unsourced_series.
1275
+ # =========================================================================
1276
+ - id: it-diplomatic-1959
1277
+ class: diplomatic
1278
+ categories: [car]
1279
+ period: { start: 1959, end: 1996 }
1280
+ period_evidence: instrument-in-force
1281
+ matching: recall-only
1282
+ format:
1283
+ pattern: "CD 999999"
1284
+ regex: '\ACD ?\d+\z'
1285
+ charset:
1286
+ fixed_letters: "CD"
1287
+ notes: >-
1288
+ Art. 327 D.P.R. 420/1959, verbatim: "Essa porta, in rilievo, in colore
1289
+ alluminio lucido su fondo nero, la sigla CD, il marchio ufficiale ed il
1290
+ numero di immatricolazione." The registration NUMBER is left entirely
1291
+ unbounded by the primary, so the regex quantifies without a ceiling rather
1292
+ than inventing one — which is also why this series is recall-only.
1293
+ design:
1294
+ plate: { w: 275, h: 200, unit: mm, note: "same dimensions as the ordinary rear plate of art. 320" }
1295
+ background: { color: "#000000", finish: painted, hex_basis: spec }
1296
+ foreground: "#C0C0C0"
1297
+ foreground_note: "art. 327: 'in colore alluminio lucido' — POLISHED ALUMINIUM, not white. The hex is an observed rendering of a metallic finish that no hex can express; a render pipeline should treat it as a material, not a colour."
1298
+ band: { side: none }
1299
+ emblem: { present: true, rendered: placeholder }
1300
+ material: "alluminio anticorodal (art. 327)"
1301
+ validity: { note: "art. 131 c. 4 del codice (current law, same rule): validity 'scade al momento in cui cessa lo status diplomatico di colui al quale il veicolo appartiene'; the plate must be returned within ninety days" }
1302
+ region_encoding: none
1303
+ sources:
1304
+ - "https://www.normattiva.it/do/atto/caricaAKN?dataGU=19590630&codiceRedaz=059U0420&dataVigenza=19920101 # D.P.R. 420/1959 art. 327: 'AUTOVETTURE APPARTENENTI AGLI AGENTI DIPLOMATICI' — anticorodal aluminium, 275 x 200 mm, polished-aluminium characters on black, sigla CD + marchio + registration number; transfer to another car of the same owner may be authorised by the Ministry"
1305
+ - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art131 # art. 131 c. 2: the CURRENT plate's type and characteristics are set 'con decreto del Ministro dei trasporti, di concerto con il Ministro degli affari esteri'; c. 4: expiry with diplomatic status"
1306
+ notes: >-
1307
+ THE PRE-1993 CD PLATE, and the honest limit of this pass. Italy's CURRENT
1308
+ diplomatic and consular plates are real and are not modelled: art. 131 c. 2 of
1309
+ the codice delegates their type and characteristics to a joint decree of the
1310
+ transport and foreign ministries, that decree was not located, and DPR
1311
+ 495/1992 contains no diplomatic provision at all. This is the same posture
1312
+ plates/de.yml takes towards the German district list — cite the mechanism,
1313
+ refuse to author the table. What IS sourced is the plate this one replaced,
1314
+ and it is worth having: silver-on-black, the same 275 x 200 mm as an ordinary
1315
+ rear plate, and legally attached to a STATUS rather than to a vehicle or a
1316
+ keeper, since art. 327 let the Ministry move it to another car of the same
1317
+ owner and art. 131 c. 4 kills it the moment diplomatic status ends.