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/lu.yml
ADDED
|
@@ -0,0 +1,842 @@
|
|
|
1
|
+
# plates/lu.yml — Luxembourg (PRD-PLATES gate L1, EU/EEA wave 2).
|
|
2
|
+
#
|
|
3
|
+
# ONE INSTRUMENT, READ END TO END, CARRIES THIS ENTIRE FILE. Every format,
|
|
4
|
+
# every colour, every dimension, every special series, every historic design
|
|
5
|
+
# window and the sequence table in plates/_decode/lu-series-order.yml comes
|
|
6
|
+
# from the REGLEMENT GRAND-DUCAL DU 17 JUIN 2003 relatif a l'identification des
|
|
7
|
+
# vehicules routiers, a leurs plaques d'immatriculation et aux modalites
|
|
8
|
+
# d'attribution de leurs numeros d'immatriculation — Memorial A n. 87 of
|
|
9
|
+
# 25 June 2003, pages 1622-1632 — as amended by the reglement grand-ducal du
|
|
10
|
+
# 18 octobre 2006 (Memorial A n. 190 of 6 November 2006, chapitre III,
|
|
11
|
+
# articles 15-19). Both were fetched in full from Legilux on 2026-08-02 and
|
|
12
|
+
# both are text-extractable, drawings included, which is why almost nothing in
|
|
13
|
+
# this file is observed and almost nothing is secondary.
|
|
14
|
+
#
|
|
15
|
+
# THE START DATE IS THE INSTRUMENT'S OWN COMMENCEMENT CLAUSE, AND HERE THAT IS
|
|
16
|
+
# CORRECT. The instrument-date rule says an instrument's window is not a series
|
|
17
|
+
# period — but it says so because the two usually differ, not because they
|
|
18
|
+
# always do. Luxembourg is the case where they coincide and the text proves it:
|
|
19
|
+
# art. 20 ends "qui entre en vigueur le 1er juillet 2003", and the same date
|
|
20
|
+
# is then used as the operative dividing line four more times inside the
|
|
21
|
+
# instrument: art. 12 chapeau (which plate designs a vehicle may keep), art. 16
|
|
22
|
+
# §1 (which NUMBERS may stay in use), §4 (which PLATES may stay in use) and §5
|
|
23
|
+
# (red plates, to be exchanged by 31-12-2003). A date the instrument itself
|
|
24
|
+
# uses as the dividing line for the whole subject matter is a series boundary,
|
|
25
|
+
# not merely a publication fact.
|
|
26
|
+
#
|
|
27
|
+
# THE ACCURACY HERE IS LOAD-BEARING. `lu_snca` is a live register inside this
|
|
28
|
+
# project, so a wrong Luxembourg format is not a trivia error, it is a
|
|
29
|
+
# resolver error. Two things follow, and both are deliberate:
|
|
30
|
+
# * every regex has a sourced `regex_strict` twin wherever the instrument
|
|
31
|
+
# enumerates an alphabet or a numeric range, which it does far more often
|
|
32
|
+
# than most European instruments; and
|
|
33
|
+
# * the current-series letter order is shipped as a decode table
|
|
34
|
+
# (plates/_decode/lu-series-order.yml) whose transcription is checked arithmetically
|
|
35
|
+
# against the instrument's own exclusion rules — 566 pairs, and 566 is
|
|
36
|
+
# what 26x26 minus the I/O pairs minus the ten named pairs must equal.
|
|
37
|
+
#
|
|
38
|
+
# THE FOUR PECULIARITIES THAT SHAPE THE FILE
|
|
39
|
+
#
|
|
40
|
+
# 1. YELLOW IS THE ORDINARY COLOUR. Art. 11: "Le fond des plaques
|
|
41
|
+
# d'immatriculation est de couleur jaune retroreflechissante et les
|
|
42
|
+
# caracteres alphanumeriques y apposes sont de couleur noire non
|
|
43
|
+
# retroreflechissante." Not a rear-plate convention as in the UK and not a
|
|
44
|
+
# class marker as in NL — every ordinary Luxembourg plate, front and rear,
|
|
45
|
+
# is yellow, and has been since 1974.
|
|
46
|
+
#
|
|
47
|
+
# 2. THE SPECIAL SERIES ARE NUMBER RANGES, NOT DESIGNS. Art. 7 carves the
|
|
48
|
+
# number space into reserved blocks — 1-19 for the Grand-Ducal Court, 20-50
|
|
49
|
+
# for the government garage, P1-P99 for the Chamber of Deputies, AA and ZZ
|
|
50
|
+
# and CD prefixes for the state, limited-use vehicles and the diplomatic
|
|
51
|
+
# corps. They are authored as separate series because their GRAMMAR differs,
|
|
52
|
+
# even though most of them are printed on exactly the same yellow plate.
|
|
53
|
+
#
|
|
54
|
+
# 3. PERSONALISED NUMBERS ARE A REAL, REGULATED, OWNER-BOUND CLASS, and they
|
|
55
|
+
# are the one place Luxembourg's plate-to-vehicle binding breaks. Art. 8
|
|
56
|
+
# gives them a statutory waiting list, a transfer right between the holder's
|
|
57
|
+
# own vehicles, a 36-month reservation after the vehicle goes off the road,
|
|
58
|
+
# and inheritance to a first-degree relative on death. Art. 9 §2 then works
|
|
59
|
+
# out five distinct outcomes depending on who renounces what. This is not a
|
|
60
|
+
# vanity add-on bolted to the side of the system; it is written into its
|
|
61
|
+
# core.
|
|
62
|
+
#
|
|
63
|
+
# 4. THE HISTORIC DESIGNS ARE DATED TO THE DAY BY ART. 12, which is unusual and
|
|
64
|
+
# valuable: 340x110 black with white characters for vehicles first
|
|
65
|
+
# registered before 01-01-1974; 340x110 yellow retroreflective with black
|
|
66
|
+
# characters from 01-01-1974 to 31-12-1987; 520x110 yellow with the European
|
|
67
|
+
# emblem from 01-01-1988 to 30-06-2003. Three windows, one article, no
|
|
68
|
+
# folklore.
|
|
69
|
+
jurisdiction: lu
|
|
70
|
+
authority:
|
|
71
|
+
name: "Ministere de la Mobilite et des Travaux publics — reglement grand-ducal modifie du 17 juin 2003 relatif a l'identification des vehicules routiers, a leurs plaques d'immatriculation et aux modalites d'attribution de leurs numeros d'immatriculation"
|
|
72
|
+
url: "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf"
|
|
73
|
+
binding: vehicle
|
|
74
|
+
binding_note: >-
|
|
75
|
+
DEFAULT VEHICLE, WITH A STATUTORY OWNER-BOUND EXCEPTION — and a consumer must
|
|
76
|
+
model both. Art. 9 §1: a number granted at first registration stays attached
|
|
77
|
+
to that vehicle until it is definitively withdrawn from circulation in
|
|
78
|
+
Luxembourg, and for at least five years after the relevant trigger, after
|
|
79
|
+
which it may be re-issued. But a PERSONALISED number (art. 8) belongs to the
|
|
80
|
+
holder, transfers between that holder's vehicles, survives the vehicle by 36
|
|
81
|
+
months, and passes to a first-degree relative on death. Art. 9 §2 b) also lets
|
|
82
|
+
the holder of an ORDINARY current-series number convert it into a personalised
|
|
83
|
+
one on transfer, at which point that number changes binding mid-life. So the
|
|
84
|
+
same six-character string can be vehicle-bound or owner-bound depending on
|
|
85
|
+
history, and nothing on the plate says which.
|
|
86
|
+
authority_note: >-
|
|
87
|
+
OPERATOR vs REGULATOR, worth stating because this repo ingests `lu_snca`. The
|
|
88
|
+
2003 instrument names the SNCT — Societe Nationale de Controle Technique — as
|
|
89
|
+
the body that makes red plates and export plates available to holders (art.
|
|
90
|
+
14), while the NUMBER is attributed by the minister responsible for transport
|
|
91
|
+
(art. 1). The vehicle-registration operator is today the Societe Nationale de
|
|
92
|
+
Circulation Automobile (SNCA), successor to that role; the instrument text
|
|
93
|
+
read here predates the renaming and says SNCT throughout. Recorded so that a
|
|
94
|
+
reader matching this file against the `lu_snca` register does not think the
|
|
95
|
+
two are different systems.
|
|
96
|
+
|
|
97
|
+
charset_defaults:
|
|
98
|
+
excluded_letters: [I, O]
|
|
99
|
+
excluded_pairs: [AA, CD, HJ, KK, KZ, PD, SA, SS, WC, ZZ]
|
|
100
|
+
excluded_note: >-
|
|
101
|
+
Annexe, paragraphe 2, verbatim: the current series does not use "les series
|
|
102
|
+
qui impliquent une des combinaisons de lettres AA, CD, HJ, KK, KZ, PD, SA,
|
|
103
|
+
SS, WC et ZZ" nor "les series qui impliquent les lettres I ou O". Three of
|
|
104
|
+
the ten pairs are explained elsewhere in the same instrument — AA, CD and ZZ
|
|
105
|
+
are reserved as special series by art. 7 — and the remaining seven (HJ, KK,
|
|
106
|
+
KZ, PD, SA, SS, WC) are given no reason at all. Recorded as unexplained
|
|
107
|
+
rather than rationalised. I and O go for the usual 1/l and 0/O legibility
|
|
108
|
+
reason, which the instrument also does not state.
|
|
109
|
+
source: "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # Annexe, paragraphes 1-2, p. 1632"
|
|
110
|
+
|
|
111
|
+
display_rules:
|
|
112
|
+
two_plates: "every registered vehicle carries a rear plate; a FRONT plate as well, except motorcycles, tricycles, mopeds, light quadricycles, trailers and towed vehicles (art. 2, first paragraph)"
|
|
113
|
+
same_number: "front and rear must carry the same number (art. 2)"
|
|
114
|
+
mounting: "as vertical as possible, legible in all circumstances; the rear plate in the location prescribed by Directive 70/222/EEC (four-wheelers) or 93/94/EC (two- and three-wheelers), failing which below 120 cm from the ground; the front plate below 120 cm (art. 15)"
|
|
115
|
+
no_perforation: "the rear plate must be fixed by means that do NOT perforate it — with a listed set of exceptions (trailers, semi-trailers, trucks, industrial and agricultural tractors, self-propelled machines) where screws or rivets are allowed; where perforation is unavoidable, the visible fixing parts must match either the plate ground or the perforated characters (art. 15)"
|
|
116
|
+
unregistered_movement: "an insured but not-yet-registered vehicle MAY carry plates on the shortest route to or from a roadworthiness test or, after a failed test, to a repair shop or the owner's home — the only lawful use of plates on an unregistered vehicle (art. 2, third paragraph)"
|
|
117
|
+
removal_duty: "the holder MUST remove the plates when the vehicle goes off the road for export or scrapping, when it is to be re-registered under another number, or when the number is transferred as a personalised number to another vehicle — and must DESTROY them unless they are immediately reused on another vehicle registered in the same name (art. 15, last two paragraphs)"
|
|
118
|
+
source: "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # arts. 2 and 15, pp. 1622-1623 and 1629"
|
|
119
|
+
|
|
120
|
+
series:
|
|
121
|
+
|
|
122
|
+
# =========================================================================
|
|
123
|
+
# THE CURRENT SERIES.
|
|
124
|
+
# =========================================================================
|
|
125
|
+
- id: lu-standard-2003
|
|
126
|
+
class: standard
|
|
127
|
+
categories: [car, van, truck, bus, motorcycle, tricycle, quadricycle, trailer]
|
|
128
|
+
period: { start: 2003 }
|
|
129
|
+
period_evidence: instrument-in-force
|
|
130
|
+
matching: strict
|
|
131
|
+
format:
|
|
132
|
+
pattern: "LL 9999"
|
|
133
|
+
regex: '\A[A-Z]{2}[- ]\d{4}\z'
|
|
134
|
+
regex_strict: '\A(?!AA|CD|HJ|KK|KZ|PD|SA|SS|WC|ZZ)[A-HJ-NP-Z]{2}[- ][4-9]\d{3}\z'
|
|
135
|
+
charset:
|
|
136
|
+
notes: >-
|
|
137
|
+
`regex_strict` is the instrument's own grammar, all of it, from the
|
|
138
|
+
Annexe: six alphanumeric positions, "quatre chiffres precedes de deux
|
|
139
|
+
lettres" (para. 1); no I and no O and none of the ten named pairs
|
|
140
|
+
(para. 2); and the numeric element of the CURRENT series confined to
|
|
141
|
+
4000-9999 by the 2006 amendment, because 0001-0099 is reserved to
|
|
142
|
+
mopeds and light quadricycles and 0100-3999 to personalised numbers.
|
|
143
|
+
That last constraint is the one most likely to be missed — a
|
|
144
|
+
Luxembourg plate reading "AB 1234" is NOT a current-series number, it
|
|
145
|
+
is a personalised one, and the difference is legally and practically
|
|
146
|
+
real.
|
|
147
|
+
progression: >-
|
|
148
|
+
THE PREFIX IS THE ONLY DECODABLE DIMENSION OF A LUXEMBOURG PLATE, and it
|
|
149
|
+
decodes time, not place. The Annexe fixes the order of the 566 usable
|
|
150
|
+
letter pairs in a printed 15-column grid read COLUMN-MAJOR (see
|
|
151
|
+
plates/_decode/lu-series-order.yml), and pairs the walk with an advancing thousands
|
|
152
|
+
digit: "BA 4000 - BA 4999, CA 5000 - CA 5999, DA 6000 - DA 6999, etc."
|
|
153
|
+
So each prefix takes one thousand-block per pass, the table is walked
|
|
154
|
+
again at the next thousand, and 566 x 6000 = 3,396,000 numbers exist in
|
|
155
|
+
the current series. Ordering two plates by issue is therefore sound;
|
|
156
|
+
DATING one is not, because the instrument publishes the order and never
|
|
157
|
+
the calendar.
|
|
158
|
+
separator_note: >-
|
|
159
|
+
The instrument prescribes six alphanumeric POSITIONS and never a
|
|
160
|
+
separator glyph — art. 11 and the Annexe are silent, and art. 13
|
|
161
|
+
delegates "la disposition des caracteres alphanumeriques sur les plaques
|
|
162
|
+
d'immatriculation ainsi que leur forme, leur taille et leur emboutissage"
|
|
163
|
+
to a cahier des charges approved by the minister, which is NOT published
|
|
164
|
+
in the Memorial and was not reached. That delegation is the reason the
|
|
165
|
+
separator position is spelled as the sanctioned separator-only class
|
|
166
|
+
`[- ]` (PRD-PLATES §2.8) rather than as a literal: the gap is real, the
|
|
167
|
+
glyph is unlegislated.
|
|
168
|
+
design:
|
|
169
|
+
plate: { w: 520, h: 110, unit: mm, thickness: [1, 1.5] }
|
|
170
|
+
plate_variants:
|
|
171
|
+
- { w: 340, h: 200, unit: mm, thickness: [1, 1.5], note: "the square alternative, at the holder's choice of mounting" }
|
|
172
|
+
- { w: 270, h: 80, unit: mm, thickness: [1, 1.5], note: "motocycles" }
|
|
173
|
+
- { w: 200, h: 140, unit: mm, thickness: [1, 1.5], note: "motocycles, tall alternative" }
|
|
174
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
175
|
+
foreground: "#000000"
|
|
176
|
+
foreground_note: "characters are NON-retroreflective black — the instrument specifies the negative explicitly, which a render layer should honour"
|
|
177
|
+
band:
|
|
178
|
+
side: left
|
|
179
|
+
color: "#003399"
|
|
180
|
+
hex_basis: observed
|
|
181
|
+
content: eu-stars+L
|
|
182
|
+
note: >-
|
|
183
|
+
"un aplat de couleur bleue retroreflechissante contenant, dans sa
|
|
184
|
+
partie superieure, les douze etoiles de couleur jaune
|
|
185
|
+
retroreflechissante rappelant le drapeau europeen et, dans sa partie
|
|
186
|
+
inferieure, le signe distinctif national constitue par la lettre latine
|
|
187
|
+
L en couleur blanche retroreflechissante", with the geometry taken by
|
|
188
|
+
reference from the annex to Regulation (EC) 2411/98. NOTE THE COLOUR
|
|
189
|
+
COLLISION this creates and no other EU state has: the stars are yellow
|
|
190
|
+
and so is the plate, so on a Luxembourg plate the euroband's yellow is
|
|
191
|
+
the SAME family as the ground it sits beside.
|
|
192
|
+
emblem: { present: false }
|
|
193
|
+
rear_differs: false
|
|
194
|
+
fallback_size_rule: >-
|
|
195
|
+
Where the prescribed dimensions cannot be fitted, the 2003 text sent the
|
|
196
|
+
fitter to "les criteres techniques de l'emplacement de la plaque"; the
|
|
197
|
+
2006 amendment (art. 17) replaced that with a concrete rule — the
|
|
198
|
+
MOTORCYCLE dimensions may be used instead. A rare case of an amendment
|
|
199
|
+
making a specification less discretionary rather than more.
|
|
200
|
+
region_encoding: "plates/_decode/lu-series-order.yml"
|
|
201
|
+
region_encoding_file: lu-series-order.yml
|
|
202
|
+
region_encoding_note: >-
|
|
203
|
+
NOT geography. Luxembourg encodes none, anywhere, in any series — a
|
|
204
|
+
sourced negative, since arts. 6-8 compose every number from reserved
|
|
205
|
+
ranges and a sequential table with no locational element. The referenced
|
|
206
|
+
table decodes ISSUE ORDER.
|
|
207
|
+
sources:
|
|
208
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 (Memorial A n. 87, 25-06-2003): art. 6 (first available number in the current series), art. 11 (dimensions, yellow retroreflective ground, non-retroreflective black characters, the blue EU field with 12 yellow stars and the white L), art. 20 (in force 01-07-2003), Annexe paras. 1-3 (composition, exclusions, order grid). Accessed 2026-08-02"
|
|
209
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2006/10/18/n1/jo/fr/pdf # RGD 18-10-2006 (Memorial A n. 190, 06-11-2006): art. 17 (the motorcycle-dimension fallback), art. 19 (the 0001-0099 / 0100-3999 / 4000-9999 split), art. 37 (in force 18-12-2006). Accessed 2026-08-02"
|
|
210
|
+
notes: >-
|
|
211
|
+
THE CURRENT LUXEMBOURG SERIES — two letters, four digits, yellow. Started
|
|
212
|
+
by the instrument's own commencement clause on 1 July 2003, which is a
|
|
213
|
+
genuine series boundary here rather than a mere publication date (see the
|
|
214
|
+
file header). Old numbers were not recalled: art. 16 §1 lets pre-2003
|
|
215
|
+
numbers stay in use and only forces conformity on a change of owner or on
|
|
216
|
+
re-registration after the registration card lapses — with a carve-out for
|
|
217
|
+
historic vehicles holding a four- or five-character number, which the 2006
|
|
218
|
+
amendment widened again so that a re-registration after card expiry never
|
|
219
|
+
forces a historic vehicle to renumber. That is why four-digit and
|
|
220
|
+
five-digit Luxembourg plates are still legally on the road in 2026 and
|
|
221
|
+
why lu-legacy-* below are not dead entries.
|
|
222
|
+
|
|
223
|
+
- id: lu-personalized-2003
|
|
224
|
+
class: personalized
|
|
225
|
+
categories: [car, van, truck, bus, motorcycle, tricycle, quadricycle, trailer]
|
|
226
|
+
period: { start: 2003 }
|
|
227
|
+
period_evidence: instrument-in-force
|
|
228
|
+
matching: recall-only
|
|
229
|
+
format:
|
|
230
|
+
pattern: "9999"
|
|
231
|
+
regex: '\A(?:[A-Z]{2}[- ]\d{1,4}|\d{4,5})\z'
|
|
232
|
+
pattern_note: >-
|
|
233
|
+
A UNION OF FOUR SHAPES, hence `recall-only`. Art. 8 §1 lets an applicant
|
|
234
|
+
request a personalised number drawn from the current series, from the
|
|
235
|
+
four-digit series 1000-9999, or from the five-digit series
|
|
236
|
+
10000-99999; the 2006 amendment adds the 0100-3999 numeric element
|
|
237
|
+
inside each letter series. So a personalised Luxembourg number may look
|
|
238
|
+
exactly like an ordinary one, may look like a bare four- or five-digit
|
|
239
|
+
number, and cannot be told apart from an ordinary current-series plate
|
|
240
|
+
by inspection alone — except in the one direction that IS decidable: a
|
|
241
|
+
two-letter plate whose digits fall below 4000 is personalised, because
|
|
242
|
+
the current series starts at 4000. A match here is a shape hit only.
|
|
243
|
+
progression: >-
|
|
244
|
+
Not sequential — chosen. The four-digit series is scarce enough to have
|
|
245
|
+
a statutory queue: "les demandes pour l'octroi d'un tel numero sont
|
|
246
|
+
inscrites, dans l'ordre sequentiel de leur entree, dans une liste
|
|
247
|
+
d'attente", one per person for life, allocated as numbers free up.
|
|
248
|
+
design:
|
|
249
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
250
|
+
foreground: "#000000"
|
|
251
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L }
|
|
252
|
+
note: "no design of its own — a personalised number is printed on the ordinary plate. It is a SERIES here rather than a sub-entry because its number grammar and its binding both differ (PRD-PLATES §2.3)."
|
|
253
|
+
region_encoding: none
|
|
254
|
+
sources:
|
|
255
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 8 (the three series a personalised number may come from, the waiting list, transfer between the holder's vehicles, the 36-month reservation, inheritance at first degree, and the fees of 50 EUR on first grant / 24 EUR on transfer) and art. 9 §2 (the five renunciation outcomes). Accessed 2026-08-02"
|
|
256
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2006/10/18/n1/jo/fr/pdf # RGD 18-10-2006 art. 19: 0100-3999 within each letter series becomes available as personalised numbers. Accessed 2026-08-02"
|
|
257
|
+
notes: >-
|
|
258
|
+
NUMEROS D'IMMATRICULATION PERSONNALISES. The fees recorded above are the
|
|
259
|
+
2003 figures and are the one field in this file known to be STALE: the
|
|
260
|
+
charge is widely reported at 200 EUR today, and no amending instrument
|
|
261
|
+
changing it was located on Legilux in this pass. Recorded as a dated gap
|
|
262
|
+
rather than updated from a secondary, because a fee is exactly the kind of
|
|
263
|
+
fact that is cheap to get wrong and expensive to be wrong about. Note also
|
|
264
|
+
the transfer mechanism in art. 16 §1 that a parse API should know: a
|
|
265
|
+
pre-2003 two-letters-three-digits number carried forward as a personalised
|
|
266
|
+
number gets AN EXTRA DIGIT INSERTED before its three ("ces trois chiffres
|
|
267
|
+
sont precedes par un chiffre supplementaire"), so some modern-looking
|
|
268
|
+
six-character Luxembourg plates are legacy numbers padded to fit.
|
|
269
|
+
|
|
270
|
+
# =========================================================================
|
|
271
|
+
# MOPEDS AND LIGHT QUADRICYCLES — the two-digit plate.
|
|
272
|
+
# =========================================================================
|
|
273
|
+
- id: lu-moped-2003
|
|
274
|
+
class: moped
|
|
275
|
+
categories: [moped, quadricycle]
|
|
276
|
+
period: { start: 2003 }
|
|
277
|
+
period_evidence: instrument-in-force
|
|
278
|
+
matching: strict
|
|
279
|
+
format:
|
|
280
|
+
pattern: "LL 99"
|
|
281
|
+
regex: '\A[A-Z]{2}[- ]\d{2}\z'
|
|
282
|
+
regex_strict: '\A(?!AA|CD|HJ|KK|KZ|PD|SA|SS|WC|ZZ)[A-HJ-NP-Z]{2}[- ]\d{2}\z'
|
|
283
|
+
pattern_note: >-
|
|
284
|
+
FOUR DIGITS ARE ALLOCATED AND TWO ARE PRINTED. The Annexe, last
|
|
285
|
+
paragraph: the numeric element for mopeds and light quadricycles runs
|
|
286
|
+
0010-0099 (0001-0099 after the 2006 amendment), "les deux premiers
|
|
287
|
+
chiffres de ce numero n'etant toutefois pas repris sur la plaque
|
|
288
|
+
d'immatriculation". So the register holds a six-character number and the
|
|
289
|
+
plate shows four characters. A consumer joining a printed Luxembourg
|
|
290
|
+
moped plate against a register field must left-pad the digits to four,
|
|
291
|
+
or the join silently fails — this is the single highest-value fact in
|
|
292
|
+
this file for `lu_snca` work.
|
|
293
|
+
design:
|
|
294
|
+
plate: { w: 130, h: 90, unit: mm, thickness: 1.5 }
|
|
295
|
+
plate_variants:
|
|
296
|
+
- { w: 90, h: 130, unit: mm, thickness: 1.5, note: "portrait alternative" }
|
|
297
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
298
|
+
foreground: "#000000"
|
|
299
|
+
band:
|
|
300
|
+
side: top
|
|
301
|
+
color: "#003399"
|
|
302
|
+
hex_basis: observed
|
|
303
|
+
content: eu-stars+L
|
|
304
|
+
note: >-
|
|
305
|
+
THE ONE BAND THAT MOVES. Art. 11, final paragraph: by derogation the
|
|
306
|
+
moped and light-quadricycle plate may carry the blue field along its
|
|
307
|
+
TOP edge instead of its left, "le signe distinctif national etant dans
|
|
308
|
+
ce cas appose a droite des douze etoiles" — so the L sits beside the
|
|
309
|
+
stars rather than beneath them. Recorded as `side: top` because that
|
|
310
|
+
is the layout the small plate actually uses.
|
|
311
|
+
design_history: >-
|
|
312
|
+
Mopeds and light quadricycles registered before 01-07-2003 may keep a
|
|
313
|
+
quite different plate (art. 12 §4): yellow retroreflective, 85 x 150 mm
|
|
314
|
+
or 150 x 85 mm, with the national sign rendered as a yellow
|
|
315
|
+
retroreflective L, 14 mm high with a 2 mm stroke, on a black
|
|
316
|
+
non-retroreflective oval of 30 x 20 mm, and the black capitals CMA to
|
|
317
|
+
its right. No European band at all.
|
|
318
|
+
region_encoding: none
|
|
319
|
+
sources:
|
|
320
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 Annexe final paragraph (the 0010-0099 range and the unprinted leading digits), art. 11 (130x90 / 90x130, thickness 1.5 mm, the top-edge band derogation), art. 12 §4 (the pre-2003 CMA plate), art. 17 (for mopeds and light quadricycles the 'plaque d'identite' of the 1955 arrete grand-ducal serves as the registration plate). Accessed 2026-08-02"
|
|
321
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2006/10/18/n1/jo/fr/pdf # RGD 18-10-2006 art. 19: the moped range becomes 0001-0099. Accessed 2026-08-02"
|
|
322
|
+
notes: >-
|
|
323
|
+
CYCLOMOTEURS ET QUADRICYCLES LEGERS. A separate series and not a size
|
|
324
|
+
variant, because the PRINTED grammar is genuinely different — four
|
|
325
|
+
characters, not six. Art. 17 also records a legal subtlety worth keeping:
|
|
326
|
+
for these vehicles the identity plate under the arrete grand-ducal of
|
|
327
|
+
23 November 1955 "tient lieu de plaque d'immatriculation", their
|
|
328
|
+
registration record stands in for an immatriculation and their identity
|
|
329
|
+
card for a registration card. They are, strictly, registered by a
|
|
330
|
+
different mechanism that the plate rules are mapped onto.
|
|
331
|
+
|
|
332
|
+
# =========================================================================
|
|
333
|
+
# THE ART. 7 RESERVED RANGES.
|
|
334
|
+
# =========================================================================
|
|
335
|
+
- id: lu-court-2003
|
|
336
|
+
class: government
|
|
337
|
+
categories: [car, van]
|
|
338
|
+
period: { start: 2003 }
|
|
339
|
+
period_evidence: instrument-in-force
|
|
340
|
+
matching: strict
|
|
341
|
+
format:
|
|
342
|
+
pattern: "99"
|
|
343
|
+
regex: '\A(?:CD[- ])?\d{1,2}\z'
|
|
344
|
+
regex_strict: '\A(?:CD[- ])?(?:[1-9]|1\d)\z'
|
|
345
|
+
pattern_note: "art. 7 a): the numbers 1 to 19, and the same numbers prefixed CD"
|
|
346
|
+
design:
|
|
347
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
348
|
+
foreground: "#000000"
|
|
349
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L }
|
|
350
|
+
region_encoding: none
|
|
351
|
+
sources:
|
|
352
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 7 a): 'Les vehicules de la Cour grand-ducale sont immatricules sous les numeros compris entre 1 et 19, ainsi que sous les numeros compris entre 1 et 19, precedes des lettres CD.' Accessed 2026-08-02"
|
|
353
|
+
notes: >-
|
|
354
|
+
THE GRAND-DUCAL COURT holds the nineteen lowest numbers in the country, in
|
|
355
|
+
both a plain and a CD-prefixed form — the CD form because the Court's
|
|
356
|
+
vehicles also travel under diplomatic arrangements. CLASS CAVEAT:
|
|
357
|
+
`government` is the closest member of the controlled vocabulary; the head
|
|
358
|
+
of state's household is neither a civil-government fleet nor a diplomatic
|
|
359
|
+
mission. Art. 10 §1 additionally allows the minister to grant these
|
|
360
|
+
vehicles a SECONDARY number "choisi en dehors de l'evolution normale" of
|
|
361
|
+
the current series — an unmarked ordinary-looking plate — which is a real
|
|
362
|
+
hazard for any consumer inferring officialdom from a low number.
|
|
363
|
+
|
|
364
|
+
- id: lu-government-2003
|
|
365
|
+
class: government
|
|
366
|
+
categories: [car, van, bus]
|
|
367
|
+
period: { start: 2003 }
|
|
368
|
+
period_evidence: instrument-in-force
|
|
369
|
+
matching: strict
|
|
370
|
+
format:
|
|
371
|
+
pattern: "99"
|
|
372
|
+
regex: '\A(?:CD[- ])?\d{2}\z'
|
|
373
|
+
regex_strict: '\A(?:CD[- ])?(?:[2-4]\d|50)\z'
|
|
374
|
+
pattern_note: "art. 7 b): the numbers 20 to 50, plain and CD-prefixed"
|
|
375
|
+
design:
|
|
376
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
377
|
+
foreground: "#000000"
|
|
378
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L }
|
|
379
|
+
region_encoding: none
|
|
380
|
+
sources:
|
|
381
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 7 b): the government garage takes 20 to 50, and 20 to 50 preceded by CD. Accessed 2026-08-02"
|
|
382
|
+
notes: >-
|
|
383
|
+
LE GARAGE DU GOUVERNEMENT — thirty-one numbers, immediately above the
|
|
384
|
+
Court's nineteen, so the first fifty Luxembourg numbers are entirely
|
|
385
|
+
accounted for by the state. Same art. 10 §1 secondary-number caveat as
|
|
386
|
+
lu-court-2003. Distinct from lu-state-2003 (the AA series), which covers
|
|
387
|
+
the administrations rather than the ministerial fleet.
|
|
388
|
+
|
|
389
|
+
- id: lu-parliament-2003
|
|
390
|
+
class: government
|
|
391
|
+
categories: [car, van]
|
|
392
|
+
period: { start: 2003 }
|
|
393
|
+
period_evidence: instrument-in-force
|
|
394
|
+
matching: strict
|
|
395
|
+
format:
|
|
396
|
+
pattern: "P 99"
|
|
397
|
+
regex: '\AP[- ]\d{1,2}\z'
|
|
398
|
+
regex_strict: '\AP[- ](?:[1-9]|[1-9]\d)\z'
|
|
399
|
+
pattern_note: "art. 7 d): the numbers 1 to 99 preceded by the Latin letter P"
|
|
400
|
+
design:
|
|
401
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
402
|
+
foreground: "#000000"
|
|
403
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L }
|
|
404
|
+
additional_front_plate:
|
|
405
|
+
shape: oval
|
|
406
|
+
w: 300
|
|
407
|
+
h: 180
|
|
408
|
+
unit: mm
|
|
409
|
+
background: "#FFFFFF"
|
|
410
|
+
foreground: "#CE1126"
|
|
411
|
+
hex_basis: observed
|
|
412
|
+
note: >-
|
|
413
|
+
A SECOND, NON-REGISTRATION PLATE, and one of the few non-rectangular
|
|
414
|
+
plates in this dataset. Art. 3 §2: members of the Chamber of Deputies
|
|
415
|
+
may fit, to the FRONT of a passenger or commercial vehicle registered
|
|
416
|
+
in their own name, an oval plate 300 mm wide by 180 mm high bearing a
|
|
417
|
+
red Latin P on white, the letter 100 mm high with a 16 mm stroke. It
|
|
418
|
+
is a status marker, not a registration — it carries no number, and it
|
|
419
|
+
sits on a vehicle whose ordinary plates are unchanged. Distinct from
|
|
420
|
+
the P-prefixed NUMBER in art. 7 d), which is the Chamber's own fleet.
|
|
421
|
+
region_encoding: none
|
|
422
|
+
sources:
|
|
423
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 7 d) (the P1-P99 fleet numbers) and art. 3 §2 (the oval red-P front plate for members, with its exact geometry). Accessed 2026-08-02"
|
|
424
|
+
notes: >-
|
|
425
|
+
LA CHAMBRE DES DEPUTES. Two quite different things share the letter P and
|
|
426
|
+
the schema keeps them apart: a reserved NUMBER RANGE for the Chamber's own
|
|
427
|
+
vehicles (this series' format) and a personal OVAL BADGE that individual
|
|
428
|
+
deputies may fit to their own cars (this series' design sub-entry). CLASS
|
|
429
|
+
CAVEAT: `government` for a legislature.
|
|
430
|
+
|
|
431
|
+
- id: lu-state-2003
|
|
432
|
+
class: government
|
|
433
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
434
|
+
period: { start: 2003 }
|
|
435
|
+
period_evidence: instrument-in-force
|
|
436
|
+
matching: strict
|
|
437
|
+
format:
|
|
438
|
+
pattern: "AA 9999"
|
|
439
|
+
regex: '\AAA[- ]\d{4}\z'
|
|
440
|
+
regex_strict: '\AAA[- ][1-9]\d{3}\z'
|
|
441
|
+
pattern_note: "art. 7 e): the numbers 1000 to 9999 preceded by the Latin letters AA — which is exactly why AA is one of the ten pairs struck out of the current series"
|
|
442
|
+
design:
|
|
443
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
444
|
+
foreground: "#000000"
|
|
445
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L }
|
|
446
|
+
region_encoding: none
|
|
447
|
+
sources:
|
|
448
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 7 e): 'Les vehicules de l'Etat et de ses administrations sont immatricules sous les numeros compris entre 1000 et 9999, precedes des lettres latines AA.' Accessed 2026-08-02"
|
|
449
|
+
notes: >-
|
|
450
|
+
L'ETAT ET SES ADMINISTRATIONS. Visually identical to an ordinary plate —
|
|
451
|
+
same yellow, same six characters, same band — and distinguishable only by
|
|
452
|
+
the reserved AA prefix. Note that POLICE, CUSTOMS and the Ministry of
|
|
453
|
+
State's special services are NOT given a series of their own: art. 10 §1
|
|
454
|
+
names them only as bodies that may hold an additional current-series
|
|
455
|
+
number "choisi en dehors de l'evolution normale". So Luxembourg has no
|
|
456
|
+
police plate series, and this file records none — a sourced negative, not
|
|
457
|
+
a gap.
|
|
458
|
+
|
|
459
|
+
- id: lu-limited-use-2003
|
|
460
|
+
class: agricultural
|
|
461
|
+
categories: [tractor, machine, trailer, truck]
|
|
462
|
+
period: { start: 2003 }
|
|
463
|
+
period_evidence: instrument-in-force
|
|
464
|
+
matching: strict
|
|
465
|
+
format:
|
|
466
|
+
pattern: "ZZ 9999"
|
|
467
|
+
regex: '\AZZ[- ]\d{4}\z'
|
|
468
|
+
regex_strict: '\AZZ[- ][1-9]\d{3}\z'
|
|
469
|
+
pattern_note: "art. 7 f): 1000 to 9999 preceded by ZZ, for vehicles falling under the tax regime for categories of vehicle of necessarily limited use"
|
|
470
|
+
design:
|
|
471
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
472
|
+
foreground: "#000000"
|
|
473
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L }
|
|
474
|
+
region_encoding: none
|
|
475
|
+
sources:
|
|
476
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 7 f): the ZZ series for 'les vehicules tombant sous l'application de la reglementation fixant la taxe sur les vehicules automoteurs de certaines categories de vehicules a usage necessairement limite'. Accessed 2026-08-02"
|
|
477
|
+
notes: >-
|
|
478
|
+
THE ZZ SERIES — a TAX category wearing a plate. CLASS CAVEAT, and a
|
|
479
|
+
genuine one: the instrument defines this series by reference to a vehicle
|
|
480
|
+
TAX regulation, not by vehicle type, so its population is whatever that
|
|
481
|
+
regulation covers — in practice agricultural and works vehicles of
|
|
482
|
+
necessarily limited use. `agricultural` is the nearest member of the
|
|
483
|
+
controlled vocabulary and it is narrower than the statutory category. The
|
|
484
|
+
tax regulation itself was not fetched, so the exact population is a
|
|
485
|
+
recorded gap. This is the third file in the dataset to want a
|
|
486
|
+
works/limited-use class that does not exist (see es-special-vehicles-1999
|
|
487
|
+
and pt-machinery-2006).
|
|
488
|
+
|
|
489
|
+
# =========================================================================
|
|
490
|
+
# DIPLOMATIC.
|
|
491
|
+
# =========================================================================
|
|
492
|
+
- id: lu-diplomatic-2003
|
|
493
|
+
class: diplomatic
|
|
494
|
+
categories: [car, van, motorcycle]
|
|
495
|
+
period: { start: 2003 }
|
|
496
|
+
period_evidence: instrument-in-force
|
|
497
|
+
matching: strict
|
|
498
|
+
format:
|
|
499
|
+
pattern: "CD 99-99"
|
|
500
|
+
regex: '\ACD[- ]\d{2}-\d{2}\z'
|
|
501
|
+
pattern_note: >-
|
|
502
|
+
The instrument composes this one to the character. Art. 7 c): the number
|
|
503
|
+
is 1000-9999 preceded by CD, and "Le predit numero a quatre chiffres est
|
|
504
|
+
divise par un tiret en deux groupes a deux chiffres, le premier groupe
|
|
505
|
+
designant l'organisme diplomatique ou l'organisme international officiel
|
|
506
|
+
en question, le deuxieme groupe formant un numero courant." The hyphen
|
|
507
|
+
INSIDE the digits is statutory and is a group boundary; the gap after CD
|
|
508
|
+
is not legislated, hence the class.
|
|
509
|
+
progression: "group 1 identifies the mission or international organisation and is invariable for it; group 2 is a serial within that body"
|
|
510
|
+
design:
|
|
511
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
512
|
+
foreground: "#000000"
|
|
513
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L }
|
|
514
|
+
note: "no distinctive colour — unlike Spain's red CD plate, the Luxembourg diplomatic plate is an ordinary yellow plate with a reserved prefix"
|
|
515
|
+
region_encoding: "mission prefix — the two-digit organisation codes are not published in the instrument; no decode table authored"
|
|
516
|
+
sources:
|
|
517
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 7 c): the CD series, the two-group split and what each group means, plus the exhaustive list of who qualifies. Art. 19 §3 abrogates the reglement ministeriel du 11 septembre 1995 that previously determined the eligible categories. Accessed 2026-08-02"
|
|
518
|
+
notes: >-
|
|
519
|
+
CORPS DIPLOMATIQUE. The eligibility list in art. 7 c) is unusually
|
|
520
|
+
concrete and worth preserving as a fact about Luxembourg rather than about
|
|
521
|
+
plates: beyond accredited diplomats and officials of international bodies
|
|
522
|
+
with diplomatic or analogous status, it names by office the President,
|
|
523
|
+
Vice-Presidents, political-group chairs and Secretary-General of the
|
|
524
|
+
EUROPEAN PARLIAMENT; the judges, advocates-general and registrar of the
|
|
525
|
+
COURT OF JUSTICE; the President, members and Secretary-General of the
|
|
526
|
+
COURT OF AUDITORS; the members and registrar of the COURT OF FIRST
|
|
527
|
+
INSTANCE; the President and Vice-Presidents of the EIB; the head and
|
|
528
|
+
deputy head of the EFTA Bureau; and the President and members of the
|
|
529
|
+
finance committee of the European Investment Fund. That is the European
|
|
530
|
+
institutional geography of Luxembourg City, written into a plate
|
|
531
|
+
regulation. THE DECODE TABLE IS A GAP: the instrument states the
|
|
532
|
+
MECHANISM (first group = the body) and publishes no codes, and no
|
|
533
|
+
Ministry of Foreign Affairs list was reached. PRD-PLATES puts diplomatic
|
|
534
|
+
decode tables at gate L4; this entry carries the mechanism so a table can
|
|
535
|
+
be hung off it later without an id change.
|
|
536
|
+
|
|
537
|
+
# =========================================================================
|
|
538
|
+
# RED PLATES — the dealer/trade plate, and the only non-yellow ground.
|
|
539
|
+
# =========================================================================
|
|
540
|
+
- id: lu-dealer-red-2003
|
|
541
|
+
class: dealer
|
|
542
|
+
categories: [car, van, truck, bus, motorcycle, tricycle, quadricycle, moped, trailer]
|
|
543
|
+
period: { start: 2003 }
|
|
544
|
+
period_evidence: instrument-in-force
|
|
545
|
+
matching: strict
|
|
546
|
+
format:
|
|
547
|
+
pattern: "9999 99"
|
|
548
|
+
regex: '\A\d{4}[- ]\d{2}\z'
|
|
549
|
+
regex_strict: '\A[1-9]\d{3}[- ]\d{2}\z'
|
|
550
|
+
pattern_note: >-
|
|
551
|
+
Art. 7 g): "un numero a quatre chiffres, compris entre 1000 et 9999,
|
|
552
|
+
suivi des deux derniers chiffres du millesime de l'annee a la fin de
|
|
553
|
+
laquelle expire la validite des plaques". The trailing pair is an EXPIRY
|
|
554
|
+
YEAR, not part of the serial — a red plate reading "4821 27" expires at
|
|
555
|
+
the end of 2027. It is the only Luxembourg plate that dates itself, and
|
|
556
|
+
the date it carries is a deadline, not a birthday.
|
|
557
|
+
progression: "the four-digit block is a serial; the trailing year advances with each issue cycle"
|
|
558
|
+
design:
|
|
559
|
+
plate: { w: 340, h: 110, unit: mm, thickness: [1, 1.5] }
|
|
560
|
+
background: { color: "#CE1126", finish: non-retroreflective, hex_basis: observed }
|
|
561
|
+
foreground: "#FFFFFF"
|
|
562
|
+
foreground_note: "art. 11: red NON-retroreflective ground with white NON-retroreflective digits — the instrument specifies the absence of retroreflectivity on both, uniquely in this file"
|
|
563
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L, note: "red plates carry the European field too — art. 11, 'Chaque plaque d'immatriculation ET CHAQUE PLAQUE ROUGE doit arborer, a son extremite gauche, un aplat de couleur bleue'" }
|
|
564
|
+
region_encoding: none
|
|
565
|
+
sources:
|
|
566
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 4 (who may hold red plates, the five permitted uses, the front/rear pairing rule, the Benelux equivalence, the surrender duties), art. 7 g) (the number), art. 11 (340x110, red non-retroreflective ground, white digits, the EU field), art. 14 (supplied by the SNCT against a fee, 70% refundable within three months of expiry), art. 16 §5 (pre-2003 red plates to be exchanged by 31-12-2003). Accessed 2026-08-02"
|
|
567
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2006/10/18/n1/jo/fr/pdf # RGD 18-10-2006: the fee for a pair of special or red plates set at 150 EUR. Accessed 2026-08-02"
|
|
568
|
+
notes: >-
|
|
569
|
+
PLAQUES ROUGES — Luxembourg's trade plate, held by roadworthiness-test
|
|
570
|
+
bodies and by businesses authorised to trade in or repair road vehicles.
|
|
571
|
+
Validity is fixed by statute and generous: "le dernier jour de la deuxieme
|
|
572
|
+
annee suivant l'annee de leur delivrance", so a plate issued at any point
|
|
573
|
+
in 2025 runs to 31 December 2027. THE BENELUX FACT, which no other file in
|
|
574
|
+
this dataset carries: art. 4 §4 assimilates Belgian "plaques marchandes"
|
|
575
|
+
and Dutch commercial plates to Luxembourg red plates, provided the rules
|
|
576
|
+
of Benelux Committee of Ministers decision M(92)13 of 2 December 1992 are
|
|
577
|
+
respected — so a Belgian trade plate is lawfully a Luxembourg trade plate,
|
|
578
|
+
and the corresponding Belgian or Dutch circulation documents replace the
|
|
579
|
+
Luxembourg registration card (art. 18, amending art. 92 of the 1955
|
|
580
|
+
arrete). A cross-border validation rule, in a plate regulation, sourced.
|
|
581
|
+
|
|
582
|
+
# =========================================================================
|
|
583
|
+
# EXPORT.
|
|
584
|
+
# =========================================================================
|
|
585
|
+
- id: lu-export-2003
|
|
586
|
+
class: export
|
|
587
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
588
|
+
period: { start: 2003 }
|
|
589
|
+
period_evidence: instrument-in-force
|
|
590
|
+
matching: strict
|
|
591
|
+
format:
|
|
592
|
+
pattern: "9999 9999"
|
|
593
|
+
regex: '\A\d{4}[- ]\d{4}\z'
|
|
594
|
+
regex_strict: '\A(?:0[1-9]|1[0-2])\d{2}[- ][1-9]\d{3}\z'
|
|
595
|
+
pattern_note: >-
|
|
596
|
+
TWO ROWS, LINEARISED. Art. 7 h): the number is 1000-9999 "precede des
|
|
597
|
+
deux chiffres du mois et des deux derniers chiffres du millesime de
|
|
598
|
+
l'annee a la fin desquels expire la validite de l'immatriculation, les
|
|
599
|
+
deux groupes de chiffres ainsi constitues etant superposes et separes
|
|
600
|
+
par un trait horizontal". The plate is therefore stacked — MMYY above a
|
|
601
|
+
horizontal rule, the serial below — with the three letters EXP also
|
|
602
|
+
stacked. `pattern` writes the two rows left to right with a separator,
|
|
603
|
+
because the schema has no two-row primitive; `regex_strict` enforces the
|
|
604
|
+
month as a real month, which is what makes this shape recognisable at
|
|
605
|
+
all.
|
|
606
|
+
layout: "MM YY over a horizontal rule, serial beneath, with EXP set vertically alongside"
|
|
607
|
+
design:
|
|
608
|
+
plate: { w: 340, h: 110, unit: mm }
|
|
609
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
610
|
+
foreground: "#000000"
|
|
611
|
+
band: { side: left, color: "#003399", hex_basis: observed, content: eu-stars+L }
|
|
612
|
+
note: "art. 11, fourth paragraph, singles this plate out for a size of its own: 'les plaques d'immatriculation dont question sous h) de l'article 7 doivent avoir une largeur de 340 mm et une hauteur de 110 mm' — the only dimension in the instrument attached to a SERIES rather than to a vehicle class"
|
|
613
|
+
region_encoding: none
|
|
614
|
+
sources:
|
|
615
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 7 h) (the number, the stacked layout, the EXP letters, and the three-month export condition), art. 11 (the 340x110 size), art. 14 (supplied by the SNCT). Accessed 2026-08-02"
|
|
616
|
+
notes: >-
|
|
617
|
+
EXPORT PLATES. The qualifying condition is tighter than most European
|
|
618
|
+
export regimes and is worth recording: the vehicle must be "destine a etre
|
|
619
|
+
exporte dans un delai inferieur a trois mois a partir de leur date
|
|
620
|
+
d'immatriculation" — three months from registration, not from application.
|
|
621
|
+
Unlike nl-export this series does NOT reuse the vehicle's existing
|
|
622
|
+
registration, so it is `strict` rather than `recall-only`: it has a
|
|
623
|
+
grammar of its own and the grammar is enacted.
|
|
624
|
+
|
|
625
|
+
# =========================================================================
|
|
626
|
+
# ARMY.
|
|
627
|
+
# =========================================================================
|
|
628
|
+
- id: lu-army-2003
|
|
629
|
+
class: military
|
|
630
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
631
|
+
period: { start: 2003 }
|
|
632
|
+
period_evidence: statutory-authority-undated
|
|
633
|
+
matching: recall-only
|
|
634
|
+
format:
|
|
635
|
+
pattern: "9999"
|
|
636
|
+
regex: '\A\d{1,6}\z'
|
|
637
|
+
pattern_note: >-
|
|
638
|
+
NO GRAMMAR IS ENACTED AND NONE IS INVENTED — hence `recall-only` and a
|
|
639
|
+
deliberately shapeless regex. Art. 3 §1 does two things and only two:
|
|
640
|
+
it fixes the COLOURS ("un numero dont les lettres et les chiffres sont
|
|
641
|
+
peintes en couleur blanche sur fond noir") and it names the issuing
|
|
642
|
+
authority ("Les numeros d'immatriculation des vehicules de l'Armee sont
|
|
643
|
+
attribues par le Commandant de l'Armee"). Digit count, letters, ranges:
|
|
644
|
+
absent from the instrument. The pattern shows four digits only because
|
|
645
|
+
the schema requires a pattern.
|
|
646
|
+
design:
|
|
647
|
+
background: { color: "#000000", finish: painted, hex_basis: observed }
|
|
648
|
+
foreground: "#FFFFFF"
|
|
649
|
+
band: { side: none }
|
|
650
|
+
note: >-
|
|
651
|
+
Art. 3 §1 also permits these vehicles to carry EITHER the national
|
|
652
|
+
distinguishing sign as specified in art. 12 §6 (the black L on a white
|
|
653
|
+
oval, 175 x 115 mm) OR "un autre signe distinctif special" which the
|
|
654
|
+
instrument does not describe. `finish: painted` follows the instrument's
|
|
655
|
+
own verb — the colours are "peintes" — and no retroreflectivity is
|
|
656
|
+
required, in contrast to every civilian series here.
|
|
657
|
+
region_encoding: none
|
|
658
|
+
sources:
|
|
659
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 3 §1: army vehicles NOT subject to registration carry white-on-black plates, numbered by the Army Commander, optionally with the national or a special distinguishing sign. Accessed 2026-08-02"
|
|
660
|
+
notes: >-
|
|
661
|
+
L'ARMEE LUXEMBOURGEOISE. The provision governs vehicles that are NOT
|
|
662
|
+
subject to civil registration at all, which is why it sits in the
|
|
663
|
+
instrument's chapter on plate characteristics rather than in its chapter
|
|
664
|
+
on number attribution — the Army is outside the register, and this
|
|
665
|
+
regulation reaches it only to say what its plates must look like.
|
|
666
|
+
`period_evidence: statutory-authority-undated`: the 2003 instrument is
|
|
667
|
+
the authority for the colour rule and the start recorded here is that
|
|
668
|
+
instrument's commencement, but white-on-black army plates plainly predate
|
|
669
|
+
it and no earlier instrument was reached. Grammar is a recorded gap, and
|
|
670
|
+
the place to look is the Army Commander's own service orders, which are
|
|
671
|
+
not published in the Memorial.
|
|
672
|
+
|
|
673
|
+
# =========================================================================
|
|
674
|
+
# THE PRE-2003 WORLD. Three design windows, dated to the day by art. 12,
|
|
675
|
+
# carrying one shared and undated number grammar.
|
|
676
|
+
# =========================================================================
|
|
677
|
+
- id: lu-legacy-euro-1988
|
|
678
|
+
class: standard
|
|
679
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
680
|
+
period: { start: 1988, end: 2003 }
|
|
681
|
+
period_evidence: statutory-date
|
|
682
|
+
matching: recall-only
|
|
683
|
+
format:
|
|
684
|
+
pattern: "LL 999"
|
|
685
|
+
regex: '\A(?:\d{2,3}|\d{2}[- ][A-Z]{2}|[A-Z]{2}[- ]\d{2}|[A-Z][- ]\d{4}|[A-Z]{2}[- ]\d{3})\z'
|
|
686
|
+
pattern_note: >-
|
|
687
|
+
THE NUMBER GRAMMAR IS SHARED ACROSS ALL THREE PRE-2003 WINDOWS AND IS
|
|
688
|
+
DATED BY NONE OF THEM. Art. 16 §1 enumerates the pre-2003 compositions
|
|
689
|
+
that may stay in use: "deux ou de trois chiffres", "deux chiffres et de
|
|
690
|
+
deux lettres", "une lettre et de quatre chiffres", "deux lettres et de
|
|
691
|
+
trois chiffres". That is a list of four shapes with no order and no
|
|
692
|
+
dates, so the regex is their union and the series is `recall-only`. The
|
|
693
|
+
two-digits-and-two-letters shape is spelled in BOTH orders here because
|
|
694
|
+
the instrument gives a composition, not an arrangement — an honest
|
|
695
|
+
widening rather than a guessed order.
|
|
696
|
+
design:
|
|
697
|
+
plate: { w: 520, h: 110, unit: mm, note: "rear, where the mounting location is 520 mm wide per Directive 70/222/EEC" }
|
|
698
|
+
plate_variants:
|
|
699
|
+
- { w: 340, h: 110, unit: mm, note: "rear where the location is only 340 mm wide, and the FRONT plate in every case — art. 12 §3 sends both back to the §2 specification" }
|
|
700
|
+
- { w: 240, h: 200, unit: mm, note: "motocycles, WITHOUT the European emblem and with the national L sign below the number on black" }
|
|
701
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
702
|
+
foreground: "#000000"
|
|
703
|
+
band:
|
|
704
|
+
side: left
|
|
705
|
+
color: "#003399"
|
|
706
|
+
hex_basis: observed
|
|
707
|
+
content: eu-stars
|
|
708
|
+
note: >-
|
|
709
|
+
THE EMBLEM WITHOUT THE LETTER, and the distinction is the whole point
|
|
710
|
+
of this window. Art. 12 §3 gives "l'embleme des Communautes
|
|
711
|
+
Europeennes de couleur bleu-azur NON retroreflechissante avec au
|
|
712
|
+
centre un cercle de douze etoiles de couleur jaune retroreflechissante
|
|
713
|
+
a cinq rais dont les pointes ne se touchent pas, la hauteur de
|
|
714
|
+
l'embleme etant de 80 mm et la largeur de 120 mm" — twelve stars, an
|
|
715
|
+
80 x 120 mm field, a NON-retroreflective blue, and NO national letter
|
|
716
|
+
inside it. The L had to be carried separately, on the oval sign, and
|
|
717
|
+
art. 12 §6 says so in terms: "Le signe distinctif national ne doit pas
|
|
718
|
+
etre incorpore dans la plaque d'immatriculation." Incorporating the
|
|
719
|
+
country letter into the band is precisely what the 2003 instrument
|
|
720
|
+
changed, and it is why a 1990s Luxembourg plate and a 2003 one are
|
|
721
|
+
told apart at a glance.
|
|
722
|
+
national_sign:
|
|
723
|
+
shape: oval
|
|
724
|
+
w: 175
|
|
725
|
+
h: 115
|
|
726
|
+
unit: mm
|
|
727
|
+
background: "#FFFFFF"
|
|
728
|
+
foreground: "#000000"
|
|
729
|
+
note: "art. 12 §6: a separate rear oval, black L 80 mm high with a 10 mm stroke on white, 175 x 115 mm — or the same painted or applied directly to a substantially vertical rear surface. Mandatory for every vehicle plated under art. 12 §§1-3."
|
|
730
|
+
construction: { material: aluminium, min_thickness: 1.5, character_relief: 1.5, unit: mm, note: "art. 12 §5 — embossed characters at least 1.5 mm proud, not required for mopeds and light quadricycles" }
|
|
731
|
+
region_encoding: none
|
|
732
|
+
sources:
|
|
733
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 12 §3 (vehicles first registered from 01-01-1988 and before 01-07-2003: the 520x110 yellow plate with the EC emblem, its exact geometry, the 340 mm fallback and the motorcycle plate), §5 (aluminium and relief), §6 (the separate oval L and the prohibition on incorporating it), art. 16 §1 (the four surviving number compositions) and §4 (pre-2003 plates may stay in use). Accessed 2026-08-02"
|
|
734
|
+
notes: >-
|
|
735
|
+
THE 1988-2003 DESIGN WINDOW. Both boundaries are calendar dates enacted in
|
|
736
|
+
one article of one instrument, which is why `statutory-date` is earned
|
|
737
|
+
here rather than asserted. The window is a PERMISSION, not a mandate — art.
|
|
738
|
+
12 opens "Par derogation aux dispositions de l'article 11, les dispositions
|
|
739
|
+
suivantes s'appliquent aux plaques d'immatriculation des vehicules
|
|
740
|
+
immatricules avant le 1er juillet 2003", and §3 says such vehicles "peuvent
|
|
741
|
+
etre munis" of this plate. So these designs are what a pre-2003 vehicle MAY
|
|
742
|
+
still lawfully carry today, and the period is an eligibility window keyed
|
|
743
|
+
to FIRST REGISTRATION rather than a manufacturing window. Conformity is
|
|
744
|
+
forced only on a change of owner or on re-registration after the
|
|
745
|
+
registration card lapses (art. 16 §4), with historic vehicles exempted.
|
|
746
|
+
|
|
747
|
+
- id: lu-legacy-yellow-1974
|
|
748
|
+
class: standard
|
|
749
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
750
|
+
period: { start: 1974, end: 1988 }
|
|
751
|
+
period_evidence: statutory-date
|
|
752
|
+
matching: recall-only
|
|
753
|
+
format:
|
|
754
|
+
pattern: "LL 999"
|
|
755
|
+
regex: '\A(?:\d{2,3}|\d{2}[- ][A-Z]{2}|[A-Z]{2}[- ]\d{2}|[A-Z][- ]\d{4}|[A-Z]{2}[- ]\d{3})\z'
|
|
756
|
+
pattern_note: "the same undated union as lu-legacy-euro-1988 — see that entry's note; art. 16 §1 lists the compositions without dating them"
|
|
757
|
+
design:
|
|
758
|
+
plate: { w: 340, h: 110, unit: mm }
|
|
759
|
+
plate_variants:
|
|
760
|
+
- { w: 240, h: 200, unit: mm, note: "motocycles, with the national L sign below the number on a black field" }
|
|
761
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed }
|
|
762
|
+
foreground: "#000000"
|
|
763
|
+
band: { side: none }
|
|
764
|
+
national_sign:
|
|
765
|
+
shape: oval
|
|
766
|
+
w: 175
|
|
767
|
+
h: 115
|
|
768
|
+
unit: mm
|
|
769
|
+
background: "#FFFFFF"
|
|
770
|
+
foreground: "#000000"
|
|
771
|
+
note: "art. 12 §6 applies to this window too — the separate rear oval, black L on white"
|
|
772
|
+
construction: { material: aluminium, min_thickness: 1.5, character_relief: 1.5, unit: mm }
|
|
773
|
+
region_encoding: none
|
|
774
|
+
sources:
|
|
775
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 12 §2: vehicles first registered from 01-01-1974 and before 01-01-1988 may carry front and rear plates of 340 x 110 mm 'avec un fond de couleur jaune retroreflechissante sur lequel sont apposes des caracteres alphanumeriques en couleur noire non retroreflechissante'. Accessed 2026-08-02"
|
|
776
|
+
notes: >-
|
|
777
|
+
THE 1974-1988 DESIGN WINDOW — this is where Luxembourg's yellow comes
|
|
778
|
+
from, and the date is exact. No European element of any kind: the EC
|
|
779
|
+
emblem arrives with the next window and the euroband with the letter
|
|
780
|
+
arrives in 2003. So a Luxembourg plate that is yellow, 340 x 110, and
|
|
781
|
+
carries nothing at its left-hand end is a 1974-1987 first registration,
|
|
782
|
+
which makes this the most datable design in the country.
|
|
783
|
+
|
|
784
|
+
- id: lu-legacy-black
|
|
785
|
+
class: standard
|
|
786
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
787
|
+
period: { start: 1955, end: 1974 }
|
|
788
|
+
period_evidence: instrument-in-force-upper-bound
|
|
789
|
+
matching: recall-only
|
|
790
|
+
format:
|
|
791
|
+
pattern: "LL 999"
|
|
792
|
+
regex: '\A(?:\d{2,3}|\d{2}[- ][A-Z]{2}|[A-Z]{2}[- ]\d{2}|[A-Z][- ]\d{4}|[A-Z]{2}[- ]\d{3})\z'
|
|
793
|
+
pattern_note: "the same undated union as lu-legacy-euro-1988 — see that entry's note"
|
|
794
|
+
design:
|
|
795
|
+
plate: { w: 340, h: 110, unit: mm }
|
|
796
|
+
plate_variants:
|
|
797
|
+
- { w: 240, h: 200, unit: mm, note: "motocycles, with the national L sign below the number" }
|
|
798
|
+
background: { color: "#000000", finish: painted, hex_basis: observed }
|
|
799
|
+
foreground: "#FFFFFF"
|
|
800
|
+
band: { side: none }
|
|
801
|
+
national_sign:
|
|
802
|
+
shape: oval
|
|
803
|
+
w: 175
|
|
804
|
+
h: 115
|
|
805
|
+
unit: mm
|
|
806
|
+
background: "#FFFFFF"
|
|
807
|
+
foreground: "#000000"
|
|
808
|
+
note: >-
|
|
809
|
+
Required at the rear like the later windows — BUT with the one
|
|
810
|
+
exemption in the instrument that lets the country letter onto the
|
|
811
|
+
plate itself: art. 12 §6's prohibition on incorporating the national
|
|
812
|
+
sign "ne s'applique toutefois ni aux motocycles ni aux vehicules qui
|
|
813
|
+
ont ete immatricules au Luxembourg au nom du proprietaire ou detenteur
|
|
814
|
+
actuel avant le premier janvier 1974". A pre-1974 plate still held by
|
|
815
|
+
the same owner may therefore carry its L, and that exemption is
|
|
816
|
+
personal to the holder — it dies with the sale.
|
|
817
|
+
construction: { material: aluminium, min_thickness: 1.5, character_relief: 1.5, unit: mm }
|
|
818
|
+
region_encoding: none
|
|
819
|
+
sources:
|
|
820
|
+
- "https://data.legilux.public.lu/eli/etat/leg/rgd/2003/06/17/n2/jo/fr/pdf # RGD 17-06-2003 art. 12 §1: vehicles first registered before 01-01-1974 may carry 340 x 110 mm plates 'avec un fond de couleur noire non retroreflechissante, sur lequel les caracteres alphanumeriques sont reproduits en couleur blanche'; art. 12 §6 exemption. Art. 1 and the preamble cite the loi du 14 fevrier 1955 and the arrete grand-ducal du 23 novembre 1955 as the registration regime this all sits under. Accessed 2026-08-02"
|
|
821
|
+
notes: >-
|
|
822
|
+
THE BLACK ERA — white on black, and the one entry in this file whose START
|
|
823
|
+
is not a plate fact. `instrument-in-force-upper-bound` is exact about
|
|
824
|
+
that: the END, 1 January 1974, is enacted in art. 12 §1 and is solid; the
|
|
825
|
+
START, 1955, is the year of the REGISTRATION REGIME this instrument
|
|
826
|
+
descends from — the loi du 14 fevrier 1955 concernant la reglementation de
|
|
827
|
+
la circulation sur toutes les voies publiques and the arrete grand-ducal
|
|
828
|
+
du 23 novembre 1955 portant reglement de la circulation, both cited by
|
|
829
|
+
name in the 2003 instrument's preamble and art. 1. It is a regime date
|
|
830
|
+
standing in for an unknown design date, exactly as es-provincial-numeric
|
|
831
|
+
uses 1900 for a format that begins in 1907, and it is flagged here for the
|
|
832
|
+
same reason: a consumer wanting the design-instrument window should read
|
|
833
|
+
"before 1974" and treat the lower bound as unestablished. THE MISSING
|
|
834
|
+
LINK, pinned for the next pass: art. 19 §2 of the 2003 instrument
|
|
835
|
+
abrogates by name "le reglement grand-ducal modifie du 21 decembre 1991
|
|
836
|
+
sur le mode d'attribution des numeros d'immatriculation et d'identite des
|
|
837
|
+
vehicules", which is the immediate predecessor allocation rule and the
|
|
838
|
+
most likely home of the four legacy compositions. Legilux serves the
|
|
839
|
+
Memorial issue for 21-12-1991 (A n. 86 of 27-12-1991) and that issue does
|
|
840
|
+
NOT contain it — probed, ten ELI ordinals, all returning the same
|
|
841
|
+
tax-and-VAT issue — so the instrument is published under a Memorial this
|
|
842
|
+
pass could not locate. Recorded gap, with the search that failed.
|