vehicles 0.6.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +164 -0
- data/CHANGELOG.md +274 -0
- data/README.md +55 -10
- data/data/PROVENANCE-vehicles.md +12 -0
- data/data/plates/PROVENANCE.md +5 -4
- data/data/plates/_decode/at-districts.yml +287 -0
- data/data/plates/_decode/ch-cantons.yml +110 -0
- data/data/plates/_decode/cn-issuing-offices.yml +463 -0
- data/data/plates/_decode/cn-provinces.yml +614 -0
- data/data/plates/_decode/cz-kraj.yml +159 -0
- data/data/plates/_decode/dk-serial-blocks.yml +327 -0
- data/data/plates/_decode/fr-departements.yml +191 -0
- data/data/plates/_decode/gb-age-identifiers.yml +170 -0
- data/data/plates/_decode/gb-memory-tags.yml +202 -0
- data/data/plates/_decode/gr-prefectures.yml +1408 -0
- data/data/plates/_decode/hr-cities.yml +315 -0
- data/data/plates/_decode/ie-counties.yml +227 -0
- data/data/plates/_decode/in-state-codes.yml +169 -0
- data/data/plates/_decode/is-districts-1938.yml +116 -0
- data/data/plates/_decode/it-provinces.yml +348 -0
- data/data/plates/_decode/jp-office-marks.yml +960 -0
- data/data/plates/_decode/jp-use-marks.yml +205 -0
- data/data/plates/_decode/kr-authority-marks.yml +146 -0
- data/data/plates/_decode/kr-use-syllables.yml +194 -0
- data/data/plates/_decode/lu-series-order.yml +638 -0
- data/data/plates/_decode/mx-entity-series.yml +380 -0
- data/data/plates/_decode/my-index-marks.yml +271 -0
- data/data/plates/_decode/no-counties-1913.yml +148 -0
- data/data/plates/_decode/no-districts.yml +901 -0
- data/data/plates/_decode/pl-powiats.yml +567 -0
- data/data/plates/_decode/pt-trailer-services.yml +96 -0
- data/data/plates/_decode/ro-counties.yml +213 -0
- data/data/plates/_decode/se-diplomatic.yml +220 -0
- data/data/plates/_decode/si-regions.yml +123 -0
- data/data/plates/_decode/sk-districts.yml +314 -0
- data/data/plates/_decode/th-registration-elements.yml +208 -0
- data/data/plates/_decode/ua-regions.yml +393 -0
- data/data/plates/_decode/za-licence-marks.yml +215 -0
- data/data/plates/_meta/classes.yml +1 -0
- data/data/plates/_meta/separators.yml +102 -0
- data/data/plates/ad.yml +961 -0
- data/data/plates/ar.yml +762 -0
- data/data/plates/at.yml +1424 -0
- data/data/plates/au-act.yml +472 -0
- data/data/plates/au-nsw.yml +282 -0
- data/data/plates/au-nt.yml +431 -0
- data/data/plates/au-qld.yml +272 -0
- data/data/plates/au-sa.yml +248 -0
- data/data/plates/au-tas.yml +302 -0
- data/data/plates/au-vic.yml +215 -0
- data/data/plates/au-wa.yml +309 -0
- data/data/plates/be.yml +1840 -0
- data/data/plates/br.yml +1152 -0
- data/data/plates/ca-ab.yml +430 -0
- data/data/plates/ca-bc.yml +697 -0
- data/data/plates/ca-mb.yml +499 -0
- data/data/plates/ca-nb.yml +537 -0
- data/data/plates/ca-nl.yml +743 -0
- data/data/plates/ca-ns.yml +808 -0
- data/data/plates/ca-nt.yml +610 -0
- data/data/plates/ca-nu.yml +280 -0
- data/data/plates/ca-on.yml +881 -0
- data/data/plates/ca-pe.yml +592 -0
- data/data/plates/ca-qc.yml +1036 -0
- data/data/plates/ca-sk.yml +256 -0
- data/data/plates/ca-yt.yml +656 -0
- data/data/plates/ch.yml +1273 -0
- data/data/plates/cn.yml +1431 -0
- data/data/plates/cy.yml +688 -0
- data/data/plates/cz.yml +1179 -0
- data/data/plates/de.yml +553 -118
- data/data/plates/dk.yml +1647 -0
- data/data/plates/ee.yml +1275 -0
- data/data/plates/es.yml +228 -32
- data/data/plates/fi.yml +1271 -0
- data/data/plates/fr.yml +1265 -0
- data/data/plates/gb.yml +1188 -0
- data/data/plates/gr.yml +721 -0
- data/data/plates/hr.yml +860 -0
- data/data/plates/hu.yml +959 -0
- data/data/plates/ie.yml +775 -0
- data/data/plates/in.yml +1172 -0
- data/data/plates/is.yml +667 -0
- data/data/plates/it.yml +1317 -0
- data/data/plates/jp.yml +3650 -0
- data/data/plates/kr.yml +1375 -0
- data/data/plates/li.yml +1010 -0
- data/data/plates/lt.yml +879 -0
- data/data/plates/lu.yml +842 -0
- data/data/plates/lv.yml +924 -0
- data/data/plates/mc.yml +1024 -0
- data/data/plates/mt.yml +854 -0
- data/data/plates/mx.yml +1372 -0
- data/data/plates/my.yml +685 -0
- data/data/plates/nl.yml +44 -0
- data/data/plates/no.yml +1018 -0
- data/data/plates/nz.yml +1699 -0
- data/data/plates/pl.yml +1296 -0
- data/data/plates/pt.yml +847 -0
- data/data/plates/ro.yml +785 -0
- data/data/plates/se.yml +1091 -0
- data/data/plates/si.yml +1105 -0
- data/data/plates/sk.yml +1439 -0
- data/data/plates/sm.yml +1119 -0
- data/data/plates/th.yml +1150 -0
- data/data/plates/ua.yml +1672 -0
- data/data/plates/us-ak.yml +763 -0
- data/data/plates/us-al.yml +457 -0
- data/data/plates/us-ar.yml +427 -0
- data/data/plates/us-as.yml +454 -0
- data/data/plates/us-az.yml +430 -0
- data/data/plates/us-ca.yml +892 -0
- data/data/plates/us-co.yml +452 -0
- data/data/plates/us-ct.yml +427 -0
- data/data/plates/us-dc.yml +614 -0
- data/data/plates/us-de.yml +551 -0
- data/data/plates/us-fl.yml +319 -96
- data/data/plates/us-ga.yml +644 -0
- data/data/plates/us-gu.yml +658 -0
- data/data/plates/us-hi.yml +585 -0
- data/data/plates/us-ia.yml +438 -0
- data/data/plates/us-id.yml +531 -0
- data/data/plates/us-il.yml +516 -0
- data/data/plates/us-in.yml +324 -0
- data/data/plates/us-ks.yml +351 -0
- data/data/plates/us-ky.yml +770 -0
- data/data/plates/us-la.yml +568 -0
- data/data/plates/us-ma.yml +379 -0
- data/data/plates/us-md.yml +536 -0
- data/data/plates/us-me.yml +445 -0
- data/data/plates/us-mi.yml +408 -0
- data/data/plates/us-mn.yml +411 -0
- data/data/plates/us-mo.yml +356 -0
- data/data/plates/us-mp.yml +402 -0
- data/data/plates/us-ms.yml +432 -0
- data/data/plates/us-mt.yml +619 -0
- data/data/plates/us-nc.yml +602 -0
- data/data/plates/us-nd.yml +419 -0
- data/data/plates/us-ne.yml +483 -0
- data/data/plates/us-nh.yml +394 -0
- data/data/plates/us-nj.yml +547 -0
- data/data/plates/us-nm.yml +574 -0
- data/data/plates/us-nv.yml +655 -0
- data/data/plates/us-ny.yml +592 -0
- data/data/plates/us-oh.yml +404 -0
- data/data/plates/us-ok.yml +513 -0
- data/data/plates/us-or.yml +392 -0
- data/data/plates/us-pa.yml +506 -0
- data/data/plates/us-pr.yml +507 -0
- data/data/plates/us-ri.yml +445 -0
- data/data/plates/us-sc.yml +605 -0
- data/data/plates/us-sd.yml +428 -0
- data/data/plates/us-tn.yml +471 -0
- data/data/plates/us-tx.yml +535 -0
- data/data/plates/us-ut.yml +384 -0
- data/data/plates/us-va.yml +567 -0
- data/data/plates/us-vi.yml +489 -0
- data/data/plates/us-vt.yml +458 -0
- data/data/plates/us-wa.yml +484 -0
- data/data/plates/us-wi.yml +509 -0
- data/data/plates/us-wv.yml +446 -0
- data/data/plates/us-wy.yml +523 -0
- data/data/plates/va.yml +604 -0
- data/data/plates/za.yml +1141 -0
- data/data/vehicles.json +160653 -105090
- data/lib/vehicles/configuration.rb +17 -3
- data/lib/vehicles/dataset.rb +73 -18
- data/lib/vehicles/fuzzy.rb +115 -0
- data/lib/vehicles/http.rb +48 -0
- data/lib/vehicles/make.rb +36 -6
- data/lib/vehicles/mcp_server.rb +5 -5
- data/lib/vehicles/model.rb +21 -2
- data/lib/vehicles/plates/series.rb +172 -18
- data/lib/vehicles/plates/template_fill.rb +188 -0
- data/lib/vehicles/plates/templates.rb +162 -0
- data/lib/vehicles/plates.rb +12 -0
- data/lib/vehicles/providers/hosted_provider.rb +28 -55
- data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
- data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +32 -16
- data/rakelib/data_refresh.rake +109 -0
- data/rakelib/plates_refresh.rake +29 -0
- data/sig/vehicles.rbs +18 -0
- metadata +164 -2
data/data/plates/de.yml
CHANGED
|
@@ -40,16 +40,45 @@
|
|
|
40
40
|
# enforces with a negative lookahead (the only illegal combination the
|
|
41
41
|
# quantifiers alone would admit is 3 letters + 2 letters + 4 digits = 9).
|
|
42
42
|
#
|
|
43
|
-
# 3. PERIOD CLAIMS ARE
|
|
44
|
-
#
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
#
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
43
|
+
# 3. PERIOD CLAIMS ARE DATED FROM THE CREATING INSTRUMENTS (L1 redate pass,
|
|
44
|
+
# 2026-08-02). The L0 file carried FZV-2023 consolidation dates as series
|
|
45
|
+
# starts and said so; this pass replaced them with the actual era
|
|
46
|
+
# boundaries, each pinned to its Bundesgesetzblatt instrument (official
|
|
47
|
+
# scans via offenegesetze.de, all fetched 2026-08-02):
|
|
48
|
+
# * 1956 — Verordnung zur Änderung von Vorschriften des
|
|
49
|
+
# Straßenverkehrsrechts vom 14. März 1956 (BGBl. I S. 199; issue Nr. 15,
|
|
50
|
+
# ausgegeben 9.4.1956): creates the Unterscheidungszeichen +
|
|
51
|
+
# Erkennungsnummer system (§ 23 Abs. 2 StVZO), black-on-white AND the
|
|
52
|
+
# green tax-exempt colour (§ 60 Abs. 1), the Anlage IV official/
|
|
53
|
+
# diplomatic/military codes, and — Anlage II — the SAME five serial
|
|
54
|
+
# shapes FZV 2023 Anlage 1 still prints. In force 1.7.1956 for newly
|
|
55
|
+
# plated vehicles; old-system plates until 1.7.1958.
|
|
56
|
+
# * 1995 — 21. ÄndVstVR vom 6. Januar 1995 (BGBl. I S. 8): inserts § 60
|
|
57
|
+
# Abs. 1b StVZO ("Einführung des Euro-Kennzeichens", auf Antrag) +
|
|
58
|
+
# Anlage Va. In force 15.1.1995.
|
|
59
|
+
# * 1996/97 — 23. ÄndVstVR vom 12. November 1996 (BGBl. I S. 1738):
|
|
60
|
+
# Saisonkennzeichen (§ 23 Abs. 1b + Anlage Vb), in force 1.3.1997.
|
|
61
|
+
# * 1997 — 25. ÄndVstVR vom 22. Juli 1997 (BGBl. I S. 1889):
|
|
62
|
+
# Oldtimerkennzeichen with the H (§ 21c, § 23 Abs. 1c, Anlage Vc),
|
|
63
|
+
# in force 29.7.1997 (day after Verkündung 28.7.1997).
|
|
64
|
+
# * 1998 — 27. ÄndVstVR vom 9. März 1998 (BGBl. I S. 441):
|
|
65
|
+
# Kurzzeitkennzeichen (§ 28 StVZO + Anlage Vd), Art. 1 in force
|
|
66
|
+
# 14.3.1998 (day after Verkündung 13.3.1998), remainder 1.5.1998.
|
|
67
|
+
# * 2000 — 32. ÄndVstVR vom 20. Juli 2000 (BGBl. I S. 1090): Euro plate
|
|
68
|
+
# mandatory for plates newly fitted from 1.11.2000; pre-existing
|
|
69
|
+
# plates "gelten weiter"; § 60 Abs. 1b repealed.
|
|
70
|
+
# * 2006/07 — FZV vom 25. April 2006 (BGBl. I S. 988, Art. 1 of the
|
|
71
|
+
# Neuordnungs-VO), in force 1.3.2007: first FZV codification; the
|
|
72
|
+
# "03"/"04", "06", "07" numbering rules and the export digits-then-
|
|
73
|
+
# letter rule verbatim — the honest UPPER BOUND where no creating
|
|
74
|
+
# instrument was secured (dealer-red, oldtimer-red, export).
|
|
75
|
+
# * 2015 — EmoG vom 5. Juni 2015 (BGBl. I S. 898) + 50. ÄndVstVR vom
|
|
76
|
+
# 15. September 2015 (BGBl. I S. 1573, § 9a FZV 2011), in force
|
|
77
|
+
# 26.9.2015: the E-Kennzeichen. The one L0 date that was already true.
|
|
78
|
+
# Where only a consolidation evidences a rule, the series says so with
|
|
79
|
+
# `period_evidence: instrument-in-force-upper-bound` and a gap note at the
|
|
80
|
+
# point of use; folklore years are flagged, never asserted, and conflicts
|
|
81
|
+
# between an instrument and a secondary are RECORDED, not averaged.
|
|
53
82
|
#
|
|
54
83
|
# REGEX POLICY: as in plates/nl.yml, `format.regex` is the lint-round-trippable
|
|
55
84
|
# regex and `format.regex_strict` (proposed schema addition) carries the
|
|
@@ -72,6 +101,156 @@ instrument:
|
|
|
72
101
|
replaces: "FZV 2011 (V 9232-14 v. 3.2.2011 I 139)"
|
|
73
102
|
source: "https://www.gesetze-im-internet.de/fzv_2023/FZV.pdf # front matter: Ausfertigungsdatum, Vollzitat, Stand, 'Ersetzt V 9232-14 v. 3.2.2011 I 139 (FZV 2011)', 'Textnachweis ab: 1.9.2023'"
|
|
74
103
|
|
|
104
|
+
# ---------------------------------------------------------------------------
|
|
105
|
+
# The era instruments (L1 redate pass, 2026-08-02) — each cited ONCE here with
|
|
106
|
+
# its verbatim key passage; per-series sources point at the same URLs. All
|
|
107
|
+
# URLs are the official Bundesgesetzblatt scans republished at
|
|
108
|
+
# media.offenegesetze.de (stable, unpaywalled); the citation of record is the
|
|
109
|
+
# BGBl page. All fetched and read 2026-08-02.
|
|
110
|
+
# ---------------------------------------------------------------------------
|
|
111
|
+
era_instruments:
|
|
112
|
+
v1956:
|
|
113
|
+
citation: "Verordnung zur Änderung von Vorschriften des Straßenverkehrsrechts vom 14. März 1956, BGBl. 1956 I S. 199 (Nr. 15, ausgegeben zu Bonn am 9. April 1956)"
|
|
114
|
+
url: "https://media.offenegesetze.de/bgbl1/1956/bgbl1_1956_15.pdf # fetched 2026-08-02"
|
|
115
|
+
creates: >-
|
|
116
|
+
The district-prefix system. § 23 Abs. 2 StVZO (new version), verbatim:
|
|
117
|
+
"Das von der Zulassungsstelle zuzuteilende Kennzeichen enthält das
|
|
118
|
+
Unterscheidungszeichen für den Verwaltungsbezirk und die
|
|
119
|
+
Erkennungsnummer, unter der das Fahrzeug bei der Zulassungsstelle
|
|
120
|
+
eingetragen ist. Das Unterscheidungszeichen für den Verwaltungsbezirk
|
|
121
|
+
besteht aus einem bis drei Buchstaben nach dem Plan in Anlage I. Die
|
|
122
|
+
Erkennungsnummer besteht aus Buchstaben und Zahlen." § 60 Abs. 1 (new
|
|
123
|
+
version), verbatim: "Unterscheidungszeichen und Erkennungsnummern (§ 23
|
|
124
|
+
Abs. 2) sind in schwarzer Schrift auf weißem Grund anzugeben. Bei
|
|
125
|
+
Fahrzeugen, deren Halten von der Kraftfahrzeugsteuer befreit ist, ist
|
|
126
|
+
die Beschriftung grün auf weißem Grund ... Form, Größe und Ausgestaltung
|
|
127
|
+
von Kennzeichen müssen den Mustern und Angaben in Anlage V entsprechen."
|
|
128
|
+
grammar_continuity: >-
|
|
129
|
+
Anlage II (1956), "Reihenfolge für die Ausgabe der ... Fahrzeugerkennungs-
|
|
130
|
+
nummern": Gruppe I a) "A 1 - A 999 bis Z 1 - Z 999", b) "AA 1 - AA 99 bis
|
|
131
|
+
ZZ 1 - ZZ 99"; Gruppe II "AA 100 - AA 999 bis ZZ 100 - ZZ 999"; Gruppe
|
|
132
|
+
III a) "A 1000 - A 9999 bis Z 1000 - Z 9999", b) "AA 1000 - AA 9999 bis
|
|
133
|
+
ZZ 1000 - ZZ 9999" — the SAME five shapes as FZV 2023 Anlage 1, with
|
|
134
|
+
every block starting at 1, 100 or 1000 (no leading zeros), 70 years
|
|
135
|
+
earlier. The 1956 alphabet was narrower (20 letters; per the main
|
|
136
|
+
Wikipedia locator J replaced I from 7.11.1956, B/F/G added 12.8.1992,
|
|
137
|
+
I/O/Q added 26.5.2000 — SECONDARY, recorded not asserted).
|
|
138
|
+
commencement: >-
|
|
139
|
+
§ 72a StVZO (inserted), verbatim: "§ 60 Abs. 1 und 4 sowie die Anlagen I
|
|
140
|
+
bis V | am 1. Juli 1956 für Fahrzeuge, denen die Zulassungsstelle ein
|
|
141
|
+
Kennzeichen neuen Rechts zuteilt, | am 1. Juli 1958 für die übrigen
|
|
142
|
+
kennzeichenpflichtigen Fahrzeuge" (same staging for § 23 Abs. 2). So the
|
|
143
|
+
system starts 1.7.1956 and the pre-1956 occupation-era plates end by
|
|
144
|
+
1.7.1958.
|
|
145
|
+
v1995_euro:
|
|
146
|
+
citation: "Einundzwanzigste Verordnung zur Änderung straßenverkehrsrechtlicher Vorschriften (21. ÄndVstVR) vom 6. Januar 1995, BGBl. 1995 I S. 8 (Nr. 1, ausgegeben zu Bonn am 12. Januar 1995)"
|
|
147
|
+
url: "https://media.offenegesetze.de/bgbl1/1995/bgbl1_1995_1.pdf # fetched 2026-08-02"
|
|
148
|
+
creates: >-
|
|
149
|
+
The Euro-Kennzeichen. Inserts § 60 Abs. 1b StVZO, verbatim: "(1b)
|
|
150
|
+
Abweichend von Absatz 1 Satz 5 Halbsatz 1 und Absatz 1a Satz 1 dürfen
|
|
151
|
+
auf Antrag Kennzeichen zugeteilt werden, die mit einem blauen Euro-Feld
|
|
152
|
+
und mit einer Beschriftung nach Anlage Va versehen sind. Die Kennzeichen
|
|
153
|
+
müssen reflektierend sein und nach Maßgabe der Anlage Va dem Normblatt
|
|
154
|
+
DIN 74 069, Ausgabe Mai 1989, entsprechen sowie auf der Vorderseite das
|
|
155
|
+
DIN-Prüf- und Überwachungszeichen mit der zugehörigen Registernummer
|
|
156
|
+
tragen." Inserts Anlage Va, "Muster und Maße der Euro-Kennzeichen"
|
|
157
|
+
(published in an Anlageband to BGBl 1995 I Nr. 1 — the Anlageband
|
|
158
|
+
itself, which carries the Schriftmuster, was NOT fetched: recorded gap).
|
|
159
|
+
Closing formula, verbatim: "Diese Verordnung tritt am 15. Januar 1995
|
|
160
|
+
in Kraft." AUF ANTRAG — the Euro plate is optional from 15.1.1995 and
|
|
161
|
+
only becomes mandatory for newly fitted plates on 1.11.2000 (v2000).
|
|
162
|
+
v2000_mandate:
|
|
163
|
+
citation: "Zweiunddreißigste Verordnung zur Änderung straßenverkehrsrechtlicher Vorschriften (32. ÄndVStVR) vom 20. Juli 2000, BGBl. 2000 I S. 1090 (Nr. 34)"
|
|
164
|
+
url: "https://media.offenegesetze.de/bgbl1/2000/bgbl1_2000_34.pdf # fetched 2026-08-02"
|
|
165
|
+
creates: >-
|
|
166
|
+
The Euro-plate mandate and the DIN-era issuance cutoff. New transitional
|
|
167
|
+
provision in § 72 Abs. 2 StVZO, verbatim: "§ 60 Abs. 1 Satz 5 erster
|
|
168
|
+
Halbsatz (Form, Größe und Ausgestaltung einschließlich Beschriftung der
|
|
169
|
+
Euro-Kennzeichen) ist spätestens ab dem 1. November 2000 auf
|
|
170
|
+
Kraftfahrzeuge und Anhänger anzuwenden, die von diesem Tag ab erstmals
|
|
171
|
+
in den Verkehr kommen oder aus anderem Anlass mit einem neuen
|
|
172
|
+
Kennzeichen ausgerüstet werden. Kennzeichen, die vor dem 1. November
|
|
173
|
+
2000 zugeteilt worden sind und in Form, Größe und Ausgestaltung § 60
|
|
174
|
+
Abs. 1 Satz 5 erster Halbsatz und Anlage V in der vor diesem Termin
|
|
175
|
+
geltenden Fassung entsprechen, gelten weiter." And: "Die
|
|
176
|
+
Übergangsvorschrift '§ 60 Abs. 1b (Einführung des Euro-Kennzeichens)'
|
|
177
|
+
wird aufgehoben." Also repeals the Deutsche-Bundespost successor-company
|
|
178
|
+
registration transitional — the tail end of the 1956 Anlage IV's BP/DB
|
|
179
|
+
world.
|
|
180
|
+
v1996_saison:
|
|
181
|
+
citation: "Dreiundzwanzigste Verordnung zur Änderung straßenverkehrsrechtlicher Vorschriften (23. ÄndVstVR) vom 12. November 1996, BGBl. 1996 I S. 1738 (Nr. 60, ausgegeben zu Bonn am 21. November 1996)"
|
|
182
|
+
url: "https://media.offenegesetze.de/bgbl1/1996/bgbl1_1996_60.pdf # fetched 2026-08-02"
|
|
183
|
+
creates: >-
|
|
184
|
+
The Saisonkennzeichen. Art. 1 Nr. 2 Buchstabe a inserts § 23 Abs. 1b
|
|
185
|
+
StVZO, verbatim: "(1b) Auf Antrag wird für ein Fahrzeug ein auf einen
|
|
186
|
+
nach vollen Monaten bemessenen Zeitraum (Zulassungszeitraum) befristetes
|
|
187
|
+
amtliches Kennzeichen nach Anlage Vb zugeteilt, das jedes Jahr in diesem
|
|
188
|
+
Zeitraum auch wiederholt verwendet werden darf (Saisonkennzeichen). Das
|
|
189
|
+
Fahrzeug darf auf öffentlichen Straßen nur während des auf diesem
|
|
190
|
+
Kennzeichen angegebenen Zeitraums in Betrieb gesetzt oder abgestellt
|
|
191
|
+
werden." Plus Anlage Vb "Muster und Maße der Saisonkennzeichen".
|
|
192
|
+
Art. 4, verbatim: "Artikel 1 Nr. 1, 2 Buchstabe a, Nr. 3, 6, 7
|
|
193
|
+
Buchstabe d, Nr. 9, 13 Buchstabe b Doppelbuchstabe bb, Nr. 14 Buchstabe
|
|
194
|
+
b Doppelbuchstabe bb, Nr. 15, 17 Buchstabe b, Artikel 2 und 3 treten am
|
|
195
|
+
1. März 1997 in Kraft" — the Saison provisions are in that list, so
|
|
196
|
+
issuance begins 1.3.1997.
|
|
197
|
+
v1997_oldtimer:
|
|
198
|
+
citation: "Fünfundzwanzigste Verordnung zur Änderung straßenverkehrsrechtlicher Vorschriften (25. ÄndVstVR) vom 22. Juli 1997, BGBl. 1997 I S. 1889 (Nr. 52, ausgegeben zu Bonn am 28. Juli 1997)"
|
|
199
|
+
url: "https://media.offenegesetze.de/bgbl1/1997/bgbl1_1997_52.pdf # fetched 2026-08-02"
|
|
200
|
+
creates: >-
|
|
201
|
+
The Oldtimerkennzeichen (H). Inserts § 21c StVZO (Betriebserlaubnis als
|
|
202
|
+
Oldtimer) and § 23 Abs. 1c StVZO ("... zugeteilt (Oldtimerkennzeichen)",
|
|
203
|
+
per Anlage Vc). Anlage Vc "Muster und Maße der Oldtimerkennzeichen",
|
|
204
|
+
verbatim: "Der Kennbuchstabe 'H' nach der Zahl in der Erkennungsnummer
|
|
205
|
+
gibt an, daß für das Fahrzeug eine Betriebserlaubnis als Oldtimer gemäß
|
|
206
|
+
§ 21c erteilt worden ist." and "Mehr als sieben Stellen (Buchstaben und
|
|
207
|
+
Ziffern ohne Kennbuchstabe 'H') auf einem Kennzeichen ..." — the
|
|
208
|
+
seven-position cap is 1997-original. Art. 3, verbatim: "Diese Verordnung
|
|
209
|
+
tritt am Tage nach der Verkündung in Kraft." — i.e. 29 July 1997.
|
|
210
|
+
Also (Nr. 8) inserts "der Bundesanstalt Technisches Hilfswerk," into the
|
|
211
|
+
Anlage IV heading — THW joins the official-plate table in 1997.
|
|
212
|
+
v1998_kurzzeit:
|
|
213
|
+
citation: "Siebenundzwanzigste Verordnung zur Änderung straßenverkehrsrechtlicher Vorschriften (27. ÄndVstVR) vom 9. März 1998, BGBl. 1998 I S. 441 (Nr. 14, ausgegeben zu Bonn am 13. März 1998)"
|
|
214
|
+
url: "https://media.offenegesetze.de/bgbl1/1998/bgbl1_1998_14.pdf # fetched 2026-08-02"
|
|
215
|
+
creates: >-
|
|
216
|
+
The Kurzzeitkennzeichen. Art. 1 amends § 28 StVZO ("Kurzzeitkennzeichen
|
|
217
|
+
zuzuteilen und besondere Fahrzeugscheine nach Muster 4, auch ohne
|
|
218
|
+
vorherige Bezeichnung des Fahrzeugs ..."; "(5) Kurzzeitkennzeichen sind
|
|
219
|
+
in schwarzer [Schrift] ... herzustellen") and adds Anlage Vd "Muster und
|
|
220
|
+
Maße der Kurzzeitkennzeichen". Art. 5, verbatim: "Die Artikel 1 und 3
|
|
221
|
+
Nr. 2b und 2g sowie Artikel 4 treten am Tage nach der Verkündung in
|
|
222
|
+
Kraft. Im übrigen tritt die Verordnung am 1. Mai 1998 in Kraft." — the
|
|
223
|
+
creating StVZO provisions are in force 14.3.1998. Art. 4 amends § 7
|
|
224
|
+
Abs. 2 Nr. 5 IntKfzV (export plates): the Dienstsiegel becomes "mit
|
|
225
|
+
einem Durchmesser von 35 mm" beside the existing "(RAL 2002)" — proof
|
|
226
|
+
the red-sealed export regime predates the FZV.
|
|
227
|
+
v2006_fzv:
|
|
228
|
+
citation: "Verordnung zur Neuordnung des Rechts der Zulassung von Fahrzeugen zum Straßenverkehr und zur Änderung straßenverkehrsrechtlicher Vorschriften vom 25. April 2006, BGBl. 2006 I S. 988 (Nr. 21, ausgegeben zu Bonn am 29. April 2006) — Art. 1 = FZV 2006"
|
|
229
|
+
url: "https://media.offenegesetze.de/bgbl1/2006/bgbl1_2006_21.pdf # fetched 2026-08-02"
|
|
230
|
+
creates: >-
|
|
231
|
+
The first FZV. Art. 12 Abs. 2, verbatim: "Im Übrigen tritt diese
|
|
232
|
+
Verordnung am 1. März 2007 in Kraft." Verbatim rules used as UPPER
|
|
233
|
+
BOUNDS in this file: Kurzzeitkennzeichen "besteht die Erkennungsnummer
|
|
234
|
+
nur aus Ziffern und beginnt mit '03' oder '04'. Das Kurzzeitkennzeichen
|
|
235
|
+
enthält außerdem ein Ablaufdatum, das längstens auf fünf Tage ab der
|
|
236
|
+
Zuteilung zu bemessen [ist]"; rotes Kennzeichen "... nur aus Ziffern und
|
|
237
|
+
beginnt mit '06'"; rotes Oldtimerkennzeichen "... nur aus Ziffern und
|
|
238
|
+
beginnt mit '07'"; Ausfuhrkennzeichen "aus einer ein- bis vierstelligen
|
|
239
|
+
Zahl und einem nachfol[genden Buchstaben]". Anlage 3 already lists THW,
|
|
240
|
+
X ("Dienstfahrzeuge der auf Grund des Nordatlantikvertrages errichteten
|
|
241
|
+
internationalen militärischen Hauptquartiere ...") and the five new-Land
|
|
242
|
+
codes.
|
|
243
|
+
v2015_e:
|
|
244
|
+
citation: "Fünfzigste Verordnung zur Änderung straßenverkehrsrechtlicher Vorschriften (50. ÄndVstVR) vom 15. September 2015, BGBl. 2015 I S. 1573 (Nr. 36, ausgegeben zu Bonn am 25. September 2015)"
|
|
245
|
+
url: "https://media.offenegesetze.de/bgbl1/2015/bgbl1_2015_36.pdf # fetched 2026-08-02"
|
|
246
|
+
creates: >-
|
|
247
|
+
The E-Kennzeichen's issuing rule. Inserts § 9a FZV 2011 ("Kennzeichnung
|
|
248
|
+
elektrisch betriebener Fahrzeuge" — "den Kennbuchstaben 'E' im Anschluss
|
|
249
|
+
an die Er[kennungsnummer]") and Anlage 3a (the badge for foreign
|
|
250
|
+
electric vehicles, "zu § 9a Absatz 4"). "Diese Verordnung tritt am Tag
|
|
251
|
+
nach der Verkündung in Kraft." — i.e. 26 September 2015, the first day
|
|
252
|
+
an E plate could issue. § 9a FZV 2011 is today's § 11 FZV 2023.
|
|
253
|
+
|
|
75
254
|
# ---------------------------------------------------------------------------
|
|
76
255
|
# Jurisdiction-wide facts, cited once.
|
|
77
256
|
# ---------------------------------------------------------------------------
|
|
@@ -173,8 +352,9 @@ series:
|
|
|
173
352
|
- id: de-standard
|
|
174
353
|
class: standard
|
|
175
354
|
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
176
|
-
period: { start:
|
|
177
|
-
period_evidence: instrument
|
|
355
|
+
period: { start: 1995 } # 15.1.1995 — 21. ÄndVstVR in force (era_instruments.v1995_euro)
|
|
356
|
+
period_evidence: enabling-instrument
|
|
357
|
+
matching: strict
|
|
178
358
|
format:
|
|
179
359
|
pattern: "LL-LL 9999"
|
|
180
360
|
regex: '\A(?![A-Z]{3}-[A-Z]{2} ?\d{4}\z)[A-Z]{1,3}-[A-Z]{1,2} ?\d{1,4}\z'
|
|
@@ -215,10 +395,14 @@ series:
|
|
|
215
395
|
foreground: "#000000"
|
|
216
396
|
border: { color: "#000000", note: "Anlage 4 permits black, GREEN or RED borders depending on plate type" }
|
|
217
397
|
band: { side: left, color: "#003399", content: eu-stars+D, hex_basis: observed, note: "the FZV states the star-wreath ratio and cross-references Reg. 2411/98 for the 'D', but gives no RGB/RAL for the blue field" }
|
|
218
|
-
emblem: { present: true, rendered: placeholder, note: "the Stempelplakette carries the FARBIGES WAPPEN DES LANDES (§ 12 Abs. 3) — a coat of arms per Land. PRD-PLATES §3 placeholder rule
|
|
398
|
+
emblem: { present: true, rendered: placeholder, note: "the Stempelplakette carries the FARBIGES WAPPEN DES LANDES (§ 12 Abs. 3) — a coat of arms per Land. PRD-PLATES §3 placeholder rule applied at write time; SUPERSEDED 2026-08-03: ALL 16 Land arms are licence-cleared in plates/_art/de-<land>/ (PD family, extmetadata-verified, ledgered) — depiction consumers may render the coloured arms in the seal. The remaining gap is the district→Land mapping (the future de-districts table) for serial-driven resolution." }
|
|
219
399
|
seal: { name: Stempelplakette, diameter_mm: null, content: "coloured Land arms, Land name, registration authority name, unique Druckstücknummer, and a CONCEALED security code that can only be revealed irreversibly; self-destroying on removal", source_note: "§ 12 Abs. 3 FZV + Anlage 5" }
|
|
220
400
|
rear_differs: false
|
|
221
401
|
display: "front and rear on motor vehicles; rear only on trailers, motorcycles and class L5e vehicles; front only on single-axle tractors (§ 12 Abs. 5 FZV)"
|
|
402
|
+
spec_history:
|
|
403
|
+
- { from: 1995, to: 2000, basis: "§ 60 Abs. 1b StVZO (21. ÄndVstVR, in force 15.1.1995): Euro-Feld plates AUF ANTRAG — optional, parallel with DIN-era issuance; reflective per DIN 74069 Ausgabe Mai 1989 (updated to Ausgabe Juli 1996 by the 23. ÄndVstVR)" }
|
|
404
|
+
- { from: 2000, basis: "32. ÄndVStVR: Euro plate mandatory for vehicles first coming into traffic from 1.11.2000 and for ANY plate newly fitted from that day; pre-1.11.2000 plates 'gelten weiter'" }
|
|
405
|
+
- { from: 2023, basis: "FZV 2023 (BGBl. 2023 I Nr. 199): the consolidation this file's format and design claims cite; reflective per DIN 74069 Oct 2022" }
|
|
222
406
|
region_encoding: "plates/_decode/de-districts.yml"
|
|
223
407
|
region_encoding_mechanism: >-
|
|
224
408
|
The Unterscheidungszeichen is 1-3 letters identifying the Verwaltungsbezirk of
|
|
@@ -250,25 +434,121 @@ series:
|
|
|
250
434
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_1.html # Anlage 1: the five Erkennungsnummer shapes and the umlaut exclusion, verbatim"
|
|
251
435
|
- "https://www.gesetze-im-internet.de/fzv_2023/__12.html # § 12 Abs. 1: black on white, black-bordered; Abs. 2: reflective + DIN 74069; Abs. 5: front/rear rules"
|
|
252
436
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_4.html # Anlage 4 Abschnitt 1: dimensions, FE-Schrift, Euro-Feld, the eight-position cap; Abschnitt 2: the general plates"
|
|
437
|
+
- "https://media.offenegesetze.de/bgbl1/1995/bgbl1_1995_1.pdf # 21. ÄndVstVR vom 6.1.1995, BGBl. I S. 8 — § 60 Abs. 1b StVZO + Anlage Va 'Muster und Maße der Euro-Kennzeichen'; 'Diese Verordnung tritt am 15. Januar 1995 in Kraft.' PERIOD START. Fetched 2026-08-02"
|
|
438
|
+
- "https://media.offenegesetze.de/bgbl1/2000/bgbl1_2000_34.pdf # 32. ÄndVStVR vom 20.7.2000, BGBl. I S. 1090 — Euro plate mandatory for newly fitted plates from 1.11.2000; pre-existing plates 'gelten weiter'. Fetched 2026-08-02"
|
|
253
439
|
notes: >-
|
|
254
|
-
THE GERMAN STANDARD SERIES — the strongest region signal in
|
|
255
|
-
the
|
|
256
|
-
registration.
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
440
|
+
THE GERMAN STANDARD SERIES (Euro-Feld era) — the strongest region signal in
|
|
441
|
+
the pilot and the only pilot jurisdiction whose plate names its place of
|
|
442
|
+
registration. period.start 1995 is the CREATING instrument's own
|
|
443
|
+
commencement: the 21. ÄndVstVR of 6.1.1995 inserted § 60 Abs. 1b StVZO
|
|
444
|
+
("auf Antrag ... blauen Euro-Feld ... nach Anlage Va") and entered force
|
|
445
|
+
15.1.1995 (era_instruments.v1995_euro, quoted). Optional until 1.11.2000,
|
|
446
|
+
mandatory for newly fitted plates from that day (v2000_mandate, quoted) —
|
|
447
|
+
recorded in design.spec_history, not cut as a separate series, because
|
|
448
|
+
mark, serial grammar and colours did not change (the gb-standard-2001
|
|
449
|
+
BS-AU-145d/e precedent). FOLKLORE/SECONDARY, recorded not asserted: the
|
|
450
|
+
German Wikipedia locator and the enthusiast site kennzeichen-guide.de
|
|
451
|
+
report staged pre-instrument issuance — Berlin and Brandenburg from
|
|
452
|
+
January 1994, Sachsen from July 1994 — "auf Basis der abzusehenden
|
|
453
|
+
Bundesverordnung"; no instrument authorising 1994 issuance was located in
|
|
454
|
+
this pass, so 1994 is NOT this series' start and the conflict is recorded
|
|
455
|
+
here rather than averaged. The SERIAL GRAMMAR is far older than the
|
|
456
|
+
design: Anlage 1's five shapes are verbatim descendants of Anlage II of
|
|
457
|
+
the 1956 instrument (see de-standard-1956 and
|
|
458
|
+
era_instruments.v1956.grammar_continuity). No age is encoded on a German
|
|
459
|
+
plate at all — unlike the UK, a German plate string carries region but
|
|
262
460
|
never date.
|
|
263
461
|
|
|
462
|
+
# =========================================================================
|
|
463
|
+
# THE PRE-EURO STANDARD SERIES, 1956-2000 (DIN-Schrift era). Added by the
|
|
464
|
+
# L1 redate pass under the "current + one back" rule.
|
|
465
|
+
# =========================================================================
|
|
466
|
+
- id: de-standard-1956
|
|
467
|
+
class: standard
|
|
468
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
469
|
+
period: { start: 1956, end: 2000 } # 1.7.1956 (v1956 § 72a) — 31.10.2000
|
|
470
|
+
# (v2000_mandate: Euro mandatory for
|
|
471
|
+
# plates fitted from 1.11.2000)
|
|
472
|
+
period_evidence: instrument-dated-both-ends
|
|
473
|
+
matching: strict
|
|
474
|
+
format:
|
|
475
|
+
pattern: "LL-LL 9999"
|
|
476
|
+
regex: '\A(?![A-Z]{3}-[A-Z]{2} ?\d{4}\z)[A-Z]{1,3}-[A-Z]{1,2} ?\d{1,4}\z'
|
|
477
|
+
regex_strict: '\A(?![A-Z]{3}-[A-Z]{2} ?\d{4}\z)[A-Z]{1,3}-[A-Z]{1,2} ?(?:[1-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3})\z'
|
|
478
|
+
charset:
|
|
479
|
+
notes: >-
|
|
480
|
+
1956 grammar, Anlage II verbatim (era_instruments.v1956): the same
|
|
481
|
+
five blocks as today's Anlage 1, every block starting at 1, 100 or
|
|
482
|
+
1000 — no leading zeros, which regex_strict carries. CAVEAT: the
|
|
483
|
+
1956-era LETTER SET was narrower than A-Z (20 letters at launch; per
|
|
484
|
+
the Wikipedia locator J replaced I from 7.11.1956, B/F/G were added
|
|
485
|
+
12.8.1992 and I/O/Q on 26.5.2000 — secondary, recorded not
|
|
486
|
+
asserted), so regex_strict is deliberately NOT narrowed to a
|
|
487
|
+
period-specific alphabet no primary was secured for.
|
|
488
|
+
max_positions_note: >-
|
|
489
|
+
No "acht Stellen" rule exists in the 1956 text; total length was
|
|
490
|
+
governed by which Anlage II GRUPPEN a district was allocated (the
|
|
491
|
+
Anlage I plan marks each district Gruppe I/II/III), which kept
|
|
492
|
+
combinations within the plate. The negative lookahead is retained from
|
|
493
|
+
de-standard as the de-facto outer bound; it is a modelling choice
|
|
494
|
+
here, not a quoted 1956 rule.
|
|
495
|
+
separator_note: >-
|
|
496
|
+
As on the Euro series: the gap between Unterscheidungszeichen and
|
|
497
|
+
Erkennungsnummer held the Stempelplakette; the hyphen and space are
|
|
498
|
+
the conventional textual rendering.
|
|
499
|
+
design:
|
|
500
|
+
plate: { w: 520, h: 110, unit: mm, note: "Anlage V (1956), 'c) Andere Kraftfahrzeuge und Anhänger, einzeilig': the 520 x 110 einzeilig drawing is 1956-original — the dimension predates the Euro plate by four decades" }
|
|
501
|
+
background: { color: "#FFFFFF", finish: painted, hex_basis: spec, spec_note: "§ 60 Abs. 1 StVZO (1956), verbatim: 'Unterscheidungszeichen und Erkennungsnummern (§ 23 Abs. 2) sind in schwarzer Schrift auf weißem Grund anzugeben.' Reflective sheeting only became required for new plates on 29.9.1989 per the Wikipedia locator — SECONDARY, recorded not asserted (no instrument secured); hence finish: painted with this note rather than an unsourced reflectivity claim." }
|
|
502
|
+
foreground: "#000000"
|
|
503
|
+
border: { color: "#000000" }
|
|
504
|
+
band: { side: none }
|
|
505
|
+
band_note: "no Euro-Feld — that is the boundary with de-standard; late DIN-era plates (1995-2000) ran in parallel with optional Euro plates"
|
|
506
|
+
font:
|
|
507
|
+
name: "DIN 1451 Mittelschrift (attribution); statutory object = the Anlage V (1956) Schriftmuster drawings"
|
|
508
|
+
note: >-
|
|
509
|
+
The 1956 instrument prescribes plate lettering by DRAWING (Anlage V),
|
|
510
|
+
exactly as the FZV 2023 does for FE-Schrift. "DIN-Kennzeichen" and
|
|
511
|
+
the DIN 1451 attribution are the universal secondary name for the
|
|
512
|
+
era's lettering (and FZV 2023 still names DIN 1451-2:1986-02 for
|
|
513
|
+
Bundeswehr plates); the 1956 gazette scan's drawings were not
|
|
514
|
+
measured in this pass, so the FONT NAME is recorded as attribution,
|
|
515
|
+
not as a quoted statutory name.
|
|
516
|
+
region_encoding: "plates/_decode/de-districts.yml"
|
|
517
|
+
region_encoding_mechanism: >-
|
|
518
|
+
§ 23 Abs. 2 StVZO (1956), verbatim: the Kennzeichen contains "das
|
|
519
|
+
Unterscheidungszeichen für den Verwaltungsbezirk", "aus einem bis drei
|
|
520
|
+
Buchstaben nach dem Plan in Anlage I" — the district list was IN the
|
|
521
|
+
StVZO in 1956 (Anlage I, ~600 codes printed in BGBl. 1956 I Nr. 15) and
|
|
522
|
+
only later delegated to Bundesanzeiger publication (§ 9 Abs. 3 FZV
|
|
523
|
+
today). Decode rows for withdrawn 1956-era codes need period discipline;
|
|
524
|
+
the code list grew again in 1990/91 when the new Länder joined the
|
|
525
|
+
system.
|
|
526
|
+
sources:
|
|
527
|
+
- "https://media.offenegesetze.de/bgbl1/1956/bgbl1_1956_15.pdf # Verordnung zur Änderung von Vorschriften des Straßenverkehrsrechts vom 14.3.1956, BGBl. I S. 199 — § 23 Abs. 2 (district prefix + Erkennungsnummer, Anlage I plan), § 60 Abs. 1 (black on white), Anlage II (the five serial blocks), Anlage V (plate drawings, 520x110 einzeilig), § 72a (in force 1.7.1956 for newly plated vehicles; old plates until 1.7.1958). PERIOD START, verbatim quotes in era_instruments.v1956. Fetched 2026-08-02"
|
|
528
|
+
- "https://media.offenegesetze.de/bgbl1/2000/bgbl1_2000_34.pdf # 32. ÄndVStVR vom 20.7.2000, BGBl. I S. 1090 — PERIOD END: Euro form mandatory for plates newly fitted from 1.11.2000, so DIN-era issuance ends 31.10.2000; 'Kennzeichen, die vor dem 1. November 2000 zugeteilt worden sind ... gelten weiter' — ended-but-on-the-road, stated in the instrument itself. Fetched 2026-08-02"
|
|
529
|
+
notes: >-
|
|
530
|
+
THE DIN-SCHRIFT ERA, 1.7.1956 - 31.10.2000: black-on-white, no Euro
|
|
531
|
+
band, district prefix + Anlage II serial — the system the Euro series
|
|
532
|
+
inherited its grammar from, one series back per the L1 rule.
|
|
533
|
+
period.end 2000 is an ISSUANCE end with statutory grandfathering: plates
|
|
534
|
+
assigned before 1.11.2000 "gelten weiter" (v2000_mandate, verbatim), so
|
|
535
|
+
DIN plates remain lawful on continuously registered vehicles today —
|
|
536
|
+
the parallel-validity note the overlap rule requires. Overlaps
|
|
537
|
+
de-standard 1995-2000 because the Euro plate was optional ("auf Antrag")
|
|
538
|
+
in that window and both forms issued side by side. The pre-1956
|
|
539
|
+
occupation-era systems (white-on-black, 1948 four-zone codes) are
|
|
540
|
+
OUT OF SCOPE for L1 (historical depth is L4); the 1956 instrument's own
|
|
541
|
+
transitional gives them until 1.7.1958.
|
|
542
|
+
|
|
264
543
|
# =========================================================================
|
|
265
544
|
# HISTORIC — H suffix.
|
|
266
545
|
# =========================================================================
|
|
267
546
|
- id: de-historic-h
|
|
268
547
|
class: historic
|
|
269
548
|
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
270
|
-
period: { start:
|
|
271
|
-
period_evidence: instrument
|
|
549
|
+
period: { start: 1997 } # 29.7.1997 — 25. ÄndVstVR in force (era_instruments.v1997_oldtimer)
|
|
550
|
+
period_evidence: enabling-instrument
|
|
551
|
+
matching: strict
|
|
272
552
|
format:
|
|
273
553
|
pattern: "LL-LL 999H"
|
|
274
554
|
regex: '\A[A-Z]{1,3}-[A-Z]{1,2} ?\d{1,4}H\z'
|
|
@@ -292,15 +572,29 @@ series:
|
|
|
292
572
|
sources:
|
|
293
573
|
- "https://www.gesetze-im-internet.de/fzv_2023/__10.html # § 10 Abs. 1: on application, a vehicle with a § 23 StVZO Gutachten is ASSIGNED an Oldtimerkennzeichen; it consists of Unterscheidungszeichen + Erkennungsnummer per § 9 Abs. 1 plus 'den Kennbuchstaben \"H\" als amtlichen Zusatz hinter der Erkennungsnummer'"
|
|
294
574
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_4.html # Anlage 4 Abschnitt 4: the H suffix's typographic rule and the seven/five/four-position caps"
|
|
575
|
+
- "https://media.offenegesetze.de/bgbl1/1997/bgbl1_1997_52.pdf # 25. ÄndVstVR vom 22.7.1997, BGBl. I S. 1889 — inserts § 21c StVZO (Betriebserlaubnis als Oldtimer), § 23 Abs. 1c ('Oldtimerkennzeichen') and Anlage Vc with the 'H' rule and the seven-position cap, verbatim in era_instruments.v1997_oldtimer; in force 29.7.1997. PERIOD START. Fetched 2026-08-02"
|
|
295
576
|
notes: >-
|
|
296
|
-
H-KENNZEICHEN
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
577
|
+
H-KENNZEICHEN, created 1997: the 25. ÄndVstVR of 22.7.1997 inserted § 21c
|
|
578
|
+
and § 23 Abs. 1c StVZO plus Anlage Vc, in force 29.7.1997 — and the
|
|
579
|
+
seven-position cap this series still carries is 1997-original ("Mehr als
|
|
580
|
+
sieben Stellen ... ohne Kennbuchstabe 'H'", Anlage Vc verbatim). CONFLICT
|
|
581
|
+
RECORDED, NOT AVERAGED: the widely repeated claim that the first
|
|
582
|
+
H-Kennzeichen was assigned on 1 JULY 1997 (Wikipedia, attributing a KBA
|
|
583
|
+
Pressebericht 2001 figure of 57,960 Oldtimerkennzeichen; the KBA PDF was
|
|
584
|
+
not fetched in this pass) predates the creating instrument's entry into
|
|
585
|
+
force by four weeks; either the KBA date is loose or issuance rested on
|
|
586
|
+
something not located here. Until the KBA primary is fetched and read,
|
|
587
|
+
1997 stands on the instrument and the 1-July story is flagged. Note
|
|
588
|
+
§ 10 Abs. 1 FZV's discretion, which a claims model should record: the
|
|
589
|
+
authority "kann im Einzelfall" count off-road periods towards the minimum
|
|
590
|
+
age in § 2 Satz 1 Nr. 22 FZV. The 30-year threshold itself lives in that
|
|
591
|
+
definition and in § 23 StVZO, neither of which was fetched — the
|
|
592
|
+
threshold remains a recorded gap and the widely-repeated "30 years" is
|
|
593
|
+
NOT asserted here as sourced. H-Saisonkennzeichen exist since 1.10.2017
|
|
594
|
+
(BGBl. 2017 I S. 522, 553 per the Wikipedia locator — instrument not
|
|
595
|
+
fetched, recorded as locator only). An H plate may also be a
|
|
596
|
+
Saisonkennzeichen (Anlage 4 Abschnitt 4 Nr. 4 last sentence) or a
|
|
597
|
+
Wechselkennzeichen.
|
|
304
598
|
|
|
305
599
|
# =========================================================================
|
|
306
600
|
# ELECTRIC — E suffix. The one German series with a properly dated start.
|
|
@@ -310,6 +604,7 @@ series:
|
|
|
310
604
|
categories: [car, van, truck, bus, motorcycle]
|
|
311
605
|
period: { start: 2015 }
|
|
312
606
|
period_evidence: enabling-statute
|
|
607
|
+
matching: strict
|
|
313
608
|
format:
|
|
314
609
|
pattern: "LL-LL 999E"
|
|
315
610
|
regex: '\A[A-Z]{1,3}-[A-Z]{1,2} ?\d{1,4}E\z'
|
|
@@ -339,15 +634,20 @@ series:
|
|
|
339
634
|
- "https://www.gesetze-im-internet.de/emog/EmoG.pdf # Elektromobilitätsgesetz, Ausfertigungsdatum 05.06.2015 (BGBl. I S. 898) — the enabling statute § 11 FZV keys off; note § 8 Abs. 2: the Act EXPIRES at the end of 31.12.2026"
|
|
340
635
|
- "https://www.gesetze-im-internet.de/fzv_2023/__11.html # § 11 Abs. 1-2: an E-Kennzeichen is the § 9 Abs. 1 plate (optionally also a green or seasonal one) with 'den Kennbuchstaben \"E\" als amtlichen Zusatz hinter der Erkennungsnummer'; Abs. 4: the Anlage 3 badge route for foreign vehicles; Abs. 5: foreign E-markings are recognised as equivalent"
|
|
341
636
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_4.html # Anlage 4 Abschnitt 5a: E-Kennzeichen executed per Abschnitt 4, plus the Saison variants and position caps"
|
|
637
|
+
- "https://media.offenegesetze.de/bgbl1/2015/bgbl1_2015_36.pdf # 50. ÄndVstVR vom 15.9.2015, BGBl. I S. 1573 — inserts § 9a FZV 2011 ('den Kennbuchstaben \"E\" im Anschluss an die Erkennungsnummer') and Anlage 3a; 'tritt am Tag nach der Verkündung in Kraft' = 26.9.2015, the first day an E plate could issue. Fetched 2026-08-02"
|
|
342
638
|
notes: >-
|
|
343
|
-
E-KENNZEICHEN. period.start 2015
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
639
|
+
E-KENNZEICHEN. period.start 2015 SURVIVED the L1 redate pass — the one L0
|
|
640
|
+
period that was already true: the Elektromobilitätsgesetz of 5 June 2015
|
|
641
|
+
created the eligibility, and the 50. ÄndVstVR of 15.9.2015 (BGBl. I
|
|
642
|
+
S. 1573, era_instruments.v2015_e) inserted the issuing rule § 9a FZV 2011
|
|
643
|
+
(today's § 11 FZV 2023), in force 26 September 2015 — so 2015 is both the
|
|
644
|
+
enabling-statute year and the first-issuance year, now pinned at both
|
|
645
|
+
ends. TIME BOMB WORTH RECORDING: EmoG § 8 Abs. 2 provides that the Act
|
|
646
|
+
ceases to be in force at the end of 31 December 2026 — inside the current
|
|
647
|
+
audit horizon. Unless it is extended, this series' `period.end` becomes
|
|
648
|
+
2026 and the quarterly audit should re-check it. Also note § 79 Abs. 9
|
|
649
|
+
FZV carries a non-application footnote against § 11 which was not
|
|
650
|
+
resolved in this pass (recorded gap).
|
|
351
651
|
|
|
352
652
|
# =========================================================================
|
|
353
653
|
# SEASONAL.
|
|
@@ -355,8 +655,9 @@ series:
|
|
|
355
655
|
- id: de-seasonal
|
|
356
656
|
class: seasonal
|
|
357
657
|
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
358
|
-
period: { start:
|
|
359
|
-
period_evidence: instrument
|
|
658
|
+
period: { start: 1997 } # 1.3.1997 — 23. ÄndVstVR Art. 4 (era_instruments.v1996_saison)
|
|
659
|
+
period_evidence: enabling-instrument
|
|
660
|
+
matching: strict
|
|
360
661
|
format:
|
|
361
662
|
pattern: "LL-LL 999"
|
|
362
663
|
regex: '\A[A-Z]{1,3}-[A-Z]{1,2} ?\d{1,4}\z'
|
|
@@ -389,13 +690,23 @@ series:
|
|
|
389
690
|
sources:
|
|
390
691
|
- "https://www.gesetze-im-internet.de/fzv_2023/__10.html # § 10 Abs. 3: Saisonkennzeichen on application; Betriebszeitraum as an amtlicher Zusatz behind the Erkennungsnummer; full months, 2-11 months; green plates may also be seasonal; the operate-and-park prohibition"
|
|
391
692
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_4.html # Anlage 4 Abschnitt 5: the four seasonal plate forms and the month-field rule"
|
|
693
|
+
- "https://media.offenegesetze.de/bgbl1/1996/bgbl1_1996_60.pdf # 23. ÄndVstVR vom 12.11.1996, BGBl. I S. 1738 — Art. 1 Nr. 2a inserts § 23 Abs. 1b StVZO (the Saisonkennzeichen, verbatim in era_instruments.v1996_saison) + Anlage Vb; Art. 4 puts the Saison provisions in force 1.3.1997. PERIOD START. Fetched 2026-08-02"
|
|
392
694
|
notes: >-
|
|
393
|
-
SAISONKENNZEICHEN
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
695
|
+
SAISONKENNZEICHEN, created by the 23. ÄndVstVR of 12.11.1996 with the
|
|
696
|
+
Saison provisions in force 1 March 1997 (Art. 4, quoted in
|
|
697
|
+
era_instruments.v1996_saison) — even the operate-OR-park prohibition is
|
|
698
|
+
1996-original ("nur während des ... Zeitraums in Betrieb gesetzt oder
|
|
699
|
+
abgestellt werden", § 23 Abs. 1b verbatim). The 2-to-11-month bounds are
|
|
700
|
+
cited here to § 10 Abs. 3 FZV 2023 only: whether the 1996 original
|
|
701
|
+
carried the same bounds was not verified (the OCR of the fee-and-annex
|
|
702
|
+
pages is partial) — recorded gap, deliberately not asserted. Its own
|
|
703
|
+
series rather than a variant because the DESIGN differs (an added
|
|
704
|
+
operating-period field) while the serial grammar does not — the
|
|
705
|
+
PRD-PLATES §2.3 test resolves cleanly. It composes with other classes:
|
|
706
|
+
green plates (§ 10 Abs. 2), Oldtimerkennzeichen and E-Kennzeichen can
|
|
707
|
+
all be issued AS seasonal plates, which means class is genuinely
|
|
708
|
+
multi-valued here and the single-`class` schema cannot express the
|
|
709
|
+
combination.
|
|
399
710
|
|
|
400
711
|
# =========================================================================
|
|
401
712
|
# GREEN — TAX-EXEMPT. Green lettering on white, and the class vocabulary has
|
|
@@ -404,8 +715,9 @@ series:
|
|
|
404
715
|
- id: de-green-taxexempt
|
|
405
716
|
class: agricultural
|
|
406
717
|
categories: [tractor, machine, trailer, truck]
|
|
407
|
-
period: { start:
|
|
408
|
-
period_evidence: instrument
|
|
718
|
+
period: { start: 1956 } # 1.7.1956 — § 60 Abs. 1 Satz 2 StVZO as amended 14.3.1956 (era_instruments.v1956)
|
|
719
|
+
period_evidence: enabling-instrument
|
|
720
|
+
matching: strict
|
|
409
721
|
format:
|
|
410
722
|
pattern: "LL-LL 9999"
|
|
411
723
|
regex: '\A(?![A-Z]{3}-[A-Z]{2} ?\d{4}\z)[A-Z]{1,3}-[A-Z]{1,2} ?\d{1,4}\z'
|
|
@@ -420,17 +732,32 @@ series:
|
|
|
420
732
|
region_encoding: "plates/_decode/de-districts.yml"
|
|
421
733
|
sources:
|
|
422
734
|
- "https://www.gesetze-im-internet.de/fzv_2023/__10.html # § 10 Abs. 2: green lettering on white for vehicles whose keeper is exempt from motor-vehicle tax, with the seven-item exclusion list, plus the trailer special rule under § 10 KraftStG"
|
|
735
|
+
- "https://media.offenegesetze.de/bgbl1/1956/bgbl1_1956_15.pdf # V. vom 14.3.1956, BGBl. I S. 199 — § 60 Abs. 1 Satz 2 StVZO, verbatim: 'Bei Fahrzeugen, deren Halten von der Kraftfahrzeugsteuer befreit ist, ist die Beschriftung grün auf weißem Grund; dies gilt nicht für Fahrzeuge von Behörden, für Fahrzeuge des Personals von diplomatischen und konsularischen Vertretungen sowie für Fahrzeuge, deren Haltern Steuererlaß gewährt worden ist.' In force 1.7.1956 (§ 72a). PERIOD START. Fetched 2026-08-02"
|
|
423
736
|
notes: >-
|
|
424
|
-
GRÜNES KENNZEICHEN
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
exclusion list
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
737
|
+
GRÜNES KENNZEICHEN, and the redate pass's biggest surprise: the green
|
|
738
|
+
tax-exempt colour rule is 1956-ORIGINAL, in the very sentence after
|
|
739
|
+
black-on-white — § 60 Abs. 1 Satz 2 StVZO as amended 14.3.1956, quoted
|
|
740
|
+
verbatim in the source line, in force 1.7.1956, and already with an
|
|
741
|
+
exclusion list of the same shape as today's § 10 Abs. 2 FZV (authority
|
|
742
|
+
vehicles and diplomatic/consular personnel vehicles excluded from
|
|
743
|
+
green). The 32. ÄndVStVR (2000) still carries a transitional headed
|
|
744
|
+
"§ 60 Abs. 1 Satz 2 (grüne amtliche Kennzeichen)" — continuity across
|
|
745
|
+
the era boundary. CLASS CAVEAT, and it is a real one: the legal
|
|
746
|
+
criterion is not agriculture at all — it is that "der Halter von der
|
|
747
|
+
Kraftfahrzeugsteuer befreit ist". _meta/classes.yml has no tax-exempt
|
|
748
|
+
class, so `agricultural` is recorded as the closest fit and the dominant
|
|
749
|
+
population, but the statute's own exclusion list shows how much wider
|
|
750
|
+
the category is: authority vehicles, diplomatic and consular staff
|
|
751
|
+
vehicles, buses and 8-9-seat cars mainly in scheduled service and their
|
|
752
|
+
trailers, Leichtkrafträder and Kleinkrafträder, vehicles of severely
|
|
753
|
+
disabled persons under § 3a KraftStG, particularly low-emission
|
|
754
|
+
vehicles, and any vehicle on a Wechselkennzeichen are all EXCLUDED from
|
|
755
|
+
the green plate. Flagged as a vocabulary gap in the L0 report. DESIGN
|
|
756
|
+
CAVEAT for the period claim: the green plate here carries today's
|
|
757
|
+
Euro-band design; its 1956-1995 execution was the DIN form (green on
|
|
758
|
+
white, no band). The colour RULE is continuous since 1956; the current
|
|
759
|
+
DESIGN is not — same split as de-standard vs de-standard-1956, recorded
|
|
760
|
+
here instead of cutting a low-value historical twin (L4 work).
|
|
434
761
|
|
|
435
762
|
# =========================================================================
|
|
436
763
|
# DEALER — rote Kennzeichen, digits-only beginning 06.
|
|
@@ -438,8 +765,12 @@ series:
|
|
|
438
765
|
- id: de-dealer-red
|
|
439
766
|
class: dealer
|
|
440
767
|
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
441
|
-
period: { start:
|
|
442
|
-
|
|
768
|
+
period: { start: 2007 } # UPPER BOUND — the "06" rule verbatim in the
|
|
769
|
+
# FZV 2006, in force 1.3.2007; the series is
|
|
770
|
+
# older and its creating instrument was not
|
|
771
|
+
# secured (see notes)
|
|
772
|
+
period_evidence: instrument-in-force-upper-bound
|
|
773
|
+
matching: strict
|
|
443
774
|
format:
|
|
444
775
|
pattern: "LL-06999"
|
|
445
776
|
regex: '\A[A-Z]{1,3}-06\d{1,4}\z'
|
|
@@ -457,21 +788,38 @@ series:
|
|
|
457
788
|
sources:
|
|
458
789
|
- "https://www.gesetze-im-internet.de/fzv_2023/__41.html # § 41: Prüfungs-, Probe- und Überführungsfahrten; Abs. 1 the red-on-white colour rule; Abs. 2 assignment to trustworthy manufacturers, parts makers, workshops, dealers and trailer makers (plus THW, Bundespolizei, BKA, Länder police, Bundeswehr, customs) for REPEATED use on DIFFERENT vehicles, and 'einer nur aus Ziffern bestehenden und mit \"06\" beginnenden Erkennungsnummer'; Abs. 3 the per-trip Fahrzeugscheinheft log, kept one year"
|
|
459
790
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_4.html # Anlage 4 Abschnitt 7: red script and red border; Anlage 13 is the Fahrzeugscheinheft"
|
|
791
|
+
- "https://media.offenegesetze.de/bgbl1/2006/bgbl1_2006_21.pdf # FZV vom 25.4.2006, BGBl. I S. 988 — the '06' rule verbatim ('... nur aus Ziffern und beginnt mit \"06\"'), in force 1.3.2007 (Art. 12 Abs. 2). PERIOD UPPER BOUND. Fetched 2026-08-02"
|
|
792
|
+
- "https://media.offenegesetze.de/bgbl1/1998/bgbl1_1998_14.pdf # 27. ÄndVstVR vom 9.3.1998, BGBl. I S. 441 — Art. 1 amends the § 28 StVZO rote-Kennzeichen machinery ('Für die mit roten Kennzeichen versehenen ...') and, per its other articles in force 1.5.1998, ends red-plate transfer use by private persons; evidences the red-plate regime pre-FZV without stating the 06 numbering. Fetched 2026-08-02"
|
|
460
793
|
notes: >-
|
|
461
794
|
ROTE KENNZEICHEN — the German dealer/trade plate, and the cleanest "06"
|
|
462
|
-
identification in the dataset.
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
795
|
+
identification in the dataset. PERIOD, honestly: 2007 is an UPPER BOUND —
|
|
796
|
+
the earliest instrument secured in this pass that states the digits-only
|
|
797
|
+
"06" rule is the first FZV (25.4.2006, in force 1.3.2007, verbatim in
|
|
798
|
+
era_instruments.v2006_fzv). The regime is decades older: § 28 StVZO
|
|
799
|
+
carried red plates before the FZV (the 1998 instrument amending it is
|
|
800
|
+
pinned above), and the enthusiast/Wikipedia lore that red plates exist
|
|
801
|
+
"since the 1920s" and took district-code + number form in 1956 is
|
|
802
|
+
FLAGGED AS UNSOURCED — the 14.3.1956 instrument was read in full and
|
|
803
|
+
does not touch § 28, so the 1956 story is not asserted. Locating the
|
|
804
|
+
instrument that first fixed the 05/06/07 number blocks (a pre-2006 StVZO
|
|
805
|
+
amendment or a Verkehrsblatt directive) is the recorded gap. BINDING
|
|
806
|
+
NOTE: like Swiss plates but for a different reason, this plate does NOT
|
|
807
|
+
bind to a vehicle — it binds to a BUSINESS and moves between vehicles,
|
|
808
|
+
which is why `binding: business` is set on the series and why a
|
|
809
|
+
vehicle-keyed consumer must not join on it. § 41 Abs. 3 requires a
|
|
810
|
+
written per-trip record (plate, date, start and end, driver and address,
|
|
811
|
+
vehicle class, make, VIN and route), retained for a year — the
|
|
812
|
+
compensating audit trail for an untethered plate. Also worth recording:
|
|
813
|
+
FZV 2023 § 41 Abs. 4 gives technical inspection bodies the "05" block —
|
|
814
|
+
an unmodelled sibling series (05 = Prüfstellen) sharing this format.
|
|
469
815
|
|
|
470
816
|
- id: de-oldtimer-red
|
|
471
817
|
class: dealer
|
|
472
818
|
categories: [car, van, truck, bus, motorcycle]
|
|
473
|
-
period: { start:
|
|
474
|
-
|
|
819
|
+
period: { start: 2007 } # UPPER BOUND — the "07" rule verbatim in the
|
|
820
|
+
# FZV 2006, in force 1.3.2007 (see notes)
|
|
821
|
+
period_evidence: instrument-in-force-upper-bound
|
|
822
|
+
matching: strict
|
|
475
823
|
format:
|
|
476
824
|
pattern: "LL-07999"
|
|
477
825
|
regex: '\A[A-Z]{1,3}-07\d{1,4}\z'
|
|
@@ -484,14 +832,23 @@ series:
|
|
|
484
832
|
band: { side: left, color: "#003399", content: eu-stars+D }
|
|
485
833
|
sources:
|
|
486
834
|
- "https://www.gesetze-im-internet.de/fzv_2023/__43.html # § 43: trips to and from Oldtimer events need neither Betriebserlaubnis nor Zulassung if the vehicle carries a rotes Oldtimerkennzeichen; Abs. 2 applies § 41 Abs. 2-6 and requires 'einer nur aus Ziffern bestehenden und mit den Ziffern \"07\" beginnenden Erkennungsnummer', with the Anlage 15 Fahrzeugscheinheft"
|
|
835
|
+
- "https://media.offenegesetze.de/bgbl1/2006/bgbl1_2006_21.pdf # FZV vom 25.4.2006, BGBl. I S. 988 — 'Das rote Oldtimerkennzeichen besteht aus einem Unterscheidungszeichen und einer Erkennungsnummer jeweils nach § 8 Abs. 1, jedoch besteht die Erkennungsnummer nur aus Ziffern und beginnt mit \"07\"', in force 1.3.2007 (Art. 12 Abs. 2). PERIOD UPPER BOUND. Fetched 2026-08-02"
|
|
487
836
|
notes: >-
|
|
488
|
-
ROTES OLDTIMERKENNZEICHEN — the 07 series.
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
837
|
+
ROTES OLDTIMERKENNZEICHEN — the 07 series. PERIOD, honestly: 2007 is an
|
|
838
|
+
UPPER BOUND — the FZV 2006 states the "07" rule verbatim (source line;
|
|
839
|
+
in force 1.3.2007) and is the earliest instrument secured for it. The
|
|
840
|
+
series demonstrably predates that codification: the Wikipedia locator
|
|
841
|
+
records that BEFORE 1 March 2007 (the FZV's own commencement day) the 07
|
|
842
|
+
plate also served 20-year-old Youngtimers — a pre-FZV practice under the
|
|
843
|
+
§ 28 StVZO red-plate machinery — but no StVZO-era instrument stating
|
|
844
|
+
"07" was located; that instrument is the recorded gap. Distinguished
|
|
845
|
+
from the 06 dealer plate by two digits and by one crucial restriction:
|
|
846
|
+
§ 43 Abs. 2 provides that this plate "nur an dem Fahrzeug verwendet
|
|
847
|
+
werden darf, für das es ausgegeben wurde", so unlike the 06 plate it is
|
|
848
|
+
NOT freely transferable between vehicles. CLASS CAVEAT: recorded as
|
|
849
|
+
`dealer` because it shares § 41's machinery, but it is functionally a
|
|
850
|
+
historic-vehicle event plate; a class vocabulary with a `historic` and a
|
|
851
|
+
`dealer` value cannot express "both".
|
|
495
852
|
|
|
496
853
|
# =========================================================================
|
|
497
854
|
# SHORT-TERM AND EXPORT — the two date-bearing German plates.
|
|
@@ -499,8 +856,9 @@ series:
|
|
|
499
856
|
- id: de-shortterm
|
|
500
857
|
class: temporary
|
|
501
858
|
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
502
|
-
period: { start:
|
|
503
|
-
period_evidence: instrument
|
|
859
|
+
period: { start: 1998 } # 14.3.1998 — 27. ÄndVstVR Art. 1 in force (era_instruments.v1998_kurzzeit)
|
|
860
|
+
period_evidence: enabling-instrument
|
|
861
|
+
matching: strict
|
|
504
862
|
format:
|
|
505
863
|
pattern: "LL-03999"
|
|
506
864
|
regex: '\A[A-Z]{1,3}-0[34]\d{1,4}\z'
|
|
@@ -522,17 +880,34 @@ series:
|
|
|
522
880
|
sources:
|
|
523
881
|
- "https://www.gesetze-im-internet.de/fzv_2023/__42.html # § 42 Abs. 1: conditions (type-approved or individually approved, valid HU/SP, insurance); Abs. 4: 'einer nur aus Ziffern bestehenden und mit \"03\" oder \"04\" beginnenden Erkennungsnummer' plus the five-day expiry date; Abs. 3: need not be firmly affixed"
|
|
524
882
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_4.html # Anlage 4 Abschnitt 6: the three Kurzzeitkennzeichen forms, the yellow/black date field, the 35 mm blue seal"
|
|
883
|
+
- "https://media.offenegesetze.de/bgbl1/1998/bgbl1_1998_14.pdf # 27. ÄndVstVR vom 9.3.1998, BGBl. I S. 441 — Art. 1 creates the Kurzzeitkennzeichen in § 28 StVZO ('Kurzzeitkennzeichen sind in schwarzer [Schrift] ... herzustellen') + Anlage Vd; Art. 5: Art. 1 in force 14.3.1998, remainder 1.5.1998. PERIOD START, quotes in era_instruments.v1998_kurzzeit. Fetched 2026-08-02"
|
|
884
|
+
- "https://media.offenegesetze.de/bgbl1/2006/bgbl1_2006_21.pdf # FZV vom 25.4.2006, BGBl. I S. 988 — '... nur aus Ziffern und beginnt mit \"03\" oder \"04\". Das Kurzzeitkennzeichen enthält außerdem ein Ablaufdatum, das längstens auf fünf Tage ab der Zuteilung zu bemessen [ist]', in force 1.3.2007 — the earliest instrument secured that states the 03 option. Fetched 2026-08-02"
|
|
525
885
|
notes: >-
|
|
526
|
-
KURZZEITKENNZEICHEN
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
886
|
+
KURZZEITKENNZEICHEN, created by the 27. ÄndVstVR of 9.3.1998 (Art. 1, in
|
|
887
|
+
force 14 March 1998) as the black-script short-term plate that replaced
|
|
888
|
+
private use of red plates — the same instrument's remaining articles, in
|
|
889
|
+
force 1.5.1998, closed the red-plate route for private transfer runs.
|
|
890
|
+
FORMAT-HISTORY CAVEAT, recorded at the point of use: the "03 oder 04"
|
|
891
|
+
wording in this series' regex is evidenced from 1.3.2007 (FZV 2006,
|
|
892
|
+
verbatim in the source line); the 1998-2007 numbering could not be read
|
|
893
|
+
from the 1998 scan (the Anlage Vd pages' OCR is partial), and the
|
|
894
|
+
widely repeated claim that pre-2007 Kurzzeitkennzeichen began with "04"
|
|
895
|
+
only is SECONDARY (Wikipedia locator) — recorded, not asserted. Five
|
|
896
|
+
days, a yellow expiry field, and a blue seal instead of the usual
|
|
897
|
+
Land-arms Stempelplakette. Unlike the 06 dealer plate it is tied to ONE
|
|
898
|
+
vehicle (§ 42 Abs. 3 Nr. 2) and, unlike an ordinary plate, it need not
|
|
899
|
+
be firmly attached.
|
|
530
900
|
|
|
531
901
|
- id: de-export
|
|
532
902
|
class: export
|
|
533
903
|
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
534
|
-
period: { start:
|
|
535
|
-
|
|
904
|
+
period: { start: 2007 } # UPPER BOUND — digits-then-letter rule
|
|
905
|
+
# verbatim in the FZV 2006, in force
|
|
906
|
+
# 1.3.2007; the regime is much older (see
|
|
907
|
+
# notes: 1998 IntKfzV seal pin, pre-1988
|
|
908
|
+
# design change flagged)
|
|
909
|
+
period_evidence: instrument-in-force-upper-bound
|
|
910
|
+
matching: strict
|
|
536
911
|
format:
|
|
537
912
|
pattern: "LL-9999L"
|
|
538
913
|
regex: '\A[A-Z]{1,3}-\d{1,4}[A-Z]\z'
|
|
@@ -565,13 +940,25 @@ series:
|
|
|
565
940
|
sources:
|
|
566
941
|
- "https://www.gesetze-im-internet.de/fzv_2023/__45.html # § 45: Fahrten zur dauerhaften Verbringung eines Fahrzeuges in das Ausland; Abs. 1 the insurance/HU conditions and the one-year cap; Abs. 2 'einer ein- bis vierstelligen Zahl und einem nachfolgenden Buchstaben' plus the expiry-date field"
|
|
567
942
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_4.html # Anlage 4 Abschnitt 8: no Euro-Feld, the non-retroreflective red date field, the RAL 2002 seal"
|
|
943
|
+
- "https://media.offenegesetze.de/bgbl1/2006/bgbl1_2006_21.pdf # FZV vom 25.4.2006, BGBl. I S. 988 — the export Erkennungsnummer 'aus einer ein- bis vierstelligen Zahl und einem nachfol[genden Buchstaben]' verbatim, in force 1.3.2007. PERIOD UPPER BOUND for the format as modeled. Fetched 2026-08-02"
|
|
944
|
+
- "https://media.offenegesetze.de/bgbl1/1998/bgbl1_1998_14.pdf # 27. ÄndVstVR vom 9.3.1998, BGBl. I S. 441, Art. 4 — amends § 7 Abs. 2 Nr. 5 IntKfzV: the export plate's Dienstsiegel becomes 'mit einem Durchmesser von 35 mm' beside the pre-existing '(RAL 2002)' — the RAL-2002 red seal the FZV 2023 still prescribes was already law in 1998, under the Verordnung über internationalen Kraftfahrzeugverkehr, not the FZV. LINEAGE PIN, not a start. Fetched 2026-08-02"
|
|
568
945
|
notes: >-
|
|
569
|
-
AUSFUHRKENNZEICHEN.
|
|
570
|
-
|
|
946
|
+
AUSFUHRKENNZEICHEN. PERIOD, honestly: 2007 is an UPPER BOUND for the
|
|
947
|
+
series AS MODELED (digits-then-letter Erkennungsnummer): that rule's
|
|
948
|
+
earliest secured statement is the FZV 2006 (verbatim, in force
|
|
949
|
+
1.3.2007). The export-plate REGIME is far older and pre-FZV lived in the
|
|
950
|
+
IntKfzV: the 1998 amendment pinned above adjusts its § 7 Dienstsiegel
|
|
951
|
+
and shows RAL 2002 — today's seal colour — already in force, and the
|
|
952
|
+
Wikipedia locator's photo caption dates a distinct older design
|
|
953
|
+
("Ausfuhrkennzeichen bis 1988") — SECONDARY, recorded not asserted.
|
|
954
|
+
Neither the origin of the digits-then-letter serial nor the 1988(?)
|
|
955
|
+
design change was primary-sourced; both are the recorded gaps here.
|
|
956
|
+
Three things make it unique in Germany: the digits-then-letter
|
|
957
|
+
Erkennungsnummer, the absence of the Euro-band, and a field the law
|
|
571
958
|
requires NOT to be retroreflective. § 45 Abs. 1 also carries a nice
|
|
572
|
-
period-logic constraint for a claims model: the plate may only be issued
|
|
573
|
-
the next roadworthiness inspection date falls AFTER the
|
|
574
|
-
date, otherwise the inspection must be done first.
|
|
959
|
+
period-logic constraint for a claims model: the plate may only be issued
|
|
960
|
+
if the next roadworthiness inspection date falls AFTER the
|
|
961
|
+
registration's expiry date, otherwise the inspection must be done first.
|
|
575
962
|
|
|
576
963
|
# =========================================================================
|
|
577
964
|
# ANLAGE 2 SERIES — federal, Land, diplomatic, military. § 9 Abs. 1 Satz 7:
|
|
@@ -581,8 +968,11 @@ series:
|
|
|
581
968
|
- id: de-federal-government
|
|
582
969
|
class: government
|
|
583
970
|
categories: [car, van, truck, bus, motorcycle]
|
|
584
|
-
period: { start:
|
|
585
|
-
|
|
971
|
+
period: { start: 1956 } # 1.7.1956 — Anlage IV StVZO created by the
|
|
972
|
+
# V. vom 14.3.1956 (era_instruments.v1956);
|
|
973
|
+
# the CODE LIST has evolved, see notes
|
|
974
|
+
period_evidence: enabling-instrument
|
|
975
|
+
matching: strict
|
|
586
976
|
format:
|
|
587
977
|
pattern: "BD-999999"
|
|
588
978
|
regex: '\A(?:BD|BG|BP|BW|THW|BBL|BWL|BYL|HEL|LSA|LSN|MVL|NRW|RPL|SAL|THL|HB|HH|NL|B)-\d{1,6}\z'
|
|
@@ -597,23 +987,43 @@ series:
|
|
|
597
987
|
sources:
|
|
598
988
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_2.html # Anlage 2 Nr. 1 (Bund: BD, BG, BP, BW, THW, Y, X with their registering authorities) and Nr. 2 (the 16 Land codes and which organs they cover)"
|
|
599
989
|
- "https://www.gesetze-im-internet.de/fzv_2023/__9.html # § 9 Abs. 1 Satz 6-7: which bodies may receive Anlage 2 plates, and the digits-only, max-six-digit Erkennungsnummer rule"
|
|
990
|
+
- "https://media.offenegesetze.de/bgbl1/1956/bgbl1_1956_15.pdf # V. vom 14.3.1956, BGBl. I S. 199 — Anlage IV (zu § 23 Abs. 2): 'A. Bund: BD Dienstfahrzeuge des Bundestages, des Bundesrates und der Bundesregierung; BG Dienstfahrzeuge des Bundesgrenzschutzes; BP Deutsche Bundespost; BW Bundes-Wasser- und Schiffahrtsverwaltung; DB Deutsche Bundesbahn; Y Dienstfahrzeuge der deutschen Streitkräfte' + 'B. Länder' (B, BWL, BYL, HB, HEL, HH, NL, RPL, RWL, SH), and § 23 Abs. 2: 'Die Erkennungsnummern dieser Fahrzeuge ... bestehen nur aus Zahlen; die Zahlen dürfen nicht mehr als fünf - bei Fahrzeugen der deutschen Streitkräfte sechs - Stellen haben.' In force 1.7.1956. PERIOD START. Fetched 2026-08-02"
|
|
991
|
+
- "https://media.offenegesetze.de/bgbl1/1997/bgbl1_1997_52.pdf # 25. ÄndVstVR vom 22.7.1997 — Nr. 8 inserts 'der Bundesanstalt Technisches Hilfswerk,' into the Anlage IV heading: THW joins the table in 1997. Fetched 2026-08-02"
|
|
992
|
+
- "https://media.offenegesetze.de/bgbl1/2006/bgbl1_2006_21.pdf # FZV vom 25.4.2006 — Anlage 3 already carries THW, X and the five new-Land codes (BBL etc.), in force 1.3.2007. Fetched 2026-08-02"
|
|
600
993
|
notes: >-
|
|
601
|
-
FEDERAL AND LAND OFFICIAL SERIES
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
994
|
+
FEDERAL AND LAND OFFICIAL SERIES — 1956-original as a SYSTEM: Anlage IV
|
|
995
|
+
of the 14.3.1956 instrument created the official-code table and the
|
|
996
|
+
digits-only rule in the same breath (both verbatim in the source line).
|
|
997
|
+
THE CODE LIST IS THE PART THAT MOVED, and a decode table must carry it
|
|
998
|
+
by period: 1956 had BD/BG/BP/BW/DB/Y and TEN Land codes (RWL for
|
|
999
|
+
Nordrhein-Westfalen — today NRW; no BBL/LSA/LSN/MVL/THL before
|
|
1000
|
+
reunification); BP meant DEUTSCHE BUNDESPOST in 1956 and means
|
|
1001
|
+
Bundespolizei today — the same two letters changed meaning, which is a
|
|
1002
|
+
trap for any historical decode; DB (Deutsche Bundesbahn) left with
|
|
1003
|
+
privatisation (the 32. ÄndVStVR still repeals a Bundespost-successor
|
|
1004
|
+
transitional in 2000); THW was added in 1997 (pinned); the digit cap
|
|
1005
|
+
rose from five (six for the Streitkräfte) to six for all (§ 9 Abs. 1
|
|
1006
|
+
Satz 7 FZV 2023). The exact instruments for the post-1990 Land codes and
|
|
1007
|
+
the NRW/RWL switch were not located — recorded gaps for the decode
|
|
1008
|
+
table, not for this series' start. Two facts a decode table must carry,
|
|
1009
|
+
both verbatim from Anlage 2 (2023): BG (Bundespolizei) is "noch gültig,
|
|
1010
|
+
wird nicht mehr zugeteilt" — still valid, no longer assigned, exactly
|
|
1011
|
+
the ended-but-on-the-road case PRD-PLATES's `ended: true` semantics
|
|
1012
|
+
exist for at the series level and that decode rows need at the row
|
|
1013
|
+
level. And the CONSULAR case has no code of its own: career consular
|
|
1014
|
+
posts carry "das Unterscheidungszeichen des Verwaltungsbezirkes am Sitz
|
|
1015
|
+
des Konsulats", i.e. an ordinary district prefix, so German consular
|
|
1016
|
+
vehicles are NOT identifiable from the plate string. Also here: 1-1 for
|
|
1017
|
+
the Bundestag President's official car (Anlage 2 Nr. 4), the only German
|
|
1018
|
+
plate whose prefix is a digit.
|
|
611
1019
|
|
|
612
1020
|
- id: de-diplomatic
|
|
613
1021
|
class: diplomatic
|
|
614
1022
|
categories: [car, van, motorcycle]
|
|
615
|
-
period: { start:
|
|
616
|
-
|
|
1023
|
+
period: { start: 1956 } # 1.7.1956 — Anlage IV C StVZO: "0 Fahrzeuge
|
|
1024
|
+
# des Diplomatischen Corps" (era_instruments.v1956)
|
|
1025
|
+
period_evidence: enabling-instrument
|
|
1026
|
+
matching: strict
|
|
617
1027
|
format:
|
|
618
1028
|
pattern: "0-999999"
|
|
619
1029
|
regex: '\A(?:0|B|BN)-\d{1,6}\z'
|
|
@@ -629,19 +1039,32 @@ series:
|
|
|
629
1039
|
sources:
|
|
630
1040
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_2.html # Anlage 2 Nr. 3: '0, B oder BN — Diplomatische Vertretungen oder internationale Organisationen und in Abhängigkeit vom Status der bevorrechtigten Person', registered at Berlin or Bonn"
|
|
631
1041
|
- "https://www.gesetze-im-internet.de/fzv_2023/__9.html # § 9 Abs. 1 Satz 6-7"
|
|
1042
|
+
- "https://media.offenegesetze.de/bgbl1/1956/bgbl1_1956_15.pdf # V. vom 14.3.1956, BGBl. I S. 199 — Anlage IV 'C. Diplomatisches Corps: 0 Fahrzeuge des Diplomatischen Corps', with the § 23 Abs. 2 digits-only rule (max five digits then). In force 1.7.1956. PERIOD START. Fetched 2026-08-02"
|
|
632
1043
|
notes: >-
|
|
633
|
-
GERMAN DIPLOMATIC SERIES
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
1044
|
+
GERMAN DIPLOMATIC SERIES — the zero prefix is 1956-original: Anlage IV C
|
|
1045
|
+
of the 14.3.1956 instrument reads, in its entirety, "0 Fahrzeuge des
|
|
1046
|
+
Diplomatischen Corps" (source line), making 0 the founding member of
|
|
1047
|
+
today's 0/B/BN trio. WHAT IS NOT 1956: the B and BN prefixes for
|
|
1048
|
+
diplomatic vehicles registered at Berlin and Bonn appear in Anlage 2 FZV
|
|
1049
|
+
2023 (and B doubles as the Berlin Land code); no instrument dating their
|
|
1050
|
+
introduction was located in this pass — recorded gap, presumably tied to
|
|
1051
|
+
the Bonn/Berlin seat split, deliberately not guessed. The 1956 digit cap
|
|
1052
|
+
was five; today six (§ 9 Abs. 1 Satz 7). Unlike Spain — where
|
|
1053
|
+
CD/OI/CC/TA each get their own background colour — Germany keeps the
|
|
1054
|
+
ordinary black-on-white design and signals status only through the
|
|
1055
|
+
prefix, so a German diplomatic plate is visually a normal plate. The
|
|
1056
|
+
mission-identifying number group inside the Erkennungsnummer is a
|
|
1057
|
+
Foreign Office allocation and is not published in the FZV; it is a
|
|
1058
|
+
recorded gap, deliberately not guessed.
|
|
639
1059
|
|
|
640
1060
|
- id: de-military-bundeswehr
|
|
641
1061
|
class: military
|
|
642
1062
|
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
643
|
-
period: { start:
|
|
644
|
-
|
|
1063
|
+
period: { start: 1956 } # 1.7.1956 — "Y Dienstfahrzeuge der deutschen
|
|
1064
|
+
# Streitkräfte", Anlage IV A (era_instruments.v1956);
|
|
1065
|
+
# the X (NATO HQ) prefix is LATER — gap noted
|
|
1066
|
+
period_evidence: enabling-instrument
|
|
1067
|
+
matching: strict
|
|
645
1068
|
format:
|
|
646
1069
|
pattern: "Y-999999"
|
|
647
1070
|
regex: '\A(?:Y|X)-\d{1,6}\z'
|
|
@@ -663,10 +1086,22 @@ series:
|
|
|
663
1086
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_2.html # Anlage 2 Nr. 1: 'Y Dienstfahrzeuge der Bundeswehr (Zentrale Militärkraftfahrtstelle – ZMK, Hardter Straße 9, 41179 Mönchengladbach/Rheindahlen)' and 'X Dienstfahrzeuge der auf Grund des Nordatlantikvertrages errichteten internationalen militärischen Hauptquartiere'"
|
|
664
1087
|
- "https://www.gesetze-im-internet.de/fzv_2023/anlage_4.html # Anlage 4 Abschnitt 3: Bundeswehr plate forms (Leichtkrafträder/Kleinkrafträder, other Krafträder, other vehicles single- and two-line) plus RAL 9005/9001, the Bundesfarben, the digit-1 spacing rule and the last-three-digits group gap"
|
|
665
1088
|
- "https://www.gesetze-im-internet.de/fzv_2023/__12.html # § 12 Abs. 2 last sentence: Bundeswehr and NATO-HQ plates are exempt from DIN 74069 and the DIN test mark"
|
|
1089
|
+
- "https://media.offenegesetze.de/bgbl1/1956/bgbl1_1956_15.pdf # V. vom 14.3.1956, BGBl. I S. 199 — Anlage IV A: 'Y Dienstfahrzeuge der deutschen Streitkräfte (Auskunft: Bundesministerium für Verteidigung)'; § 23 Abs. 2: digits only, 'bei Fahrzeugen der deutschen Streitkräfte sechs' Stellen — the six-digit military allowance is 1956-original. In force 1.7.1956. PERIOD START (for Y). Fetched 2026-08-02"
|
|
1090
|
+
- "https://media.offenegesetze.de/bgbl1/2006/bgbl1_2006_21.pdf # FZV vom 25.4.2006 — Anlage 3: 'X Dienstfahrzeuge der auf Grund des Nordatlantikvertrages errichteten internationalen militärischen Hauptquartiere, die ihren regelmäßigen Standort im Inland haben' — X's earliest secured appearance; in force 1.3.2007. Fetched 2026-08-02"
|
|
666
1091
|
notes: >-
|
|
667
|
-
BUNDESWEHR (Y) AND NATO HEADQUARTERS (X).
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
1092
|
+
BUNDESWEHR (Y) AND NATO HEADQUARTERS (X). Y IS 1956-ORIGINAL — Anlage IV
|
|
1093
|
+
A of the 14.3.1956 instrument, verbatim in the source line, together
|
|
1094
|
+
with the military six-digit allowance that today applies to all Anlage 2
|
|
1095
|
+
vehicles. PERIOD ASYMMETRY RECORDED AT POINT OF USE: this series' regex
|
|
1096
|
+
accepts Y and X, but the period claim anchors on Y; the X prefix is NOT
|
|
1097
|
+
in the 1956 Anlage IV, and its earliest secured appearance is the FZV
|
|
1098
|
+
2006 Anlage 3 (pinned; in force 1.3.2007) — the instrument that first
|
|
1099
|
+
assigned X to the NATO headquarters (plausibly 1960s, after the 1955
|
|
1100
|
+
NATO accession) was not located and is the recorded gap. Its own series
|
|
1101
|
+
and not a variant of the federal one: the FONT differs (DIN 1451-2
|
|
1102
|
+
instead of FE-Schrift), the Euro-band is absent, the reflectivity
|
|
1103
|
+
standard is disapplied and the colours are given as RAL codes rather
|
|
1104
|
+
than named — and the DIN script on today's Y plate is the direct
|
|
1105
|
+
survival of the 1956-2000 standard lettering (see de-standard-1956).
|
|
1106
|
+
Y is famously a single letter serving the entire armed forces, which is
|
|
1107
|
+
why it looks like a district code and is not one.
|