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/at.yml
ADDED
|
@@ -0,0 +1,1424 @@
|
|
|
1
|
+
# plates/at.yml — Austria (PRD-PLATES gate L1).
|
|
2
|
+
#
|
|
3
|
+
# EVERY format, colour, dimension and class claim here comes from two
|
|
4
|
+
# instruments on ris.bka.gv.at, read in their consolidated tagesaktuelle
|
|
5
|
+
# Fassung on 2026-08-02, plus the two original Bundesgesetzblatt PDFs that
|
|
6
|
+
# date the two system changes:
|
|
7
|
+
# * Kraftfahrgesetz 1967 (KFG 1967), BGBl. Nr. 267/1967, zuletzt geändert
|
|
8
|
+
# durch BGBl. I Nr. 79/2026 — § 48 (Kennzeichen), § 48a (Kennzeichen nach
|
|
9
|
+
# eigener Wahl), § 49 (Kennzeichentafeln), § 54 (Abzeichen).
|
|
10
|
+
# * Kraftfahrgesetz-Durchführungsverordnung 1967 (KDV 1967), BGBl. Nr.
|
|
11
|
+
# 399/1967, zuletzt geändert durch BGBl. II Nr. 384/2024 — § 25d and
|
|
12
|
+
# Anlage 5e (the plate SPEC), § 26 and Anlage 5d (the CODE and SERIAL
|
|
13
|
+
# spec).
|
|
14
|
+
# * BGBl. Nr. 375/1988 (11. KFG-Novelle) — dates the white plate.
|
|
15
|
+
# * BGBl. Nr. 267/1967 and BGBl. Nr. 399/1967 as ORIGINALLY enacted — date
|
|
16
|
+
# and describe the black plate that preceded it.
|
|
17
|
+
#
|
|
18
|
+
# THE FIVE STRUCTURAL FACTS THAT SHAPE THIS FILE
|
|
19
|
+
#
|
|
20
|
+
# 1. THE DISTRICT CODE LIST *IS* IN THE REGULATION — the exact opposite of
|
|
21
|
+
# Germany. § 26 Abs. 1 KDV, verbatim: "Die Bezeichnung der den
|
|
22
|
+
# Zulassungsschein ausstellenden Behörde im Kennzeichen bestimmt sich nach
|
|
23
|
+
# Anlage 5d." Anlage 5d is a closed, primary, 98-row table printed inside
|
|
24
|
+
# the KDV. It is therefore authored in full in
|
|
25
|
+
# plates/_decode/at-districts.yml — no Bundesanzeiger problem, no guesswork.
|
|
26
|
+
# § 48 Abs. 4 KFG fixes its shape: "Das Kennzeichen muss mit einem oder zwei
|
|
27
|
+
# Buchstaben als Bezeichnung der Behörde, in deren örtlichem Wirkungsbereich
|
|
28
|
+
# das Fahrzeug zugelassen ist, beginnen."
|
|
29
|
+
#
|
|
30
|
+
# 2. § 26 Abs. 6 KDV IS THE SERIAL GRAMMAR, AND IT IS COMPLETE — the Austrian
|
|
31
|
+
# analogue of FZV Anlage 1. For ordinary vehicles (Z 2), verbatim:
|
|
32
|
+
# a) "vier oder fünf Zeichen, bei den in den Landeshauptstädten und im
|
|
33
|
+
# Land Wien zugewiesenen Kennzeichen fünf oder sechs Zeichen"
|
|
34
|
+
# d) "mindestens eine Ziffer und einen bis drei Buchstaben enthalten"
|
|
35
|
+
# e) "mit einer Ziffer beginnen und mit einem Buchstaben enden"
|
|
36
|
+
# f) "alle Buchstaben und alle Ziffern nur je in geschlossenen Blöcken
|
|
37
|
+
# enthalten; das Verwenden von Buchstaben abwechselnd mit Ziffern ist
|
|
38
|
+
# unzulässig"
|
|
39
|
+
# plus two charset rules that bind the WHOLE dataset:
|
|
40
|
+
# Z 4 "Es dürfen nur Großbuchstaben verwendet werden; die Verwendung der
|
|
41
|
+
# Buchstaben Q, Ä, Ö und Ü ist unzulässig."
|
|
42
|
+
# Z 5 "Die Ziffer 0 an der ersten Stelle im Ziffernblock ist unzulässig.
|
|
43
|
+
# Bei Vormerkzeichen gemäß Z 2 ist der Buchstabe O an der ersten
|
|
44
|
+
# Stelle im Buchstabenblock unzulässig."
|
|
45
|
+
# A WUNSCHKENNZEICHEN (Z 3) inverts the shape: "mit einem Buchstaben
|
|
46
|
+
# beginnen und mit einer Ziffer enden". Letters-then-digits therefore means
|
|
47
|
+
# personalized, digits-then-letters means ordinary — the single most useful
|
|
48
|
+
# structural tell on an Austrian plate, and it is in the regulation, not in
|
|
49
|
+
# folklore.
|
|
50
|
+
#
|
|
51
|
+
# 3. THE SEPARATOR IS A COAT OF ARMS, AND THE LAW SAYS WHAT TO WRITE INSTEAD.
|
|
52
|
+
# § 49 Abs. 4 KFG: "Zwischen der Bezeichnung der Behörde und dem
|
|
53
|
+
# Vormerkzeichen muss das Wappen des Bundeslandes angebracht sein, in dem
|
|
54
|
+
# die Behörde ihren Sitz hat." § 26 Abs. 7 KDV then supplies the textual
|
|
55
|
+
# rendering, verbatim: "In einer schriftlichen Mitteilung des Kennzeichens
|
|
56
|
+
# ist anstelle des Landeswappens ein Bindestrich zu setzen. Beim Anschreiben
|
|
57
|
+
# des Kennzeichens auf der Begutachtungsplakette (§ 57a Abs. 5 KFG 1967)
|
|
58
|
+
# kann der Bindestrich entfallen."
|
|
59
|
+
# That is a rare thing: a primary source for BOTH the emitted separator AND
|
|
60
|
+
# for its being optional. Every `pattern` here prints the hyphen; every
|
|
61
|
+
# regex spells the position as the separator-only class `[- ]?` (PRD-PLATES
|
|
62
|
+
# §2.8), because the law prescribes a hyphen, permits its omission, and
|
|
63
|
+
# prescribes no glyph at all on the plate itself.
|
|
64
|
+
#
|
|
65
|
+
# 4. PERIOD CLAIMS ARE COMMENCEMENT-DATED, NOT GUESSED. Three real dates carry
|
|
66
|
+
# this file, each from a commencement provision rather than from the date of
|
|
67
|
+
# the consolidating instrument:
|
|
68
|
+
# 1989-01-01 BGBl. Nr. 375/1988 Art. V Abs. 4 lit. b — the rewritten
|
|
69
|
+
# § 48 Abs. 4 (authority letters), § 48a (Wunschkennzeichen)
|
|
70
|
+
# and § 49 Abs. 4 (WHITE plate, red-white-red edging, Land
|
|
71
|
+
# arms) enter into force. Art. V Abs. 6 lets non-conforming
|
|
72
|
+
# stock be used up "bis längstens 31. Jänner 1990".
|
|
73
|
+
# 2002-11-01 BGBl. I Nr. 80/2002 — the EU field. The § 49 Fassung valid
|
|
74
|
+
# 25.05.2002-31.10.2002 has no such sentence; the Fassung
|
|
75
|
+
# valid from 01.11.2002 does. Diffing the two consolidated
|
|
76
|
+
# versions IS the evidence.
|
|
77
|
+
# 2017-04-01 BGBl. I Nr. 9/2017 — § 49 Abs. 4 Z 5, the green-lettered
|
|
78
|
+
# electric plate. Absent from the Fassung valid 01.01.2017,
|
|
79
|
+
# present in the Fassung valid from 01.04.2017.
|
|
80
|
+
# Two more come from dates printed INSIDE the KDV: motorcycle plates
|
|
81
|
+
# "werden ab 1. April 2005 nur mehr nach dem Muster VIII ... ausgegeben"
|
|
82
|
+
# (§ 25d Abs. 3 in the Fassung valid 01.04.2011), and the historic-vehicle
|
|
83
|
+
# plate provision (§ 25d Abs. 5) first appears in the Fassung valid from
|
|
84
|
+
# 01.04.2018. `period_evidence: enacted-commencement` marks all of these;
|
|
85
|
+
# `instrument-in-force` marks the rest, and means exactly what it means in
|
|
86
|
+
# plates/de.yml — the year of the instrument that STATES the rule.
|
|
87
|
+
#
|
|
88
|
+
# 5. AUSTRIA HAS NO EXPORT, TAXI, SEASONAL OR AGRICULTURAL PLATE. Searched for
|
|
89
|
+
# and not found in KFG §§ 48-49 or KDV § 26 / Anlagen 5d-5e: an export
|
|
90
|
+
# series (the green ÜBERSTELLUNGSKENNZEICHEN does that job — § 46 Abs. 1a
|
|
91
|
+
# expressly contemplates "aus dem Bundesgebiet in das Ausland"), a taxi
|
|
92
|
+
# series, a seasonal series, an agricultural series. Their absence is
|
|
93
|
+
# recorded rather than filled.
|
|
94
|
+
#
|
|
95
|
+
# REGEX POLICY, as in plates/de.yml and plates/nl.yml: `format.regex` is the
|
|
96
|
+
# lint-round-trippable regex; `format.regex_strict` carries the sourced
|
|
97
|
+
# tightenings the round-trip forbids — the § 26 Abs. 6 Z 4 letter exclusion
|
|
98
|
+
# (no Q), the Z 5 no-leading-zero rule, and the Z 5 no-leading-O rule for
|
|
99
|
+
# ordinary Vormerkzeichen. Total serial LENGTH is expressed with a lookahead,
|
|
100
|
+
# because the KDV counts CHARACTERS of the Vormerkzeichen while the shape is
|
|
101
|
+
# two variable-width blocks and plain quantifiers cannot say "four to six
|
|
102
|
+
# characters, digits then one to three letters" in one pass.
|
|
103
|
+
jurisdiction: at
|
|
104
|
+
authority:
|
|
105
|
+
name: Kraftfahrgesetz 1967 (KFG 1967) — Bundesministerium für Innovation, Mobilität und Infrastruktur
|
|
106
|
+
url: "https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384"
|
|
107
|
+
binding: vehicle
|
|
108
|
+
binding_note: >-
|
|
109
|
+
§ 48 Abs. 1 KFG: "Für jedes Kraftfahrzeug und jeden Anhänger ist ... bei der
|
|
110
|
+
Zulassung ein eigenes Kennzeichen ... zuzuweisen" — the assignment is per
|
|
111
|
+
VEHICLE, so vehicle-keyed consumers may join on it. The two exceptions carry
|
|
112
|
+
their own `binding:` on the series: the Probefahrtkennzeichen binds to a
|
|
113
|
+
BUSINESS (§ 45), and the Wunschkennzeichen is expressly a personal right
|
|
114
|
+
(§ 48a Abs. 7, "ein höchstpersönliches Recht, das nicht auf andere Personen
|
|
115
|
+
übertragbar ist"), which survives deregistration for its fifteen years.
|
|
116
|
+
instrument:
|
|
117
|
+
citation: "Kraftfahrgesetz 1967, BGBl. Nr. 267/1967, zuletzt geändert durch BGBl. I Nr. 79/2026; Kraftfahrgesetz-Durchführungsverordnung 1967, BGBl. Nr. 399/1967, zuletzt geändert durch BGBl. II Nr. 384/2024"
|
|
118
|
+
kfg_ausfertigungsdatum: "1967-07-28"
|
|
119
|
+
kfg_inkrafttreten: "1968-01-01"
|
|
120
|
+
kfg_inkrafttreten_source: "§ 135 Abs. 1 KFG 1967, verbatim: 'Dieses Bundesgesetz tritt mit Ausnahme der im Abs. 2 angeführten Bestimmungen mit 1. Jänner 1968 in Kraft.'"
|
|
121
|
+
kdv_ausfertigungsdatum: "1967-12-29"
|
|
122
|
+
eli_kfg48: "https://ris.bka.gv.at/eli/bgbl/1967/267/P48/NOR40279588"
|
|
123
|
+
source: "https://www.ris.bka.gv.at/Dokumente/BgblPdf/1967_267_0/1967_267_0.pdf # original KFG 1967 as enacted, 62. Stück, ausgegeben am 28. Juli 1967 — § 48, § 49 and § 135 read from the PDF"
|
|
124
|
+
|
|
125
|
+
# ---------------------------------------------------------------------------
|
|
126
|
+
# Jurisdiction-wide facts, cited once and referenced per series.
|
|
127
|
+
# ---------------------------------------------------------------------------
|
|
128
|
+
common:
|
|
129
|
+
colours:
|
|
130
|
+
statute: >-
|
|
131
|
+
§ 49 Abs. 4 KFG gives the colour table in full, and it is the whole
|
|
132
|
+
Austrian colour system in one place. "Die Farbe der Kennzeichentafeln muss
|
|
133
|
+
sein: Bei Tafeln für
|
|
134
|
+
1. Kraftwagen, Motorräder, Motorräder mit Beiwagen, Motordreiräder und
|
|
135
|
+
Anhänger, vorbehaltlich der Z 3 und 4 — weiß / schwarz;
|
|
136
|
+
2. Motorfahrräder, vierrädrige Leichtkraftfahrzeuge sowie für Anhänger
|
|
137
|
+
gemäß Abs. 3 — rot / weiß;
|
|
138
|
+
3. vorübergehend zugelassene Fahrzeuge sowie für Probefahrtkennzeichen —
|
|
139
|
+
blau / weiß;
|
|
140
|
+
4. Überstellungskennzeichen — grün / weiß;
|
|
141
|
+
5. Kraftfahrzeuge der Klasse L, M1, M2, M3, N1, N2 und N3 jeweils mit
|
|
142
|
+
reinem Elektroantrieb oder mit Wasserstoff-Brennstoffzellenantrieb —
|
|
143
|
+
weiß / grün."
|
|
144
|
+
retroreflective: "'Der Grund der Kennzeichentafeln muss aus rückstrahlendem Material bestehen.' (§ 49 Abs. 4 KFG) — unconditional, unlike the 1967 text which required it only for Z 1 and Z 2."
|
|
145
|
+
source: "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4: the five-row colour table, the retroreflection rule, the EU field, the Land arms, the red-white-red edging, the temporary-registration year stripe, the Hohlprägung. Accessed 2026-08-02"
|
|
146
|
+
colorimetry:
|
|
147
|
+
basis: >-
|
|
148
|
+
Anlage 5e B.2.5.2 KDV, verbatim: "Bei Messungen nach den Richtlinien der
|
|
149
|
+
CIE-Publikation Nr. 15 (1971) und bei Beleuchtung der Folienoberfläche mit
|
|
150
|
+
CIE-Normlichtart D 65 bei einem Anleuchtwinkel von 45° zur Normalen
|
|
151
|
+
(45/0° – Geometrie, 2° Beobachter) muss die Farbe der zwischen den roten
|
|
152
|
+
Randstreifen liegenden Flächen der Grundfolie in dem in Tabelle 2
|
|
153
|
+
angeführten Farbbereich liegen." Austria specifies a CIE CHROMATICITY
|
|
154
|
+
QUADRANGLE and a minimum luminance factor — NOT an RGB or RAL value. Every
|
|
155
|
+
hex in this file is therefore `hex_basis: observed`; the quadrangle is the
|
|
156
|
+
spec and is reproduced here so a renderer can do better than a guess.
|
|
157
|
+
weiss: { x: [0.355, 0.305, 0.285, 0.335], y: [0.355, 0.305, 0.325, 0.375], beta_min: 0.55 }
|
|
158
|
+
rot: { x: [0.690, 0.595, 0.569, 0.655], y: [0.310, 0.315, 0.341, 0.345], beta_min: 0.05 }
|
|
159
|
+
blau: { x: [0.105, 0.232, 0.240, 0.180], y: [0.240, 0.250, 0.200, 0.140], beta_min: 0.10 }
|
|
160
|
+
gruen: { x: [0.115, 0.200, 0.297, 0.242], y: [0.300, 0.490, 0.360, 0.265], beta_min: 0.15 }
|
|
161
|
+
source: "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # KDV Anlage 5e (zu § 25d), B.2.5.2 Colorimetrische Eigenschaften, TABELLE 2. Accessed 2026-08-02"
|
|
162
|
+
dimensions:
|
|
163
|
+
muster:
|
|
164
|
+
I: { w: 520, h: 120, unit: mm, use: "GKT einzeilig; also motorcycles where a single-line plate is type-approved (§ 25d Abs. 3)" }
|
|
165
|
+
III: { w: 300, h: 200, unit: mm, use: "GKT zweizeilig" }
|
|
166
|
+
Ia: { w: 520, h: 120, unit: mm, use: "PKT (Probefahrt) einzeilig" }
|
|
167
|
+
IIIa: { w: 270, h: 200, unit: mm, use: "PKT zweizeilig" }
|
|
168
|
+
IV: { w: 520, h: 120, unit: mm, use: "ÜKT / VZT einzeilig" }
|
|
169
|
+
V: { w: 270, h: 200, unit: mm, use: "ÜKT / VZT zweizeilig" }
|
|
170
|
+
VI: { w: 150, h: 115, unit: mm, use: "MFT — Motorfahrräder and vierrädrige Leichtkraftfahrzeuge" }
|
|
171
|
+
VII: { w: 250, h: 200, unit: mm, use: "HKT zweizeilig; the FORMER motorcycle plate before 1 April 2005" }
|
|
172
|
+
VIII: { w: 210, h: 170, unit: mm, use: "MRT — motorcycles, and dreirädrige Kraftfahrzeuge ohne Aufbau" }
|
|
173
|
+
IX: { w: 460, h: 120, unit: mm, use: "HKT einzeilig; also permitted as a FRONT plate for short Wunschkennzeichen (§ 25d Abs. 6)" }
|
|
174
|
+
source: "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # KDV Anlage 5e A. KENNZEICHENFORMATE, the ten Muster with their millimetre formats. Accessed 2026-08-02"
|
|
175
|
+
note: >-
|
|
176
|
+
520 x 120 mm, not the 520 x 110 mm of Germany, the Netherlands and Spain.
|
|
177
|
+
Austria's single-line plate is one centimetre taller than its neighbours'
|
|
178
|
+
— the single most render-relevant fact in this file.
|
|
179
|
+
font:
|
|
180
|
+
name: null
|
|
181
|
+
statutory_basis: >-
|
|
182
|
+
NO TYPEFACE IS NAMED ANYWHERE. Anlage 5e A.2.2 ends: "Abmessungen und
|
|
183
|
+
Aussehen der Wappen und der Schriftzeichen sind gemäß den beim
|
|
184
|
+
Bundesminister ... aufliegenden Mustern zu gestalten." The legal object is
|
|
185
|
+
a drawing on file with the ministry, exactly as the EU dossier found for
|
|
186
|
+
the UK, Germany and Spain. What Anlage 5e A.3 DOES publish is per-glyph
|
|
187
|
+
geometry, which is enough to render from: stroke width 10 mm throughout;
|
|
188
|
+
character height 71-72 mm; character widths in mm — A 47; B, D, E, Z 38;
|
|
189
|
+
I 10; L 33 or 28; F, J, P, R, T 38; C, G, H, K, N, O, S, U, V, X, Y 38;
|
|
190
|
+
M 43 or 38; W 51 or 42; digit 1 = 25; digits 3, 4, 6, 8, 9, 0 = 38;
|
|
191
|
+
digits 2, 5, 7 = 38. Tolerance +0.5 / -1.0 mm.
|
|
192
|
+
spacing: >-
|
|
193
|
+
"Der Abstand der Buchstaben und Ziffern untereinander muss graphisch
|
|
194
|
+
ausgewogen sein und soll zwischen 8 und 15 mm betragen"; and between the
|
|
195
|
+
letter block and the digit block "möglichst das Eineinhalbfache des
|
|
196
|
+
größten im Vormerkzeichen auftretenden Schriftzeichenabstandes" — a 1.5x
|
|
197
|
+
inter-block gap, which is the visual reason an Austrian serial reads as
|
|
198
|
+
two groups.
|
|
199
|
+
licence: >-
|
|
200
|
+
PRD-PLATES §6 applies unchanged: the render layer derives glyphs from the
|
|
201
|
+
published geometry, never from a third-party TTF. Austria is a weaker case
|
|
202
|
+
than Germany for the public-domain argument (no §5(1) UrhG equivalent was
|
|
203
|
+
researched in this pass — recorded gap), which is one more reason to
|
|
204
|
+
derive rather than embed.
|
|
205
|
+
source: "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # KDV Anlage 5e A.2.2 (Muster on file with the Minister) and A.3 Form und Größe der Schriftzeichen. Accessed 2026-08-02"
|
|
206
|
+
euro_band:
|
|
207
|
+
side: left
|
|
208
|
+
content: eu-stars+A
|
|
209
|
+
statute: >-
|
|
210
|
+
§ 49 Abs. 4 KFG, verbatim: "Bei weißen Kennzeichentafeln, ausgenommen
|
|
211
|
+
solchen gemäß Z 5 für Motorfahrräder und vierrädrige Leichtkraftfahrzeuge,
|
|
212
|
+
und bei roten Kennzeichentafeln gemäß Abs. 3 muss am linken Rand in einem
|
|
213
|
+
blauen Feld mit zwölf gelben Sternen das internationale
|
|
214
|
+
Unterscheidungszeichen in weißer Schrift angegeben sein."
|
|
215
|
+
note: >-
|
|
216
|
+
TWO FINDINGS. (1) Austria does NOT cross-reference Reg. (EC) 2411/98 the
|
|
217
|
+
way FZV Anlage 4 Nr. 3 does — the KFG simply describes a blue field with
|
|
218
|
+
twelve yellow stars and the distinguishing sign in white, and Anlage 5e's
|
|
219
|
+
A.1.1 "EU-Emblem" heading is followed by a drawing, so no geometry is
|
|
220
|
+
extractable from Austrian law. (2) The band follows the plate's COLOUR,
|
|
221
|
+
not its class: the red trailer plate under § 49 Abs. 3 carries it, and the
|
|
222
|
+
blue Probefahrt, blue/red temporary and green Überstellung plates do not.
|
|
223
|
+
source: "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4. Accessed 2026-08-02"
|
|
224
|
+
emblem:
|
|
225
|
+
statute: >-
|
|
226
|
+
§ 49 Abs. 4 KFG, verbatim: "Zwischen der Bezeichnung der Behörde und dem
|
|
227
|
+
Vormerkzeichen muss das Wappen des Bundeslandes angebracht sein, in dem
|
|
228
|
+
die Behörde ihren Sitz hat; dies gilt nicht für Fahrzeuge gemäß § 54
|
|
229
|
+
Abs. 3 und Abs. 3a lit. a und b sowie für Motorfahrräder und vierrädrige
|
|
230
|
+
Leichtkraftfahrzeuge. Bei den in § 40 Abs. 1 lit. a angeführten Fahrzeugen
|
|
231
|
+
tritt an die Stelle des Landeswappens das Bundeswappen, bei den zur
|
|
232
|
+
Verwendung für die Feuerwehr bestimmten Fahrzeugen tritt an die Stelle des
|
|
233
|
+
Landeswappens das Feuerwehr-Korpsabzeichen."
|
|
234
|
+
execution: >-
|
|
235
|
+
Anlage 5e A.2.2: the Wappenplakette for GKT and MRT is a transparent
|
|
236
|
+
translucent-printed foil thermally and irremovably bonded to the base
|
|
237
|
+
foil; for ÜKT, VZT, PKT and AAT it is a retroreflective self-adhesive
|
|
238
|
+
plastic foil with translucent screen printing. The arms are printed per the
|
|
239
|
+
federal and Land arms regulations with two substitutions, verbatim: "Dabei
|
|
240
|
+
tritt an die Stelle: der Farbe Silber die Farbe Weiß; der Farbe Gold die
|
|
241
|
+
Farbe Gelb." Below the arms, the Bundesland name in block capitals 4 or
|
|
242
|
+
5 mm high depending on word length.
|
|
243
|
+
rendered: placeholder
|
|
244
|
+
render_note: >-
|
|
245
|
+
PRD-PLATES §3 placeholder rule applies: nine Land arms plus the federal
|
|
246
|
+
arms plus the Feuerwehr-Korpsabzeichen, none licence-cleared. The
|
|
247
|
+
Silber->Weiß / Gold->Gelb substitution is recorded because a renderer that
|
|
248
|
+
ever does clear them will need it.
|
|
249
|
+
source: "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4; https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e A.2.2. Accessed 2026-08-02"
|
|
250
|
+
edging:
|
|
251
|
+
statute: >-
|
|
252
|
+
§ 49 Abs. 4 KFG, verbatim: "Weiße Kennzeichentafeln (Z 1 und Z 5,
|
|
253
|
+
ausgenommen solche für Motorfahrräder und vierrädrige
|
|
254
|
+
Leichtkraftfahrzeuge) müssen an ihrer oberen und unteren Kante
|
|
255
|
+
rot-weiß-rot gerandet sein; Kennzeichentafeln für Motorfahrräder und
|
|
256
|
+
vierrädrige Leichtkraftfahrzeuge müssen weiß, solche gemäß Z 5 grün
|
|
257
|
+
umrandet sein."
|
|
258
|
+
note: >-
|
|
259
|
+
The red-white-red stripes run along the TOP and BOTTOM edges only, and are
|
|
260
|
+
the Austrian plate's signature. Note the colorimetric spec measures "die
|
|
261
|
+
zwischen den roten Randstreifen liegenden Flächen" — the stripes are
|
|
262
|
+
outside the measured area.
|
|
263
|
+
hologram:
|
|
264
|
+
statute: >-
|
|
265
|
+
§ 49 Abs. 4 KFG: plates must carry "eine Hohlprägung ... die das
|
|
266
|
+
Bundeswappen mit der Umschrift 'Republik Österreich' und die dem Hersteller
|
|
267
|
+
der Kennzeichentafeln vom Bundesminister ... zugewiesene Kontrollnummer
|
|
268
|
+
zeigt". Anlage 5e A.2.1 gives its geometry: the mark sits inside an
|
|
269
|
+
elliptical embossed ring of 12 mm x 18 mm principal diameters, lettering
|
|
270
|
+
at least 1 mm high, control number below the legend.
|
|
271
|
+
serial_grammar:
|
|
272
|
+
ordinary_source: "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 6 Z 2 (ordinary), Z 3 (Wunschkennzeichen), Z 4 (letter exclusion), Z 5 (leading 0 / leading O). Accessed 2026-08-02"
|
|
273
|
+
letters_excluded: ["Q", "Ä", "Ö", "Ü"]
|
|
274
|
+
no_leading_zero: true
|
|
275
|
+
no_leading_o_ordinary: true
|
|
276
|
+
counts:
|
|
277
|
+
ordinary: "4 or 5 characters; 5 or 6 for plates assigned in the Landeshauptstädte and in Land Wien (Z 2 lit. a)"
|
|
278
|
+
two_line_and_probefahrt: "4 or 5; 4 to 6 in the Landeshauptstädte and Wien (Z 2 lit. b)"
|
|
279
|
+
ueberstellung: "4; 4 or 5 in the Landeshauptstädte and Wien (Z 2 lit. b)"
|
|
280
|
+
vorlaeufig: "4 (Z 2 lit. b)"
|
|
281
|
+
historic_single_line: "3; 3 or 4 in the Landeshauptstädte or Wien (Z 2 lit. b)"
|
|
282
|
+
motorfahrrad: "3 to 4; 3 to 5 in the Landeshauptstädte and Wien (Z 2 lit. c)"
|
|
283
|
+
wunschkennzeichen: "3 to 5; 3 to 6 in the Landeshauptstädte and Wien (Z 3 lit. a)"
|
|
284
|
+
official: "§ 26 Abs. 6 Z 1 lit. a: the Vormerkzeichen of Abs. 2-4 vehicles (except the fire brigade) 'dürfen nur Ziffern enthalten' — DIGITS ONLY, with NO published length rule; the six-digit bound used in this file is inferred from the GKT row of Anlage 5e and is flagged per series"
|
|
285
|
+
length_encoding_note: >-
|
|
286
|
+
Every serial-length rule above is encoded as a LOOKAHEAD over the
|
|
287
|
+
Vormerkzeichen — `(?=[A-Z0-9]{4,6}\z)` and friends — because the KDV counts
|
|
288
|
+
characters of a two-block variable-width serial and plain quantifiers
|
|
289
|
+
cannot express that. The lookahead's class is serial-alphabet-only, so it
|
|
290
|
+
is invisible to a consumer deriving separator-free twins.
|
|
291
|
+
offensive_combinations:
|
|
292
|
+
statute: "§ 26 Abs. 8 KDV enumerates, for Wunschkennzeichen, the combinations that count as anstößig 'für sich allein oder in Kombination mit der Behördenbezeichnung' — National Socialist organisation abbreviations (DAF, HJ, KZ, NS, NSBO, NSD, NSDAP, NSFK, NSKK, NSV, SA, SS) and a long, dated list of far-right numeric and letter codes with their meanings given in the regulation itself."
|
|
293
|
+
modelled: false
|
|
294
|
+
modelled_note: >-
|
|
295
|
+
NOT encoded as a charset exclusion, deliberately. The list binds only
|
|
296
|
+
WUNSCHKENNZEICHEN, it is a refusal rule applied at assignment rather than a
|
|
297
|
+
grammar, and it interacts with the Behördenbezeichnung (so "BH" is
|
|
298
|
+
simultaneously the lawful military prefix and a forbidden Wunschkennzeichen
|
|
299
|
+
combination). Recorded as a fact of the jurisdiction; a validator that
|
|
300
|
+
rejected these strings outright would be wrong about existing plates.
|
|
301
|
+
source: "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 8 Z 1-2. Accessed 2026-08-02"
|
|
302
|
+
absent_classes:
|
|
303
|
+
export: "No export series. § 46 Abs. 1a KFG puts transfers 'aus dem Bundesgebiet in das Ausland' inside the green ÜBERSTELLUNGSKENNZEICHEN, which is modelled here as class temporary."
|
|
304
|
+
taxi: "No taxi series found in KFG §§ 48-49 or KDV § 26 / Anlagen 5d-5e."
|
|
305
|
+
seasonal: "No seasonal series — no Austrian analogue of the German Saisonkennzeichen was found."
|
|
306
|
+
agricultural: "No agricultural series; Zugmaschinen, Motorkarren and selbstfahrende Arbeitsmaschinen carry ordinary plates (§ 49 Abs. 6 Z 2 KFG governs only where they are mounted)."
|
|
307
|
+
moped_insurance: "Austria has no German-style Versicherungskennzeichen: mopeds are REGISTERED and carry a red MFT plate under the same § 26 grammar."
|
|
308
|
+
|
|
309
|
+
series:
|
|
310
|
+
|
|
311
|
+
# =========================================================================
|
|
312
|
+
# THE CURRENT STANDARD SERIES — GKT with the EU field.
|
|
313
|
+
# =========================================================================
|
|
314
|
+
- id: at-standard
|
|
315
|
+
class: standard
|
|
316
|
+
categories: [car, van, truck, bus, trailer]
|
|
317
|
+
period: { start: 2002 }
|
|
318
|
+
period_evidence: enacted-commencement
|
|
319
|
+
matching: strict
|
|
320
|
+
format:
|
|
321
|
+
pattern: "LL-999L"
|
|
322
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)\d{1,5}[A-Z]{1,3}\z'
|
|
323
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)[1-9]\d{0,4}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
324
|
+
charset:
|
|
325
|
+
letters_excluded: ["Q", "Ä", "Ö", "Ü"]
|
|
326
|
+
notes: >-
|
|
327
|
+
§ 26 Abs. 6 Z 4 KDV: "Es dürfen nur Großbuchstaben verwendet werden; die
|
|
328
|
+
Verwendung der Buchstaben Q, Ä, Ö und Ü ist unzulässig." Z 5 adds the two
|
|
329
|
+
positional rules regex_strict carries and `regex` cannot: no 0 first in
|
|
330
|
+
the digit block, and — for ordinary Vormerkzeichen only — no O first in
|
|
331
|
+
the letter block. Hence [1-9] and [A-NPR-Z] in the strict twin.
|
|
332
|
+
progression: >-
|
|
333
|
+
§ 26 Abs. 6 Z 2 KDV: the Vormerkzeichen is a DIGIT BLOCK followed by a
|
|
334
|
+
LETTER BLOCK ("mit einer Ziffer beginnen und mit einem Buchstaben enden",
|
|
335
|
+
"alle Buchstaben und alle Ziffern nur je in geschlossenen Blöcken"), with
|
|
336
|
+
one to three letters and at least one digit, four or five characters in
|
|
337
|
+
total — five or six for plates assigned in the Landeshauptstädte and in
|
|
338
|
+
Land Wien. The KDV publishes no allocation order inside those blocks.
|
|
339
|
+
length_note: >-
|
|
340
|
+
The regex's {4,6} is the UNION of the two sourced ranges (4-5 outside the
|
|
341
|
+
state capitals, 5-6 inside), because a series spans all 98 authorities and
|
|
342
|
+
the KDV attaches the wider range to the ASSIGNING AUTHORITY, not to the
|
|
343
|
+
code. A per-authority narrowing needs the Landeshauptstadt question
|
|
344
|
+
settled — see plates/_decode/at-districts.yml, landeshauptstadt_note.
|
|
345
|
+
separator_note: >-
|
|
346
|
+
The gap between the Behördenbezeichnung and the Vormerkzeichen is
|
|
347
|
+
physically occupied by the LAND COAT OF ARMS (§ 49 Abs. 4 KFG), not by a
|
|
348
|
+
printed glyph. § 26 Abs. 7 KDV supplies the textual rendering — a hyphen —
|
|
349
|
+
and expressly allows it to be dropped on the Begutachtungsplakette, which
|
|
350
|
+
is why the regex spells the position `[- ]?`.
|
|
351
|
+
design:
|
|
352
|
+
plate: { w: 520, h: 120, unit: mm }
|
|
353
|
+
plate_variants:
|
|
354
|
+
- { w: 300, h: 200, unit: mm, note: "Muster III, zweizeilig" }
|
|
355
|
+
- { w: 460, h: 120, unit: mm, note: "Muster IX, permitted as a FRONT plate for short Wunschkennzeichen and for capital-city plates of up to four Vormerkzeichen (§ 25d Abs. 6 KDV)" }
|
|
356
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec_note: "§ 49 Abs. 4 Z 1 KFG names the colour 'weiß'; Anlage 5e B.2.5.2 bounds it to the CIE quadrangle in common.colorimetry.weiss with a minimum luminance factor of 0.55" }
|
|
357
|
+
foreground: "#000000"
|
|
358
|
+
border: { top: "red-white-red", bottom: "red-white-red", note: "§ 49 Abs. 4 KFG: white Z-1 plates 'müssen an ihrer oberen und unteren Kante rot-weiß-rot gerandet sein'" }
|
|
359
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed, note: "the KFG describes a blue field with twelve yellow stars and no colour value; unlike Germany it does not cross-reference Reg. 2411/98" }
|
|
360
|
+
emblem: { present: true, rendered: placeholder, position: "between the Behördenbezeichnung and the Vormerkzeichen", content: "Wappen des Bundeslandes in which the assigning authority sits, with the Bundesland name in 4 or 5 mm block capitals beneath" }
|
|
361
|
+
rear_differs: false
|
|
362
|
+
display: "front and rear on Kraftwagen and on three-wheelers with a closed cabin-type body; rear only on the § 49 Abs. 6 Z 2 KFG list (mopeds, motorcycles, three-wheelers without a body, quadricycles with handlebar characteristics, light quadricycles, self-propelled machines up to 40 km/h, tractors, transport and motor karren, and trailers)"
|
|
363
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
364
|
+
region_encoding_mechanism: >-
|
|
365
|
+
§ 48 Abs. 4 KFG: one or two letters naming the AUTHORITY in whose local
|
|
366
|
+
area the vehicle is registered. Unlike Germany's, the list is inside the
|
|
367
|
+
regulation (KDV Anlage 5d, 98 rows) and is therefore fully authored in the
|
|
368
|
+
decode file. The split point is unambiguous for this series because the
|
|
369
|
+
Vormerkzeichen must begin with a digit — the prefix is exactly the leading
|
|
370
|
+
letter run. It is NOT unambiguous for at-wunschkennzeichen.
|
|
371
|
+
variants:
|
|
372
|
+
- class: standard
|
|
373
|
+
format: { pattern: "LL-999L" }
|
|
374
|
+
note: >-
|
|
375
|
+
WECHSELKENNZEICHEN (§ 48 Abs. 2 KFG). On application, TWO OR THREE
|
|
376
|
+
vehicles of the same applicant share a single Kennzeichen, provided they
|
|
377
|
+
fall in the same Obergruppe of § 3 Abs. 1 Z 1, 2 or 4 and plates of the
|
|
378
|
+
same format and design fit all of them; "das Wechselkennzeichen darf zur
|
|
379
|
+
selben Zeit nur auf einem der Fahrzeuge geführt werden". A variant, not a
|
|
380
|
+
series: the serial grammar and the design are unchanged. Note the
|
|
381
|
+
contrast with Germany, where the Wechselkennzeichen SPLITS the string
|
|
382
|
+
across two plate parts and the single-`pattern` schema cannot express it;
|
|
383
|
+
Austria simply issues the same plate.
|
|
384
|
+
sources:
|
|
385
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48 # § 48 Abs. 2: two or three vehicles, same Obergruppe, same plate format, one at a time. Accessed 2026-08-02"
|
|
386
|
+
- class: standard
|
|
387
|
+
format: { pattern: "LL-999L" }
|
|
388
|
+
note: >-
|
|
389
|
+
DECKKENNZEICHEN (§ 48 Abs. 1 and 1a KFG) — a SECOND, not-otherwise-assigned
|
|
390
|
+
Kennzeichen issued alongside the real one for vehicles of the
|
|
391
|
+
Bundespräsident and the named office-holders, of the public security
|
|
392
|
+
service, federal finance administration, prison service, armed forces and
|
|
393
|
+
finance-criminal authorities, and of foreign heads of mission. Security
|
|
394
|
+
and military-intelligence fleets may hold several per vehicle, and § 48
|
|
395
|
+
Abs. 1a permits reciprocal cover plates for foreign police and customs
|
|
396
|
+
vehicles under international agreement. Recorded because it is the one
|
|
397
|
+
Austrian plate that is DELIBERATELY indistinguishable from an ordinary
|
|
398
|
+
one — a fact a parse API's confidence model should know and can never
|
|
399
|
+
detect.
|
|
400
|
+
sources:
|
|
401
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48 # § 48 Abs. 1 Z 1-3, Abs. 1a, Abs. 1b. Accessed 2026-08-02"
|
|
402
|
+
sources:
|
|
403
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48 # § 48 Abs. 4: 'Die Kennzeichen müssen aus lateinischen Buchstaben und arabischen Ziffern bestehen. Das Kennzeichen muss mit einem oder zwei Buchstaben als Bezeichnung der Behörde ... beginnen.' Abs. 5: the delegation to Verordnung. Accessed 2026-08-02"
|
|
404
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 1 (Anlage 5d), Abs. 6 Z 2 (the ordinary serial grammar), Z 4-5 (charset), Abs. 7 (the hyphen). Accessed 2026-08-02"
|
|
405
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4: white/black, retroreflective, EU field, Land arms, red-white-red edging; Abs. 4a: the voluntary swap to an EU plate. Accessed 2026-08-02"
|
|
406
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # KDV Anlage 5e: GKT einzeilig = Muster I 520 x 120 mm, EU emblem +, weiß/schwarz, Wappen +, up to 6 Vormerkzeichen; GKT zweizeilig = Muster III 300 x 200 mm. Accessed 2026-08-02"
|
|
407
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49&FassungVom=2002-05-25 # the § 49 Fassung in force 25.05.2002-31.10.2002 — NO EU-field sentence. The pair of Fassungen is the period evidence. Accessed 2026-08-02"
|
|
408
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49&FassungVom=2002-11-01 # the § 49 Fassung in force from 01.11.2002 (BGBl. I Nr. 80/2002) — the EU-field sentence appears. Accessed 2026-08-02"
|
|
409
|
+
notes: >-
|
|
410
|
+
THE AUSTRIAN STANDARD SERIES. period.start 2002 is a REAL commencement, not
|
|
411
|
+
an instrument date: the EU field became mandatory on white plates on
|
|
412
|
+
1 November 2002 under BGBl. I Nr. 80/2002, and the two consolidated § 49
|
|
413
|
+
Fassungen either side of that date differ by exactly that sentence. The
|
|
414
|
+
FORMAT is older — the authority-letter frame dates from 1 January 1989 (see
|
|
415
|
+
at-standard-preeu) — which is why this entry and its predecessor share a
|
|
416
|
+
grammar and differ only in the blue field. § 49 Abs. 4a is the reason both
|
|
417
|
+
remain on the road: a keeper whose vehicle has no EU plate "hat die
|
|
418
|
+
Möglichkeit, die Ausfolgung solcher Kennzeichentafeln zu beantragen", and
|
|
419
|
+
may keep the existing Kennzeichen while doing so. Nothing in Austrian law
|
|
420
|
+
forces the swap, so pre-2002 white plates are lawful indefinitely and the
|
|
421
|
+
two series are genuinely parallel.
|
|
422
|
+
|
|
423
|
+
# =========================================================================
|
|
424
|
+
# ONE SERIES BACK — the white plate BEFORE the EU field, 1989-2002.
|
|
425
|
+
# =========================================================================
|
|
426
|
+
- id: at-standard-preeu
|
|
427
|
+
class: standard
|
|
428
|
+
categories: [car, van, truck, bus, trailer]
|
|
429
|
+
period: { start: 1989, end: 2002 }
|
|
430
|
+
period_evidence: enacted-commencement
|
|
431
|
+
matching: strict
|
|
432
|
+
format:
|
|
433
|
+
pattern: "LL-999L"
|
|
434
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)\d{1,5}[A-Z]{1,3}\z'
|
|
435
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)[1-9]\d{0,4}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
436
|
+
charset:
|
|
437
|
+
letters_excluded: ["Q", "Ä", "Ö", "Ü"]
|
|
438
|
+
notes: "as at-standard — but see the grammar caveat in notes: these charset rules are read from the CURRENT § 26 KDV, not from the version in force in 1989"
|
|
439
|
+
grammar_caveat: >-
|
|
440
|
+
THE 1989-2002 SERIAL GRAMMAR WAS NOT RE-DERIVED FROM THE KDV VERSION IN
|
|
441
|
+
FORCE THEN. RIS's consolidated § 26 KDV reaches back only to the Fassung
|
|
442
|
+
valid from 19.03.2004 (FassungVom=1997-01-01 returns HTTP 404), so the
|
|
443
|
+
regexes here are the CURRENT grammar applied backwards. What IS sourced
|
|
444
|
+
for 1989 is the statutory frame: BGBl. Nr. 375/1988 Art. I Z 31 replaced
|
|
445
|
+
§ 48 Abs. 4 KFG with the one-or-two-letter authority prefix followed by
|
|
446
|
+
"das Zeichen ..., unter dem das Fahrzeug bei der Behörde vorgemerkt ist",
|
|
447
|
+
and Art. V Abs. 4 lit. b commenced it on 1 January 1989. Recorded gap.
|
|
448
|
+
design:
|
|
449
|
+
plate: { w: 520, h: 120, unit: mm }
|
|
450
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
451
|
+
foreground: "#000000"
|
|
452
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
453
|
+
band: { side: none }
|
|
454
|
+
band_note: >-
|
|
455
|
+
THE DIFFERENCE THAT MAKES THIS A SERIES. § 49 Abs. 4 KFG in the Fassung
|
|
456
|
+
valid 25.05.2002-31.10.2002 contains no EU-field sentence at all; the
|
|
457
|
+
Fassung valid from 01.11.2002 does. Plates issued before that date carry
|
|
458
|
+
the red-white-red edging and the Land arms but no blue field, and remain
|
|
459
|
+
lawful — § 49 Abs. 4a makes the swap optional and never compulsory.
|
|
460
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes" }
|
|
461
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
462
|
+
sources:
|
|
463
|
+
- "https://www.ris.bka.gv.at/Dokumente/BgblPdf/1988_375_0/1988_375_0.pdf # BGBl. Nr. 375/1988 (11. KFG-Novelle), 138. Stück, ausgegeben am 15. Juli 1988. Art. I Z 31 rewrites § 48 Abs. 4 ('Kennzeichen muß mit einem oder zwei Buchstaben als Bezeichnung der Behörde, die den Zulassungsschein ausgestellt hat, beginnen'); Art. I Z 35 rewrites § 49 Abs. 4 (weiß/schwarz, rot-weiß-rot gerandet, Landeswappen); Art. V Abs. 4 lit. b commences both on 1 January 1989; Art. V Abs. 5 lets the Landeshauptmann stagger commencement per authority; Art. V Abs. 6 allows non-conforming stock 'bis längstens 31. Jänner 1990'. Accessed 2026-08-02"
|
|
464
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49&FassungVom=1990-07-28 # the earliest § 49 Fassung RIS holds (BGBl. Nr. 458/1990) — already white/black with the red-white-red edging and the Land arms, and with NO EU field. Accessed 2026-08-02"
|
|
465
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4a: the voluntary swap that keeps this series on the road. Accessed 2026-08-02"
|
|
466
|
+
notes: >-
|
|
467
|
+
THE PRE-EU WHITE PLATE, 1989-2002 — the one series back from the current
|
|
468
|
+
standard, and a design change rather than a format change. period.start is
|
|
469
|
+
the commencement date in BGBl. Nr. 375/1988 Art. V Abs. 4 lit. b; period.end
|
|
470
|
+
is the day the EU field became mandatory. ROLLOUT, stated because the
|
|
471
|
+
instrument states it: Art. V Abs. 5 empowered each Landeshauptmann to set
|
|
472
|
+
DIFFERENT commencement dates for the individual authorities in his area
|
|
473
|
+
(with the Wunschkennzeichen plate issue capped at 1 January 1990), so the
|
|
474
|
+
1989 date is a legal start, not a nationwide switchover. Distinct from
|
|
475
|
+
at-standard by the absent blue field, and from at-blackplate by everything
|
|
476
|
+
else.
|
|
477
|
+
|
|
478
|
+
# =========================================================================
|
|
479
|
+
# TWO SERIES BACK — the black plate of the original KFG 1967. Kept because
|
|
480
|
+
# the original Bundesgesetzblätter describe it verbatim and it is still
|
|
481
|
+
# seen on historic vehicles.
|
|
482
|
+
# =========================================================================
|
|
483
|
+
- id: at-blackplate
|
|
484
|
+
class: standard
|
|
485
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
486
|
+
period: { start: 1968, end: 1990 }
|
|
487
|
+
period_evidence: instrument-in-force
|
|
488
|
+
matching: strict
|
|
489
|
+
format:
|
|
490
|
+
pattern: "W-99999"
|
|
491
|
+
regex: '\A(?:ST|B|G|K|L|N|O|S|T|V|W)[- ]?\d{1,6}\z'
|
|
492
|
+
regex_strict: '\A(?:ST|B|G|K|L|N|O|S|T|V|W)[- ]?[1-9]\d{0,5}\z'
|
|
493
|
+
charset:
|
|
494
|
+
notes: >-
|
|
495
|
+
DIGITS ONLY after the letter. § 26 Abs. 5 KDV 1967 as originally enacted,
|
|
496
|
+
verbatim: "Als Vormerkzeichen, das sind die Zeichen, unter denen die
|
|
497
|
+
Fahrzeuge gemäß § 48 Abs. 4 letzter Satz des Kraftfahrgesetzes 1967 bei
|
|
498
|
+
der Behörde vorgemerkt sind, sind Zahlen zu verwenden." No digit-count
|
|
499
|
+
rule was found in either 1967 instrument; the {1,6} bound is this pass's
|
|
500
|
+
own and is flagged in notes. The no-leading-zero rule in regex_strict is
|
|
501
|
+
likewise carried back from the modern § 26 Abs. 6 Z 5 and is NOT sourced
|
|
502
|
+
for 1968 — treat regex_strict here as a hypothesis, not a claim.
|
|
503
|
+
prefix_note: >-
|
|
504
|
+
§ 26 Abs. 1 KDV 1967 as enacted gives the BUNDESLAND letters: "für das
|
|
505
|
+
Burgenland B, für Kärnten K, für Niederösterreich N, für Oberösterreich O,
|
|
506
|
+
für Salzburg S, für Steiermark St, für Tirol T, für Vorarlberg V, für
|
|
507
|
+
Wien W." Abs. 2 adds "Die Bezeichnung der Landeshauptstadt Graz hat im
|
|
508
|
+
Kennzeichen zu lauten G, die Bezeichnung der Landeshauptstadt Linz hat im
|
|
509
|
+
Kennzeichen zu lauten L." The instrument prints Steiermark as "St" in mixed
|
|
510
|
+
case; the dataset's serial alphabet is uppercase-only (PRD-PLATES §2.6), so
|
|
511
|
+
it is recorded as ST and the mixed-case printing is noted here.
|
|
512
|
+
structure_note: >-
|
|
513
|
+
§ 48 Abs. 4 KFG 1967 as enacted, verbatim: "Das Kennzeichen muß mit einem
|
|
514
|
+
Buchstaben als Bezeichnung des Bundeslandes ... beginnen und, außer bei
|
|
515
|
+
Kennzeichen für vorübergehend zugelassene Fahrzeuge, anschließend an die
|
|
516
|
+
Bezeichnung des Bundeslandes die Bezeichnung der Behörde, die den
|
|
517
|
+
Zulassungsschein ausgestellt hat, in arabischen Ziffern enthalten. Werden
|
|
518
|
+
jedoch Kennzeichen von Behörden zugewiesen, deren örtlicher
|
|
519
|
+
Wirkungsbereich den Bereich einer Landeshauptstadt oder von Wien umfaßt, so
|
|
520
|
+
kann anstelle der Bezeichnung des Bundeslandes und der Behörde die
|
|
521
|
+
Bezeichnung des Bundeslandes allein oder ein anderer Buchstabe treten." So
|
|
522
|
+
the digit run is NOT one field: its leading digits identified the district
|
|
523
|
+
authority and the rest was the vehicle's Vormerkzeichen — a decode
|
|
524
|
+
dimension inside the number, whose key was never published in the
|
|
525
|
+
instruments read here and is a recorded gap.
|
|
526
|
+
design:
|
|
527
|
+
plate: { w: null, h: null, unit: mm }
|
|
528
|
+
dimensions_note: "no dimensions were secured for the black plate: KDV Anlage 5e post-dates it and the 1967 instruments give none. Recorded gap."
|
|
529
|
+
background: { color: "#000000", finish: painted, hex_basis: observed }
|
|
530
|
+
foreground: "#FFFFFF"
|
|
531
|
+
band: { side: none }
|
|
532
|
+
emblem: { present: false }
|
|
533
|
+
border: { note: "§ 49 Abs. 4 KFG 1967: moped plates white-bordered, trailer plates (other than the Abs. 3 foreign-trailer plates) RED-bordered — the black era's only colour coding on an otherwise uniform plate" }
|
|
534
|
+
hologram: { note: "§ 49 Abs. 4 KFG 1967 already required the Hohlprägung with the Staatswappen and the maker's control number — the one design element that survived 1989 unchanged" }
|
|
535
|
+
region_encoding: none
|
|
536
|
+
region_encoding_note: >-
|
|
537
|
+
NOT decodable through plates/_decode/at-districts.yml. This series encodes
|
|
538
|
+
the BUNDESLAND in a letter and the authority in DIGITS; the modern table maps
|
|
539
|
+
1-2 LETTER codes to authorities and does not apply. A parse API must not
|
|
540
|
+
route a black-plate string through it.
|
|
541
|
+
sources:
|
|
542
|
+
- "https://www.ris.bka.gv.at/Dokumente/BgblPdf/1967_267_0/1967_267_0.pdf # KFG 1967 as enacted, BGBl. Nr. 267/1967. § 48 Abs. 4 (Bundesland letter + authority digits + Vormerkzeichen); § 49 Abs. 4, verbatim: 'Auf den Kennzeichentafeln muß das Kennzeichen in weißer Schrift eingepreßt sein. ... Der Grund der Kennzeichentafeln muß schwarz sein, jedoch bei Motorfahrrädern und bei Kennzeichentafeln gemäß Abs. 3 rot, bei Probefahrtkennzeichen und bei vorübergehend zugelassenen Fahrzeugen blau und bei Überstellungskennzeichen grün.'; § 135 Abs. 1 (in force 1 January 1968). Accessed 2026-08-02"
|
|
543
|
+
- "https://www.ris.bka.gv.at/Dokumente/BgblPdf/1967_399_0/1967_399_0.pdf # KDV 1967 as enacted, BGBl. Nr. 399/1967, 97. Stück, ausgegeben am 29. Dezember 1967. § 26 Abs. 1 (the nine Bundesland letters), Abs. 2 (G Graz, L Linz), Abs. 5 (Vormerkzeichen = Zahlen). Accessed 2026-08-02"
|
|
544
|
+
- "https://www.ris.bka.gv.at/Dokumente/BgblPdf/1988_375_0/1988_375_0.pdf # BGBl. Nr. 375/1988 Art. V Abs. 6: non-conforming plate stock usable 'bis längstens 31. Jänner 1990' — the last date a black plate could lawfully be assigned. Accessed 2026-08-02"
|
|
545
|
+
notes: >-
|
|
546
|
+
THE BLACK PLATE — white script on a black ground, no reflective sheeting
|
|
547
|
+
required except for the categories § 49 Abs. 4 KFG 1967 named, no coat of
|
|
548
|
+
arms, no band. period.start 1968 is INSTRUMENT-IN-FORCE and says so: § 135
|
|
549
|
+
Abs. 1 commenced KFG 1967 on 1 January 1968, but black plates long predate it
|
|
550
|
+
(the KFG 1955 regime was not fetched in this pass — recorded gap), so 1968 is
|
|
551
|
+
the date of the instrument that STATES the rule, not the date the design
|
|
552
|
+
began. period.end 1990 IS sourced: BGBl. Nr. 375/1988 Art. V Abs. 6 allowed
|
|
553
|
+
remaining non-conforming stock to be used up "bis längstens 31. Jänner 1990",
|
|
554
|
+
which is the last lawful ASSIGNMENT of a black plate; Art. VII Abs. 1 had
|
|
555
|
+
already limited interim re-assignment of "das bisherige Kennzeichen" to six
|
|
556
|
+
months. HOW LONG BLACK PLATES REMAINED VALID ON THE ROAD IS A RECORDED GAP:
|
|
557
|
+
§ 48 Abs. 5 KFG empowers a Verordnung to fix "der Zeitpunkt, bis zu dem die
|
|
558
|
+
bisher geführten Kennzeichen gegen Kennzeichen eines neu festgesetzten
|
|
559
|
+
Systems ausgetauscht sein müssen", and that Verordnung was not located. The
|
|
560
|
+
widely-repeated claim that Austrian plates were exchanged by a single 1990
|
|
561
|
+
deadline is therefore NOT asserted here. FOLKLORE FLAG: enthusiast sources
|
|
562
|
+
render these plates with a full stop grouping the digits ("W 123.456"); no
|
|
563
|
+
such glyph appears in § 48, § 49 or KDV § 26 as enacted, so it is not in the
|
|
564
|
+
pattern or the regex and would, if ever sourced from a physical spec, be a
|
|
565
|
+
`never_separator` question for plates/_meta/separators.yml rather than a data
|
|
566
|
+
entry.
|
|
567
|
+
|
|
568
|
+
# =========================================================================
|
|
569
|
+
# MOTORCYCLES — MRT, Muster VIII, and a date printed inside the KDV.
|
|
570
|
+
# =========================================================================
|
|
571
|
+
- id: at-motorcycle
|
|
572
|
+
class: motorcycle
|
|
573
|
+
categories: [motorcycle]
|
|
574
|
+
period: { start: 2005 }
|
|
575
|
+
period_evidence: enacted-commencement
|
|
576
|
+
matching: strict
|
|
577
|
+
format:
|
|
578
|
+
pattern: "LL-999L"
|
|
579
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)\d{1,5}[A-Z]{1,3}\z'
|
|
580
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)[1-9]\d{0,4}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
581
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"], notes: "§ 26 Abs. 6 Z 4 and Z 5 KDV, as at-standard" }
|
|
582
|
+
length_note: >-
|
|
583
|
+
Anlage 5e's MRT row gives "4 bis 6" Vormerkzeichen with the footnote
|
|
584
|
+
"Anzahl der Vormerkzeichen bei Nachbestellungen und Wunschkennzeichen bis
|
|
585
|
+
zu 6 Zeichen", and its field L/LI entry caps the normal case at four
|
|
586
|
+
characters. Four is therefore the ordinary motorcycle serial length and
|
|
587
|
+
five or six occur on reorders, Wunschkennzeichen and capital-city plates;
|
|
588
|
+
the regex carries the union.
|
|
589
|
+
fields_note: >-
|
|
590
|
+
A schema stressor, from Anlage 5e field L/LI: on a Muster VIII
|
|
591
|
+
Wunschkennzeichen with six Vormerkzeichen assigned in a Landeshauptstadt,
|
|
592
|
+
"die erste Stelle des Vormerkzeichens in der oberen Zeile nach dem Wappen
|
|
593
|
+
und die restlichen 5 Stellen des Vormerkzeichens in der unteren Zeile" —
|
|
594
|
+
the serial is SPLIT ACROSS TWO LINES at a position that depends on its
|
|
595
|
+
length. A single `pattern` string cannot express that; it is the same
|
|
596
|
+
pressure PRD-PLATES §2.2 records for Japan.
|
|
597
|
+
design:
|
|
598
|
+
plate: { w: 210, h: 170, unit: mm, note: "Muster VIII" }
|
|
599
|
+
plate_variants:
|
|
600
|
+
- { w: 520, h: 120, unit: mm, note: "Muster I — permitted for a motorcycle only where a single-line plate has been type-approved for that vehicle (§ 25d Abs. 3 KDV)" }
|
|
601
|
+
- { w: 250, h: 200, unit: mm, note: "Muster VII — the FORMER motorcycle plate, superseded for new issues on 1 April 2005; § 25d Abs. 3 gives its holders a right to swap to Muster VIII, optionally keeping the same Kennzeichen" }
|
|
602
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
603
|
+
foreground: "#000000"
|
|
604
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
605
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
606
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes" }
|
|
607
|
+
rear_differs: false
|
|
608
|
+
display: "rear only (§ 49 Abs. 6 Z 2 KFG). Front plates that were once fitted to three-wheelers without a body and to handlebar-steered quadricycles had to be surrendered to a Zulassungsstelle by 31 December 2007."
|
|
609
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
610
|
+
sources:
|
|
611
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=25d&FassungVom=2011-04-01 # § 25d Abs. 3 KDV in the Fassung valid from 01.04.2011, verbatim: 'Kennzeichentafeln für Motorräder werden ab 1. April 2005 nur mehr nach dem Muster VIII der Anlage 5e ausgegeben.' The current Fassung has dropped the date; this one preserves it. Accessed 2026-08-02"
|
|
612
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=25d # current § 25d Abs. 3 (Muster VIII default, Muster I where approved, the swap right) and Abs. 4 (three-wheelers without a body take Muster VIII). Accessed 2026-08-02"
|
|
613
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: MRT row (EU emblem +, weiß/schwarz, Wappen +, 4-6 Vormerkzeichen, Muster VII/VIII); KENNZEICHENFORMATE VIII = 210 x 170 mm, VII = 250 x 200 mm. Accessed 2026-08-02"
|
|
614
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4 (colours, EU field, arms) and Abs. 6 Z 2 (rear only). Accessed 2026-08-02"
|
|
615
|
+
notes: >-
|
|
616
|
+
MOTORCYCLE PLATES. period.start 2005 is a date PRINTED INSIDE THE
|
|
617
|
+
REGULATION — "ab 1. April 2005 nur mehr nach dem Muster VIII" — which
|
|
618
|
+
survives in the 2011 consolidated Fassung and was dropped from the current
|
|
619
|
+
one, a good argument for reading historical Fassungen rather than only
|
|
620
|
+
today's. The pre-2005 Muster VII plate is recorded as a plate_variant rather
|
|
621
|
+
than its own series because its serial grammar is identical and § 25d Abs. 3
|
|
622
|
+
keeps it lawful: a keeper "hat die Möglichkeit" to swap, never a duty. Muster
|
|
623
|
+
VII is now the two-line HISTORIC plate, so the same 250 x 200 mm blank serves
|
|
624
|
+
two eras and two classes — a fact a render pipeline must not collapse.
|
|
625
|
+
|
|
626
|
+
# =========================================================================
|
|
627
|
+
# MOPEDS — MFT. Red, no EU field, no coat of arms, and the smallest plate.
|
|
628
|
+
# =========================================================================
|
|
629
|
+
- id: at-moped
|
|
630
|
+
class: moped
|
|
631
|
+
categories: [moped]
|
|
632
|
+
period: { start: 1989 }
|
|
633
|
+
period_evidence: enacted-commencement
|
|
634
|
+
matching: strict
|
|
635
|
+
format:
|
|
636
|
+
pattern: "LL-99L"
|
|
637
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{3,5}\z)\d{1,4}[A-Z]{1,3}\z'
|
|
638
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{3,5}\z)[1-9]\d{0,3}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
639
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"], notes: "§ 26 Abs. 6 Z 4 and Z 5 KDV" }
|
|
640
|
+
length_note: >-
|
|
641
|
+
§ 26 Abs. 6 Z 2 lit. c KDV: "bei Kennzeichen für Motorfahrräder drei bis
|
|
642
|
+
vier Zeichen, bei den in den Landeshauptstädten und im Land Wien
|
|
643
|
+
zugewiesenen Kennzeichen drei bis fünf Zeichen". Anlage 5e's MFT row adds a
|
|
644
|
+
cap on the WHOLE string — "6 *)", with the footnote "Anzahl der Zeichen
|
|
645
|
+
insgesamt (Zulassungsbereich + Vormerkzeichen)" — the only place in the
|
|
646
|
+
Austrian system where prefix and serial are counted together, and the
|
|
647
|
+
reason a two-letter district cannot issue a five-character moped serial.
|
|
648
|
+
That interaction is recorded rather than encoded, because it depends on the
|
|
649
|
+
prefix's length and the regex quantifies the two independently.
|
|
650
|
+
separator_note: >-
|
|
651
|
+
CAVEAT. § 26 Abs. 7 KDV frames the hyphen as what is written "anstelle des
|
|
652
|
+
Landeswappens", and the moped plate has NO coat of arms (§ 49 Abs. 4 KFG
|
|
653
|
+
expressly excepts Motorfahrräder and vierrädrige Leichtkraftfahrzeuge). The
|
|
654
|
+
`[- ]?` position is therefore an ANALOGY here, not a quotation. Anlage 5e's
|
|
655
|
+
Muster VI splits the string across fields G (Behörde), H (first one or two
|
|
656
|
+
Vormerkzeichen) and K (last three) with no separator glyph at all.
|
|
657
|
+
design:
|
|
658
|
+
plate: { w: 150, h: 115, unit: mm, note: "Muster VI — the smallest Austrian plate" }
|
|
659
|
+
background: { color: "#CC0000", finish: retroreflective, hex_basis: observed, spec_note: "§ 49 Abs. 4 Z 2 KFG names the colour 'rot'; Anlage 5e B.2.5.2 bounds it to the CIE quadrangle in common.colorimetry.rot with a minimum luminance factor of 0.05. The hex is an approximate sRGB rendering of that region's centroid, not a value from the instrument." }
|
|
660
|
+
foreground: "#FFFFFF"
|
|
661
|
+
border: { color: "#FFFFFF", note: "§ 49 Abs. 4 KFG: 'Kennzeichentafeln für Motorfahrräder und vierrädrige Leichtkraftfahrzeuge müssen weiß ... umrandet sein' — white border, and no red-white-red edging" }
|
|
662
|
+
band: { side: none }
|
|
663
|
+
band_note: "Anlage 5e's MFT row records the EU emblem as absent, and § 49 Abs. 4 confines the blue field to white plates and to the Abs. 3 red trailer plates. A red Austrian plate WITHOUT a blue field is a moped; a red one WITH it is a foreign-trailer plate."
|
|
664
|
+
emblem: { present: false, note: "§ 49 Abs. 4 KFG excepts Motorfahrräder and vierrädrige Leichtkraftfahrzeuge from the Land arms" }
|
|
665
|
+
rear_differs: false
|
|
666
|
+
display: "rear only (§ 49 Abs. 6 Z 2 KFG)"
|
|
667
|
+
legibility: "§ 49 Abs. 4 KFG: characters legible at 40 m in daylight and clear weather, 'bei Motorfahrrädern und vierrädrigen Leichtkraftfahrzeugen auf mindestens 20 m' — the only class with a relaxed legibility distance"
|
|
668
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
669
|
+
sources:
|
|
670
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4 Z 2 (rot/weiß), the white border, the no-arms exception, the 20 m legibility rule; Abs. 6 Z 2 (rear only). Accessed 2026-08-02"
|
|
671
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 6 Z 2 lit. c: three to four characters, three to five in the Landeshauptstädte and Wien. Accessed 2026-08-02"
|
|
672
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: MFT row (EU emblem -, rot/weiß, Wappen -, 6 characters in total, Muster VI); KENNZEICHENFORMATE VI = 150 x 115 mm; A.2 fields G, H, K. Accessed 2026-08-02"
|
|
673
|
+
notes: >-
|
|
674
|
+
MOTORFAHRRAD- UND LEICHTKRAFTFAHRZEUG-KENNZEICHEN. Austria REGISTERS mopeds
|
|
675
|
+
and issues a proper Kennzeichen, so there is no analogue of the German
|
|
676
|
+
Versicherungskennzeichen with its annual colour cycle. period.start 1989 is
|
|
677
|
+
the commencement of the authority-letter format (BGBl. Nr. 375/1988 Art. V
|
|
678
|
+
Abs. 4 lit. b); the RED colour itself is much older and is already in § 49
|
|
679
|
+
Abs. 4 KFG 1967 as enacted, so this series inherits a colour from the black
|
|
680
|
+
era and a format from 1989. Class caveat: the same plate serves vierrädrige
|
|
681
|
+
Leichtkraftfahrzeuge (L6e quadricycles), which are not mopeds; `moped` is the
|
|
682
|
+
closest value in _meta/classes.yml and the wider scope is recorded here.
|
|
683
|
+
|
|
684
|
+
# =========================================================================
|
|
685
|
+
# ELECTRIC — green script on white. Austria's cleanly dated EV plate.
|
|
686
|
+
# =========================================================================
|
|
687
|
+
- id: at-electric
|
|
688
|
+
class: electric
|
|
689
|
+
categories: [car, van, truck, bus, motorcycle, moped]
|
|
690
|
+
period: { start: 2017 }
|
|
691
|
+
period_evidence: enacted-commencement
|
|
692
|
+
matching: strict
|
|
693
|
+
format:
|
|
694
|
+
pattern: "LL-999L"
|
|
695
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)\d{1,5}[A-Z]{1,3}\z'
|
|
696
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)[1-9]\d{0,4}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
697
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"], notes: "§ 26 Abs. 6 Z 4 and Z 5 KDV — the serial grammar is the ordinary one; only the colours change" }
|
|
698
|
+
design:
|
|
699
|
+
plate: { w: 520, h: 120, unit: mm }
|
|
700
|
+
plate_variants:
|
|
701
|
+
- { w: 300, h: 200, unit: mm, note: "Muster III" }
|
|
702
|
+
- { w: 210, h: 170, unit: mm, note: "Muster VIII, for class L vehicles taking a motorcycle plate" }
|
|
703
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
704
|
+
foreground: "#007A3D"
|
|
705
|
+
foreground_note: >-
|
|
706
|
+
§ 49 Abs. 4 Z 5 KFG, verbatim: "Kraftfahrzeuge der Klasse L, M1, M2, M3,
|
|
707
|
+
N1, N2 und N3 jeweils mit reinem Elektroantrieb oder mit
|
|
708
|
+
Wasserstoff-Brennstoffzellenantrieb — weiß / grün". The statute names the
|
|
709
|
+
colour without an RAL or RGB value and Anlage 5e's colorimetric table
|
|
710
|
+
bounds only the GROUND FOIL, not the script, so this hex is observed within
|
|
711
|
+
a named colour and has no spec behind it at all.
|
|
712
|
+
border: { color: "#007A3D", note: "§ 49 Abs. 4 KFG: Z-5 plates are GREEN-bordered, not red-white-red — 'Kennzeichentafeln ... solche gemäß Z 5 grün umrandet'" }
|
|
713
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed, note: "the EU field is present because the plate is white; § 49 Abs. 4 excepts only Z-5 plates FOR MOPEDS AND LIGHT QUADRICYCLES from it" }
|
|
714
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes" }
|
|
715
|
+
optionality:
|
|
716
|
+
note: >-
|
|
717
|
+
§ 49 Abs. 4b KFG makes the green plate BIDIRECTIONALLY optional: the keeper
|
|
718
|
+
of a Z-5 vehicle "hat die Möglichkeit, anstelle der Kennzeichentafel gemäß
|
|
719
|
+
Abs. 4 Z 5 eine herkömmliche Kennzeichentafel gemäß Abs. 4 Z 1 oder 2 zu
|
|
720
|
+
beantragen", and equally may apply for a Z-5 plate if none has been issued,
|
|
721
|
+
in which case a new Kennzeichen is assigned in principle but the existing
|
|
722
|
+
one may be kept on request. So an Austrian EV may lawfully wear a black-on-
|
|
723
|
+
white plate and a green-on-white plate is not a reliable EV detector in
|
|
724
|
+
either direction — a real caveat for any consumer inferring powertrain.
|
|
725
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
726
|
+
sources:
|
|
727
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49&FassungVom=2017-01-01 # the § 49 Fassung in force 01.01.2017-31.03.2017 — NO Z 5, no 'Elektroantrieb'. Accessed 2026-08-02"
|
|
728
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49&FassungVom=2017-04-01 # the § 49 Fassung in force from 01.04.2017 (BGBl. I Nr. 9/2017) — Z 5 appears. The pair of Fassungen is the period evidence. Accessed 2026-08-02"
|
|
729
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # current § 49 Abs. 4 Z 5 (weiß/grün), the green border rule, the EU-field exception for Z-5 moped plates, Abs. 4b (the two-way option). Accessed 2026-08-02"
|
|
730
|
+
notes: >-
|
|
731
|
+
DAS GRÜNE KENNZEICHEN. period.start 2017 is a REAL commencement: § 49 Abs. 4
|
|
732
|
+
Z 5 KFG is absent from the consolidated Fassung in force on 1 January 2017 and
|
|
733
|
+
present in the one in force from 1 April 2017 (BGBl. I Nr. 9/2017). SCHEMA
|
|
734
|
+
NOTE worth flagging for the L1 verifier: KDV Anlage 5e's Kennzeichenarten
|
|
735
|
+
table has NO ROW for the green plate — it still lists only GKT, HKT, DKT,
|
|
736
|
+
PKT, ÜKT, VZT, AAT, MFT and MRT — so the electric plate lives entirely in the
|
|
737
|
+
KFG's colour table and inherits its geometry from whichever Muster its vehicle
|
|
738
|
+
class would otherwise take. The regulation has not caught up with the statute;
|
|
739
|
+
that is the regulation's problem, and it is recorded rather than papered over.
|
|
740
|
+
|
|
741
|
+
# =========================================================================
|
|
742
|
+
# HISTORIC — HKT. Austria's oldtimer plate is a SHORT SERIAL, not a suffix.
|
|
743
|
+
# =========================================================================
|
|
744
|
+
- id: at-historic
|
|
745
|
+
class: historic
|
|
746
|
+
categories: [car, van, truck, bus, trailer]
|
|
747
|
+
period: { start: 2018 }
|
|
748
|
+
period_evidence: enacted-commencement
|
|
749
|
+
matching: strict
|
|
750
|
+
format:
|
|
751
|
+
pattern: "LL-99L"
|
|
752
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{3,4}\z)\d{1,3}[A-Z]{1,3}\z'
|
|
753
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{3,4}\z)[1-9]\d{0,2}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
754
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"], notes: "§ 26 Abs. 6 Z 4 and Z 5 KDV — the ordinary grammar, shortened" }
|
|
755
|
+
length_note: >-
|
|
756
|
+
§ 26 Abs. 6 Z 2 lit. b KDV, fourth indent: "bei einzeiligen
|
|
757
|
+
Kennzeichentafeln für historische Fahrzeuge nach dem Muster IX der Anlage
|
|
758
|
+
5e drei Zeichen, bei den in den Landeshauptstädten oder im Land Wien
|
|
759
|
+
zugewiesenen Kennzeichen drei oder vier". Anlage 5e's HKT row says the same
|
|
760
|
+
with the footnote "Anzahl der Vormerkzeichen bei den in den
|
|
761
|
+
Landeshauptstädten und Wien zugewiesenen Kennzeichen bis zu 4 Zeichen".
|
|
762
|
+
THREE characters, digits then letters, is the whole tell: no other Austrian
|
|
763
|
+
road series is that short.
|
|
764
|
+
design:
|
|
765
|
+
plate: { w: 460, h: 120, unit: mm, note: "Muster IX, einzeilig — 60 mm shorter than the ordinary single-line plate" }
|
|
766
|
+
plate_variants:
|
|
767
|
+
- { w: 250, h: 200, unit: mm, note: "Muster VII, zweizeilig — the same blank the pre-2005 motorcycle plate used" }
|
|
768
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
769
|
+
foreground: "#000000"
|
|
770
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
771
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
772
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes" }
|
|
773
|
+
optionality:
|
|
774
|
+
note: >-
|
|
775
|
+
§ 25d Abs. 5 KDV second sentence: "Der Zulassungsbesitzer eines
|
|
776
|
+
historischen Fahrzeuges hat die Möglichkeit, anstelle der Kennzeichentafel
|
|
777
|
+
nach dem Muster IX oder VII eine Kennzeichentafel nach dem in der Anlage 5e
|
|
778
|
+
für die jeweilige Fahrzeugart vorgesehenen Muster zu beantragen." A historic
|
|
779
|
+
vehicle may therefore carry an ordinary plate, so the short plate is
|
|
780
|
+
sufficient but not necessary evidence of historic status.
|
|
781
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
782
|
+
sources:
|
|
783
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=25d&FassungVom=2018-04-01 # § 25d Abs. 5 KDV first appears in the Fassung in force from 01.04.2018: 'Kennzeichentafeln für historische Fahrzeuge (Kraftwagen und Anhänger) sind nach dem Muster IX (einzeilige Kennzeichentafel) oder nach dem Muster VII (zweizeilige Kennzeichentafel) der Anlage 5e zu gestalten.' Accessed 2026-08-02"
|
|
784
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=25d&FassungVom=2011-04-01 # the § 25d Fassung in force 01.04.2011-31.03.2018 has NO historic-vehicle provision — the pair of Fassungen is the period evidence. Accessed 2026-08-02"
|
|
785
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 6 Z 2 lit. b, fourth indent: three characters, three or four in the capitals. Accessed 2026-08-02"
|
|
786
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: HKT einzeilig/zweizeilig rows (EU emblem +, weiß/schwarz, Wappen +, 3 Vormerkzeichen); KENNZEICHENFORMATE IX = 460 x 120 mm, VII = 250 x 200 mm. Accessed 2026-08-02"
|
|
787
|
+
notes: >-
|
|
788
|
+
HISTORISCHES KENNZEICHEN. Nothing like the German H-suffix or the Dutch dark
|
|
789
|
+
blue plate: Austria signals historic status by SHORTENING THE SERIAL and the
|
|
790
|
+
PLATE, keeping the ordinary colours, and taking 60 mm off the single-line
|
|
791
|
+
blank. period.start 2018 is a REAL commencement — § 25d Abs. 5 KDV is absent
|
|
792
|
+
from the Fassung in force 01.04.2011-31.03.2018 and present in the Fassung
|
|
793
|
+
from 01.04.2018. TWO RECORDED GAPS: (1) the definition of "historisches
|
|
794
|
+
Fahrzeug" lives in § 2 Abs. 1 KFG, which was not fetched in this pass, so no
|
|
795
|
+
age threshold is asserted here and the widely-repeated "30 years" is NOT
|
|
796
|
+
claimed; (2) § 25d Abs. 5 names only "Kraftwagen und Anhänger", so whether a
|
|
797
|
+
historic MOTORCYCLE can take an HKT plate is unresolved and the categories
|
|
798
|
+
list follows the regulation's wording rather than expectation.
|
|
799
|
+
|
|
800
|
+
# =========================================================================
|
|
801
|
+
# DIPLOMATIC AND CONSULAR — the Land letter plus D or K, and no coat of arms.
|
|
802
|
+
# =========================================================================
|
|
803
|
+
- id: at-diplomatic
|
|
804
|
+
class: diplomatic
|
|
805
|
+
categories: [car, van, motorcycle]
|
|
806
|
+
period: { start: 2002 }
|
|
807
|
+
period_evidence: enacted-commencement
|
|
808
|
+
matching: strict
|
|
809
|
+
format:
|
|
810
|
+
pattern: "WD-99999"
|
|
811
|
+
regex: '\A(?:STD|BD|GD|KD|ND|OD|SD|TD|VD|WD)[- ]?(?=[A-Z0-9]{1,5}\z)\d{1,5}[A-Z]{0,4}\z'
|
|
812
|
+
regex_strict: '\A(?:STD|BD|GD|KD|ND|OD|SD|TD|VD|WD)[- ]?(?=[A-Z0-9]{1,5}\z)[1-9]\d{0,4}[A-PR-Z]{0,4}\z'
|
|
813
|
+
charset:
|
|
814
|
+
letters_excluded: ["Q", "Ä", "Ö", "Ü"]
|
|
815
|
+
notes: >-
|
|
816
|
+
§ 26 Abs. 6 Z 1 lit. c KDV, verbatim: the Vormerkzeichen of Abs. 5
|
|
817
|
+
vehicles "dürfen außer Ziffern auch Buchstaben enthalten. Sie müssen aber
|
|
818
|
+
jedenfalls mit einer Ziffer beginnen und dürfen alle Ziffern und alle
|
|
819
|
+
Buchstaben nur in geschlossenen Blöcken enthalten; das Verwenden von
|
|
820
|
+
Buchstaben abwechselnd mit Ziffern ist unzulässig." NOTE THE PRECISION
|
|
821
|
+
POINT: Z 5's no-leading-O rule is expressly limited to "Vormerkzeichen
|
|
822
|
+
gemäß Z 2", so it does NOT bind here and regex_strict excludes only Q.
|
|
823
|
+
The no-leading-zero rule in the same Ziffer is unrestricted and does bind.
|
|
824
|
+
length_note: "Anlage 5e's DKT row caps the Vormerkzeichen at 5; § 26 Abs. 6 gives Abs. 5 vehicles no count of their own, so 5 is the only sourced bound."
|
|
825
|
+
prefix_note: >-
|
|
826
|
+
DERIVED, and flagged as derived. § 26 Abs. 5 KDV says to use "die Buchstaben
|
|
827
|
+
gemäß Abs. 3" — the Land letters B, K, N, O, S, ST, T, V, W — except for
|
|
828
|
+
vehicles based in Graz, where "die Bezeichnung der Behörde gemäß Anlage 5d"
|
|
829
|
+
(G) is used instead; and that "diesen folgt ... der Buchstabe D". The ten
|
|
830
|
+
alternatives in the regex are that rule applied; the KDV never prints them
|
|
831
|
+
as a list. STD is the only three-letter prefix the Austrian system produces,
|
|
832
|
+
and the Graz exception exists precisely because ST is already two letters.
|
|
833
|
+
design:
|
|
834
|
+
plate: { w: 520, h: 120, unit: mm, note: "Muster I" }
|
|
835
|
+
plate_variants:
|
|
836
|
+
- { w: 300, h: 200, unit: mm, note: "Muster III" }
|
|
837
|
+
- { w: 250, h: 200, unit: mm, note: "Muster VII" }
|
|
838
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
839
|
+
foreground: "#000000"
|
|
840
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
841
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
842
|
+
emblem: { present: false, note: "§ 49 Abs. 4 KFG: the Land-arms requirement 'gilt nicht für Fahrzeuge gemäß § 54 Abs. 3 und Abs. 3a lit. a und b' — Anlage 5e's DKT row records the Wappen as absent" }
|
|
843
|
+
cd_sign: >-
|
|
844
|
+
SEPARATE FROM THE PLATE. § 54 Abs. 3c KFG: the signs "CD" and "CC" "müssen
|
|
845
|
+
in der bei Kennzeichentafeln üblichen Art am Fahrzeug angebracht sein. Das
|
|
846
|
+
Recht, diese Zeichen zu führen, ist in den Zulassungsschein einzutragen."
|
|
847
|
+
They are plate-like badges alongside the Kennzeichen, not part of it, and are
|
|
848
|
+
therefore not in the pattern.
|
|
849
|
+
region_encoding: inline
|
|
850
|
+
region_encoding_note: "prefix decode in plates/_decode/at-districts.yml, diplomatic_consular block; the mission-identifying allocation inside the Vormerkzeichen is not published in the KDV and is NOT authored (PRD-PLATES puts diplomatic decode tables at L4)"
|
|
851
|
+
sources:
|
|
852
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 5 lit. a: the D letter, its beneficiary definition (Legitimationskarte for the diplomatic corps in Vienna, for officials of international organisations in Austria with equivalent status, and for members of diplomatic rank of permanent missions), the Graz exception, and the security caveat 'sofern nicht aus Sicherheitsgründen die Zuweisung eines Kennzeichens gemäß Abs. 6 (Vormerkzeichen) erforderlich ist'; Abs. 6 Z 1 lit. c the serial grammar. Accessed 2026-08-02"
|
|
853
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=54 # § 54 Abs. 3 lit. a-c (who may display CD), Abs. 3b (household family members), Abs. 3c (how the sign is affixed and recorded). Accessed 2026-08-02"
|
|
854
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4: the no-arms exception for § 54 Abs. 3 vehicles; the EU field on white plates. Accessed 2026-08-02"
|
|
855
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: Diplomat (DKT) row — EU emblem +, weiß/schwarz, Wappen -, 5 Vormerkzeichen, Muster I/III/VII. Accessed 2026-08-02"
|
|
856
|
+
notes: >-
|
|
857
|
+
AUSTRIAN DIPLOMATIC PLATES. Like Germany and unlike Spain, Austria keeps the
|
|
858
|
+
ordinary black-on-white design and signals status through the PREFIX plus one
|
|
859
|
+
structural cue — the missing coat of arms, which leaves a visible gap where
|
|
860
|
+
every other white Austrian plate carries arms. Vienna's concentration of
|
|
861
|
+
international organisations makes WD overwhelmingly the populated prefix.
|
|
862
|
+
COLLISION WARNING a parse API must carry: ND, SD and GD are simultaneously
|
|
863
|
+
Anlage 5d district codes (Neusiedl am See, Schärding, Gmünd) and BD is
|
|
864
|
+
simultaneously the Bundesbus sachlicher Bereich. The tie-break is the serial,
|
|
865
|
+
not the prefix — an ordinary Vormerkzeichen must END WITH A LETTER (§ 26
|
|
866
|
+
Abs. 6 Z 2 lit. e), a diplomatic one need not — and where a diplomatic serial
|
|
867
|
+
does carry a trailing letter block the string is genuinely ambiguous.
|
|
868
|
+
period.start 2002 is the EU-field commencement, since the DKT is a white
|
|
869
|
+
plate; the D letter itself is far older and is already in § 26 Abs. 4 lit. a
|
|
870
|
+
of the KDV as enacted in 1967.
|
|
871
|
+
|
|
872
|
+
- id: at-consular
|
|
873
|
+
class: consular
|
|
874
|
+
categories: [car, van, motorcycle]
|
|
875
|
+
period: { start: 2002 }
|
|
876
|
+
period_evidence: enacted-commencement
|
|
877
|
+
matching: strict
|
|
878
|
+
format:
|
|
879
|
+
pattern: "WK-99999"
|
|
880
|
+
regex: '\A(?:STK|BK|GK|KK|NK|OK|SK|TK|VK|WK)[- ]?(?=[A-Z0-9]{1,5}\z)\d{1,5}[A-Z]{0,4}\z'
|
|
881
|
+
regex_strict: '\A(?:STK|BK|GK|KK|NK|OK|SK|TK|VK|WK)[- ]?(?=[A-Z0-9]{1,5}\z)[1-9]\d{0,4}[A-PR-Z]{0,4}\z'
|
|
882
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"], notes: "§ 26 Abs. 6 Z 1 lit. c KDV, as at-diplomatic; the Z 5 no-leading-O rule does not bind Abs. 5 Vormerkzeichen" }
|
|
883
|
+
prefix_note: "derived from § 26 Abs. 5 lit. b the same way at-diplomatic's is, with K in place of D"
|
|
884
|
+
design:
|
|
885
|
+
plate: { w: 520, h: 120, unit: mm, note: "Muster I" }
|
|
886
|
+
plate_variants:
|
|
887
|
+
- { w: 300, h: 200, unit: mm, note: "Muster III" }
|
|
888
|
+
- { w: 250, h: 200, unit: mm, note: "Muster VII" }
|
|
889
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
890
|
+
foreground: "#000000"
|
|
891
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
892
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
893
|
+
emblem: { present: false, note: "§ 49 Abs. 4 KFG excepts § 54 Abs. 3a lit. a und b vehicles from the Land arms — but NOT lit. c" }
|
|
894
|
+
region_encoding: inline
|
|
895
|
+
region_encoding_note: "prefix decode in plates/_decode/at-districts.yml, diplomatic_consular block"
|
|
896
|
+
sources:
|
|
897
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 5 lit. b: the K letter for holders of a Legitimationskarte for the Konsularkorps in Österreich, excluding Austrian nationals and stateless persons ordinarily resident in Austria before their appointment. Accessed 2026-08-02"
|
|
898
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=54 # § 54 Abs. 3a lit. a (career consular posts' service vehicles), lit. b (foreign career consuls), lit. c (heads of honorary consular posts — 'Diese Berechtigung gilt jedoch nur für jeweils ein Kraftfahrzeug eines Leiters einer honorarkonsularischen Vertretungsbehörde'). Accessed 2026-08-02"
|
|
899
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: the DKT row covers the consular plate too — the annex has no separate consular row. Accessed 2026-08-02"
|
|
900
|
+
notes: >-
|
|
901
|
+
AUSTRIAN CONSULAR PLATES. A DRAFTING ASYMMETRY WORTH THE VERIFIER'S TIME:
|
|
902
|
+
§ 49 Abs. 4 KFG removes the Land arms for "§ 54 Abs. 3 und Abs. 3a lit. a und
|
|
903
|
+
b" vehicles, and § 26 Abs. 5 KDV assigns the K letter to the same population
|
|
904
|
+
— but § 54 Abs. 3a lit. c (the single car of a head of an HONORARY consular
|
|
905
|
+
post) is inside the CC entitlement and outside both. On the face of the
|
|
906
|
+
instruments an honorary consul's car may display CC while carrying an ordinary
|
|
907
|
+
district plate WITH arms. That reading is not corroborated by any second
|
|
908
|
+
primary and is recorded as an open question, not asserted. COLLISIONS: NK and
|
|
909
|
+
VK are simultaneously the district codes for Neunkirchen and Völkermarkt.
|
|
910
|
+
|
|
911
|
+
# =========================================================================
|
|
912
|
+
# WUNSCHKENNZEICHEN — the inverted serial, and a personal right.
|
|
913
|
+
# =========================================================================
|
|
914
|
+
- id: at-wunschkennzeichen
|
|
915
|
+
class: personalized
|
|
916
|
+
categories: [car, van, truck, bus, motorcycle, moped, trailer]
|
|
917
|
+
period: { start: 1989 }
|
|
918
|
+
period_evidence: enacted-commencement
|
|
919
|
+
binding: owner
|
|
920
|
+
matching: strict
|
|
921
|
+
format:
|
|
922
|
+
pattern: "LL-LLL99"
|
|
923
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{3,6}\z)[A-Z]{1,5}\d{1,5}\z'
|
|
924
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{3,6}\z)[A-PR-Z]{1,5}[1-9]\d{0,4}\z'
|
|
925
|
+
charset:
|
|
926
|
+
letters_excluded: ["Q", "Ä", "Ö", "Ü"]
|
|
927
|
+
notes: >-
|
|
928
|
+
§ 26 Abs. 6 Z 4 KDV binds here as everywhere. Z 5's SECOND sentence does
|
|
929
|
+
NOT: the no-leading-O rule is expressly confined to "Vormerkzeichen gemäß
|
|
930
|
+
Z 2", so a Wunschkennzeichen may begin with O. Its FIRST sentence — no 0
|
|
931
|
+
first in the digit block — is unrestricted and is carried in regex_strict.
|
|
932
|
+
progression: >-
|
|
933
|
+
§ 26 Abs. 6 Z 3 KDV inverts the ordinary shape: lit. d "mindestens einen
|
|
934
|
+
Buchstaben und mindestens eine Ziffer enthalten", lit. e "mit einem
|
|
935
|
+
Buchstaben beginnen und mit einer Ziffer enden", lit. f the same closed-block
|
|
936
|
+
rule. LETTERS THEN DIGITS. Note that Z 3 does NOT repeat Z 2 lit. d's
|
|
937
|
+
one-to-three-letter cap, so a Wunschkennzeichen may carry up to five letters
|
|
938
|
+
within its length budget — which is why the regex quantifies [A-Z]{1,5}.
|
|
939
|
+
length_note: >-
|
|
940
|
+
§ 26 Abs. 6 Z 3 lit. a: "mindestens drei und können bis zu fünf Zeichen, bei
|
|
941
|
+
den in den Landeshauptstädten und im Land Wien ... bis zu sechs Zeichen";
|
|
942
|
+
lit. b narrows it for two-line plates and Probefahrtkennzeichen (3-5, 3-6 in
|
|
943
|
+
the capitals), for Überstellungskennzeichen (3-4, 3-5) and for temporarily
|
|
944
|
+
registered vehicles (4); lit. c for mopeds (3-4, 3-5). The regex carries the
|
|
945
|
+
union {3,6}.
|
|
946
|
+
ambiguity_note: >-
|
|
947
|
+
THE ONE PLACE THE AUSTRIAN PREFIX IS NOT SELF-DELIMITING. Because a
|
|
948
|
+
Wunschkennzeichen's Vormerkzeichen begins with a letter, the boundary
|
|
949
|
+
between the Behördenbezeichnung and the serial cannot be recovered from the
|
|
950
|
+
string: "BZAB1" is both B (Bregenz) + ZAB1 and BZ (Bludenz) + AB1. Record the
|
|
951
|
+
ambiguity in the parse output; do not resolve it by preference.
|
|
952
|
+
design:
|
|
953
|
+
plate: { w: 520, h: 120, unit: mm }
|
|
954
|
+
plate_variants:
|
|
955
|
+
- { w: 460, h: 120, unit: mm, note: "Muster IX — § 25d Abs. 6 KDV: 'Bei kurzen Wunschkennzeichen mit bis zu drei, in den Landeshauptstädten und Wien zugewiesenen Kennzeichen mit bis zu vier Vormerkzeichen können auf Antrag auch vordere Kennzeichentafeln nach dem Muster IX (Format 460 x 120 mm) ausgegeben werden' — a FRONT-ONLY variant, and the one place Austrian law makes front and rear plates differ" }
|
|
956
|
+
- { w: 300, h: 200, unit: mm, note: "Muster III" }
|
|
957
|
+
- { w: 210, h: 170, unit: mm, note: "Muster VIII, motorcycles" }
|
|
958
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
959
|
+
foreground: "#000000"
|
|
960
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
961
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
962
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes" }
|
|
963
|
+
rear_differs: true
|
|
964
|
+
rear_differs_note: "true ONLY for the § 25d Abs. 6 short-Wunschkennzeichen case, where a 460 x 120 mm Muster IX plate may be issued for the FRONT while the rear keeps the ordinary blank"
|
|
965
|
+
validity:
|
|
966
|
+
years: 15
|
|
967
|
+
note: >-
|
|
968
|
+
§ 48a Abs. 8 KFG: "Das Recht zur Führung eines Wunschkennzeichens erlischt
|
|
969
|
+
spätestens nach Ablauf von 15 Jahren ab dem Tag der ersten Zuweisung, im Fall
|
|
970
|
+
vorangegangener Reservierung ab Bekanntgabe der Reservierung." Unused
|
|
971
|
+
reservations lapse after five years. Abs. 8a allows a 15-year renewal applied
|
|
972
|
+
for at most six months before expiry against the 200 EUR
|
|
973
|
+
Verkehrssicherheitsbeitrag; Abs. 8b requires plates with a lapsed
|
|
974
|
+
Wunschkennzeichen to be surrendered and a Standardkennzeichen assigned.
|
|
975
|
+
DEREGISTERING THE VEHICLE DOES NOT END THE RIGHT: "Eine Abmeldung des
|
|
976
|
+
Fahrzeuges mit dem Wunschkennzeichen oder eine Aufhebung der Zulassung
|
|
977
|
+
innerhalb des 15-jährigen Zeitraumes lässt das Recht auf Führung des
|
|
978
|
+
Wunschkennzeichens unberührt."
|
|
979
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
980
|
+
sources:
|
|
981
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48a # § 48a: Abs. 1 (the non-authority part may be freely chosen), Abs. 2 lit. a-d (form set by Verordnung, not already assigned or reserved, not reserved for a special-use class, not ridiculous or offensive alone or in combination with the authority code), Abs. 3-4 (200 EUR levy + 14 EUR administration fee), Abs. 7 ('ein höchstpersönliches Recht, das nicht auf andere Personen übertragbar ist ... auf den Wirkungsbereich der Behörde beschränkt'), Abs. 7a (early surrender), Abs. 8/8a/8b (15 years, renewal, lapse). Accessed 2026-08-02"
|
|
982
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 6 Z 3 (the inverted grammar and the length table), Z 4-5 (charset), Abs. 8 (the enumerated offensive combinations). Accessed 2026-08-02"
|
|
983
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=25d # § 25d Abs. 6: the 460 x 120 mm front plate for short Wunschkennzeichen. Accessed 2026-08-02"
|
|
984
|
+
- "https://www.ris.bka.gv.at/Dokumente/BgblPdf/1988_375_0/1988_375_0.pdf # BGBl. Nr. 375/1988 Art. I Z 33 inserts § 48a with the 15-year rule already in it; Art. V Abs. 4 lit. b commences it on 1 January 1989; Art. V Abs. 5 caps the plate-issue commencement for Wunschkennzeichen at 1 January 1990. Accessed 2026-08-02"
|
|
985
|
+
notes: >-
|
|
986
|
+
WUNSCHKENNZEICHEN — and the reason `binding: owner` sits on this series while
|
|
987
|
+
the file default is `binding: vehicle`. § 48a Abs. 7 makes it "ein
|
|
988
|
+
höchstpersönliches Recht", untransferable between persons and confined to the
|
|
989
|
+
issuing authority's area, and Abs. 8 keeps it alive for fifteen years across
|
|
990
|
+
deregistrations. It is a Swiss-style owner binding hiding inside a
|
|
991
|
+
vehicle-bound system, and a vehicle-keyed consumer that joins on it will be
|
|
992
|
+
wrong the moment the keeper changes cars. period.start 1989 is the
|
|
993
|
+
commencement of § 48a itself. The design is that of whichever ordinary plate
|
|
994
|
+
the vehicle would otherwise take, which is why this series overlaps
|
|
995
|
+
at-standard in appearance and is separated from it only by the inverted
|
|
996
|
+
serial — the one thing you can see.
|
|
997
|
+
|
|
998
|
+
# =========================================================================
|
|
999
|
+
# DEALER — Probefahrtkennzeichen (PKT). Blue, no EU field, bound to a
|
|
1000
|
+
# BEWILLIGUNG rather than to a vehicle.
|
|
1001
|
+
# =========================================================================
|
|
1002
|
+
- id: at-dealer-probefahrt
|
|
1003
|
+
class: dealer
|
|
1004
|
+
categories: [car, van, truck, bus, motorcycle, moped, trailer]
|
|
1005
|
+
period: { start: 1989 }
|
|
1006
|
+
period_evidence: enacted-commencement
|
|
1007
|
+
binding: business
|
|
1008
|
+
matching: strict
|
|
1009
|
+
format:
|
|
1010
|
+
pattern: "LL-999L"
|
|
1011
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)\d{1,5}[A-Z]{1,3}\z'
|
|
1012
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,6}\z)[1-9]\d{0,4}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
1013
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"], notes: "§ 26 Abs. 6 Z 4 and Z 5 KDV — the ordinary Z 2 grammar, including the no-leading-O rule" }
|
|
1014
|
+
length_note: "§ 26 Abs. 6 Z 2 lit. b, first indent: Probefahrtkennzeichen carry four or five characters, four to six for plates assigned in the Landeshauptstädte and Land Wien. Anlage 5e's PKT row caps them at 5."
|
|
1015
|
+
series_separation_note: >-
|
|
1016
|
+
§ 48 Abs. 5 KFG, last sentence, verbatim: "Für zugelassene Fahrzeuge, für
|
|
1017
|
+
vorübergehend zugelassene Fahrzeuge, für Überstellungsfahrten und für
|
|
1018
|
+
Probefahrten dürfen nicht dieselben Kennzeichenserien festgesetzt werden."
|
|
1019
|
+
The four populations are drawn from DISJOINT serial ranges. That is a real,
|
|
1020
|
+
sourced disambiguation rule and it is exactly what a parse API would want —
|
|
1021
|
+
but the ranges themselves are not published in the KFG or the KDV, so it
|
|
1022
|
+
cannot be encoded. The overlapping regexes in this file are the honest
|
|
1023
|
+
consequence, and closing that gap is the single highest-value follow-up for
|
|
1024
|
+
Austria. The same sentence also forbids sharing series between Kraftwagen,
|
|
1025
|
+
Krafträder and Motorfahrräder.
|
|
1026
|
+
design:
|
|
1027
|
+
plate: { w: 520, h: 120, unit: mm, note: "Muster Ia" }
|
|
1028
|
+
plate_variants:
|
|
1029
|
+
- { w: 270, h: 200, unit: mm, note: "Muster IIIa, zweizeilig" }
|
|
1030
|
+
- { w: 210, h: 170, unit: mm, note: "§ 25d Abs. 3a KDV: motorcycle Probefahrt plates 'können nach dem Muster IIIa oder nach Maßgabe des Musters VIII der Anlage 5e ohne EU-Emblem ausgestaltet sein'" }
|
|
1031
|
+
background: { color: "#0057A8", finish: retroreflective, hex_basis: observed, spec_note: "§ 49 Abs. 4 Z 3 KFG names the colour 'blau'; Anlage 5e B.2.5.2 bounds it to the CIE quadrangle in common.colorimetry.blau with a minimum luminance factor of 0.10. The hex is an approximate sRGB rendering of that region's centroid." }
|
|
1032
|
+
foreground: "#FFFFFF"
|
|
1033
|
+
band: { side: none }
|
|
1034
|
+
band_note: "Anlage 5e's PKT row records the EU emblem as absent, and § 49 Abs. 4 confines the blue field to white plates and to the Abs. 3 red plates. A blue Austrian plate never carries it."
|
|
1035
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes, executed for PKT as a retroreflective self-adhesive foil with translucent screen printing (Anlage 5e A.2.2) rather than the thermally bonded plaque used on GKT and MRT" }
|
|
1036
|
+
attachment: "§ 49 Abs. 7 KFG: Probefahrt plates need not be permanently fixed — they 'dürfen jedoch ... auch behelfsmäßig mit dem Fahrzeug verbunden sein'"
|
|
1037
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
1038
|
+
sources:
|
|
1039
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48 # § 48 Abs. 3: on granting a Probefahrt permission, one or more Probefahrtkennzeichen are assigned on application, for Kraftwagen, Krafträder, Motorfahrräder only, Anhänger or all vehicle types; 'Ein mit einer Bewilligung zugewiesenes Probefahrtkennzeichen darf erst nach Erlöschen dieser Bewilligung mit einer anderen Bewilligung zugewiesen werden.' Abs. 5 last sentence: disjoint series. Accessed 2026-08-02"
|
|
1040
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=45 # § 45 Abs. 1: Probefahrten with unregistered vehicles need the permission of the authority for the place from which the applicant mainly disposes of the plates; the definition covers roadworthiness/performance testing, demonstration, business transfers, and collection by the buyer. Accessed 2026-08-02"
|
|
1041
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4 Z 3 (blau/weiß), Abs. 6 (a Probefahrt plate may be fitted in addition to the vehicle's own), Abs. 7 (behelfsmäßig attachment). Accessed 2026-08-02"
|
|
1042
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: Probe (PKT) row — EU emblem -, blau/weiß, Wappen +, 5 Vormerkzeichen, Muster Ia/IIIa; KENNZEICHENFORMATE Ia = 520 x 120 mm, IIIa = 270 x 200 mm; 'Für PKT Muster VI: Untergrund der Tafel blau.' Accessed 2026-08-02"
|
|
1043
|
+
notes: >-
|
|
1044
|
+
PROBEFAHRTKENNZEICHEN — the Austrian trade plate, blue with white script.
|
|
1045
|
+
BINDING NOTE: like the German rotes Kennzeichen and for the same reason, this
|
|
1046
|
+
plate binds to a BEWILLIGUNG held by a business, not to a vehicle, and moves
|
|
1047
|
+
between vehicles; a vehicle-keyed consumer must not join on it. § 49 Abs. 6
|
|
1048
|
+
makes the point visible in law — during a Probefahrt the trade plate may be
|
|
1049
|
+
fitted IN ADDITION to plates the vehicle already carries, which is the one
|
|
1050
|
+
Austrian case where a vehicle lawfully displays two Kennzeichen at once.
|
|
1051
|
+
period.start 1989 is the format commencement; the blue colour is already in
|
|
1052
|
+
§ 49 Abs. 4 KFG 1967 as enacted.
|
|
1053
|
+
|
|
1054
|
+
# =========================================================================
|
|
1055
|
+
# TEMPORARY (1) — Überstellungskennzeichen (ÜKT). Green, and Austria's
|
|
1056
|
+
# export plate in all but name.
|
|
1057
|
+
# =========================================================================
|
|
1058
|
+
- id: at-temporary-ueberstellung
|
|
1059
|
+
class: temporary
|
|
1060
|
+
categories: [car, van, truck, bus, motorcycle, moped, trailer]
|
|
1061
|
+
period: { start: 1989 }
|
|
1062
|
+
period_evidence: enacted-commencement
|
|
1063
|
+
matching: strict
|
|
1064
|
+
format:
|
|
1065
|
+
pattern: "LL-999L"
|
|
1066
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,5}\z)\d{1,4}[A-Z]{1,3}\z'
|
|
1067
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4,5}\z)[1-9]\d{0,3}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
1068
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"], notes: "§ 26 Abs. 6 Z 4 and Z 5 KDV — the ordinary Z 2 grammar" }
|
|
1069
|
+
length_note: "§ 26 Abs. 6 Z 2 lit. b, second indent: 'Überstellungskennzeichen vier Zeichen, bei den in den Landeshauptstädten und im Land Wien zugewiesenen Kennzeichen vier oder fünf Zeichen'. Four is the base case; the regex carries the union {4,5}."
|
|
1070
|
+
fields_note: >-
|
|
1071
|
+
THE EXPIRY IS A FIELD, NOT PART OF THE SERIAL. Anlage 5e A.2.3, verbatim:
|
|
1072
|
+
"Auf den Kennzeichentafeln für Überstellungskennzeichen ist der Aufdruck
|
|
1073
|
+
'gültig bis' bzw. 'valid until' anzubringen und Raum für die aufzuklebende
|
|
1074
|
+
Etikette freizulassen; diese ist mit dem Ablaufdatum zu lochen." The date is
|
|
1075
|
+
a PUNCHED, water-marked, retroreflective self-adhesive label — not printed
|
|
1076
|
+
characters — which is why no pattern string can carry it. The bilingual
|
|
1077
|
+
legend is the only English on any Austrian plate, and it says what this
|
|
1078
|
+
plate is for.
|
|
1079
|
+
design:
|
|
1080
|
+
plate: { w: 520, h: 120, unit: mm, note: "Muster IV" }
|
|
1081
|
+
plate_variants:
|
|
1082
|
+
- { w: 270, h: 200, unit: mm, note: "Muster V, zweizeilig" }
|
|
1083
|
+
background: { color: "#007A3D", finish: retroreflective, hex_basis: observed, spec_note: "§ 49 Abs. 4 Z 4 KFG names the colour 'grün'; Anlage 5e B.2.5.2 bounds it to the CIE quadrangle in common.colorimetry.gruen with a minimum luminance factor of 0.15. The hex is an approximate sRGB rendering of that region's centroid." }
|
|
1084
|
+
foreground: "#FFFFFF"
|
|
1085
|
+
band: { side: none }
|
|
1086
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes, retroreflective self-adhesive execution (Anlage 5e A.2.2)" }
|
|
1087
|
+
extra_field: { position: "field F on Muster IV/V", content: "the 'gültig bis / valid until' legend and the punched Ablaufvignette" }
|
|
1088
|
+
attachment: "§ 49 Abs. 7 KFG: may be attached behelfsmäßig"
|
|
1089
|
+
validity:
|
|
1090
|
+
max_weeks: 3
|
|
1091
|
+
note: >-
|
|
1092
|
+
§ 46 Abs. 2 KFG: "Die Bewilligung ist für die beantragte Dauer, höchstens
|
|
1093
|
+
jedoch für drei Wochen zu erteilen." The plate is issued only against a
|
|
1094
|
+
cost-covering usage fee AND a security deposit, refundable if the plate is
|
|
1095
|
+
returned within a year of issue (§ 49 Abs. 1) — the only Austrian plate with
|
|
1096
|
+
a deposit, and the compensating control for an untethered plate.
|
|
1097
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
1098
|
+
sources:
|
|
1099
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=46 # § 46 Abs. 1 (unregistered vehicles, vehicles whose plates are lost, and Wechselkennzeichen vehicles), Abs. 1a (domestic transfers and transfers 'aus dem Bundesgebiet in das Ausland', with the § 57a evidence requirements), Abs. 1b (inbound transfers require AEO certification), Abs. 2 (insurance confirmation; 'Diese Kennzeichen sind Überstellungskennzeichen (§ 48 Abs. 1) und dürfen nur bei Überstellungsfahrten geführt werden'; three-week cap), Abs. 4 (Überstellungsfahrtschein), Abs. 5 (surrender). Accessed 2026-08-02"
|
|
1100
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 1 (usage fee + security deposit, refundable within a year), Abs. 4 Z 4 (grün/weiß), Abs. 7 (behelfsmäßig attachment). Accessed 2026-08-02"
|
|
1101
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: Überstellung (ÜKT) row — EU emblem -, grün/weiß, Wappen +, 5 Vormerkzeichen, Muster IV/V; A.2 field F 'Bei ÜKT Ablaufplakette'; A.2.3 Ablaufvignette. Accessed 2026-08-02"
|
|
1102
|
+
notes: >-
|
|
1103
|
+
ÜBERSTELLUNGSKENNZEICHEN — green with white script, and AUSTRIA'S EXPORT PLATE
|
|
1104
|
+
IN ALL BUT NAME. _meta/classes.yml has an `export` value and Austria has no
|
|
1105
|
+
export series; § 46 Abs. 1a instead routes permanent removal abroad through
|
|
1106
|
+
this permission, alongside purely domestic transfers, so the class here is
|
|
1107
|
+
`temporary` and the export function is recorded rather than mis-classed.
|
|
1108
|
+
Distinct from at-temporary-vorlaeufig, which is blue with a red year field and
|
|
1109
|
+
belongs to a vehicle that IS registered, if provisionally: the green plate is
|
|
1110
|
+
granted to a PERSON for a journey and is surrendered when the entitlement
|
|
1111
|
+
lapses.
|
|
1112
|
+
|
|
1113
|
+
# =========================================================================
|
|
1114
|
+
# TEMPORARY (2) — vorübergehende Zulassung (VZT). Blue with a red year
|
|
1115
|
+
# field, and the only Austrian plate that states its own expiry in figures.
|
|
1116
|
+
# =========================================================================
|
|
1117
|
+
- id: at-temporary-vorlaeufig
|
|
1118
|
+
class: temporary
|
|
1119
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
1120
|
+
period: { start: 1989 }
|
|
1121
|
+
period_evidence: enacted-commencement
|
|
1122
|
+
matching: strict
|
|
1123
|
+
format:
|
|
1124
|
+
pattern: "LL-999L"
|
|
1125
|
+
regex: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4}\z)\d{1,3}[A-Z]{1,3}\z'
|
|
1126
|
+
regex_strict: '\A[A-Z]{1,2}[- ]?(?=[A-Z0-9]{4}\z)[1-9]\d{0,2}[A-NPR-Z][A-PR-Z]{0,2}\z'
|
|
1127
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"], notes: "§ 26 Abs. 6 Z 4 and Z 5 KDV — the ordinary Z 2 grammar" }
|
|
1128
|
+
length_note: "§ 26 Abs. 6 Z 2 lit. b, third indent: 'Kennzeichen für vorübergehend zugelassene Fahrzeuge vier Zeichen' — exactly four, with no capital-city widening. The tightest length rule in the Austrian system, and the reason this regex has a fixed {4} lookahead."
|
|
1129
|
+
fields_note: >-
|
|
1130
|
+
THE EXPIRY YEAR IS A FIELD, AND IT IS PRINTED. § 49 Abs. 4 KFG, verbatim:
|
|
1131
|
+
"Auf Kennzeichentafeln für vorübergehend zugelassene Fahrzeuge müssen auf
|
|
1132
|
+
einem roten Streifen am rechten Rand der Tafel in weißer Schrift die zwei
|
|
1133
|
+
letzten Ziffern der Jahreszahl des Kalenderjahres angegeben sein, in dem die
|
|
1134
|
+
Zulassung erlischt." Two digits, white on red, at the right edge — outside
|
|
1135
|
+
the serial and outside the pattern. NOTE THE 1967 CONTRAST: the same
|
|
1136
|
+
sentence in the KFG as enacted named the year "in dem das Kennzeichen
|
|
1137
|
+
zugewiesen wurde" — the year of ASSIGNMENT, not of EXPIRY. The meaning of
|
|
1138
|
+
the two digits changed at some point between 1967 and 1990, and pinning that
|
|
1139
|
+
amendment is a recorded gap; a decoder of an old photograph must not assume
|
|
1140
|
+
today's reading.
|
|
1141
|
+
design:
|
|
1142
|
+
plate: { w: 520, h: 120, unit: mm, note: "Muster IV" }
|
|
1143
|
+
plate_variants:
|
|
1144
|
+
- { w: 270, h: 200, unit: mm, note: "Muster V, zweizeilig" }
|
|
1145
|
+
background: { color: "#0057A8", finish: retroreflective, hex_basis: observed, spec_note: "Anlage 5e's VZT row gives the ground as 'blau/rot' — the blue field with the red year insert; § 49 Abs. 4 Z 3 KFG names only 'blau'. CIE bounds in common.colorimetry.blau and .rot." }
|
|
1146
|
+
foreground: "#FFFFFF"
|
|
1147
|
+
band: { side: none }
|
|
1148
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes, retroreflective self-adhesive execution" }
|
|
1149
|
+
extra_field:
|
|
1150
|
+
position: right
|
|
1151
|
+
content: "the last two digits of the calendar year in which the registration expires"
|
|
1152
|
+
background: { color: "#CC0000" }
|
|
1153
|
+
foreground: "#FFFFFF"
|
|
1154
|
+
note: "Anlage 5e A.1: 'Der rote Einsatz für die Jahreszahlen am rechten Rand kann auch soweit verkleinert werden, dass er sich innerhalb des geprägten Randes befindet und der geprägte Rand ausgespart wird.' For a Muster VI (moped-size) VZT plate: 'Untergrund der Tafel blau mit roten Feld mit Angabe der letzten zwei Ziffern der Jahreszahl des Kalenderjahres in dem die Zulassung erlischt.'"
|
|
1155
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
1156
|
+
sources:
|
|
1157
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4 Z 3 (blau/weiß for temporarily registered vehicles) and the red year-stripe sentence. Accessed 2026-08-02"
|
|
1158
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 6 Z 2 lit. b, third indent: exactly four characters. Accessed 2026-08-02"
|
|
1159
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: Vorübergehende Zulassung (VZT) row — EU emblem -, blau/rot, weiß script, Wappen +, 4 Vormerkzeichen, Muster IV/V; A.1 the shrinkable red insert; A.2 field F. Accessed 2026-08-02"
|
|
1160
|
+
- "https://www.ris.bka.gv.at/Dokumente/BgblPdf/1967_267_0/1967_267_0.pdf # KFG 1967 as enacted, § 49 Abs. 4: the same red stripe already existed but carried the year 'in dem das Kennzeichen zugewiesen wurde'. Accessed 2026-08-02"
|
|
1161
|
+
notes: >-
|
|
1162
|
+
KENNZEICHEN FÜR VORÜBERGEHEND ZUGELASSENE FAHRZEUGE — blue with a red
|
|
1163
|
+
two-digit year at the right edge. Distinct from at-temporary-ueberstellung in
|
|
1164
|
+
colour, in field content (a printed year versus a punched label), in serial
|
|
1165
|
+
length (exactly four versus four-or-five) and in legal nature: this plate
|
|
1166
|
+
belongs to a vehicle that has a registration with an end date, while the green
|
|
1167
|
+
plate belongs to a person with a three-week permission. Both are class
|
|
1168
|
+
`temporary` because _meta/classes.yml has one value for both ideas, and the
|
|
1169
|
+
difference is stated here rather than lost. period.start 1989 is the format
|
|
1170
|
+
commencement; the blue colour and the red year stripe both go back to § 49
|
|
1171
|
+
Abs. 4 KFG 1967 as enacted.
|
|
1172
|
+
|
|
1173
|
+
# =========================================================================
|
|
1174
|
+
# FOREIGN AND CARRIER TRAILERS — AAT. Red, EU-banded, and RECALL-ONLY: it
|
|
1175
|
+
# repeats the towing vehicle's own Kennzeichen.
|
|
1176
|
+
# =========================================================================
|
|
1177
|
+
- id: at-trailer-foreign
|
|
1178
|
+
class: trailer
|
|
1179
|
+
categories: [trailer]
|
|
1180
|
+
period: { start: 2002 }
|
|
1181
|
+
period_evidence: enacted-commencement
|
|
1182
|
+
# RECALL-ONLY (PRD-PLATES §2.7): § 49 Abs. 3 KFG issues these plates "mit
|
|
1183
|
+
# dessen Kennzeichen" — the TOWING VEHICLE's registration — so the regex is
|
|
1184
|
+
# the union of the ordinary and the Wunschkennzeichen shapes. A match says
|
|
1185
|
+
# only that the string has a shape Austria issues; it is not a claim that
|
|
1186
|
+
# the string is a valid carrier-plate registration.
|
|
1187
|
+
matching: recall-only
|
|
1188
|
+
format:
|
|
1189
|
+
pattern: "LL-999L"
|
|
1190
|
+
regex: '\A[A-Z]{1,2}[- ]?(?:(?=[A-Z0-9]{4,6}\z)\d{1,5}[A-Z]{1,3}|(?=[A-Z0-9]{3,6}\z)[A-Z]{1,5}\d{1,5})\z'
|
|
1191
|
+
pattern_note: >-
|
|
1192
|
+
The pattern shown is ONE representative shape (the ordinary serial). This
|
|
1193
|
+
series has no format of its own: the plate carries whatever Kennzeichen the
|
|
1194
|
+
towing vehicle already holds, so any ordinary or Wunschkennzeichen shape may
|
|
1195
|
+
appear on it and the regex is the union of the two.
|
|
1196
|
+
charset: { letters_excluded: ["Q", "Ä", "Ö", "Ü"] }
|
|
1197
|
+
design:
|
|
1198
|
+
plate: { w: 520, h: 120, unit: mm, note: "Muster I" }
|
|
1199
|
+
plate_variants:
|
|
1200
|
+
- { w: 300, h: 200, unit: mm, note: "Muster III" }
|
|
1201
|
+
background: { color: "#CC0000", finish: retroreflective, hex_basis: observed, spec_note: "§ 49 Abs. 4 Z 2 KFG puts 'Anhänger gemäß Abs. 3' in the rot/weiß row; CIE bounds in common.colorimetry.rot" }
|
|
1202
|
+
foreground: "#FFFFFF"
|
|
1203
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed, note: "§ 49 Abs. 4 KFG extends the EU field to 'roten Kennzeichentafeln gemäß Abs. 3' — the one non-white Austrian plate that carries it" }
|
|
1204
|
+
border: { note: "Anlage 5e's AAT row: 'Muster I, III, jedoch ohne rot-weiß-roten Randstreifen' — the ordinary blanks WITHOUT the red-white-red edging, because the ground is already red" }
|
|
1205
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes, retroreflective self-adhesive execution" }
|
|
1206
|
+
attachment: "§ 49 Abs. 7 KFG: may be attached behelfsmäßig"
|
|
1207
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
1208
|
+
region_encoding_note: "the prefix decodes to the authority that registered the TOWING VEHICLE, not the trailer — the trailer may be foreign or unregistered altogether"
|
|
1209
|
+
sources:
|
|
1210
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 3 Z 1-3, verbatim scope: trailers with a FOREIGN registration to be towed by an Austrian-registered vehicle (§ 83) where the applicant shows inbound transport business; unregistered trailers to be towed abroad; and 'auf der Anhängekupplung des Kraftfahrzeuges montierte Lastenträger, am Fahrzeugheck montierte abnehmbare Ladekräne oder auf der Rückseite von Omnibussen montierte Schikörbe'. Abs. 4 Z 2 (rot/weiß) and the EU-field extension. Abs. 8: where a towbar-mounted bicycle carrier hides the rear plate, the driver must display either the rear plate or 'eine rote Kennzeichentafel mit dem Kennzeichen des Zugfahrzeuges'. Accessed 2026-08-02"
|
|
1211
|
+
- "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40267389/NOR40267389.html # Anlage 5e: Ausländische Anhänger (AAT) row — EU emblem +, rot/weiß, Wappen +, 6 Vormerkzeichen, 'Muster I, III, jedoch ohne rot-weiß-roten Randstreifen'. Accessed 2026-08-02"
|
|
1212
|
+
notes: >-
|
|
1213
|
+
THE RED CARRIER PLATE. Austria's answer to a problem most jurisdictions leave
|
|
1214
|
+
unsolved: a bike rack, a rear-mounted crane or a ski basket that hides the
|
|
1215
|
+
rear plate gets its own RED plate bearing the towing vehicle's registration
|
|
1216
|
+
(§ 49 Abs. 3 Z 3 and Abs. 8), and the same plate type serves foreign trailers
|
|
1217
|
+
and trailers being towed abroad. It is the only red Austrian plate with an EU
|
|
1218
|
+
band — the moped plate is red without one — and the only plate the regulation
|
|
1219
|
+
strips of the red-white-red edging, sensibly, since the ground is already red.
|
|
1220
|
+
RECALL-ONLY and marked so: the regex is a union of the two Austrian serial
|
|
1221
|
+
grammars because § 49 Abs. 3 makes the plate carry an EXISTING registration,
|
|
1222
|
+
exactly the nl-export case.
|
|
1223
|
+
|
|
1224
|
+
# =========================================================================
|
|
1225
|
+
# OFFICIAL SERIES — § 26 Abs. 2-4 KDV. Digits-only Vormerkzeichen.
|
|
1226
|
+
# =========================================================================
|
|
1227
|
+
- id: at-government
|
|
1228
|
+
class: government
|
|
1229
|
+
categories: [car, van, truck, bus, motorcycle]
|
|
1230
|
+
period: { start: 2002 }
|
|
1231
|
+
period_evidence: enacted-commencement
|
|
1232
|
+
matching: strict
|
|
1233
|
+
format:
|
|
1234
|
+
pattern: "A-999999"
|
|
1235
|
+
regex: '\A(?:ST|A|B|K|N|O|S|T|V|W|FV|PT|BD|JW)[- ]?\d{1,6}\z'
|
|
1236
|
+
regex_strict: '\A(?:ST|A|B|K|N|O|S|T|V|W|FV|PT|BD|JW)[- ]?[1-9]\d{0,5}\z'
|
|
1237
|
+
charset:
|
|
1238
|
+
notes: >-
|
|
1239
|
+
DIGITS ONLY. § 26 Abs. 6 Z 1 lit. a KDV: the Vormerkzeichen of vehicles
|
|
1240
|
+
under Abs. 2 to 4 — except the fire brigade — "dürfen nur Ziffern
|
|
1241
|
+
enthalten". No letters at all, so the Z 2 shape rules do not apply and the
|
|
1242
|
+
no-leading-zero rule of Z 5 is the only charset constraint left.
|
|
1243
|
+
length_note: >-
|
|
1244
|
+
THE SIX-DIGIT BOUND IS AN INFERENCE, and is flagged as one. § 26 Abs. 6
|
|
1245
|
+
Z 1 lit. a gives these Vormerkzeichen no length rule at all, and Z 2's
|
|
1246
|
+
counts apply expressly to "die nicht unter Abs. 2 bis 5 fallenden
|
|
1247
|
+
Fahrzeuge". Anlage 5e has no row for official plates either — they are
|
|
1248
|
+
ordinary GKT blanks with a different prefix, and the GKT row caps
|
|
1249
|
+
Vormerkzeichen at six. That is where {1,6} comes from. Contrast Germany,
|
|
1250
|
+
where § 9 Abs. 1 Satz 7 FZV states the six-digit cap in terms.
|
|
1251
|
+
prefix_note: >-
|
|
1252
|
+
§ 26 Abs. 2: the letter A for vehicles of the Bundespräsident, the
|
|
1253
|
+
Presidents of the Nationalrat and Bundesrat, members of the Bundesregierung,
|
|
1254
|
+
Staatssekretäre, the Volksanwaltschaft, and the Presidents or Vice-Presidents
|
|
1255
|
+
of the Rechnungshof, Verfassungsgerichtshof, Verwaltungsgerichtshof and
|
|
1256
|
+
Oberster Gerichtshof. § 26 Abs. 3: the nine Land letters B, K, N, O, S, ST,
|
|
1257
|
+
T, V, W for vehicles of Landtag Presidents, Landesregierung members and
|
|
1258
|
+
Landesvolksanwaltschaften. § 26 Abs. 4: FV Finanzverwaltung, PT Post, BD
|
|
1259
|
+
Bundesbusdienst, JW Justizwache. BP and BH are carried by at-police and
|
|
1260
|
+
at-military; FW by at-government-fire.
|
|
1261
|
+
design:
|
|
1262
|
+
plate: { w: 520, h: 120, unit: mm }
|
|
1263
|
+
plate_variants:
|
|
1264
|
+
- { w: 300, h: 200, unit: mm, note: "Muster III" }
|
|
1265
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
1266
|
+
foreground: "#000000"
|
|
1267
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
1268
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
1269
|
+
emblem:
|
|
1270
|
+
present: true
|
|
1271
|
+
rendered: placeholder
|
|
1272
|
+
content: "Wappen des Bundeslandes as a rule; the BUNDESWAPPEN replaces it 'bei den in § 40 Abs. 1 lit. a angeführten Fahrzeugen' (§ 49 Abs. 4 KFG)"
|
|
1273
|
+
note: >-
|
|
1274
|
+
RECORDED GAP: § 40 Abs. 1 lit. a KFG was NOT fetched in this pass (the RIS
|
|
1275
|
+
request for § 40 timed out repeatedly), so which vehicles take the federal
|
|
1276
|
+
arms rather than a Land's is not established here. It is reasonable to
|
|
1277
|
+
expect the A-prefixed federal fleet to be inside that provision; that
|
|
1278
|
+
expectation is NOT asserted as sourced.
|
|
1279
|
+
region_encoding: inline
|
|
1280
|
+
region_encoding_note: >-
|
|
1281
|
+
NOT geographic. The Land letters here denote the ORGAN (a Landtag President's
|
|
1282
|
+
car), not the place of registration, and A and the sachliche Bereiche denote
|
|
1283
|
+
no place at all. Decode via plates/_decode/at-districts.yml's
|
|
1284
|
+
federal_letter, land_letters and sachliche_bereiche blocks — never via its
|
|
1285
|
+
`codes` table.
|
|
1286
|
+
sources:
|
|
1287
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 2 (A), Abs. 3 (the nine Land letters, verbatim list), Abs. 4 lit. c/e/f/h (FV, PT, BD, JW; lit. b repealed by BGBl. II Nr. 275/2007, lit. d by BGBl. II Nr. 376/2002), Abs. 6 Z 1 lit. a (digits only). Accessed 2026-08-02"
|
|
1288
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48 # § 48 Abs. 4: 'bei Fahrzeugen, die zur Verwendung im Bereiche des öffentlichen Sicherheitsdienstes, der Bundesfinanzverwaltung, der Strafvollzugsverwaltung, der Post oder für die Feuerwehr bestimmt sind, sowie bei Heeresfahrzeugen ... an Stelle der Bezeichnung der Behörde die Bezeichnung des sachlichen Bereiches zu enthalten'. Accessed 2026-08-02"
|
|
1289
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4: the Bundeswappen substitution for § 40 Abs. 1 lit. a vehicles. Accessed 2026-08-02"
|
|
1290
|
+
notes: >-
|
|
1291
|
+
THE AUSTRIAN OFFICIAL SERIES — one entry for § 26 Abs. 2 to 4 because they
|
|
1292
|
+
share one grammar (digits only) and one design (an ordinary white plate). TWO
|
|
1293
|
+
COLLISIONS a parse API must carry, both real: B, K, S, T, V, W and ST are
|
|
1294
|
+
simultaneously Land ORGAN letters here and, for the first six, Anlage 5d
|
|
1295
|
+
DISTRICT codes; and BD is simultaneously the Bundesbus code and the Burgenland
|
|
1296
|
+
diplomatic prefix. Both resolve on the serial — an ordinary district plate's
|
|
1297
|
+
Vormerkzeichen must end with a letter and these are digits-only — and neither
|
|
1298
|
+
resolves on the prefix. N and O appear ONLY here: no Austrian district code is
|
|
1299
|
+
N or O. period.start 2002 is the EU-field commencement, since these are white
|
|
1300
|
+
plates; the letters themselves are as old as the KDV.
|
|
1301
|
+
|
|
1302
|
+
- id: at-police
|
|
1303
|
+
class: police
|
|
1304
|
+
categories: [car, van, truck, bus, motorcycle]
|
|
1305
|
+
period: { start: 2002 }
|
|
1306
|
+
period_evidence: enacted-commencement
|
|
1307
|
+
matching: strict
|
|
1308
|
+
format:
|
|
1309
|
+
pattern: "BP-999999"
|
|
1310
|
+
regex: '\ABP[- ]?\d{1,6}\z'
|
|
1311
|
+
regex_strict: '\ABP[- ]?[1-9]\d{0,5}\z'
|
|
1312
|
+
charset: { notes: "digits only (§ 26 Abs. 6 Z 1 lit. a KDV); the {1,6} bound is the same inference recorded on at-government" }
|
|
1313
|
+
design:
|
|
1314
|
+
plate: { w: 520, h: 120, unit: mm }
|
|
1315
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
1316
|
+
foreground: "#000000"
|
|
1317
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
1318
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
1319
|
+
emblem: { present: true, rendered: placeholder, content: "Wappen des Bundeslandes or, per § 49 Abs. 4 KFG, the Bundeswappen where § 40 Abs. 1 lit. a applies — see the gap recorded on at-government" }
|
|
1320
|
+
region_encoding: none
|
|
1321
|
+
sources:
|
|
1322
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 4 lit. a: 'für Fahrzeuge, die zur Verwendung im Bereich der Bundespolizei bestimmt sind, BP'; Abs. 6 Z 1 lit. a. Accessed 2026-08-02"
|
|
1323
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48 # § 48 Abs. 1 Z 2 and Abs. 1a: security-service vehicles may additionally hold one or more DECKKENNZEICHEN, which look like ordinary plates. Accessed 2026-08-02"
|
|
1324
|
+
notes: >-
|
|
1325
|
+
BUNDESPOLIZEI. Its own series rather than a variant of at-government because
|
|
1326
|
+
_meta/classes.yml separates `police` from `government` and the KDV gives it its
|
|
1327
|
+
own lit. a. Note § 26 Abs. 4 lit. b, the Zollwache code, was REPEALED by
|
|
1328
|
+
BGBl. II Nr. 275/2007 and lit. d by BGBl. II Nr. 376/2002 — repealed codes are
|
|
1329
|
+
not authored here and are a recorded gap for L4, because a plate whose code has
|
|
1330
|
+
been repealed stays on the road exactly as in Germany. The one thing this
|
|
1331
|
+
series cannot tell you: § 48 Abs. 1 lets security fleets carry several
|
|
1332
|
+
Deckkennzeichen, so an unmarked police car deliberately does not read as BP.
|
|
1333
|
+
|
|
1334
|
+
- id: at-military
|
|
1335
|
+
class: military
|
|
1336
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
1337
|
+
period: { start: 2002 }
|
|
1338
|
+
period_evidence: enacted-commencement
|
|
1339
|
+
matching: strict
|
|
1340
|
+
format:
|
|
1341
|
+
pattern: "BH-999999"
|
|
1342
|
+
regex: '\ABH[- ]?\d{1,6}\z'
|
|
1343
|
+
regex_strict: '\ABH[- ]?[1-9]\d{0,5}\z'
|
|
1344
|
+
charset: { notes: "digits only (§ 26 Abs. 6 Z 1 lit. a KDV); the {1,6} bound is the same inference recorded on at-government" }
|
|
1345
|
+
design:
|
|
1346
|
+
plate: { w: 520, h: 120, unit: mm }
|
|
1347
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
1348
|
+
foreground: "#000000"
|
|
1349
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
1350
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
1351
|
+
emblem: { present: true, rendered: placeholder }
|
|
1352
|
+
region_encoding: none
|
|
1353
|
+
sources:
|
|
1354
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 4 lit. g: 'für Heeresfahrzeuge BH'; Abs. 6 Z 1 lit. a (digits only); Abs. 8 Z 2, which lists 'BH' among the combinations forbidden to Wunschkennzeichen. Accessed 2026-08-02"
|
|
1355
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48 # § 48 Abs. 1 Z 2: Bundesheer vehicles may also hold Deckkennzeichen. Accessed 2026-08-02"
|
|
1356
|
+
notes: >-
|
|
1357
|
+
HEERESFAHRZEUGE. Unlike the German Bundeswehr's Y plates, Austrian army plates
|
|
1358
|
+
are ordinary white EU plates with an ordinary typeface and the ordinary
|
|
1359
|
+
reflectivity requirement — the prefix is the only difference. THE DETAIL WORTH
|
|
1360
|
+
THE FILE: "BH" is simultaneously the lawful military prefix under § 26 Abs. 4
|
|
1361
|
+
lit. g and an expressly forbidden Wunschkennzeichen combination under § 26
|
|
1362
|
+
Abs. 8 Z 2, where the regulation glosses it "(Blood and Honour)". The same two
|
|
1363
|
+
letters are also the standard abbreviation for Bezirkshauptmannschaft
|
|
1364
|
+
throughout Anlage 5d, where they are not a code at all.
|
|
1365
|
+
|
|
1366
|
+
- id: at-government-fire
|
|
1367
|
+
class: government
|
|
1368
|
+
categories: [car, van, truck, bus, trailer]
|
|
1369
|
+
period: { start: 2002 }
|
|
1370
|
+
period_evidence: enacted-commencement
|
|
1371
|
+
matching: strict
|
|
1372
|
+
format:
|
|
1373
|
+
pattern: "FW-999LL"
|
|
1374
|
+
regex: '\AFW[- ]?\d{2,3}[A-Z]{1,2}\z'
|
|
1375
|
+
regex_strict: '\AFW[- ]?[1-9]\d{1,2}[A-Z]{1,2}\z'
|
|
1376
|
+
charset:
|
|
1377
|
+
letters_excluded: ["Q", "Ä", "Ö", "Ü"]
|
|
1378
|
+
notes: >-
|
|
1379
|
+
The trailing letters are NOT free: § 26 Abs. 6 Z 1 lit. b KDV requires
|
|
1380
|
+
them to be "ein oder zwei Buchstaben, die der Bezeichnung der Behörde im
|
|
1381
|
+
Sinne der Anlage 5d entsprechen müssen, in deren Sprengel das Fahrzeug
|
|
1382
|
+
zugelassen ist". regex_strict keeps [A-Z]{1,2} rather than enumerating the
|
|
1383
|
+
98 Anlage 5d codes, because the closed list belongs in
|
|
1384
|
+
plates/_decode/at-districts.yml where it can carry per-row periods; a
|
|
1385
|
+
validator wanting full strictness should join the two.
|
|
1386
|
+
progression: >-
|
|
1387
|
+
§ 26 Abs. 6 Z 1 lit. b, verbatim: fire-brigade Vormerkzeichen "müssen mit
|
|
1388
|
+
zwei oder drei Ziffern beginnen und es folgen ein oder zwei Buchstaben".
|
|
1389
|
+
Two or three digits, then the district code.
|
|
1390
|
+
design:
|
|
1391
|
+
plate: { w: 520, h: 120, unit: mm }
|
|
1392
|
+
plate_variants:
|
|
1393
|
+
- { w: 300, h: 200, unit: mm, note: "Muster III" }
|
|
1394
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
1395
|
+
foreground: "#000000"
|
|
1396
|
+
border: { top: "red-white-red", bottom: "red-white-red" }
|
|
1397
|
+
band: { side: left, color: "#003399", content: eu-stars+A, hex_basis: observed }
|
|
1398
|
+
emblem:
|
|
1399
|
+
present: true
|
|
1400
|
+
rendered: placeholder
|
|
1401
|
+
content: "the FEUERWEHR-KORPSABZEICHEN, not a coat of arms"
|
|
1402
|
+
note: "§ 49 Abs. 4 KFG, verbatim: 'bei den zur Verwendung für die Feuerwehr bestimmten Fahrzeugen tritt an die Stelle des Landeswappens das Feuerwehr-Korpsabzeichen'. The only Austrian plate whose emblem slot holds a corps badge; PRD-PLATES §3 placeholder rule applies, and its licensing is unresearched."
|
|
1403
|
+
region_encoding: "plates/_decode/at-districts.yml"
|
|
1404
|
+
region_encoding_note: >-
|
|
1405
|
+
THE DISTRICT CODE IS A SUFFIX HERE, NOT A PREFIX. Decode the LAST one or two
|
|
1406
|
+
letters against the `codes` table; the leading FW is the sachlicher Bereich.
|
|
1407
|
+
This is the only Austrian series in which the geography sits at the end of the
|
|
1408
|
+
string, and a parse API that assumes prefix-decoding will read it backwards.
|
|
1409
|
+
sources:
|
|
1410
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011385&Paragraf=26 # § 26 Abs. 4 lit. i (FW) and Abs. 6 Z 1 lit. b (two or three digits followed by the Anlage 5d code of the Sprengel of registration) — expressly carved out of the digits-only rule in lit. a. Accessed 2026-08-02"
|
|
1411
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=49 # § 49 Abs. 4: the Feuerwehr-Korpsabzeichen replaces the Land arms. Accessed 2026-08-02"
|
|
1412
|
+
- "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011384&Paragraf=48 # § 48 Abs. 4: fire-brigade vehicles carry the sachlicher Bereich in place of the authority code. Accessed 2026-08-02"
|
|
1413
|
+
notes: >-
|
|
1414
|
+
FEUERWEHR — the most interesting serial in the Austrian system and the reason
|
|
1415
|
+
it earns its own entry rather than folding into at-government. It is the ONE
|
|
1416
|
+
exception § 26 Abs. 6 Z 1 lit. a carves out of the digits-only rule for
|
|
1417
|
+
official plates, and it inverts the whole jurisdiction's geometry: two or three
|
|
1418
|
+
digits first, then the district code, so "FW-123GU" is a Graz-Umgebung fire
|
|
1419
|
+
appliance and the geography is at the END. It is also the only Austrian plate
|
|
1420
|
+
whose emblem is a corps badge rather than arms. CLASS CAVEAT, and it is a real
|
|
1421
|
+
one: _meta/classes.yml has no `fire` value, so `government` is recorded as the
|
|
1422
|
+
closest fit — Austrian fire services are overwhelmingly municipal volunteer
|
|
1423
|
+
corps rather than state fleets, which the class does not express. Flagged as a
|
|
1424
|
+
vocabulary gap.
|