vehicles 0.4.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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -0
  3. data/CHANGELOG.md +321 -0
  4. data/README.md +88 -15
  5. data/data/PROVENANCE-vehicles.md +12 -0
  6. data/data/plates/PROVENANCE.md +10 -0
  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/es-provinces.yml +116 -0
  14. data/data/plates/_decode/fr-departements.yml +191 -0
  15. data/data/plates/_decode/gb-age-identifiers.yml +170 -0
  16. data/data/plates/_decode/gb-memory-tags.yml +202 -0
  17. data/data/plates/_decode/gr-prefectures.yml +1408 -0
  18. data/data/plates/_decode/hr-cities.yml +315 -0
  19. data/data/plates/_decode/ie-counties.yml +227 -0
  20. data/data/plates/_decode/in-state-codes.yml +169 -0
  21. data/data/plates/_decode/is-districts-1938.yml +116 -0
  22. data/data/plates/_decode/it-provinces.yml +348 -0
  23. data/data/plates/_decode/jp-office-marks.yml +960 -0
  24. data/data/plates/_decode/jp-use-marks.yml +205 -0
  25. data/data/plates/_decode/kr-authority-marks.yml +146 -0
  26. data/data/plates/_decode/kr-use-syllables.yml +194 -0
  27. data/data/plates/_decode/lu-series-order.yml +638 -0
  28. data/data/plates/_decode/mx-entity-series.yml +380 -0
  29. data/data/plates/_decode/my-index-marks.yml +271 -0
  30. data/data/plates/_decode/no-counties-1913.yml +148 -0
  31. data/data/plates/_decode/no-districts.yml +901 -0
  32. data/data/plates/_decode/pl-powiats.yml +567 -0
  33. data/data/plates/_decode/pt-trailer-services.yml +96 -0
  34. data/data/plates/_decode/ro-counties.yml +213 -0
  35. data/data/plates/_decode/se-diplomatic.yml +220 -0
  36. data/data/plates/_decode/si-regions.yml +123 -0
  37. data/data/plates/_decode/sk-districts.yml +314 -0
  38. data/data/plates/_decode/th-registration-elements.yml +208 -0
  39. data/data/plates/_decode/ua-regions.yml +393 -0
  40. data/data/plates/_decode/za-licence-marks.yml +215 -0
  41. data/data/plates/_meta/classes.yml +26 -0
  42. data/data/plates/_meta/separators.yml +102 -0
  43. data/data/plates/ad.yml +961 -0
  44. data/data/plates/ar.yml +762 -0
  45. data/data/plates/at.yml +1424 -0
  46. data/data/plates/au-act.yml +472 -0
  47. data/data/plates/au-nsw.yml +282 -0
  48. data/data/plates/au-nt.yml +431 -0
  49. data/data/plates/au-qld.yml +272 -0
  50. data/data/plates/au-sa.yml +248 -0
  51. data/data/plates/au-tas.yml +302 -0
  52. data/data/plates/au-vic.yml +215 -0
  53. data/data/plates/au-wa.yml +309 -0
  54. data/data/plates/be.yml +1840 -0
  55. data/data/plates/br.yml +1152 -0
  56. data/data/plates/ca-ab.yml +430 -0
  57. data/data/plates/ca-bc.yml +697 -0
  58. data/data/plates/ca-mb.yml +499 -0
  59. data/data/plates/ca-nb.yml +537 -0
  60. data/data/plates/ca-nl.yml +743 -0
  61. data/data/plates/ca-ns.yml +808 -0
  62. data/data/plates/ca-nt.yml +610 -0
  63. data/data/plates/ca-nu.yml +280 -0
  64. data/data/plates/ca-on.yml +881 -0
  65. data/data/plates/ca-pe.yml +592 -0
  66. data/data/plates/ca-qc.yml +1036 -0
  67. data/data/plates/ca-sk.yml +256 -0
  68. data/data/plates/ca-yt.yml +656 -0
  69. data/data/plates/ch.yml +1273 -0
  70. data/data/plates/cn.yml +1431 -0
  71. data/data/plates/cy.yml +688 -0
  72. data/data/plates/cz.yml +1179 -0
  73. data/data/plates/de.yml +1107 -0
  74. data/data/plates/dk.yml +1647 -0
  75. data/data/plates/ee.yml +1275 -0
  76. data/data/plates/es.yml +888 -0
  77. data/data/plates/fi.yml +1271 -0
  78. data/data/plates/fr.yml +1265 -0
  79. data/data/plates/gb.yml +1188 -0
  80. data/data/plates/gr.yml +721 -0
  81. data/data/plates/hr.yml +860 -0
  82. data/data/plates/hu.yml +959 -0
  83. data/data/plates/ie.yml +775 -0
  84. data/data/plates/in.yml +1172 -0
  85. data/data/plates/is.yml +667 -0
  86. data/data/plates/it.yml +1317 -0
  87. data/data/plates/jp.yml +3650 -0
  88. data/data/plates/kr.yml +1375 -0
  89. data/data/plates/li.yml +1010 -0
  90. data/data/plates/lt.yml +879 -0
  91. data/data/plates/lu.yml +842 -0
  92. data/data/plates/lv.yml +924 -0
  93. data/data/plates/mc.yml +1024 -0
  94. data/data/plates/mt.yml +854 -0
  95. data/data/plates/mx.yml +1372 -0
  96. data/data/plates/my.yml +685 -0
  97. data/data/plates/nl.yml +1016 -0
  98. data/data/plates/no.yml +1018 -0
  99. data/data/plates/nz.yml +1699 -0
  100. data/data/plates/pl.yml +1296 -0
  101. data/data/plates/pt.yml +847 -0
  102. data/data/plates/ro.yml +785 -0
  103. data/data/plates/se.yml +1091 -0
  104. data/data/plates/si.yml +1105 -0
  105. data/data/plates/sk.yml +1439 -0
  106. data/data/plates/sm.yml +1119 -0
  107. data/data/plates/th.yml +1150 -0
  108. data/data/plates/ua.yml +1672 -0
  109. data/data/plates/us-ak.yml +763 -0
  110. data/data/plates/us-al.yml +457 -0
  111. data/data/plates/us-ar.yml +427 -0
  112. data/data/plates/us-as.yml +454 -0
  113. data/data/plates/us-az.yml +430 -0
  114. data/data/plates/us-ca.yml +892 -0
  115. data/data/plates/us-co.yml +452 -0
  116. data/data/plates/us-ct.yml +427 -0
  117. data/data/plates/us-dc.yml +614 -0
  118. data/data/plates/us-de.yml +551 -0
  119. data/data/plates/us-fl.yml +741 -0
  120. data/data/plates/us-ga.yml +644 -0
  121. data/data/plates/us-gu.yml +658 -0
  122. data/data/plates/us-hi.yml +585 -0
  123. data/data/plates/us-ia.yml +438 -0
  124. data/data/plates/us-id.yml +531 -0
  125. data/data/plates/us-il.yml +516 -0
  126. data/data/plates/us-in.yml +324 -0
  127. data/data/plates/us-ks.yml +351 -0
  128. data/data/plates/us-ky.yml +770 -0
  129. data/data/plates/us-la.yml +568 -0
  130. data/data/plates/us-ma.yml +379 -0
  131. data/data/plates/us-md.yml +536 -0
  132. data/data/plates/us-me.yml +445 -0
  133. data/data/plates/us-mi.yml +408 -0
  134. data/data/plates/us-mn.yml +411 -0
  135. data/data/plates/us-mo.yml +356 -0
  136. data/data/plates/us-mp.yml +402 -0
  137. data/data/plates/us-ms.yml +432 -0
  138. data/data/plates/us-mt.yml +619 -0
  139. data/data/plates/us-nc.yml +602 -0
  140. data/data/plates/us-nd.yml +419 -0
  141. data/data/plates/us-ne.yml +483 -0
  142. data/data/plates/us-nh.yml +394 -0
  143. data/data/plates/us-nj.yml +547 -0
  144. data/data/plates/us-nm.yml +574 -0
  145. data/data/plates/us-nv.yml +655 -0
  146. data/data/plates/us-ny.yml +592 -0
  147. data/data/plates/us-oh.yml +404 -0
  148. data/data/plates/us-ok.yml +513 -0
  149. data/data/plates/us-or.yml +392 -0
  150. data/data/plates/us-pa.yml +506 -0
  151. data/data/plates/us-pr.yml +507 -0
  152. data/data/plates/us-ri.yml +445 -0
  153. data/data/plates/us-sc.yml +605 -0
  154. data/data/plates/us-sd.yml +428 -0
  155. data/data/plates/us-tn.yml +471 -0
  156. data/data/plates/us-tx.yml +535 -0
  157. data/data/plates/us-ut.yml +384 -0
  158. data/data/plates/us-va.yml +567 -0
  159. data/data/plates/us-vi.yml +489 -0
  160. data/data/plates/us-vt.yml +458 -0
  161. data/data/plates/us-wa.yml +484 -0
  162. data/data/plates/us-wi.yml +509 -0
  163. data/data/plates/us-wv.yml +446 -0
  164. data/data/plates/us-wy.yml +523 -0
  165. data/data/plates/va.yml +604 -0
  166. data/data/plates/za.yml +1141 -0
  167. data/data/vehicles.json +160653 -105090
  168. data/lib/vehicles/configuration.rb +18 -2
  169. data/lib/vehicles/dataset.rb +73 -18
  170. data/lib/vehicles/fuzzy.rb +115 -0
  171. data/lib/vehicles/http.rb +48 -0
  172. data/lib/vehicles/make.rb +36 -6
  173. data/lib/vehicles/mcp_server.rb +5 -5
  174. data/lib/vehicles/model.rb +42 -6
  175. data/lib/vehicles/plates/jurisdiction.rb +32 -0
  176. data/lib/vehicles/plates/series.rb +291 -0
  177. data/lib/vehicles/plates/template_fill.rb +188 -0
  178. data/lib/vehicles/plates/templates.rb +162 -0
  179. data/lib/vehicles/plates.rb +122 -0
  180. data/lib/vehicles/providers/hosted_provider.rb +49 -58
  181. data/lib/vehicles/providers/local_provider.rb +4 -3
  182. data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
  183. data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
  184. data/lib/vehicles/version.rb +1 -1
  185. data/lib/vehicles.rb +53 -16
  186. data/rakelib/data_refresh.rake +109 -0
  187. data/rakelib/plates_refresh.rake +29 -0
  188. data/sig/vehicles.rbs +18 -0
  189. metadata +174 -2
@@ -0,0 +1,1271 @@
1
+ # plates/fi.yml — Finland (PRD-PLATES gate L1, EU/EEA slice). DRAFT for
2
+ # verification: researched by an Opus L1 researcher, never applied directly.
3
+ #
4
+ # THE FINNISH SOURCE CHAIN, AND WHY IT IS UNUSUALLY CLEAN
5
+ #
6
+ # Finland splits plate law across exactly three instruments, and all three are
7
+ # free, textual and fetchable — no scanned bitmaps, no paywalled standard:
8
+ #
9
+ # 1. AJONEUVOLAKI 82/2021 (the Vehicles Act) — the frame. § 99 (currently in
10
+ # force, three momentit): "Ensirekisteröitävää ajoneuvoa varten annetaan
11
+ # rekisterikilvet, joissa on ajoneuvon yksilöivä rekisteritunnus. …
12
+ # Rekisteritunnuksen ja rekisterikilpien on oltava selkeästi erottuvia."
13
+ # Momentti 2 delegates the CONTENT of the mark and the COLOUR of the plate
14
+ # to a Government decree; momentti 3 delegates the DIMENSIONS and other
15
+ # technical properties to Traficom. Every format claim below therefore
16
+ # comes from the decree, and every millimetre from the Traficom määräys.
17
+ # 2. VALTIONEUVOSTON ASETUS AJONEUVOISTA 162/2021 (25.2.2021, in force
18
+ # 1.3.2021) § 16 — "Rekisteritunnuksen sisältö ja rekisterikilpien väri".
19
+ # EIGHT numbered items, quoted verbatim in the series entries below. This
20
+ # is the single most citable provision in the file: it fixes the letter/
21
+ # digit arrangement AND the background colour for every Finnish plate
22
+ # class in one paragraph. It repealed A 893/2007, which repealed
23
+ # A 1598/1995 — both fetched, both quoted where they carry a period claim.
24
+ # 3. TRAFICOM MÄÄRÄYS "Rekisterikilpien ja siirtomerkkien mitat ja muut
25
+ # tekniset ominaisuudet", TRAFICOM/65798/03.04.03.00/2024, given 9.12.2024,
26
+ # in force 16.12.2024 — every dimension, the reflective-film standard, the
27
+ # 1-1.5 mm embossing, the 3 mm border line, and Liitteet 1-8, which are the
28
+ # statutory TYPEFACE DRAWINGS.
29
+ #
30
+ # FIVE STRUCTURAL FACTS THAT SHAPE THIS FILE
31
+ #
32
+ # 1. THE FINNISH MARK ENCODES NOTHING. § 17 of A 162/2021, verbatim:
33
+ # "Ajoneuvolle annettava 16 §:n mukainen rekisteritunnus määräytyy
34
+ # sattumanvaraisesti." The mark is allocated AT RANDOM. Its 1995 predecessor
35
+ # said the same thing (A 1598/1995 § 36 a). So `region_encoding: none` on
36
+ # every series is a SOURCED claim, not an absence of evidence — no geography,
37
+ # no era, no district. The widely-repeated story that pre-1989 Finnish letter
38
+ # groups decoded to a lääni is recorded in the dossier as UNSOURCED.
39
+ #
40
+ # 2. THE L-CLASS MARK RUNS BACKWARDS, AND THE FLIP IS DATED TO THE DAY.
41
+ # A car mark is letters-then-digits (ABC-123); an L-class (motorcycle, moped,
42
+ # quadricycle) mark is digits-then-letters (123-ABC). That inversion is the
43
+ # single most useful structural tell on a Finnish plate. It is NOT ancient:
44
+ # A 1598/1995 § 36 put cars, L-class vehicles and trailers on the SAME
45
+ # letters-first shape, and A 893/2007 — in force 1 June 2008 — inverted the
46
+ # L-class one, with the transitional saving "Ennen tämän asetuksen
47
+ # voimaantuloa ajoneuvoa varten annetut tai kilpivalmistajalta tilatut
48
+ # L-luokan ajoneuvojen rekisterikilvissä olevat rekisteritunnukset saavat
49
+ # olla tämän asetuksen voimaan tullessa voimassa olleiden säännösten
50
+ # mukaisia." Hence `fi-lclass-lettersfirst`, this file's one-series-back
51
+ # entry, with a hard `period: {start: 1996, end: 2008}`.
52
+ #
53
+ # 3. THE FIN EURO-BAND HAS A REAL START DATE: 1 MAY 2001. Valtioneuvoston
54
+ # asetus 764/2000 (24.8.2000) inserted into A 1598/1995 the § 37 that reads
55
+ # "Edellä 36 §:n 1 momentin a kohdassa tarkoitetussa auton, moottoripyörän ja
56
+ # perävaunun sekä vientirekisteröitävän ajoneuvon rekisterikilvessä on …
57
+ # neuvoston asetuksen (EY) N:o 2411/98 liitteessä olevan määrittelyn mukainen
58
+ # kansallisuustunnus siten, että … tunnusmerkki on FIN", and its
59
+ # voimaantulosäännös reads "Tämä asetus tulee voimaan 1 päivänä toukokuuta
60
+ # 2001." So the banded and unbanded plates are two series with two dates, and
61
+ # the unbanded one never closed — § 16(1)(1) still says "jollei jäljempänä
62
+ # toisin säädetä" and the Traficom määräys still specifies three unbanded car
63
+ # plate sizes.
64
+ #
65
+ # 4. TAXI PLATES ARE ENACTED BUT NOT YET IN FORCE. Laki 614/2026
66
+ # (26.6.2026) rewrites ajoneuvolaki §§ 99 and 101 to create "taksikilvet" —
67
+ # plates "muista rekisterikilvistä erottuvat" — and its own voimaantulo reads
68
+ # "Tämä laki tulee voimaan 1 päivänä tammikuuta 2027", with a further
69
+ # transitional giving existing licence-holders until 30.6.2027. NO SERIES IS
70
+ # AUTHORED FOR IT: the amending Act creates the class but publishes no format
71
+ # and no colour, and the implementing decree/määräys had not appeared when
72
+ # this pass ran. It is a dated, sourced FORTHCOMING item, recorded here and
73
+ # in the dossier so the quarterly audit picks it up.
74
+ #
75
+ # 5. THE STATUTORY TYPEFACE DRAWING CONTAINS Å, Ä AND Ö. Liite 1 to the 2024
76
+ # Traficom määräys ("Rekisteritunnuksen kirjasintyyppi, kirjaimet 72 mm") is
77
+ # a vector drawing of 29 letters: A-Z followed by Å, Ä and Ö — plus a
78
+ # side-by-side "Vanha"/"Uusi" pair for Y, the 2024 redesign that separates Y
79
+ # from V. Every regex in this file is written over A-Z, which is therefore
80
+ # possibly NARROWER than the authority's own repertoire. This is a genuine
81
+ # §2.6 stressor (the dataset's serial alphabet is A-Z 0-9) and is flagged in
82
+ # the dossier rather than silently assumed away.
83
+ #
84
+ # REGEX POLICY (as in plates/de.yml and plates/nl.yml). `format.regex` is the
85
+ # lint-round-trippable form. `format.regex_strict` carries the ONE charset rule
86
+ # Finland publishes and the round-trip forbids `regex` from expressing:
87
+ # Traficom's own words on the erityiskilpi page, "Nolla ei voi olla numero-osan
88
+ # alussa eikä ainoana numerona" — no leading zero and no bare zero — encoded as
89
+ # `[1-9]\d{0,n}`, exactly the German Anlage-1 trick. The standard car series'
90
+ # strict twin additionally excludes the two-letter combination CD, which the
91
+ # same page reserves: "CD-kirjainyhdistelmä on vain diplomaattiajoneuvoille."
92
+ #
93
+ # SEPARATORS. A 162/2021 does not name a separator glyph; the Traficom määräys
94
+ # does, and calls it the "väliviiva" — § 2(3) defines rekisteritunnus as
95
+ # "rekisterikilvessä tai siirtomerkissä olevia kirjain- ja numerosarjaa sekä
96
+ # niiden välissä mahdollisesti olevaa väliviivaa", and §§ 3.1-3.9 say per plate
97
+ # type whether the hyphen is required ("tulee olla väliviiva") or forbidden
98
+ # ("ei saa olla väliviivaa" — the two-row plates, where the groups sit on
99
+ # separate lines instead). Patterns here always spell the canonical single-row
100
+ # printed form with the hyphen (PRD-PLATES §2.6 rule 2); each design block
101
+ # records which sizes print two rows and therefore no hyphen at all. The rule is
102
+ # old: A 1598/1995 § 36(5) already said "Rekisterikilvessä olevat numerot
103
+ # erotetaan rekisterikilvessä olevista kirjaimista väliviivalla."
104
+ #
105
+ # ÅLAND (AX) IS NOT IN THIS FILE, DELIBERATELY. See `out_of_scope` below.
106
+ jurisdiction: fi
107
+ authority:
108
+ name: Liikenne- ja viestintävirasto Traficom (Finnish Transport and Communications Agency)
109
+ url: "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/rekisterikilvet"
110
+ binding: vehicle # ajoneuvolaki 82/2021 § 99(1): the plates carry the
111
+ # "ajoneuvon yksilöivä rekisteritunnus" — the mark is
112
+ # the VEHICLE's, not the owner's (contrast CH).
113
+ instrument:
114
+ act:
115
+ citation: "Ajoneuvolaki 82/2021"
116
+ in_force_from: "2021-03-01"
117
+ source: "https://www.finlex.fi/fi/lainsaadanto/2021/82 # § 99 Rekisterikilvet ja rekisteritunnus (mom. 2 delegates mark content + plate colour to a Government decree; mom. 3 delegates dimensions and other technical properties to Traficom); § 100 fixing; § 101 use; § 105 kansallisuustunnus/FIN; § 109-111 vientirekisteröinti; § 116 koenumerotodistus; § 118 siirtolupa"
118
+ decree:
119
+ citation: "Valtioneuvoston asetus ajoneuvoista 162/2021"
120
+ given: "2021-02-25"
121
+ in_force_from: "2021-03-01"
122
+ replaces: "Valtioneuvoston asetus ajoneuvojen rekisteröinnistä 893/2007 (itself in force 1.6.2008, replacing A 1598/1995, in force 1.1.1996)"
123
+ source: "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # Suomen säädöskokoelma PDF of 162/2021 — §§ 14-20 read verbatim from this file, not from a consolidation"
124
+ regulation:
125
+ citation: "Liikenne- ja viestintäviraston määräys: Rekisterikilpien ja siirtomerkkien mitat ja muut tekniset ominaisuudet, TRAFICOM/65798/03.04.03.00/2024"
126
+ given: "2024-12-09"
127
+ in_force_from: "2024-12-16"
128
+ replaces: "TRAFICOM/498866/03.04.03.00/2020, given 29.3.2021"
129
+ source: "https://www.finlex.fi/fi/viranomaiset/maarayskokoelmat/traficom-tieliikenne/2024/51087 # regulation landing page; main text PDF at /api/media/authority-regulation/536142/mainPdf/main.pdf, Liitteet 1-8 under /api/media/authority-regulation/536142/media/"
130
+
131
+ # ---------------------------------------------------------------------------
132
+ # Jurisdiction-wide facts, cited once and referenced per series.
133
+ # ---------------------------------------------------------------------------
134
+ common:
135
+ mark_definition: >-
136
+ Traficom määräys § 2(3), verbatim: "rekisteritunnuksella rekisterikilvessä
137
+ tai siirtomerkissä olevia kirjain- ja numerosarjaa sekä niiden välissä
138
+ mahdollisesti olevaa väliviivaa" — the registration MARK is the letter
139
+ series plus the number series plus the hyphen between them where one is
140
+ printed. On two-row plates the määräys forbids the hyphen outright, so the
141
+ same mark is printed with a hyphen on a single-row plate and without one on
142
+ a two-row plate. A separator-forgiving consumer collapses both to the same
143
+ canonical serial, which is exactly what PRD-PLATES §2.6 guarantees.
144
+ allocation:
145
+ rule: "A 162/2021 § 17(1), verbatim: 'Ajoneuvolle annettava 16 §:n mukainen rekisteritunnus määräytyy sattumanvaraisesti. Liikenne- ja viestintävirasto voi kuitenkin pyynnöstä antaa ajoneuvokohtaisen, hakemuksessa yksilöidyn rekisteritunnuksen (erityistunnus).'"
146
+ consequence: "RANDOM allocation. No region, no era, no vehicle-class letter is derivable from a Finnish mark — only the letters/digits ARRANGEMENT and the plate colour carry information. § 17(3) adds that a vehicle whose plates are lost or stolen gets a NEW mark, so a Finnish mark is not even stable across the vehicle's life."
147
+ source: "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 17 Rekisteritunnuksen määräytyminen"
148
+ charset:
149
+ letters_drawn_in_annex: [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, "Å", "Ä", "Ö"]
150
+ letters_note: >-
151
+ Liite 1 to the 2024 Traficom määräys draws 29 letters — the Latin A-Z plus
152
+ Å, Ä and Ö — and a "Vanha" (old) / "Uusi" (new) pair for Y. NO Finnish
153
+ instrument enumerates which of the 29 may appear in an issued mark, and no
154
+ authority page publishes an exclusion list. The regexes here are written
155
+ over A-Z; whether Å/Ä/Ö are ever issued (they are permitted on Åland's own
156
+ personalised plates, a different jurisdiction) is a RECORDED GAP.
157
+ no_leading_zero: true
158
+ no_leading_zero_note: >-
159
+ Traficom, erityiskilpi page, verbatim: "Nolla ei voi olla numero-osan
160
+ alussa eikä ainoana numerona." Zero may neither begin the number group nor
161
+ be the whole of it. This is the rule `regex_strict` carries and `regex`
162
+ cannot, because the lint's pattern generator emits "0" for a "9".
163
+ reserved_combinations: [CD]
164
+ reserved_note: 'Traficom, erityiskilpi page: "CD-kirjainyhdistelmä on vain diplomaattiajoneuvoille."'
165
+ restricted_letters: [W, Q]
166
+ restricted_note: >-
167
+ Traficom, erityiskilpi page: "Kirjainten W ja Q käytössä on rajoituksia
168
+ mopojen ja moottorikelkkojen rekisteritunnuksissa." The page states that
169
+ restrictions EXIST for W and Q on moped and snowmobile marks but does not
170
+ state what they are, so nothing is encoded — recorded gap.
171
+ group_sizes:
172
+ car: "2-3 letters + a number of at most 3 digits (A 162/2021 § 16(1)(1); Traficom erityiskilpi page: 'Auton rekisterikilvessä tulee olla 2-3 kirjainta ja enintään kolminumeroinen luku')"
173
+ lclass: "a number of at most 3 digits + 2-3 letters (A 162/2021 § 16(1)(2)); an ERITYISTUNNUS for an L-class vehicle may be either way round — Traficom: 'Moottoripyörän ja mopon erityiskilvessä tulee olla joko 2 tai 3 kirjainta ja enintään kolminumeroinen luku, tai toisinpäin'"
174
+ yellow: "a number of at most 3 digits + at most 3 letters (A 162/2021 § 16(1)(3)); no MINIMUM letter count is stated"
175
+ source: "https://www.traficom.fi/fi/autoilijat/hae-ajoneuvolle-erityiskilpea # group sizes per vehicle class, the CD reservation, the leading-zero prohibition, the W/Q restriction, and the black-plate eligibility rules"
176
+ dimensions_table_source: "https://www.finlex.fi/api/media/authority-regulation/536142/media/Liite%208%20Suomessa%20annettavien%20rekisterikilpien%20ja%20siirtomerkkien%20mitat.pdf # Liite 8: every plate type x plate size x character height/width x stroke width x hyphen size, in one table"
177
+ materials:
178
+ blank: "1 mm (± 0,05 mm) aluminium (Traficom määräys § 4.1.1)"
179
+ film: "reflective film to ISO 7591-1982 on white, yellow and blue plates; a black plate MAY NOT carry reflective film (§ 4.1.2)"
180
+ embossing: "mark and border line embossed 1-1,5 mm proud, hot-stamped in a non-reflective opaque colour (§ 4.1.3)"
181
+ border: "3 mm (± 0,5 mm) wide, running 5 mm (± 1 mm) from the plate edge, in the character colour, embossed to the same height as the mark (§ 4.1.3)"
182
+ tolerance: "± 1 mm on plate dimensions unless otherwise specified (§ 3)"
183
+ source: "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # § 4.1.1-4.1.3"
184
+ colours:
185
+ rule: >-
186
+ Traficom määräys § 4.4, verbatim: "Rekisteritunnuksen ja rekisterikilven
187
+ reunaviivan värin tulee olla valko- ja keltapohjaisessa rekisterikilvessä
188
+ musta. … Rekisteritunnuksen ja rekisterikilven reunaviivan värin tulee olla
189
+ mustapohjaisessa rekisterikilvessä ja sinipohjaisessa diplomaattikilvessä
190
+ valkoinen."
191
+ hex_basis_note: >-
192
+ NO Finnish instrument gives an RGB, RAL or Pantone value for any plate
193
+ colour — the law names colours (valkoinen, keltainen, sininen, musta,
194
+ punainen) and nothing more. Every hex in this file is therefore
195
+ `hex_basis: observed`, and the yellow and diplomatic-blue values were
196
+ sampled from Traficom's OWN plate photographs on the
197
+ "Suomessa käytettävät rekisterikilvet" page (a photograph, so
198
+ illumination-affected — treat as indicative, not as a spec).
199
+ sampled:
200
+ yellow_ground: "#F3A513"
201
+ diplomatic_blue_ground: "#225296"
202
+ euroband_blue_photographed: "#1A3A78"
203
+ source: "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # the authority's own gallery of every plate type in use, with sizes in the caption; page last updated 15.4.2026"
204
+ euro_band:
205
+ side: left
206
+ content: eu-stars+FIN
207
+ definition: >-
208
+ Traficom määräys § 2(1)-(2), verbatim: "FIN-kansallisuustunnuksella …
209
+ neuvoston asetuksessa (EY) N:o 2411/98 tarkoitettua tunnusmerkkiä, joka
210
+ Suomessa on FIN"; "kansallisuustunnusmerkillä rekisterikilvessä olevaa
211
+ merkkiä, jossa on sinisellä heijastavalla pohjalla kaksitoista
212
+ heijastavaa keltaista tähteä ja heijastava valkoinen kansallisuustunnus".
213
+ Twelve reflective yellow stars and a reflective white country code on a
214
+ blue reflective ground — a textual definition of the band's CONTENT, which
215
+ Reg. 2411/98's own bitmap annex does not supply (EU dossier finding 1).
216
+ geometry: "band 100 mm x 45 mm on the 118 x 442 car/trailer/export plate (Traficom määräys § 3.1.1; Liite 8's table says 102 x 45 for the same plate — a 2 mm internal discrepancy in the same instrument, recorded, not averaged); 85 mm x 45 mm on the 200 x 256 two-row plate and on the 200 x 165 motorcycle plate; FIN letters 20 mm high (§ 4.3)"
217
+ started: 2001
218
+ started_source: "https://www.finlex.fi/fi/lainsaadanto/saadoskokoelma/2000/764 # Valtioneuvoston asetus 764/2000 of 24.8.2000 inserted the Reg. 2411/98 FIN sign into A 1598/1995 § 37; voimaantulosäännös: 'Tämä asetus tulee voimaan 1 päivänä toukokuuta 2001', with the saving that plates issued earlier stay valid and may be exchanged on application"
219
+ oval_sign:
220
+ note: >-
221
+ SEPARATE FROM THE BAND, and still required outside the EU. Ajoneuvolaki
222
+ § 105(3) and A 162/2021 § 18: the Geneva-1949/Vienna-1968 oval must show
223
+ black FIN on a white oval, horizontal axis >= 175 mm, vertical >= 115 mm,
224
+ letters >= 80 mm high, stroke >= 10 mm, and "Kansallisuustunnukseen ei saa
225
+ liittää lippua eikä muuta merkkiä" — no flag, no other device may be added.
226
+ Traficom's plate page states the practical rule: "Jos ajoneuvossasi on
227
+ EU-rekisterikilvet, et tarvitse erillistä kansallisuustunnusta (FIN)
228
+ ajaessasi EU-alueella. EU:n ulkopuolella kansallisuustunnus on pakollinen."
229
+ source: "https://www.finlex.fi/fi/lainsaadanto/2021/82 # ajoneuvolaki § 105"
230
+ font:
231
+ name: "no name — a statutory DRAWING"
232
+ statutory_basis: >-
233
+ Traficom määräys § 4.2: "Rekisterikilven rekisteritunnuksen on oltava
234
+ liitteiden 1-5 kirjasintyyppien mukaisia." Liitteet 1-5 are dimensioned
235
+ vector drawings of the letters and numerals at 72 mm, 70 mm, 56 mm and
236
+ 35 mm; Liite 6 is the export plate's date numerals. Exactly the UK/DE/ES
237
+ pattern the EU dossier found (PRD-PLATES §6): the legal object is a
238
+ drawing, not a licensable typeface, so the render layer derives glyphs
239
+ from the drawing.
240
+ annexes:
241
+ - "Liite 1: Rekisteritunnuksen kirjasintyyppi, kirjaimet 72 mm — 29 glyphs (A-Z + Å Ä Ö) plus the Vanha/Uusi Y pair"
242
+ - "Liite 2: numerot 72 mm"
243
+ - "Liite 3: kirjaimet ja numerot 70 mm"
244
+ - "Liite 4: kirjaimet ja numerot 56 mm"
245
+ - "Liite 5: kirjaimet ja numerot 35 mm"
246
+ - "Liite 6: vientirekisteröidyn ajoneuvon voimassaoloaikaa ilmaisevien numeroiden kirjasintyyppi"
247
+ - "Liite 7: siirtomerkin kirjasintyyppi"
248
+ exception_flagged: >-
249
+ THE ONE EXCEPTION, AND IT MATTERS TO PRD-PLATES §6. The SIIRTOMERKKI
250
+ (transfer mark) is the one Finnish registration marking whose typeface is
251
+ NOT a drawing: Traficom määräys §§ 5.1 and 5.2 say, verbatim, "Siirtomerkin
252
+ kirjasintyyppi on Arial Narrow, bold/lihavoitu. Kirjasintyypin koko on
253
+ 218p" (170p on the motorcycle/moped mark). That is a NAMED, LICENSABLE,
254
+ third-party typeface mandated by a national instrument — a
255
+ counter-example to the dossier's "no surveyed country mandates a
256
+ licensable font" finding, narrow (it is a plastic adhesive mark, not a
257
+ rekisterikilpi) but real. Flagged for the fonts section, not resolved here.
258
+ y_redesign: >-
259
+ The 2024 määräys reshaped Y to separate it from V. Traficom's own
260
+ announcement: the change "koskee uusia kilpiä, mutta jo käytössä olevat
261
+ kilvet säilyvät sellaisinaan" — new plates only, existing plates unchanged.
262
+ A render layer therefore needs BOTH Y glyphs, keyed on the plate's
263
+ manufacture date, which is not a field this schema carries.
264
+ y_redesign_source: "https://www.traficom.fi/fi/uutiset/rekisterikilpiin-uudistuksia-traktorimonkijoille-uusi-kilpityyppi-ja-parannuksia-luettavuuteen # 16.12.2024: the new 220 x 152 mm tractor-ATV plate type and the Y/V legibility change; carries the määräys number and its 16.12.2024 entry into force"
265
+ source: "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # § 4.2, §§ 5.1-5.2, LIITTEET list"
266
+
267
+ # ---------------------------------------------------------------------------
268
+ # Recorded but deliberately NOT authored as series. Each is sourced; each is a
269
+ # gap the human pass and the quarterly audit should carry forward.
270
+ # ---------------------------------------------------------------------------
271
+ out_of_scope:
272
+ aland:
273
+ status: "SEPARATE JURISDICTION — belongs in a future plates/ax.yml, not here."
274
+ mechanism: >-
275
+ The Åland Islands run their own vehicle register and issue their own
276
+ plates through their own authority. Traficom says so in terms on its own
277
+ plate page: "Puolustusvoimien ajoneuvoilla sekä Ahvenanmaalle
278
+ rekisteröidyillä ajoneuvoilla on omat kilpensä." Finnish law treats an
279
+ Åland registration as a FOREIGN-equivalent registration: ajoneuvolaki
280
+ § 112(3) requires a liikennekäytöstä poisto notification when a vehicle is
281
+ registered "Sotilasajoneuvorekisteriin, ulkomaille tai Ahvenanmaan
282
+ maakuntaan", and A 162/2021's foreign-vehicle chapter repeatedly reads
283
+ "rekisteröintivaltion tai Ahvenanmaan maakunnan rekisterikilpi". The
284
+ competent authority is Fordonsmyndigheten (an agency under Ålands
285
+ landskapsregering), which runs the register and issues personalised marks
286
+ on its own rules (2-7 characters for cars, 2-6 for motorcycles, "Alla
287
+ bokstäver i svenska alfabetet är tillåtet", 15-year permit, EUR 727).
288
+ distinguishing_sign: >-
289
+ Åland's international distinguishing sign changed from FIN to AX with
290
+ effect from 13 September 2025, per the depositary notification recorded on
291
+ the UN Treaty Collection status page for the 1968 Vienna Convention. This
292
+ is the same measured fact the EU/international dossier pinned (alongside
293
+ GB -> UK, 28.9.2021).
294
+ not_authored_because: "This pass's jurisdiction is fi. Åland is ISO 3166-1 alpha-2 AX and needs its own file with its own authority, its own ÅFS instruments and its own format research; nothing about it is asserted here beyond the mechanism."
295
+ sources:
296
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/rekisterikilvet # 'Puolustusvoimien ajoneuvoilla sekä Ahvenanmaalle rekisteröidyillä ajoneuvoilla on omat kilpensä'"
297
+ - "https://www.fma.ax/fordon/personlig-registreringsskylt # Fordonsmyndigheten's own rules for Åland personalised marks: character counts, the full Swedish alphabet, the 15-year permit"
298
+ - "https://www.regeringen.ax/understallda-myndigheter/fordonsmyndigheten # Fordonsmyndigheten is a free-standing authority under the Åland Government, responsible for the vehicle register"
299
+ - "https://treaties.un.org/pages/ViewDetailsIII.aspx?src=TREATY&mtdsg_no=XI-B-19&chapter=11&clang=_en # depositary record: FIN -> AX for the Åland Islands, effective 13.9.2025"
300
+ taxi_plates_2027:
301
+ status: "ENACTED, IN FORCE 1.1.2027, NO FORMAT PUBLISHED — no series authored."
302
+ detail: >-
303
+ Laki ajoneuvolain muuttamisesta 614/2026 (Helsingissä 26.6.2026) inserts
304
+ into ajoneuvolaki § 99 a new momentti: "Ajoneuvolle, jota käytetään
305
+ taksiliikenteessä, annetaan muista rekisterikilvistä erottuvat
306
+ rekisterikilvet (taksikilvet) …", and into § 101 the duty "Jos ajoneuvoa
307
+ käytetään taksiliikenteessä, ajoneuvossa on käytettävä taksikilpiä."
308
+ Voimaantulo: "Tämä laki tulee voimaan 1 päivänä tammikuuta 2027", with
309
+ § 195(7) from 1.2.2027 and the new § 153 a (checking taxi-plate conditions
310
+ at inspection) from 1.7.2027, and a transitional giving existing taxi
311
+ licence-holders until 30 June 2027 to fit them. The Act says only that the
312
+ plates must be DISTINGUISHABLE from other plates; the format and colour
313
+ belong to the § 99 delegations and had not been issued when this pass ran.
314
+ sources:
315
+ - "https://www.finlex.fi/fi/lainsaadanto/saadoskokoelma/2026/614 # Laki 614/2026: which sections it amends, the taxi-plate wording, and all four entry-into-force dates"
316
+ - "https://www.finlex.fi/fi/lainsaadanto/2021/82 # Finlex marks the amended §§ 99 and 101 as 'tulee voimaan 1.1.2027' and prints the currently-in-force wording as 'Aiempi sanamuoto'"
317
+ tullikilpi:
318
+ status: "SOURCED CONTENT, UNSOURCED ARRANGEMENT — no series authored."
319
+ detail: >-
320
+ A 162/2021 § 16(1)(8), verbatim: "tullikilvessä on yksi kirjain,
321
+ järjestysnumero ja kirjaimet FIN punaisella värillä valkoisella,
322
+ heijastavalla pohjalla." One letter, a serial number and the letters FIN,
323
+ in red on a white reflective ground. The identical sentence appears in
324
+ A 1598/1995 § 36(3), so the class is at least thirty years old. But
325
+ NOTHING states the printed ORDER or the digit count, the Traficom
326
+ dimensions määräys does not cover the customs plate at all, and Traficom's
327
+ plate gallery does not illustrate it. A pattern would be a guess, so none
328
+ is written.
329
+ source: "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(8)"
330
+ president:
331
+ status: "NO SERIAL — cannot be a series under this schema."
332
+ detail: 'A 162/2021 § 16(1)(5), verbatim: "tasavallan presidentin virka-autossa voi rekisterikilpien asemesta olla Suomen vaakuna" — the President''s official car may carry the coat of arms of Finland INSTEAD OF plates. The identical rule is in A 1598/1995 § 36(1)(d). A plate with no mark has no pattern and no regex; recorded here.'
333
+ source: "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(5)"
334
+ military:
335
+ status: "OUT OF TRAFICOM'S HANDS — not researched to a primary in this pass."
336
+ detail: >-
337
+ Finnish Defence Forces vehicles sit in a separate register
338
+ (sotilasajoneuvorekisteri) that ajoneuvolaki § 112(3) treats like a foreign
339
+ register, and Traficom states plainly that "Puolustusvoimien ajoneuvoilla
340
+ … on omat kilpensä". The instrument that fixes the military mark's format
341
+ was not located in this pass; no series is authored and no format is
342
+ guessed.
343
+ source: "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/rekisterikilvet"
344
+
345
+ series:
346
+
347
+ # =========================================================================
348
+ # THE STANDARD CAR SERIES — three plates, one format, three designs.
349
+ # A 162/2021 § 16(1)(1), verbatim: "auton ja perävaunun rekisterikilvessä on
350
+ # kaksi tai kolme mustaa kirjainta ja musta, enintään kolminumeroinen luku
351
+ # valkoisella, heijastavalla pohjalla sekä, jollei jäljempänä toisin säädetä,
352
+ # kansallisuustunnus".
353
+ # =========================================================================
354
+ - id: fi-standard-eu
355
+ class: standard
356
+ categories: [car, van, truck, bus]
357
+ period: { start: 2001 }
358
+ period_evidence: enabling-instrument
359
+ matching: strict
360
+ format:
361
+ pattern: "LLL-999"
362
+ regex: '\A[A-Z]{2,3}-\d{1,3}\z'
363
+ regex_strict: '\A(?!CD-\d)[A-Z]{2,3}-[1-9]\d{0,2}\z'
364
+ charset:
365
+ letters: "2 or 3, from the Liite 1 repertoire (A-Z assumed; see common.charset)"
366
+ digits: "1 to 3, no leading zero, never a bare 0"
367
+ excluded_combinations: [CD]
368
+ notes: >-
369
+ Two sourced narrowings that `regex` cannot carry: the leading-zero
370
+ prohibition ("Nolla ei voi olla numero-osan alussa eikä ainoana
371
+ numerona") and the CD reservation ("CD-kirjainyhdistelmä on vain
372
+ diplomaattiajoneuvoille"), both from Traficom's erityiskilpi page. The
373
+ CD lookahead only bites on the two-letter shape, which is the only one
374
+ that could collide with fi-diplomatic-cd.
375
+ progression: >-
376
+ None to record: A 162/2021 § 17(1) allocates the mark AT RANDOM
377
+ ("määräytyy sattumanvaraisesti"), so no era or block inference is
378
+ possible from a Finnish mark, and a lost-plate replacement gets an
379
+ entirely new mark (§ 17(3)).
380
+ separator_note: >-
381
+ Traficom määräys § 3.1.1: on the 118 x 442 plate "Kirjainten ja
382
+ numeroiden välissä tulee olla väliviiva" — a hyphen is REQUIRED. On the
383
+ 200 x 256 two-row plate the same section says letters go on the top row,
384
+ digits on the bottom, and "Kirjainten ja numeroiden välissä ei saa olla
385
+ väliviivaa" — a hyphen is FORBIDDEN. Same mark, two printed forms.
386
+ design:
387
+ plate: { w: 442, h: 118, unit: mm }
388
+ plate_variants:
389
+ - { w: 256, h: 200, unit: mm, note: "two-row: letters above, digits below, NO hyphen; band 85 x 45 mm top-left" }
390
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec_note: "the decree says 'valkoisella, heijastavalla pohjalla'; no RGB/RAL anywhere in Finnish law" }
391
+ foreground: "#000000"
392
+ border: { color: "#000000", note: "3 mm wide, 5 mm from the edge, embossed to the mark's height (Traficom määräys § 4.1.3)" }
393
+ band: { side: left, color: "#003399", content: eu-stars+FIN, hex_basis: observed, note: "12 reflective yellow stars + reflective white FIN on a blue reflective ground (määräys § 2(2)); 100 x 45 mm per § 3.1.1, 102 x 45 mm per Liite 8 — the instrument disagrees with itself by 2 mm" }
394
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
395
+ emblem: { present: false }
396
+ seal: { present: false, note: "Finland applies no inspection or registration sticker to the plate — there is no Finnish equivalent of the German Stempelplakette" }
397
+ rear_differs: false
398
+ display: "two plates on a car, front and rear (A 162/2021 § 14(2); ajoneuvolaki § 100(2)); mounted upright or tilted at most 30 degrees outward at the bottom, wholly unobscured (A 162/2021 § 15)"
399
+ region_encoding: none
400
+ sources:
401
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(1) — 2 or 3 black letters and a black number of at most 3 digits on a white reflective ground, plus the nationality sign; § 14(2) two plates for a car; § 15 mounting; § 17 random allocation"
402
+ - "https://www.finlex.fi/fi/lainsaadanto/saadoskokoelma/2000/764 # A 764/2000: the FIN Euro-band inserted into A 1598/1995 § 37, in force 1.5.2001 — the date this series starts"
403
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # Traficom määräys §§ 2, 3.1.1, 4.1-4.4: band definition, 118 x 442 and 200 x 256, hyphen required/forbidden, 72 mm characters, 11 mm stroke, aluminium, ISO 7591-1982 film, embossing, border"
404
+ - "https://www.traficom.fi/fi/autoilijat/hae-ajoneuvolle-erityiskilpea # 2-3 letters + at most 3 digits; no leading zero; CD reserved for diplomatic vehicles"
405
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Auton matala EU-kilpi (118x442 mm)' and 'Auton korkea EU-kilpi (200x256 mm)' in the authority's own gallery"
406
+ notes: >-
407
+ THE CURRENT FINNISH PLATE. period.start 2001 is a REAL start, not an
408
+ instrument date: A 764/2000 created the FIN Euro-band with effect from
409
+ 1 May 2001, and Traficom now issues these at first registration by default
410
+ ("Ensirekisteröinnin yhteydessä ajoneuvo saa katsastustoimipaikalta
411
+ EU-rekisterikilvet, joiden rekisteritunnus määräytyy sattumanvaraisesti").
412
+ The FORMAT is older than the band — A 1598/1995 § 36 already read "kaksi
413
+ tai kolme kirjainta ja enintään kolminumeroisen luvun käsittävä tunnus" —
414
+ which is why the unbanded twin (fi-standard-white) carries an earlier
415
+ start and is a separate series rather than a variant.
416
+
417
+ - id: fi-standard-white
418
+ class: standard
419
+ categories: [car, van, truck, bus]
420
+ period: { start: 1996 }
421
+ period_evidence: instrument-in-force
422
+ matching: strict
423
+ format:
424
+ pattern: "LLL-999"
425
+ regex: '\A[A-Z]{2,3}-\d{1,3}\z'
426
+ regex_strict: '\A(?!CD-\d)[A-Z]{2,3}-[1-9]\d{0,2}\z'
427
+ charset: { notes: "identical to fi-standard-eu — the band is a design difference, not a format difference" }
428
+ separator_note: "hyphen required on all three sizes (Traficom määräys § 3.1.2: 'Kirjainten ja numeroiden välissä tulee olla väliviiva')"
429
+ design:
430
+ plate: { w: 397, h: 118, unit: mm }
431
+ plate_variants:
432
+ - { w: 338, h: 118, unit: mm }
433
+ - { w: 300, h: 112, unit: mm, note: "the small plate: 56 mm characters, 8 mm stroke, 10 x 10,5 mm hyphen; cannot be made with mounting holes (määräys § 4.1.1)" }
434
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
435
+ foreground: "#000000"
436
+ border: { color: "#000000" }
437
+ band: { side: none }
438
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, note: "56 mm / 34 mm / 8 mm on the 112 x 300 plate" }
439
+ rear_differs: false
440
+ region_encoding: none
441
+ sources:
442
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(1): the nationality sign applies 'jollei jäljempänä toisin säädetä', so an unbanded white plate remains a lawful issue"
443
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(1)(a) — 'auton, L-luokan ajoneuvon sekä perävaunun rekisterikilvessä on kaksi tai kolme kirjainta ja enintään kolminumeroisen luvun käsittävä tunnus mustin merkein valkealla, heijastavalla pohjalla'; § 70: 'Tämä asetus tulee voimaan 1 päivänä tammikuuta 1996'"
444
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # Traficom määräys § 3.1.2: three sizes for a car plate without the nationality mark — 118 x 397, 118 x 338, 112 x 300"
445
+ - "https://www.traficom.fi/fi/autoilijat/hae-ajoneuvolle-erityiskilpea # who may have the small 112 x 300 plate: a vehicle that already has one, or one an inspector has confirmed cannot take a long plate"
446
+ notes: >-
447
+ THE UNBANDED WHITE PLATE — still issued, and the reason a Finnish plate
448
+ without a blue band is not automatically old. period.start 1996 is
449
+ instrument-dated, not an origin claim: A 1598/1995 (in force 1.1.1996) is
450
+ the EARLIEST instrument pinned in this pass that states this exact
451
+ letters-then-digits shape on a white reflective ground. Finland's
452
+ white-plate era is universally said to begin in 1972, and two primaries
453
+ bear on that year without stating it — A 162/2021 § 16(2) allows black
454
+ plates for an imported vehicle "otettu käyttöön ennen vuotta 1972", and
455
+ Traficom's erityiskilpi page allows them for a Finnish car or trailer "joka
456
+ on otettu käyttöön vuonna 1972 tai aiemmin" and a Finnish motorcycle "joka
457
+ on otettu käyttöön vuonna 1973 tai aiemmin". Those are ELIGIBILITY CUTOFFS
458
+ for the black plate, not the start date of this format, and the 1972/1973
459
+ instrument itself is a recorded gap. Overlaps fi-standard-eu because both
460
+ are genuinely on issue in parallel.
461
+
462
+ - id: fi-standard-black
463
+ class: historic
464
+ categories: [car, van, truck, bus]
465
+ period: { start: 1996 }
466
+ period_evidence: instrument-in-force
467
+ matching: strict
468
+ format:
469
+ pattern: "LLL-999"
470
+ regex: '\A[A-Z]{2,3}-\d{1,3}\z'
471
+ regex_strict: '\A(?!CD-\d)[A-Z]{2,3}-[1-9]\d{0,2}\z'
472
+ charset: { notes: "the § 16(1)(1) format unchanged — only the colours invert" }
473
+ design:
474
+ plate: { w: 338, h: 118, unit: mm }
475
+ plate_variants:
476
+ - { w: 397, h: 118, unit: mm }
477
+ background: { color: "#000000", finish: non-retroreflective, hex_basis: observed, spec_note: "Traficom määräys § 4.1.2: 'Mustapohjaisessa rekisterikilvessä ei saa käyttää heijastavaa kalvoa' — a black plate MAY NOT be reflective, the only Finnish plate barred from retroreflection" }
478
+ foreground: "#FFFFFF"
479
+ border: { color: "#FFFFFF", note: "määräys § 4.4: white mark and white border on a black plate" }
480
+ band: { side: none, note: "§ 16(2) issues these 'ilman kansallisuustunnusta' — expressly without the nationality sign" }
481
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
482
+ rear_differs: false
483
+ region_encoding: none
484
+ sources:
485
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(2), verbatim: 'Ajoneuvoa varten voidaan hakemuksesta antaa rekisterikilvet, joissa 1 momentin 1 tai 2 kohdassa tarkoitettu rekisteritunnus on valkoinen mustalla pohjalla ilman kansallisuustunnusta, jos ajoneuvossa on aikaisemmin ollut tällaiset kilvet tai jos ulkomailta tuotu ajoneuvo on otettu käyttöön ennen vuotta 1972'"
486
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(1)(f) carries the same rule with the same 1972 cutoff — the regime is at least as old as 1996"
487
+ - "https://www.traficom.fi/fi/autoilijat/hae-ajoneuvolle-erityiskilpea # the four eligibility routes, including 'Suomessa käyttöönotetulle autolle tai perävaunulle, joka on otettu käyttöön vuonna 1972 tai aiemmin' and 'Suomessa käyttöönotetulle moottoripyörälle, joka on otettu käyttöön vuonna 1973 tai aiemmin'"
488
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys §§ 3.1.2, 4.1.2, 4.4: black car plates are 118 x 338 or 118 x 397, non-reflective, white mark and border"
489
+ notes: >-
490
+ THE RETRO BLACK PLATE — and the trap it sets. It looks like a pre-1972
491
+ Finnish plate and it is not one: a black plate issued today carries the
492
+ MODERN § 16(1)(1) mark (2-3 letters, then up to 3 digits), because § 16(2)
493
+ says in terms that it is "1 momentin 1 tai 2 kohdassa tarkoitettu
494
+ rekisteritunnus" printed white on black. Nothing about the SERIAL is
495
+ historic; only the colours are. CLASS CAVEAT: `historic` is the closest
496
+ value in _meta/classes.yml, but the legal test is not age — it is that the
497
+ vehicle already had such plates, OR was imported and first taken into use
498
+ before 1972, OR is a museum vehicle. The genuine pre-1972 Finnish plate,
499
+ with its own (unpinned) format, is a recorded gap and is NOT this entry.
500
+
501
+ - id: fi-museum-car-m
502
+ class: historic
503
+ categories: [car, van, truck, bus]
504
+ period: { start: 1996 }
505
+ period_evidence: instrument-in-force
506
+ matching: strict
507
+ format:
508
+ pattern: "MLL-999"
509
+ regex: '\AM[A-Z]{1,2}-\d{1,3}\z'
510
+ regex_strict: '\AM[A-Z]{1,2}-[1-9]\d{0,2}\z'
511
+ charset:
512
+ first_letter: [M]
513
+ notes: >-
514
+ Traficom, museum-vehicle registration page, verbatim: "Museoajoneuvon
515
+ tunnus alkaa M-kirjaimella." The M is the museum SERIES marker inside
516
+ an otherwise ordinary 2-3 letter group — Traficom's own gallery
517
+ illustrates "MA-126" on the 118 x 338 museum car plate. The decree
518
+ itself does not mention the M; the authority page is the only primary
519
+ for it, and it is recorded as such.
520
+ design:
521
+ plate: { w: 338, h: 118, unit: mm }
522
+ plate_variants:
523
+ - { w: 397, h: 118, unit: mm }
524
+ background: { color: "#000000", finish: non-retroreflective, hex_basis: observed }
525
+ foreground: "#FFFFFF"
526
+ border: { color: "#FFFFFF" }
527
+ band: { side: none }
528
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
529
+ eligibility:
530
+ minimum_age_years: 30
531
+ rule: >-
532
+ Traficom: "Museoajoneuvolla tarkoitetaan ajoneuvoa, jonka valmistusvuoden
533
+ päättymisestä on kulunut vähintään 30 vuotta ja se on säilytetty
534
+ alkuperäistä vastaavassa kunnossa tai entisöity asianmukaisesti." The
535
+ opinion on museum-vehicle eligibility is given by a national registered
536
+ museum-vehicle organisation (SAHK ry, FHRA ry, Classic Data,
537
+ Autohistoriallinen Seura ry), not by Traficom. Note the same page's
538
+ counter-intuitive fact: "ajoneuvolaki ei aseta rajoituksia
539
+ museoajoneuvojen käyttöajalle" — Finnish law places NO seasonal or
540
+ mileage limit on a museum vehicle; any limit comes from the insurer.
541
+ region_encoding: none
542
+ sources:
543
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/museoajoneuvon-rekisterointi # the 30-year definition, the accrediting organisations, 'Museoajoneuvolle voidaan myöntää museoajoneuvosarjaan kuuluva mustapohjainen museoauton tai museomoottoripyörän rekisterikilpi. Museoajoneuvon tunnus alkaa M-kirjaimella', and the fact that a museum vehicle may instead run ordinary white or EU plates"
544
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(3): a museum vehicle may be given plates with the § 16(1)(1)/(2) mark 'valkoinen mustalla pohjalla ilman kansallisuustunnusta'"
545
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Museoauton kilpi M-alkuinen (118x338 mm)', illustrated with MA-126"
546
+ notes: >-
547
+ THE MUSEUM SERIES PROPER — the one Finnish mark with a fixed first letter,
548
+ and therefore the only Finnish plate string that identifies its own class.
549
+ Distinguished from fi-standard-black, which is the same black design
550
+ WITHOUT the M constraint and is open to non-museum vehicles. A museum
551
+ vehicle may decline the black plate entirely and run ordinary white or EU
552
+ plates; the M mark travels with the museum registration, not with the
553
+ colour. period.start is instrument-dated on A 1598/1995, whose § 36(1)(b)
554
+ already provided black museum plates; the M-prefix rule itself is sourced
555
+ only to Traficom's current page and its own start date is a recorded gap.
556
+
557
+ # =========================================================================
558
+ # TRAILERS. Same § 16(1)(1) sentence as cars ("auton ja perävaunun"), same
559
+ # serial space, but the Traficom määräys gives trailers a DIFFERENT set of
560
+ # sizes — which is why they are their own series and not a category on the
561
+ # car entries.
562
+ # =========================================================================
563
+ - id: fi-trailer-eu
564
+ class: trailer
565
+ categories: [trailer, semitrailer]
566
+ period: { start: 2001 }
567
+ period_evidence: enabling-instrument
568
+ matching: strict
569
+ format:
570
+ pattern: "LLL-999"
571
+ regex: '\A[A-Z]{2,3}-\d{1,3}\z'
572
+ regex_strict: '\A(?!CD-\d)[A-Z]{2,3}-[1-9]\d{0,2}\z'
573
+ charset: { notes: "the same § 16(1)(1) grammar and the same random pool as cars — a Finnish mark does NOT say whether it is on a car or a trailer" }
574
+ design:
575
+ plate: { w: 442, h: 118, unit: mm }
576
+ plate_variants:
577
+ - { w: 256, h: 200, unit: mm, note: "two-row, no hyphen, band 85 x 45 mm top-left" }
578
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
579
+ foreground: "#000000"
580
+ border: { color: "#000000" }
581
+ band: { side: left, color: "#003399", content: eu-stars+FIN, hex_basis: observed }
582
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
583
+ display: "one plate, at the rear (A 162/2021 § 14(2): two plates only for a car and a snowmobile; ajoneuvolaki § 100(2))"
584
+ region_encoding: none
585
+ sources:
586
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(1) covers 'auton ja perävaunun' in one sentence; § 14(2) one plate for a trailer"
587
+ - "https://www.finlex.fi/fi/lainsaadanto/saadoskokoelma/2000/764 # A 764/2000 extended the FIN band to trailers with effect from 1.5.2001"
588
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.2.1: trailer plate with the nationality mark is 118 x 442 or 200 x 256"
589
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Perävaunun EU-kilpi (118x442 mm)' and 'Perävaunun korkea EU-kilpi (200x256 mm)', illustrated with DNZ 106 and WAW-100"
590
+ notes: >-
591
+ THE TRAILER EU PLATE. Modelled separately from fi-standard-eu because the
592
+ Traficom määräys gives the two different size menus — a trailer has no
593
+ 118 x 338 and no 112 x 300 option — and because consumers key on
594
+ `class: trailer`. The mark itself is indistinguishable from a car's: same
595
+ grammar, same random pool, one plate instead of two.
596
+
597
+ - id: fi-trailer-plain
598
+ class: trailer
599
+ categories: [trailer, semitrailer]
600
+ period: { start: 1996 }
601
+ period_evidence: instrument-in-force
602
+ matching: strict
603
+ format:
604
+ pattern: "LLL-999"
605
+ regex: '\A[A-Z]{2,3}-\d{1,3}\z'
606
+ regex_strict: '\A(?!CD-\d)[A-Z]{2,3}-[1-9]\d{0,2}\z'
607
+ charset: { notes: "as fi-trailer-eu" }
608
+ separator_note: "hyphen required (määräys § 3.2.2)"
609
+ design:
610
+ plate: { w: 397, h: 118, unit: mm }
611
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
612
+ foreground: "#000000"
613
+ border: { color: "#000000" }
614
+ band: { side: none }
615
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
616
+ variants:
617
+ - class: trailer
618
+ design: { background: { color: "#000000", finish: non-retroreflective, hex_basis: observed }, foreground: "#FFFFFF", plate: { w: 397, h: 118, unit: mm } }
619
+ note: >-
620
+ BLACK TRAILER PLATE, and a live contradiction between two Traficom
621
+ documents. The 2024 määräys § 3.2.2 still says "Ilman
622
+ kansallisuustunnusmerkkiä olevan perävaunun rekisterikilven pohjaväri
623
+ voi olla heijastava valkoinen tai heijastamaton musta", yet Traficom's
624
+ own gallery labels the illustration "Perävaunun mustapohjainen kilpi
625
+ -ei enää myönnetä" (no longer issued). Recorded as a colour-only
626
+ variant with the disagreement stated, per PRD-PLATES §5.3: the
627
+ disagreement is not averaged away.
628
+ sources:
629
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.2.2 permits white OR black"
630
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # gallery image filename 'Perävaunun mustapohjainen kilpi -ei enää myönnetä 118x397 mm'"
631
+ region_encoding: none
632
+ sources:
633
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.2.2: one size only, 118 x 397, hyphen required, white or black ground"
634
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(1)(a) — trailers on the same letters-then-digits mark since at least 1.1.1996"
635
+ notes: >-
636
+ THE UNBANDED TRAILER PLATE. One size only (118 x 397), against three for a
637
+ car — the sharpest design difference in the Finnish system between two
638
+ plates that carry identical marks. Overlaps fi-trailer-eu because both are
639
+ genuinely issuable; carries the black-ground variant and its recorded
640
+ contradiction.
641
+
642
+ # =========================================================================
643
+ # L-CLASS. A 162/2021 § 16(1)(2), verbatim: "L-luokan ajoneuvon
644
+ # rekisterikilvessä on musta, enintään kolminumeroinen luku ja kaksi tai kolme
645
+ # mustaa kirjainta valkoisella, heijastavalla pohjalla; L3e-, L4e-, L5e- ja
646
+ # L7e-luokan ajoneuvon rekisterikilvessä on myös kansallisuustunnus, jollei
647
+ # jäljempänä toisin säädetä". DIGITS FIRST — the inverse of the car mark — and
648
+ # the band only for the bigger L classes, never for mopeds.
649
+ # =========================================================================
650
+ - id: fi-motorcycle-eu
651
+ class: motorcycle
652
+ categories: [motorcycle, quadricycle]
653
+ period: { start: 2008 }
654
+ period_evidence: enabling-instrument
655
+ matching: strict
656
+ format:
657
+ pattern: "999-LLL"
658
+ regex: '\A\d{1,3}-[A-Z]{2,3}\z'
659
+ regex_strict: '\A[1-9]\d{0,2}-[A-Z]{2,3}\z'
660
+ charset:
661
+ digits: "1 to 3, no leading zero, never a bare 0"
662
+ letters: "2 or 3"
663
+ notes: >-
664
+ The CD reservation does not need excluding here: CD would have to be
665
+ the LETTER group, which on an L-class mark comes last, and no
666
+ diplomatic plate has that shape.
667
+ separator_note: >-
668
+ The 200 x 165 plate is TWO-ROW and the määräys § 3.3.1 forbids the
669
+ hyphen outright ("Kirjainten ja numeroiden välissä ei saa olla
670
+ väliviivaa"); Traficom's own gallery accordingly shows "10 TRF". The
671
+ pattern spells the canonical single-row form with the hyphen per
672
+ PRD-PLATES §2.6 rule 2; a separator-forgiving consumer canonicalises
673
+ both printings to the same serial.
674
+ design:
675
+ plate: { w: 165, h: 200, unit: mm }
676
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
677
+ foreground: "#000000"
678
+ border: { color: "#000000" }
679
+ band: { side: left, color: "#003399", content: eu-stars+FIN, hex_basis: observed, note: "85 x 45 mm, top-left corner (määräys § 3.3.1)" }
680
+ characters: { height_mm: 70, width_max_mm: 40, stroke_mm: 9 }
681
+ layout: "two rows, no hyphen"
682
+ display: "one plate, at the rear (A 162/2021 § 14(2))"
683
+ region_encoding: none
684
+ sources:
685
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(2): digits then 2-3 letters on white reflective; the nationality sign for L3e, L4e, L5e and L7e"
686
+ - "https://www.finlex.fi/fi/lainsaadanto/2007/893 # A 893/2007, in force 1.6.2008, is the instrument that inverted the L-class mark; its transitional saves marks issued or ordered before that date"
687
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.3.1: 200 x 165, two rows, no hyphen, band 85 x 45 top-left; § 4.3: 70 mm characters, 40 mm max width, 9 mm stroke"
688
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Moottoripyörän ja nelipyörän EU-kilpi (200x165 mm)', illustrated with 10 TRF"
689
+ notes: >-
690
+ THE CURRENT MOTORCYCLE / TRICYCLE / QUADRICYCLE PLATE. period.start 2008 is
691
+ real, not an instrument date: A 893/2007 entered into force on 1 June 2008
692
+ and inverted the L-class mark from letters-first to digits-first, saving
693
+ earlier marks expressly. So a Finnish plate reading 123-ABC on a
694
+ motorcycle cannot predate June 2008, while ABC-123 on a motorcycle cannot
695
+ POST-date it except as an erityistunnus (Traficom permits an L-class
696
+ special mark "toisinpäin"). That asymmetry is the single most useful
697
+ Finnish age-inference fact and the reason fi-lclass-lettersfirst exists.
698
+
699
+ - id: fi-motorcycle-noband
700
+ class: motorcycle
701
+ categories: [motorcycle, quadricycle]
702
+ period: { start: 2008 }
703
+ period_evidence: enabling-instrument
704
+ matching: strict
705
+ format:
706
+ pattern: "999-LLL"
707
+ regex: '\A\d{1,3}-[A-Z]{2,3}\z'
708
+ regex_strict: '\A[1-9]\d{0,2}-[A-Z]{2,3}\z'
709
+ charset: { notes: "identical grammar to fi-motorcycle-eu" }
710
+ separator_note: "no hyphen on the 200 x 165 two-row plate; hyphen REQUIRED on the 118 x 280 low plate (määräys § 3.3.2)"
711
+ design:
712
+ plate: { w: 165, h: 200, unit: mm }
713
+ plate_variants:
714
+ - { w: 280, h: 118, unit: mm, note: "the low single-row plate — museum and other black-ground motorcycle plates; hyphen required; 70 mm characters, 8 mm stroke, 9 x 10 mm hyphen; cannot be made with mounting holes" }
715
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
716
+ foreground: "#000000"
717
+ border: { color: "#000000" }
718
+ band: { side: none }
719
+ characters: { height_mm: 70, width_max_mm: 40, stroke_mm: 9 }
720
+ variants:
721
+ - class: motorcycle
722
+ design: { background: { color: "#000000", finish: non-retroreflective, hex_basis: observed }, foreground: "#FFFFFF", plate: { w: 165, h: 200, unit: mm } }
723
+ note: >-
724
+ BLACK-GROUND MOTORCYCLE PLATE, permitted by määräys § 3.3.2 in both the
725
+ 200 x 165 and 118 x 280 shapes, non-reflective per § 4.1.2, white mark
726
+ and border per § 4.4. Colour-only variant of this series, so a
727
+ sub-entry per PRD-PLATES §2.3. Traficom's gallery illustrates both
728
+ ("Moottoripyörän mustapohjainen kilpi 200x165 mm" with 98-BBM, and
729
+ "Moottoripyörän mustapohjainen matala kilpi 118x280 mm").
730
+ sources:
731
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.3.2"
732
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet"
733
+ region_encoding: none
734
+ sources:
735
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(2): the nationality sign applies 'jollei jäljempänä toisin säädetä', so an unbanded L-class plate is lawful"
736
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.3.2: 200 x 165 white or black, and the 118 x 280 low plate with a required hyphen"
737
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Moottoripyörän valkopohjainen kilpi (200x165 mm)' and the two black variants"
738
+ notes: >-
739
+ THE UNBANDED MOTORCYCLE PLATE. Same mark, same 2008 inversion, no blue
740
+ band — and, uniquely in the Finnish system, the design offers a SECOND
741
+ GEOMETRY: the 118 x 280 low single-row plate, which is where the hyphen
742
+ reappears on an L-class mark. That plate is also the museum motorcycle's
743
+ shape (see fi-museum-motorcycle-m).
744
+
745
+ - id: fi-lclass-lettersfirst
746
+ class: motorcycle
747
+ categories: [motorcycle, moped, quadricycle]
748
+ period: { start: 1996, end: 2008 }
749
+ period_evidence: instrument-dated-both-ends
750
+ matching: strict
751
+ format:
752
+ pattern: "LLL-999"
753
+ regex: '\A[A-Z]{2,3}-\d{1,3}\z'
754
+ regex_strict: '\A[A-Z]{2,3}-[1-9]\d{0,2}\z'
755
+ charset:
756
+ notes: >-
757
+ The pre-2008 L-class mark was the SAME shape as a car's, because
758
+ A 1598/1995 § 36(1)(a) governed cars, L-class vehicles and trailers in
759
+ one clause: "auton, L-luokan ajoneuvon sekä perävaunun
760
+ rekisterikilvessä on kaksi tai kolme kirjainta ja enintään
761
+ kolminumeroisen luvun käsittävä tunnus mustin merkein valkealla,
762
+ heijastavalla pohjalla".
763
+ design:
764
+ plate: { w: 165, h: 200, unit: mm }
765
+ plate_variants:
766
+ - { w: 280, h: 118, unit: mm }
767
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
768
+ foreground: "#000000"
769
+ border: { color: "#000000" }
770
+ band: { side: left, color: "#003399", content: eu-stars+FIN, hex_basis: observed, note: "only from 1.5.2001, and only on motorcycles — A 764/2000's § 37 named 'auton, moottoripyörän ja perävaunun'; a 1996-2001 L-class plate has no band at all" }
771
+ characters: { height_mm: 70, width_max_mm: 40, stroke_mm: 9 }
772
+ region_encoding: none
773
+ sources:
774
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(1)(a): cars, L-class vehicles and trailers share the letters-then-digits mark; § 70: in force 1.1.1996"
775
+ - "https://www.finlex.fi/fi/lainsaadanto/2007/893 # A 893/2007 § 25(1)(2) (Rekisteritunnuksen sisältö ja rekisterikilpien väri) inverts the L-class mark to digits-then-letters; § 58 Voimaantulo: 'Tämä asetus tulee voimaan 1 päivänä kesäkuuta 2008'; Siirtymäsäännökset: 'Ennen tämän asetuksen voimaantuloa ajoneuvoa varten annetut tai kilpivalmistajalta tilatut L-luokan ajoneuvojen rekisterikilvissä olevat rekisteritunnukset saavat olla tämän asetuksen voimaan tullessa voimassa olleiden säännösten mukaisia'"
776
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # the gallery still illustrates letters-first motorcycle plates (KM-560, AK 202, BX 971) beside the digits-first ones"
777
+ notes: >-
778
+ ONE SERIES BACK, AND THE ONLY CLOSED FINNISH SERIES IN THIS FILE. Both
779
+ ends are instrument-dated: 1996 is A 1598/1995's entry into force (the
780
+ earliest instrument pinned in this pass carrying this rule — the shape is
781
+ older, and its origin is a recorded gap), and 2008 is A 893/2007's, which
782
+ inverted it. period.end 2008 closes ISSUANCE only: these marks stay on the
783
+ road indefinitely, A 893/2007's transitional expressly let already-ordered
784
+ plates be made to the old rules, and Traficom still permits a letters-first
785
+ L-class ERITYISTUNNUS today ("joko 2 tai 3 kirjainta ja enintään
786
+ kolminumeroinen luku, tai toisinpäin"), which is why a letters-first
787
+ motorcycle plate is not by itself proof of a pre-2008 registration.
788
+
789
+ - id: fi-museum-motorcycle-m
790
+ class: historic
791
+ categories: [motorcycle, quadricycle]
792
+ period: { start: 1996 }
793
+ period_evidence: instrument-in-force
794
+ matching: strict
795
+ format:
796
+ pattern: "MLL-999"
797
+ regex: '\AM[A-Z]{1,2}-\d{1,3}\z'
798
+ regex_strict: '\AM[A-Z]{1,2}-[1-9]\d{0,2}\z'
799
+ charset:
800
+ first_letter: [M]
801
+ notes: >-
802
+ A 162/2021 § 16(3) second sentence, verbatim: "Lisäksi L-luokan
803
+ museoajoneuvoa varten voidaan antaa rekisteritunnus, jossa on kaksi tai
804
+ kolme valkoista kirjainta ja enintään kolminumeroinen, valkoinen luku
805
+ mustalla pohjalla." A museum L-class vehicle may take the LETTERS-FIRST
806
+ arrangement that ordinary L-class vehicles lost in 2008 — the decree
807
+ creates a live exception to its own § 16(1)(2). Traficom's museum page
808
+ supplies the M: "Museoajoneuvon tunnus alkaa M-kirjaimella"; its
809
+ gallery illustrates "MR-100".
810
+ design:
811
+ plate: { w: 280, h: 118, unit: mm }
812
+ plate_variants:
813
+ - { w: 165, h: 200, unit: mm }
814
+ background: { color: "#000000", finish: non-retroreflective, hex_basis: observed }
815
+ foreground: "#FFFFFF"
816
+ border: { color: "#FFFFFF" }
817
+ band: { side: none }
818
+ characters: { height_mm: 70, width_max_mm: 40, stroke_mm: 8, hyphen: { h: 9, w: 10 }, note: "määräys § 4.3 gives the museum motorcycle plate its own 8 mm stroke — one millimetre thinner than the ordinary motorcycle plate's 9 mm" }
819
+ layout: "single row with a required hyphen on the 118 x 280 plate (määräys § 3.3.2)"
820
+ region_encoding: none
821
+ sources:
822
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(3): black museum plates, and the L-class museum exception permitting 2-3 letters then a number of at most 3 digits"
823
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/museoajoneuvon-rekisterointi # 'Museoajoneuvon tunnus alkaa M-kirjaimella'"
824
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys §§ 3.3.2 and 4.3: 118 x 280 or 200 x 165, hyphen required, 70 mm characters at 8 mm stroke"
825
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Museomoottoripyörän kilpi M-alkuinen (118x280 mm)', illustrated with MR-100"
826
+ notes: >-
827
+ THE MUSEUM MOTORCYCLE SERIES — and the neatest thing in Finnish plate law:
828
+ § 16(3) lets a museum L-class vehicle keep the pre-2008 letters-first
829
+ arrangement, so the historic regime preserves not just a colour scheme but
830
+ a SERIAL GRAMMAR that ordinary issuance abandoned. Combined with the M
831
+ marker, a Finnish museum motorcycle plate is the only Finnish string that
832
+ declares both its class and its regime. Distinct from
833
+ fi-museum-car-m (different plate geometry, different stroke width) and from
834
+ fi-lclass-lettersfirst (that series is closed; this one is open).
835
+
836
+ # =========================================================================
837
+ # MOPEDS AND LIGHT QUADRICYCLES. Same § 16(1)(2) grammar as motorcycles, but
838
+ # L1e/L6e are NOT in the list that gets the nationality sign, so a Finnish
839
+ # moped plate never carries the blue band.
840
+ # =========================================================================
841
+ - id: fi-moped
842
+ class: moped
843
+ categories: [moped, quadricycle]
844
+ period: { start: 2008 }
845
+ period_evidence: enabling-instrument
846
+ matching: strict
847
+ format:
848
+ pattern: "999-LLL"
849
+ regex: '\A\d{1,3}-[A-Z]{2,3}\z'
850
+ regex_strict: '\A[1-9]\d{0,2}-[A-Z]{2,3}\z'
851
+ charset:
852
+ restricted_letters: [W, Q]
853
+ notes: >-
854
+ Traficom: "Kirjainten W ja Q käytössä on rajoituksia mopojen ja
855
+ moottorikelkkojen rekisteritunnuksissa." The restriction is asserted
856
+ but not specified anywhere the authority publishes, so NOTHING is
857
+ encoded — regex_strict carries only the leading-zero rule. Recorded
858
+ gap; do not infer an exclusion from this note.
859
+ separator_note: "the 110 x 124 plate is two-row and the hyphen is forbidden (määräys § 3.4)"
860
+ design:
861
+ plate: { w: 124, h: 110, unit: mm }
862
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
863
+ foreground: "#000000"
864
+ border: { color: "#000000" }
865
+ band: { side: none, note: "§ 16(1)(2) grants the nationality sign only to L3e, L4e, L5e and L7e — mopeds (L1e) and light quadricycles (L6e) are excluded by omission" }
866
+ characters: { height_mm: 35, width_max_mm: 24, stroke_mm: 5, note: "määräys § 4.3's own body text says 'Mopon ja moottorikelkan rekisterikilven rekisteritunnuksen kirjainten ja numeroiden korkeuden tulee olla 35 mm ja leveyden korkeintaan 24 mm. Kirjainten ja numeroiden viivaleveyden tulee olla 5 mm', while Liite 8's table gives 70 mm at 9 mm for the same plate — a flat contradiction inside one instrument. 35 mm is recorded because two 70 mm rows cannot fit a 110 mm plate; the disagreement is recorded, not averaged (PRD-PLATES §5.3)" }
867
+ layout: "two rows, no hyphen"
868
+ region_encoding: none
869
+ sources:
870
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(2): all L-class vehicles take the digits-then-letters mark; only L3e/L4e/L5e/L7e get the nationality sign"
871
+ - "https://www.finlex.fi/fi/lainsaadanto/2007/893 # A 893/2007, in force 1.6.2008, inverted the L-class mark — mopeds included"
872
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.4: 110 mm x 124 mm, two rows, no hyphen; § 4.1.1: always made with mounting holes; § 4.3 and Liite 8 for the contradicting character heights"
873
+ - "https://www.traficom.fi/fi/autoilijat/hae-ajoneuvolle-erityiskilpea # the W/Q restriction on moped and snowmobile marks"
874
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Mopon ja kevyen nelipyörän kilpi (110x124 mm)'"
875
+ notes: >-
876
+ THE MOPED PLATE — the smallest Finnish plate and the only white one that
877
+ never carries the blue band, because § 16(1)(2) grants the sign to a closed
878
+ list of L classes that excludes L1e and L6e. Shares the 110 x 124 geometry
879
+ exactly with the snowmobile plate, which is yellow; on a Finnish
880
+ 110 x 124 plate the GROUND COLOUR is the only thing distinguishing a moped
881
+ from a snowmobile, since the mark grammar is the same digits-then-letters
882
+ shape. Carries the file's one internal-contradiction flag on character
883
+ height.
884
+
885
+ # =========================================================================
886
+ # THE YELLOW PLATES. A 162/2021 § 16(1)(3), verbatim: "moottorikelkan, raskaan
887
+ # moottorikelkan, traktorin ja moottorityökoneen rekisterikilvessä on musta,
888
+ # enintään kolminumeroinen luku ja enintään kolme mustaa kirjainta
889
+ # keltaisella, heijastavalla pohjalla". Note "ENINTÄÄN kolme kirjainta" — at
890
+ # most three, with NO stated minimum, unlike the car and L-class rules.
891
+ # =========================================================================
892
+ - id: fi-snowmobile
893
+ class: agricultural
894
+ categories: [snowmobile]
895
+ period: { start: 1996 }
896
+ period_evidence: instrument-in-force
897
+ matching: strict
898
+ format:
899
+ pattern: "999-LLL"
900
+ regex: '\A\d{1,3}-[A-Z]{1,3}\z'
901
+ regex_strict: '\A[1-9]\d{0,2}-[A-Z]{1,3}\z'
902
+ charset:
903
+ restricted_letters: [W, Q]
904
+ notes: >-
905
+ "enintään kolme mustaa kirjainta" — AT MOST three letters, with no
906
+ minimum stated anywhere, which is why the regex quantifier is {1,3}
907
+ and not {2,3} as on the car and L-class series. Traficom's gallery
908
+ illustrates a two-letter snowmobile mark (199-AA). The W/Q restriction
909
+ named for snowmobiles is unspecified and therefore unencoded.
910
+ separator_note: "two-row plate; hyphen forbidden (määräys § 3.5)"
911
+ design:
912
+ plate: { w: 124, h: 110, unit: mm }
913
+ background: { color: "#F3A513", finish: retroreflective, hex_basis: observed, spec_note: "the decree says only 'keltaisella, heijastavalla pohjalla'; this hex is sampled from Traficom's own plate photograph and is indicative, not a spec value" }
914
+ foreground: "#000000"
915
+ border: { color: "#000000" }
916
+ characters: { height_mm: 35, stroke_mm: 5, note: "määräys § 4.3 body text: 'Mopon ja moottorikelkan rekisterikilven rekisteritunnuksen kirjainten ja numeroiden korkeuden tulee olla 35 mm ja leveyden korkeintaan 24 mm. Kirjainten ja numeroiden viivaleveyden tulee olla 5 mm.' Liite 8's table contradicts this with 70 mm / 9 mm — recorded, not averaged" }
917
+ layout: "two rows, no hyphen"
918
+ display: "TWO plates, one on each side — A 162/2021 § 14(2) gives a snowmobile two plates (the only non-car vehicle that gets two), and ajoneuvolaki § 100(2) puts them 'moottorikelkassa ja raskaassa moottorikelkassa molemmille sivuille'"
919
+ region_encoding: none
920
+ sources:
921
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(3) yellow ground, digits then at most 3 letters; § 14(2) two plates for a snowmobile"
922
+ - "https://www.finlex.fi/fi/lainsaadanto/2021/82 # ajoneuvolaki § 100(2): snowmobile plates go on BOTH SIDES, not front and rear"
923
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(1)(e): the same yellow rule for snowmobiles, tractors and motorised work machines since 1.1.1996"
924
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.5: 110 x 124, two rows, no hyphen"
925
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Moottorikelkan kilpi (110x123 mm)' — the gallery says 123 mm where the regulation says 124 mm; the regulation governs"
926
+ notes: >-
927
+ THE SNOWMOBILE PLATE — the most Finnish entry in the dataset, and the only
928
+ plate in this file mounted on the vehicle's SIDES rather than its ends.
929
+ CLASS CAVEAT, stated plainly: `agricultural` is the least-wrong value in
930
+ _meta/classes.yml, chosen because the decree puts snowmobiles in the same
931
+ clause as tractors and motorised work machines and gives them the same
932
+ yellow ground; a snowmobile is of course not agricultural, and the
933
+ vocabulary has no home for an off-road/over-snow class. Flagged as a
934
+ vocabulary gap. Geometrically identical to the moped plate, so ground
935
+ colour is the whole distinction.
936
+
937
+ - id: fi-tractor
938
+ class: agricultural
939
+ categories: [tractor, machine]
940
+ period: { start: 1996 }
941
+ period_evidence: instrument-in-force
942
+ matching: strict
943
+ format:
944
+ pattern: "999-LLL"
945
+ regex: '\A\d{1,3}-[A-Z]{1,3}\z'
946
+ regex_strict: '\A[1-9]\d{0,2}-[A-Z]{1,3}\z'
947
+ charset: { notes: "at most three letters, no stated minimum — Traficom's gallery illustrates both 561-ZN and a three-letter mark" }
948
+ separator_note: >-
949
+ Hyphen REQUIRED on the two single-row sizes (määräys § 3.6) and
950
+ FORBIDDEN on the 152 x 220 two-row plate. § 3.6 also makes the size a
951
+ function of the mark's LENGTH: 118 x 338 "silloin, kun
952
+ rekisteritunnuksessa on alle 6 merkkiä", 118 x 397 for six characters —
953
+ the only place in Finnish plate law where the mark's length picks the
954
+ plate.
955
+ design:
956
+ plate: { w: 338, h: 118, unit: mm, note: "used when the mark has fewer than 6 characters" }
957
+ plate_variants:
958
+ - { w: 397, h: 118, unit: mm, note: "6 characters" }
959
+ - { w: 220, h: 152, unit: mm, note: "the traktorimönkijä (tractor-ATV) plate ADDED by the 2024 määräys: at most 6 characters, two rows, no hyphen, 56 mm characters at 8 mm stroke; cannot be made with mounting holes. Introduced because the existing tractor plate could not be fitted to all tractor-ATVs in the way Reg. (EU) 2015/208 Annex XIX requires" }
960
+ background: { color: "#F3A513", finish: retroreflective, hex_basis: observed }
961
+ foreground: "#000000"
962
+ border: { color: "#000000" }
963
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 }, note: "56 / 34 / 8 mm with a 10 x 10,5 mm hyphen on the 152 x 220 plate" }
964
+ display: "one plate, front OR rear (ajoneuvolaki § 100(2): 'traktorissa ja moottorityökoneessa eteen tai taakse')"
965
+ region_encoding: none
966
+ sources:
967
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(3)"
968
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(1)(e), same rule, in force 1.1.1996"
969
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.6: 118 x 338 (<6 characters), 118 x 397 (6 characters), 152 x 220 (two rows, <=6 characters); § 4.3 character sizes"
970
+ - "https://www.traficom.fi/fi/uutiset/rekisterikilpiin-uudistuksia-traktorimonkijoille-uusi-kilpityyppi-ja-parannuksia-luettavuuteen # 16.12.2024: the 220 x 152 mm tractor-ATV plate and its EU-regulation rationale, plus the Y-glyph change"
971
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Traktorin kilpi (220 mm x 152 mm)' and the two low tractor plates"
972
+ notes: >-
973
+ THE YELLOW TRACTOR AND WORK-MACHINE PLATE. Same § 16(1)(3) mark as the
974
+ snowmobile, three geometries instead of one, and the only Finnish rule that
975
+ makes plate SIZE depend on the mark's character count. The 152 x 220
976
+ tractor-ATV plate is the newest thing in Finnish plate law — added by the
977
+ määräys of 9.12.2024, in force 16.12.2024 — and is recorded as a plate
978
+ variant rather than a series because the mark grammar is unchanged.
979
+ `agricultural` is the right class here, unlike on the snowmobile entry it
980
+ shares a decree clause with.
981
+
982
+ # =========================================================================
983
+ # DIPLOMATIC. A 162/2021 § 16(1)(4) — the only Finnish plates with a coloured
984
+ # ground other than yellow, and the only ones whose serial is allocated by a
985
+ # ministry rather than at random by Traficom.
986
+ # =========================================================================
987
+ - id: fi-diplomatic-cd
988
+ class: diplomatic
989
+ categories: [car, van, motorcycle]
990
+ period: { start: 1996 }
991
+ period_evidence: instrument-in-force
992
+ matching: strict
993
+ format:
994
+ pattern: "CD-9999"
995
+ regex: '\ACD-\d{1,4}\z'
996
+ charset:
997
+ fixed_letters: "CD"
998
+ notes: >-
999
+ The letters are literally CD and the number is "ulkoministeriön
1000
+ määräämä enintään nelinumeroinen" — set by the Ministry for Foreign
1001
+ Affairs, at most four digits. `regex` therefore IS the sourced
1002
+ grammar and needs no strict twin: no leading-zero rule is published
1003
+ for a ministry-allocated diplomatic number, and inventing one was
1004
+ declined.
1005
+ progression: "allocated by the Ministry for Foreign Affairs, not by Traficom's random pool; Traficom issues the plates only on the Ministry's 'kilpisuositus' (plate recommendation). The mission-to-number mapping is not published and is NOT authored here (PRD-PLATES puts diplomatic decode tables at L4)."
1006
+ design:
1007
+ plate: { w: 397, h: 118, unit: mm }
1008
+ plate_variants:
1009
+ - { w: 300, h: 112, unit: mm, note: "56 mm characters, 8 mm stroke; cannot be made with mounting holes" }
1010
+ - { w: 165, h: 200, unit: mm, note: "motorcycle; 70 mm characters, 9 mm stroke, no hyphen" }
1011
+ background: { color: "#225296", finish: retroreflective, hex_basis: observed, spec_note: "the decree says only 'sinisellä, heijastavalla pohjalla'; hex sampled from Traficom's own photograph of a CD plate" }
1012
+ foreground: "#FFFFFF"
1013
+ border: { color: "#FFFFFF", note: "määräys § 4.4: white mark and border on the blue diplomatic plate" }
1014
+ band: { side: none }
1015
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
1016
+ region_encoding: none
1017
+ sources:
1018
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(4), first limb: 'ulkovallan diplomaattisen edustuston ja lähetetyn konsulin viraston sekä muun vastaavassa asemassa olevan edustuston virka-auton sekä diplomaattisen edustajan, lähetetyn konsulin ja heihin rinnastettavan henkilön ajoneuvon rekisterikilvessä on kirjaimet CD ja ulkoministeriön määräämä enintään nelinumeroinen valkoinen luku sinisellä, heijastavalla pohjalla'"
1019
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(1)(c) carries the same CD rule (then 'ulkoasiainministeriön'), in force 1.1.1996"
1020
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.7: 118 x 397 or 112 x 300 for a car, 200 x 165 for a motorcycle, and 'Diplomaattikilpiä voidaan antaa myös muihin ajoneuvoihin kuin autoon ja moottoripyörään'"
1021
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/hae-ajoneuvolle-diplomaattirekisterointia # diplomatic registration is granted only on a Ministry for Foreign Affairs 'kilpisuositus'; Traficom posts the plates to a Finnish address"
1022
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Diplomaattikilpi (118x397 mm)', illustrated with CD-1124"
1023
+ notes: >-
1024
+ THE CD PLATE. Blue ground, white raised characters, no Euro-band, and a
1025
+ serial the Ministry for Foreign Affairs allocates — the one Finnish mark
1026
+ outside § 17's random pool. Its two-letter CD group is exactly why
1027
+ fi-standard-eu's `regex_strict` carries a `(?!CD-\d)` lookahead: a
1028
+ two-letter ordinary mark would otherwise be able to collide with it.
1029
+ Distinct from fi-diplomatic-c, which is the same design with a different
1030
+ letter and a longer number for a wider class of vehicle.
1031
+
1032
+ - id: fi-diplomatic-c
1033
+ class: diplomatic
1034
+ categories: [car, van, motorcycle]
1035
+ period: { start: 1996 }
1036
+ period_evidence: instrument-in-force
1037
+ matching: strict
1038
+ format:
1039
+ pattern: "C-99999"
1040
+ regex: '\AC-\d{1,5}\z'
1041
+ charset:
1042
+ fixed_letters: "C"
1043
+ notes: "one letter C and a Ministry-allocated number of at most FIVE digits — one digit longer than the CD series, which is the only thing separating the two grammars"
1044
+ design:
1045
+ plate: { w: 397, h: 118, unit: mm }
1046
+ plate_variants:
1047
+ - { w: 300, h: 112, unit: mm }
1048
+ - { w: 165, h: 200, unit: mm, note: "motorcycle" }
1049
+ background: { color: "#225296", finish: retroreflective, hex_basis: observed }
1050
+ foreground: "#FFFFFF"
1051
+ border: { color: "#FFFFFF" }
1052
+ band: { side: none }
1053
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
1054
+ region_encoding: none
1055
+ sources:
1056
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(4), second limb: 'edustustojen ja niiden henkilökuntaan kuuluvien henkilöiden muun tulli- ja verovapaan ajoneuvon rekisterikilvessä on kirjain C ja ulkoministeriön määräämä enintään viisinumeroinen valkoinen luku sinisellä, heijastavalla pohjalla'"
1057
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(1)(c), second limb, same rule since 1.1.1996"
1058
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Diplomaattikilpi (118x397 mm)', illustrated with C-11012"
1059
+ notes: >-
1060
+ THE C PLATE — the wider tax- and duty-free category: OTHER vehicles of
1061
+ missions and of their staff, as against the CD plate's official cars and
1062
+ accredited diplomats. CLASS CAVEAT: recorded as `diplomatic` rather than
1063
+ `consular` because the C category is defined by customs/tax exemption, not
1064
+ by consular status — consular office cars in fact take the CD plate under
1065
+ the first limb of the same paragraph. Overlaps fi-diplomatic-cd in period
1066
+ and categories by design: the two are parallel issuance, and a blue Finnish
1067
+ plate is one or the other.
1068
+
1069
+ # =========================================================================
1070
+ # EXPORT. A 162/2021 § 16(1)(6), and the only Finnish plate with a second
1071
+ # colour field.
1072
+ # =========================================================================
1073
+ - id: fi-export
1074
+ class: export
1075
+ categories: [car, van, truck, bus, motorcycle, trailer]
1076
+ period: { start: 2001 }
1077
+ period_evidence: enabling-instrument
1078
+ matching: strict
1079
+ format:
1080
+ pattern: "L-9999"
1081
+ regex: '\A[A-Z]-\d{1,4}\z'
1082
+ charset:
1083
+ notes: >-
1084
+ ONE letter and a number of at most four digits — the only Finnish mark
1085
+ with a single-letter group, and the shape that makes an export plate
1086
+ identifiable from the string alone. No leading-zero rule is published
1087
+ for export marks, so no strict twin is written.
1088
+ fields_note: >-
1089
+ The plate additionally bears a two-number EXPIRY FIELD (month over year)
1090
+ which a single pattern string cannot express — the same schema pressure
1091
+ PRD-PLATES §2.2 records for Japan and de.yml records for the German
1092
+ Kurzzeit- and Ausfuhrkennzeichen.
1093
+ design:
1094
+ plate: { w: 442, h: 118, unit: mm }
1095
+ plate_variants:
1096
+ - { w: 256, h: 200, unit: mm, note: "second plate may be two-row: letter above, digits below, no hyphen; date field 200 x 53 mm" }
1097
+ - { w: 165, h: 200, unit: mm, note: "motorcycle; two rows, no hyphen; date field 200 x 53 mm" }
1098
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
1099
+ foreground: "#000000"
1100
+ border: { color: "#000000" }
1101
+ band: { side: left, color: "#003399", content: eu-stars+FIN, hex_basis: observed, note: "100 x 45 mm on the 118 x 442 plate, 85 x 45 mm on the two-row and motorcycle plates" }
1102
+ extra_field:
1103
+ position: right
1104
+ content: "month over year on which the right to use the plate ends"
1105
+ background: { color: "#CC0000", finish: retroreflective, hex_basis: observed, spec_note: "the decree says only 'punaisella, heijastavalla pohjalla'" }
1106
+ foreground: "#FFFFFF"
1107
+ size: { w: 53, h: 118, unit: mm, note: "118 x 53 mm on the long plate; 200 x 53 mm on the two-row and motorcycle plates" }
1108
+ typeface: "Liite 6 to the Traficom määräys — the export date numerals have their OWN statutory drawing, separate from the mark's"
1109
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
1110
+ validity:
1111
+ max_months: 12
1112
+ note: >-
1113
+ Ajoneuvolaki § 111(1): "Vientirekisteröinti on voimassa vuoden
1114
+ rekisteröintikuukauden lopusta. Hakijan pyynnöstä voimassaoloaika voidaan
1115
+ määrätä lyhyemmäksi. … Vientirekisteröinnin voimassaoloaikaa ei voida
1116
+ pidentää." One year from the END of the registration month, shortenable
1117
+ on request, never extendable. § 111(4) limits use in Finland before
1118
+ export to the delivery-to-export-point run or an emigrating owner's trip.
1119
+ region_encoding: none
1120
+ sources:
1121
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(6): 'vientirekisteröidyn ajoneuvon rekisterikilvessä on kansallisuustunnus, yksi musta kirjain ja enintään nelinumeroinen musta luku valkoisella, heijastavalla pohjalla ja oikeassa reunassa punaisella, heijastavalla pohjalla valkoinen vuosiluku ja kuukausi, jonka aikana rekisteröinti päättyy'; § 19: 'Vientikilpiin sovelletaan, mitä 14-17 §:ssä säädetään rekisterikilvistä'"
1122
+ - "https://www.finlex.fi/fi/lainsaadanto/2021/82 # ajoneuvolaki §§ 109-111: vientirekisteröinti, its application and its one-year, non-extendable validity"
1123
+ - "https://www.finlex.fi/fi/lainsaadanto/saadoskokoelma/2000/764 # A 764/2000 § 37(1) named 'vientirekisteröitävän ajoneuvon rekisterikilpi' among those that carry the FIN sign, in force 1.5.2001"
1124
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.8: 118 x 442 and 200 x 256 for a car, 200 x 165 for a motorcycle; the 53 mm red date field with the month on the upper row and the year on the lower; § 4.2 second paragraph: the date numerals follow Liite 6"
1125
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/hae-ajoneuvolle-vientirekisterointia # who may apply, the 12-month validity from the end of the registration month, and the warning that the destination country may allow a shorter period"
1126
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Auton vientikilpi (118x442 mm)' illustrated with A-5544, and 'Moottoripyörän vientikilpi (200x165 mm)' whose red field reads 11 over 15"
1127
+ notes: >-
1128
+ THE VIENTIKILPI. Three things make it unique in Finland: the single-letter
1129
+ group (every other Finnish mark has two or three letters, or none), the red
1130
+ expiry field, and the fact that it KEEPS the Euro-band — the opposite of
1131
+ Germany's Ausfuhrkennzeichen, which loses it. period.start 2001 is the
1132
+ band's date; the letter-plus-four-digits format itself is older (A 1598/1995
1133
+ § 36(2) states it), so a pre-2001 Finnish export plate had this mark and no
1134
+ band. AMBIGUITY WORTH RECORDING for a parse API: `\AC-\d{1,4}\z` matches
1135
+ both this series and fi-diplomatic-c, so a string like C-1234 is
1136
+ genuinely two-way ambiguous on the mark alone and resolves only on colour.
1137
+
1138
+ # =========================================================================
1139
+ # TRADE / TEST PLATES.
1140
+ # =========================================================================
1141
+ - id: fi-koenumero
1142
+ class: dealer
1143
+ categories: [car, van, truck, bus, motorcycle, moped, trailer, tractor, machine]
1144
+ period: { start: 1996 }
1145
+ period_evidence: instrument-in-force
1146
+ binding: business
1147
+ # RECALL-ONLY (PRD-PLATES §2.7): two primaries disagree on the ORDER of the
1148
+ # letter and the number, so the regex is the UNION of both orders and is by
1149
+ # construction wider than whatever the authority actually issues. A match is
1150
+ # a shape hit, never the claim that the string is a valid koenumero.
1151
+ matching: recall-only
1152
+ format:
1153
+ pattern: "L-999"
1154
+ regex: '\A(?:[A-Z]-\d{1,3}|\d{1,3}-[A-Z])\z'
1155
+ order_disagreement: >-
1156
+ A 162/2021 § 16(1)(7) reads "koenumerokilvessä on kirjaimet KOE, yksi
1157
+ musta kirjain ja enintään kolminumeroinen musta luku keltaisella,
1158
+ heijastavalla pohjalla" — letter BEFORE number, in the same word order
1159
+ the export clause uses for the unambiguous A-5544 shape. But Traficom's
1160
+ own plate gallery captions its koenumerokilpi illustration
1161
+ "KOE 100-H" — number BEFORE letter. PRD-PLATES §5.3 forbids averaging a
1162
+ disagreement, so the regex admits both orders and `matching` is
1163
+ `recall-only` until a verifier settles it. The pattern shows the
1164
+ decree's order because the statute outranks an image caption.
1165
+ charset:
1166
+ notes: "one letter and a number of at most three digits; the KOE legend is NOT part of the mark (see design.legend)"
1167
+ design:
1168
+ plate: { w: 338, h: 118, unit: mm }
1169
+ background: { color: "#F3A513", finish: retroreflective, hex_basis: observed }
1170
+ foreground: "#000000"
1171
+ border: { color: "#000000" }
1172
+ band: { side: none }
1173
+ legend:
1174
+ text: KOE
1175
+ position: "left edge, the three letters stacked vertically"
1176
+ size: { h: 22, w: 13, unit: mm }
1177
+ note: >-
1178
+ Traficom määräys § 3.9: "Koenumerokilvessä tulee olla kirjaimet KOE
1179
+ kilven vasemmassa reunassa pystysuunnassa allekkain. Kirjainten KOE
1180
+ tulee olla 22 mm korkeat ja 13 mm leveät." At 22 mm against the mark's
1181
+ 72 mm, KOE is a plate LEGEND, not a serial group — which is why it is
1182
+ modelled here and not in the pattern.
1183
+ characters: { height_mm: 72, width_max_letters_mm: 49, width_max_digits_mm: 48, stroke_mm: 11, hyphen: { h: 12.5, w: 13.5 } }
1184
+ region_encoding: none
1185
+ sources:
1186
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 16(1)(7)"
1187
+ - "https://www.finlex.fi/fi/lainsaadanto/1995/1598 # A 1598/1995 § 36(4): 'Koenumerokilvessä on sana KOE, yksi kirjain ja enintään kolminumeroinen luku mustin merkein keltaisella, heijastavalla pohjalla' — same rule, same word order, since 1.1.1996"
1188
+ - "https://www.finlex.fi/fi/lainsaadanto/2021/82 # ajoneuvolaki § 116 koenumerotodistus ja koenumerokilvet; § 116 applies §§ 99-101 to test plates except § 100(1)"
1189
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.9: 118 x 338, vertical KOE 22 x 13 mm at the left edge, hyphen required between the letter and the digits"
1190
+ - "https://www.traficom.fi/fi/autoilijat/hae-ajoneuvolle-koenumerotodistusta # who may hold one (a company), the three permitted uses, and that the vehicle's own plates must be removed or covered while test plates are in use"
1191
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Koenumerokilpi (118x338 mm)', captioned KOE 100-H — the source of the order disagreement"
1192
+ notes: >-
1193
+ KOENUMEROKILPI — the Finnish trade plate, and this file's one
1194
+ `recall-only` series. BINDING NOTE: like the German rote Kennzeichen it
1195
+ binds to a BUSINESS, not a vehicle: the koenumerotodistus is granted to a
1196
+ company, may be used only by the holder or its representative, and only for
1197
+ research/development testing, a short sales test-drive or demonstration, or
1198
+ a move directly connected with manufacture, sale, fitting-out, repair or
1199
+ inspection. Traficom's instruction is explicit that the vehicle's own
1200
+ plates come off or get covered while the test plates are on. The
1201
+ letter/number ORDER is the single open question in this file and is flagged
1202
+ for the verifier.
1203
+
1204
+ # =========================================================================
1205
+ # SIIRTOMERKKI — the transfer mark. Not a rekisterikilpi at all: a
1206
+ # polypropylene adhesive marking issued with a siirtolupa (transfer permit).
1207
+ # =========================================================================
1208
+ - id: fi-siirtomerkki
1209
+ class: temporary
1210
+ categories: [car, van, truck, bus, motorcycle, moped, trailer, tractor, machine]
1211
+ period: { start: 2021 }
1212
+ period_evidence: instrument-in-force
1213
+ matching: strict
1214
+ format:
1215
+ pattern: "LL-9999"
1216
+ regex: '\A[A-Z]{1,2}-\d{1,4}\z'
1217
+ charset:
1218
+ notes: >-
1219
+ A 162/2021 § 20, verbatim and complete: "Siirtomerkissä on yksi tai
1220
+ kaksi punaista kirjainta ja punainen, enintään nelinumeroinen luku
1221
+ valkoisella pohjalla." One or two RED letters and a red number of at
1222
+ most four digits on a white ground. Traficom's gallery illustrates
1223
+ EG-1074 (car/trailer) and MF 6221 (motorcycle/moped), both
1224
+ letters-first, agreeing with the decree's word order.
1225
+ separator_note: "hyphen required on the 100 x 290 car/trailer/tractor mark, forbidden on the 120 x 120 two-row motorcycle/moped mark (määräys §§ 5.1-5.2)"
1226
+ design:
1227
+ plate: { w: 290, h: 100, unit: mm }
1228
+ plate_variants:
1229
+ - { w: 120, h: 120, unit: mm, note: "motorcycle and moped; two rows, no hyphen; characters at least 38 mm high and 25 mm wide; single-sided adhesive" }
1230
+ background: { color: "#FFFFFF", finish: non-retroreflective, hex_basis: observed, spec_note: "määräys § 5.1: 'Siirtomerkki valmistetaan heijastamattomalle valkoiselle pohjalle, eikä siinä ole kansallisuustunnusmerkkiä' — non-reflective, and expressly no Euro-band" }
1231
+ foreground: "#CC0000"
1232
+ band: { side: none }
1233
+ material: "recyclable polypropylene with a double-sided adhesive face (single-sided on the motorcycle/moped mark) — not aluminium, not embossed (määräys §§ 5.1-5.2)"
1234
+ font:
1235
+ name: "Arial Narrow Bold"
1236
+ size_pt: 218
1237
+ note: >-
1238
+ THE ONE NAMED TYPEFACE IN FINNISH REGISTRATION LAW, and a
1239
+ counter-example to PRD-PLATES §6's survey finding. Määräys § 5.1:
1240
+ "Siirtomerkin kirjasintyyppi on Arial Narrow, bold/lihavoitu.
1241
+ Kirjasintyypin koko on 218p." § 5.2 gives 170p for the
1242
+ motorcycle/moped mark. Arial Narrow is a licensable Monotype
1243
+ typeface; the render layer must not embed it, and the §6 fallback
1244
+ rule applies.
1245
+ characters: { height_min_mm: 50, height_max_mm: 70, width_min_mm: 27, width_max_mm: 43, note: "at least 38 mm high and 25 mm wide on the 120 x 120 mark" }
1246
+ display: "on a car, front and rear in the plate positions OR on the rear window and the top right of the windscreen (viewed from behind); never on painted bumpers, painted metal or over a window's heating elements (Traficom siirtolupa page)"
1247
+ validity:
1248
+ note: >-
1249
+ A siirtolupa is vehicle-specific and granted for a stated purpose:
1250
+ taking an unregistered or off-road vehicle to inspection or a workshop,
1251
+ moving an imported vehicle from the point of import, and similar.
1252
+ Traficom requires the permit to start within a week of application and
1253
+ requires the marks to be REMOVED AND DESTROYED when it expires.
1254
+ region_encoding: none
1255
+ sources:
1256
+ - "https://www.finlex.fi/api/media/statute/694140/mainPdf/main.pdf # A 162/2021 § 20 Siirtomerkkien sisältö ja väri"
1257
+ - "https://www.finlex.fi/fi/lainsaadanto/2021/82 # ajoneuvolaki § 118: siirtolupa, and § 118(5) delegating the transfer mark's dimensions and technical properties to Traficom"
1258
+ - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys §§ 5.1-5.2: 100 x 290 and 120 x 120, Arial Narrow bold at 218p / 170p, polypropylene, adhesive, character sizes"
1259
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/hae-ajoneuvolle-siirtolupaa # the conditions, the week-ahead start rule, where the marks go on the vehicle, and the duty to remove and destroy them"
1260
+ - "https://www.traficom.fi/fi/autoilijat/ajoneuvon-rekisterointi/suomessa-kaytettavat-rekisterikilvet # 'Auton ja perävaunun siirtomerkki (100 x 292mm)' — the gallery says 292 mm where the regulation says 290 mm; the regulation governs"
1261
+ notes: >-
1262
+ SIIRTOMERKKI — Finland's temporary marking, and the only entry in this
1263
+ file that is not a metal plate: a red-on-white adhesive polypropylene
1264
+ sticker with no Euro-band, no embossing and no reflective film.
1265
+ period.start 2021 is the date of the instrument that states the rule
1266
+ (A 162/2021, in force 1.3.2021), not the date the regime began; A 893/2007
1267
+ and A 1598/1995 carried transfer markings too, under different names and a
1268
+ different permit scheme, and pinning the origin was out of scope. TWO
1269
+ DISCREPANCIES RECORDED, both between the regulation and Traficom's own web
1270
+ gallery: 290 vs 292 mm, and (on the snowmobile plate) 124 vs 123 mm. The
1271
+ regulation is the authority.