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
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
# plates/us-al.yml — Alabama (PRD-PLATES gate L2, group southeast-b).
|
|
2
|
+
#
|
|
3
|
+
# WHAT MAKES ALABAMA WORTH READING FIRST IN THIS GROUP: it is the only state in
|
|
4
|
+
# the group whose issuing agency publishes an actual DESIGN SPECIFICATION —
|
|
5
|
+
# "State of Alabama License Plate Design Specifications", 4 pp, dated April 8,
|
|
6
|
+
# 2021, served from revenue.alabama.gov. That document is the single richest
|
|
7
|
+
# per-state renderable-geometry source found in this pass: plate sizes for
|
|
8
|
+
# passenger AND motorcycle, the safe design rectangle, the header typeface and
|
|
9
|
+
# point size, minimum character height, the SEVEN-character cap on standard
|
|
10
|
+
# plates and the SIX-character cap on distinctive plates, the mandated black
|
|
11
|
+
# character colour, and a statutory legend ("Heart of Dixie") that every plate
|
|
12
|
+
# must carry. Almost none of that is inferable from a photograph, and no
|
|
13
|
+
# competitor dataset has any of it.
|
|
14
|
+
#
|
|
15
|
+
# SOURCING RULE APPLIED HERE, AND ITS LIMIT: PRD-PLATES §4 prefers the statute
|
|
16
|
+
# over the brochure. Alabama's Code (Title 32, Chapter 6) is served only through
|
|
17
|
+
# ALISON, a JavaScript application that returns no extractable text, and every
|
|
18
|
+
# third-party mirror tried (Justia, FindLaw, Casetext, LawServer) answers 403 or
|
|
19
|
+
# 410 to a plain fetch. So the top of the source hierarchy in this file is the
|
|
20
|
+
# DEPARTMENT's own published specification and its own plate catalogue — both
|
|
21
|
+
# primary agency documents — with the Alabama Department of Archives and History
|
|
22
|
+
# supplying the county-code table. The statutory layer is a RECORDED GAP, named
|
|
23
|
+
# in each series' notes rather than papered over.
|
|
24
|
+
#
|
|
25
|
+
# REGEX FORM (PRD-PLATES §2.6): every regex here is written in PRINTED form. The
|
|
26
|
+
# optional space before the weight-class letter is spelled ` ?` because Alabama
|
|
27
|
+
# prints the county code as a visually separate group on most plates and the
|
|
28
|
+
# department's spec is silent on grouping; the cap, not the gap, is the claim.
|
|
29
|
+
jurisdiction: us-al
|
|
30
|
+
authority:
|
|
31
|
+
name: Alabama Department of Revenue, Motor Vehicle Division (ALDOR MVD)
|
|
32
|
+
url: "https://www.revenue.alabama.gov/division/motor-vehicle/"
|
|
33
|
+
binding: vehicle
|
|
34
|
+
statute_edition: >-
|
|
35
|
+
NOT OBTAINED. The Code of Alabama is published through ALISON
|
|
36
|
+
(alison.legislature.state.al.us), which serves a JavaScript shell with no
|
|
37
|
+
extractable statutory text, and every mirror attempted returned 403/410. The
|
|
38
|
+
Alabama Administrative Code host (admincode.legislature.state.al.us) is the
|
|
39
|
+
same shape. Every legal claim in this file is therefore sourced to a
|
|
40
|
+
DEPARTMENTAL instrument, and the statutory chapter is a named gap.
|
|
41
|
+
|
|
42
|
+
# ---------------------------------------------------------------------------
|
|
43
|
+
# artwork_risk — required per jurisdiction by PRD-PLATES §4.
|
|
44
|
+
# ---------------------------------------------------------------------------
|
|
45
|
+
artwork_risk:
|
|
46
|
+
posture: unresearched
|
|
47
|
+
basis: >-
|
|
48
|
+
NO DETERMINATION EITHER WAY WAS FOUND, and this is recorded as unresearched
|
|
49
|
+
rather than guessed. Alabama does not appear in the per-state posture table
|
|
50
|
+
of the pinned US/world dossier (which covers FL, CA, NC, NJ, MA, GA as
|
|
51
|
+
favourable and NY, AZ, WA, PA as adverse), and no Commons {{PD-ALGov}} tag
|
|
52
|
+
was located. Under the dossier's core rule — 17 U.S.C. §105 does not reach
|
|
53
|
+
the states, so the DEFAULT for a US state plate design is copyrighted unless
|
|
54
|
+
that state says otherwise — Alabama must be treated as default-copyrighted
|
|
55
|
+
until researched. The one adjacent data point actually fetched cuts the
|
|
56
|
+
other way from a clearance: ALDOR's own design specification instructs
|
|
57
|
+
sponsors that "If the logo or design includes copyright protected elements,
|
|
58
|
+
written permission to have the design appear on an Alabama license plate
|
|
59
|
+
must be provided to the Department" — evidence that the department actively
|
|
60
|
+
polices THIRD-PARTY copyright in plate artwork, and no evidence at all about
|
|
61
|
+
the state's posture toward its own.
|
|
62
|
+
edict_carve_out: >-
|
|
63
|
+
Independent of the above: the design specification is an agency instrument,
|
|
64
|
+
and Alabama's plate FACTS (sizes, character caps, colours-as-values, legends)
|
|
65
|
+
are facts, which are uncopyrightable at every level. Nothing in this file
|
|
66
|
+
reproduces artwork.
|
|
67
|
+
emblem_rule: >-
|
|
68
|
+
PRD-PLATES §3 placeholder default applies without exception here, and applies
|
|
69
|
+
harder than it does in Florida because the posture is unknown rather than
|
|
70
|
+
favourable. The sunrise-beach graphic and the HEART OF DIXIE heart device
|
|
71
|
+
render as `emblem: {present: true, rendered: placeholder}`. State-seal misuse
|
|
72
|
+
statutes are a separate regime from copyright and are unresearched for
|
|
73
|
+
Alabama.
|
|
74
|
+
sources:
|
|
75
|
+
- "https://www.revenue.alabama.gov/wp-content/uploads/2022/02/License-Plate-Design-Specifications-040821.pdf # ALDOR requires sponsors to furnish written permission for copyright-protected elements — the department's own copyright-awareness, and the only Alabama IP evidence obtained"
|
|
76
|
+
- "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY, via the pinned dossier: the source that establishes the default-copyrighted rule for states and lists the exceptions — Alabama is not among them"
|
|
77
|
+
|
|
78
|
+
# ---------------------------------------------------------------------------
|
|
79
|
+
# The US standards chain, plus the Alabama-specific wrinkle that makes this
|
|
80
|
+
# state's record unusual: Alabama delegates reflectivity to a DIFFERENT SAE
|
|
81
|
+
# standard than AAMVA delegates dimensions to.
|
|
82
|
+
# ---------------------------------------------------------------------------
|
|
83
|
+
us_standards:
|
|
84
|
+
no_federal_mandate: true
|
|
85
|
+
chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption. AAMVA writes recommendations in the declarative present and has no enforcement power."
|
|
86
|
+
aamva_edition_3:
|
|
87
|
+
dimensions_delegated: "AAMVA §3.1 sends plate dimensions and bolt holes to SAE J686. J686's own text is PAYWALLED and was NOT obtained; nothing in this file quotes it. Alabama's own 6x12 in figure comes from ALDOR's specification, not from J686."
|
|
88
|
+
character_layout: "AAMVA §2.2: characters at least 2.5 in high, spaced at least 0.25 in apart, stroke weight 0.2-0.4 in, at least 1.25 in clear of top and bottom edges."
|
|
89
|
+
jurisdiction_name_layout: "AAMVA §2.1: jurisdiction name in the top centre between the bolt holes, jurisdiction characters 0.75-1.0 in."
|
|
90
|
+
stacked_characters: "AAMVA: stacked characters are part of the official plate number; no more than two may be stacked. Relevant to Alabama's non-passenger types, which stack a weight code beneath the class letter."
|
|
91
|
+
replacement_cycle: "AAMVA §1.1 recommends a rolling or full replacement cycle not to exceed 7 to 10 years. NO Alabama replacement cycle was obtained (recorded gap) — contrast Florida, which legislated 10 years."
|
|
92
|
+
source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
|
|
93
|
+
alabama_divergence: >-
|
|
94
|
+
A GENUINELY INTERESTING FINDING, and the reason this block is not boilerplate.
|
|
95
|
+
ALDOR's specification does NOT route reflectivity through AAMVA. It states, in
|
|
96
|
+
the department's own words, that plates "shall be manufactured in such a manner
|
|
97
|
+
as to meet the minimum federal performance standards as set out in Table I of
|
|
98
|
+
the Society of Automotive Engineers Standard J594e, 'Reflex Reflectors,' of
|
|
99
|
+
Federal Standard 108." So the US standards chain is not one chain: AAMVA points
|
|
100
|
+
at SAE J686 for GEOMETRY, and Alabama points at SAE J594e via FMVSS 108 for
|
|
101
|
+
REFLECTIVITY. Recorded because the sentence above is ALABAMA's text — quoting
|
|
102
|
+
the state's own delegation is not quoting SAE, and no SAE text appears anywhere
|
|
103
|
+
in this dataset (the standing rule).
|
|
104
|
+
digital_manufacture: >-
|
|
105
|
+
"The State of Alabama began utilizing digital license plate manufacturing
|
|
106
|
+
technology in September 2006." A dated, agency-sourced manufacturing boundary,
|
|
107
|
+
which is why Alabama plates since 2006 carry SCREENED rather than embossed
|
|
108
|
+
serials and why full-colour graphic bases are possible at all.
|
|
109
|
+
folklore_caution: >-
|
|
110
|
+
The "1956 AMA/AAMVA/NSC standardization agreement" that supposedly fixed the
|
|
111
|
+
6x12 inch plate is repeated in the lead of every state article read for this
|
|
112
|
+
group. THE STATUS OF THAT CLAIM HAS CHANGED SINCE THE PINNED DOSSIER and the
|
|
113
|
+
change is worth recording precisely: the dossier found it flagged `citation
|
|
114
|
+
needed` since 2017; the articles now attach a single citation — Garrish,
|
|
115
|
+
Christopher, "Reconsidering the Standard Plate Size", *Plates* (Automobile
|
|
116
|
+
License Plate Collectors Association), vol. 62 no. 5, October 2016. That is a
|
|
117
|
+
hobbyist membership magazine, it was not obtainable, and its title on its face
|
|
118
|
+
suggests it REVISES rather than confirms the received account. Status
|
|
119
|
+
downgraded from "uncited" to "cited to an unobtainable enthusiast periodical
|
|
120
|
+
whose title implies it disputes the claim" — still not a sourced fact, and
|
|
121
|
+
Alabama's 6x12 in figure is instead cited to ALDOR's own specification.
|
|
122
|
+
sources:
|
|
123
|
+
- "https://www.revenue.alabama.gov/wp-content/uploads/2022/02/License-Plate-Design-Specifications-040821.pdf # the J594e/FMVSS 108 reflectivity delegation, the September 2006 digital-manufacture date, and the 6x12 in / 4x7 in sizes"
|
|
124
|
+
|
|
125
|
+
display_rules:
|
|
126
|
+
status: NOT OBTAINED
|
|
127
|
+
note: >-
|
|
128
|
+
Alabama's plate-display statute was not obtained, for the ALISON reason given
|
|
129
|
+
at the head of this file. The Wikipedia US aggregate places Alabama among the
|
|
130
|
+
rear-only states, but that table is a LOCATOR and its own references are
|
|
131
|
+
per-state statutes; none was fetched for Alabama. No display claim is made
|
|
132
|
+
here. This is the single largest gap in the Alabama record and is the first
|
|
133
|
+
thing a verifier with statute access should close.
|
|
134
|
+
|
|
135
|
+
series:
|
|
136
|
+
|
|
137
|
+
# =========================================================================
|
|
138
|
+
# THE CURRENT STANDARD-ISSUE BASE.
|
|
139
|
+
# =========================================================================
|
|
140
|
+
- id: us-al-standard-2022
|
|
141
|
+
class: standard
|
|
142
|
+
categories: [car, van, truck, bus, motorcycle, motorhome]
|
|
143
|
+
period: { start: 2022 }
|
|
144
|
+
period_evidence: locator-dated-agency-corroborated
|
|
145
|
+
matching: strict
|
|
146
|
+
format:
|
|
147
|
+
pattern: "9L9999L"
|
|
148
|
+
regex: '\A(?:\d ?[A-Z][A-Z0-9]{5}|\d{2} ?[A-Z][A-Z0-9]{4})\z'
|
|
149
|
+
regex_statutory: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
150
|
+
charset:
|
|
151
|
+
notes: >-
|
|
152
|
+
THE SOURCED CONSTRAINT IS A LENGTH CAP, NOT AN ALPHABET. ALDOR's design
|
|
153
|
+
specification, verbatim: "A maximum of seven (7) alphanumeric characters
|
|
154
|
+
may be displayed on standard license plates. A maximum of six (6)
|
|
155
|
+
alphanumeric spaces may be displayed on distinctive license plates."
|
|
156
|
+
That seven-character cap is what `regex_statutory` encodes. NO letter
|
|
157
|
+
exclusion is stated anywhere in the specification.
|
|
158
|
+
excluded_reported: ["I", "O", "Q"]
|
|
159
|
+
excluded_evidence: >-
|
|
160
|
+
REPORTED, NOT SOURCED. The I/O/Q exclusion is a Wikipedia LOCATOR claim
|
|
161
|
+
and no departmental instrument confirming it was found, so it is NOT
|
|
162
|
+
encoded as a `regex_strict`. Recorded here so a future pass can close it
|
|
163
|
+
with one citation rather than rediscover it. (Contrast Kentucky in this
|
|
164
|
+
same group, where the exclusion IS agency-stated and therefore IS encoded.)
|
|
165
|
+
progression: >-
|
|
166
|
+
Reported by the same locator: "The last 4-5 characters can be numbers or
|
|
167
|
+
letters. Each progresses 0 to 9, then A to Y, from right to left." An
|
|
168
|
+
odometer-style mixed-radix progression rather than a letter-block scheme —
|
|
169
|
+
which, if true, is why Alabama shows eight different-looking arrangements
|
|
170
|
+
inside ONE series rather than eight series. Not asserted as sourced.
|
|
171
|
+
pattern_note: >-
|
|
172
|
+
`regex` encodes the SOURCED SHAPE: a county code of one or two digits
|
|
173
|
+
(Alabama Department of Archives and History), followed by a class letter,
|
|
174
|
+
padded to exactly seven alphanumeric characters (ALDOR specification). It
|
|
175
|
+
is deliberately wider than the eight arrangements a locator reports
|
|
176
|
+
(1A2345B, 1A23BCD, 1A23B4C, 10A123B, 10A12B3, 10A1B23, 10A1BC2, 10A2BCD,
|
|
177
|
+
10ABCDE) because that list is not agency-sourced, and deliberately
|
|
178
|
+
narrower than the seven-character cap in `regex_statutory` because the
|
|
179
|
+
county prefix IS agency-sourced. `matching: strict` under the PRD-PLATES
|
|
180
|
+
§2.7 test: this is a real well-formedness claim for an Alabama passenger
|
|
181
|
+
plate, not a shape hit.
|
|
182
|
+
design:
|
|
183
|
+
plate: { w: 12, h: 6, unit: in, w_mm: 304.8, h_mm: 152.4 }
|
|
184
|
+
plate_variants:
|
|
185
|
+
- { for: motorcycle, w: 7, h: 4, unit: in, source_note: "ALDOR spec: 'Motorcycle license plates are 4\" X 7\"'. Recorded as a size variant rather than a series because ALDOR's own catalogue places motorcycles INSIDE the Standard Passenger category; no separate motorcycle serial grammar was obtained (recorded gap)." }
|
|
186
|
+
design_rectangle: { w: 11.44, h: 5.44, unit: in, note: "ALDOR spec: 'Designs for use in the United States must fit into a 5.44 X 11.44\" rectangle, with radius corners sized to match the debossing rim in the blanking press. The resulting .28\" margin is needed to ensure acceptable finished license plates.' This is a RENDERABLE constraint and no competitor carries it." }
|
|
187
|
+
bolt_holes: { diameter: 0.3125, unit: in, source_note: "ALDOR spec, stated in the context of bottom-legend placement" }
|
|
188
|
+
serial_area: { w: 8.75, h: 2.875, unit: in, note: "ALDOR spec: the serial area 'should be free of graphics'" }
|
|
189
|
+
character_min_height: { value: 2.75, unit: in, note: "ALDOR spec: 'no smaller than two and three-fourths inches in height' — TIGHTER than AAMVA §2.2's 2.5 in recommendation. Alabama exceeds the voluntary standard." }
|
|
190
|
+
character_spacing: "at least equal to the stroke width (ALDOR spec)"
|
|
191
|
+
foreground: "#000000"
|
|
192
|
+
foreground_basis: >-
|
|
193
|
+
SOURCED, and unusually so. ALDOR spec: "All license plate numbers will be
|
|
194
|
+
printed in black to ensure a minimum contrast ratio of 4-to-1 between
|
|
195
|
+
different background colors and the alphanumeric characters to ensure that
|
|
196
|
+
the background is four (4) times brighter than the alphanumeric characters."
|
|
197
|
+
A stated hue AND a stated photometric ratio — this is the best-sourced
|
|
198
|
+
foreground colour anywhere in the dataset so far, better even than Florida,
|
|
199
|
+
whose statute names no colour at all.
|
|
200
|
+
background: { finish: retroreflective, hex_basis: unsourced }
|
|
201
|
+
background_note: >-
|
|
202
|
+
NO HEX IS RECORDED. The current base is a full-colour sunrise-beach graphic,
|
|
203
|
+
so no single background value is meaningful, and ALDOR's "White is the
|
|
204
|
+
optimum background color ... and is required for quantity class 1 (generic)
|
|
205
|
+
license plate designs" applies to GENERIC distinctive plates, not to this
|
|
206
|
+
full-design standard base. Recording a hex here would be inventing one.
|
|
207
|
+
colour_process: "four process colours (CMYK), no spot/PMS colours, 3M reflective sheeting, ~55 LPI line screen, printable palette capped near 32,768 colours at 300x300 dpi (ALDOR spec)"
|
|
208
|
+
legend_top: "ALABAMA"
|
|
209
|
+
legend_top_typography: "capitalised, placed between the bolt holes, 80 point, URW BaskerTwid or similar (ALDOR spec explicitly offers 'Ex. Times New Roman' as the substitute) — a named typeface with a named fallback, which is rare and which §6's font-licensing rule can act on directly"
|
|
210
|
+
legend_bottom_reported: "www.alabama.travel"
|
|
211
|
+
heart_of_dixie_rule: >-
|
|
212
|
+
ALDOR spec, verbatim: "Every license plate shall display a conventionalized
|
|
213
|
+
representation of a heart and the words 'Heart of Dixie'. Sponsoring
|
|
214
|
+
organizations may request that the 'Heart of Dixie' language not be
|
|
215
|
+
reflected on the license plate." A MANDATORY legend with a sponsor-level
|
|
216
|
+
opt-out — structurally the same modelling wrinkle as Florida's
|
|
217
|
+
county-name legend with a county-commission opt-out, and the second
|
|
218
|
+
instance in the dataset of a legend that belongs to the requester rather
|
|
219
|
+
than to the series.
|
|
220
|
+
emblem: { present: true, rendered: placeholder, description: "sunrise beach graphic plus the Heart of Dixie heart device at lower right — described from a locator, NOT from a departmental drawing" }
|
|
221
|
+
rear_differs: false
|
|
222
|
+
region_encoding:
|
|
223
|
+
mechanism: "leading one or two digits of the serial = county of issuance"
|
|
224
|
+
table: >-
|
|
225
|
+
Codes 1, 2 and 3 were assigned in 1941 to Jefferson, Mobile and Montgomery
|
|
226
|
+
(the three most populous counties of the time) and codes 4 through 67 to the
|
|
227
|
+
remaining counties in ALPHABETICAL order; code 70 denotes replacement plates.
|
|
228
|
+
68 code rows were counted in the Archives table.
|
|
229
|
+
decode_trap: >-
|
|
230
|
+
THE TRAP A PARSE API MUST NOT FALL INTO: the codes were frozen in 1941 and
|
|
231
|
+
were never renumbered. Montgomery is still code 3 although it is now the
|
|
232
|
+
seventh most populous county, and Madison — now second — carries 47. The
|
|
233
|
+
code is a 1941 population ranking, not a current one, and any consumer that
|
|
234
|
+
infers size or importance from a low Alabama county code will be wrong.
|
|
235
|
+
status: "mechanism + rationale recorded; the full 67-row decode table is L4 scope and belongs in plates/_decode/us-al-county.yml when it lands"
|
|
236
|
+
source: "https://web.archive.org/web/20090430071153/http://www.archives.alabama.gov/auto-tags.html"
|
|
237
|
+
sources:
|
|
238
|
+
- "https://www.revenue.alabama.gov/wp-content/uploads/2022/02/License-Plate-Design-Specifications-040821.pdf # ALDOR 'License Plate Design Specifications', April 8 2021: 6x12 in passenger / 4x7 in motorcycle; the 5.44x11.44 in design rectangle and .28 in margin; 0.3125 in bolt holes; the 2.875x8.75 in graphics-free serial area; 2.75 in minimum character height; the ALABAMA header at 80 pt in URW BaskerTwid; the SEVEN-character standard cap and SIX-character distinctive cap; black characters at a 4:1 contrast ratio; the mandatory Heart of Dixie legend and its sponsor opt-out; 3M sheeting and the CMYK-only rule; the J594e/FMVSS 108 reflectivity delegation; September 2006 digital manufacture"
|
|
239
|
+
- "https://web.archive.org/web/20090430071153/http://www.archives.alabama.gov/auto-tags.html # Alabama Department of Archives and History, 'Alabama Automobile Tags Numerical by County': 'Alabama license plates first featured county codes in 1941. As of 2008, these codes continued to be used on passenger and some non-passenger types.' Full code-to-county table, 68 rows, including 1 Jefferson / 2 Mobile / 3 Montgomery and 70 Replacement. Live URL is dead; this is the Wayback capture"
|
|
240
|
+
- "https://www.revenue.alabama.gov/license-plates/ # ALDOR's own plate catalogue: the Standard Passenger entry, its eligibility ('Private passenger automobiles, motorcycles, pickup trucks (not exceeding 12,000 pounds), motor homes of any weight'), and its code-section hooks 40-12-242 and 40-12-273"
|
|
241
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Alabama # LOCATOR ONLY (PRD-PLATES §4): the January 3, 2022 base start, the sunrise-beach/www.alabama.travel design description, the eight serial arrangements, the right-to-left 0-9-then-A-Y progression, and the I/O/Q exclusion. None is asserted as sourced here"
|
|
242
|
+
notes: >-
|
|
243
|
+
ALABAMA STANDARD ISSUE, CURRENT BASE. THE ID IS DATED BUT THE DATE IS THE
|
|
244
|
+
WEAKEST CLAIM IN THE ENTRY, and that inversion is deliberate rather than
|
|
245
|
+
careless: the DESIGN facts here are agency-sourced to an unusual depth while
|
|
246
|
+
the PERIOD rests on a locator reporting January 3, 2022, with the same locator
|
|
247
|
+
conceding that "some appeared as early as October 2021". No ALDOR memo, press
|
|
248
|
+
release or catalogue entry announcing the 2022 base was located — ALDOR's memo
|
|
249
|
+
series does announce new plates with exact effective dates, but the three
|
|
250
|
+
memos reachable in this pass all concern DISTINCTIVE plates (Mental Health
|
|
251
|
+
Matters, April 1 2026; Protect Wildlife, July 1 2026; Alabama Is Aviation,
|
|
252
|
+
August 1 2026), not standard bases. A verifier should look for the equivalent
|
|
253
|
+
2021 memo; the id is dated on the assumption it will be found, and if the true
|
|
254
|
+
start proves to be 2021 the id becomes a former-id alias under the
|
|
255
|
+
PRD-QUALITY I-5/I-6 contract rather than being edited in place.
|
|
256
|
+
WHY ONE SERIES AND NOT EIGHT: Alabama's eight reported arrangements are all
|
|
257
|
+
seven characters, all county-prefixed, and all on one physical base. They are
|
|
258
|
+
the surface of a single right-to-left mixed-radix counter, not eight issuance
|
|
259
|
+
systems, so they are one series with one regex — the opposite call from
|
|
260
|
+
Tennessee in this same group, where the two standard options genuinely differ
|
|
261
|
+
in arrangement and are therefore two series.
|
|
262
|
+
|
|
263
|
+
# =========================================================================
|
|
264
|
+
# ONE SERIES BACK — the L2 requirement.
|
|
265
|
+
# =========================================================================
|
|
266
|
+
- id: us-al-standard-2014
|
|
267
|
+
class: standard
|
|
268
|
+
categories: [car, van, truck, bus, motorcycle, motorhome]
|
|
269
|
+
period: { start: 2014, end: 2022 }
|
|
270
|
+
period_evidence: locator-dated
|
|
271
|
+
matching: strict
|
|
272
|
+
format:
|
|
273
|
+
pattern: "9L9999L"
|
|
274
|
+
regex: '\A(?:\d ?[A-Z][A-Z0-9]{5}|\d{2} ?[A-Z][A-Z0-9]{4})\z'
|
|
275
|
+
regex_statutory: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
276
|
+
charset: { notes: "same seven-character departmental cap and same county prefix as the successor base — the 2022 change was a GRAPHIC change, not a format change" }
|
|
277
|
+
design:
|
|
278
|
+
plate: { w: 12, h: 6, unit: in }
|
|
279
|
+
foreground: "#000000"
|
|
280
|
+
background: { finish: retroreflective, hex_basis: unsourced }
|
|
281
|
+
graphic_reported: "black screened serial over a lake-and-forest graphic"
|
|
282
|
+
emblem: { present: true, rendered: placeholder }
|
|
283
|
+
region_encoding: "county code in the leading one or two digits, unchanged — see us-al-standard-2022"
|
|
284
|
+
sources:
|
|
285
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Alabama # LOCATOR ONLY: 'January 2, 2014 - January 2, 2022', lake-and-forest graphic, and the note that the letter-number-letter arrangement appeared in Madison and Shelby counties after 47ZZ999 and 58ZZ999 respectively were exhausted"
|
|
286
|
+
- "https://www.revenue.alabama.gov/wp-content/uploads/2022/02/License-Plate-Design-Specifications-040821.pdf # the design specification is dated April 8, 2021 and therefore governs the tail of THIS base as well as its successor — the same seven-character cap applies"
|
|
287
|
+
notes: >-
|
|
288
|
+
THE PREVIOUS ALABAMA BASE (lake and forest), 2014 to 2022. Recorded because
|
|
289
|
+
L2 asks for one series back, and worth recording for one substantive reason
|
|
290
|
+
beyond completeness: the county-exhaustion note. When Madison County ran out
|
|
291
|
+
of 47ZZ999 and Shelby out of 58ZZ999, Alabama did not issue a new county code
|
|
292
|
+
— it changed the ARRANGEMENT of the remaining characters within the same
|
|
293
|
+
county code. That is direct evidence for the one-series reading of the
|
|
294
|
+
current base's eight arrangements, and it is also the mechanism by which a
|
|
295
|
+
fixed 1941 county-code space survives population growth. Both period bounds
|
|
296
|
+
are locator-grade; the design specification bounds the format but says
|
|
297
|
+
nothing about dates.
|
|
298
|
+
|
|
299
|
+
# =========================================================================
|
|
300
|
+
# DEALER — separately serialized, and notably NOT county-coded.
|
|
301
|
+
# =========================================================================
|
|
302
|
+
- id: us-al-dealer
|
|
303
|
+
class: dealer
|
|
304
|
+
categories: [car, van, truck, motorcycle]
|
|
305
|
+
period: { start: 2021 }
|
|
306
|
+
period_evidence: instrument-in-force-upper-bound
|
|
307
|
+
matching: strict
|
|
308
|
+
format:
|
|
309
|
+
pattern: "99999"
|
|
310
|
+
regex: '\A\d{5}\z'
|
|
311
|
+
charset: { notes: "purely numeric and five wide as reported; the ALDOR seven-character cap bounds it but does not describe it" }
|
|
312
|
+
design:
|
|
313
|
+
plate: { w: 12, h: 6, unit: in }
|
|
314
|
+
background: { finish: retroreflective }
|
|
315
|
+
legend_bottom: "Dealer"
|
|
316
|
+
heart_of_dixie_rule: "the mandatory Heart of Dixie device applies to 'every license plate' per the ALDOR specification, dealer plates included"
|
|
317
|
+
binding: business
|
|
318
|
+
validity: "annual"
|
|
319
|
+
region_encoding: none
|
|
320
|
+
sources:
|
|
321
|
+
- "https://www.revenue.alabama.gov/license-plates/ # ALDOR's catalogue carries 'Dealer & Manufacturer' as one of its fourteen plate categories, establishing that Alabama serializes dealer plates separately"
|
|
322
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Alabama # LOCATOR ONLY: the five-digit numeric serial and the 'Dealer' legend, for Dealer - Passenger and both Dealer Transit types; first-issue date recorded as Unknown even by the locator"
|
|
323
|
+
- "https://www.revenue.alabama.gov/wp-content/uploads/2022/02/License-Plate-Design-Specifications-040821.pdf # the Heart of Dixie requirement that reaches 'every license plate'"
|
|
324
|
+
notes: >-
|
|
325
|
+
ALABAMA DEALER PLATES. `binding: business` for the standing reason — the plate
|
|
326
|
+
follows the dealership, not a vehicle. Two things are worth carrying forward.
|
|
327
|
+
First, the dealer serial is NOT county-coded, which makes it the clean
|
|
328
|
+
counter-example inside Alabama to the "leading digits are a county" rule and a
|
|
329
|
+
trap for any decoder that applies the county table indiscriminately. Second,
|
|
330
|
+
the period is an upper bound from the design specification's date and nothing
|
|
331
|
+
better: even the locator records the first-issue date as unknown. The five-digit
|
|
332
|
+
width is locator-grade and is flagged as such rather than dressed up.
|
|
333
|
+
|
|
334
|
+
# =========================================================================
|
|
335
|
+
# MOTORCYCLE — a genuine size series, and the reason it is separate here.
|
|
336
|
+
# =========================================================================
|
|
337
|
+
- id: us-al-motorcycle
|
|
338
|
+
class: motorcycle
|
|
339
|
+
categories: [motorcycle]
|
|
340
|
+
period: { start: 2014 }
|
|
341
|
+
period_evidence: locator-dated
|
|
342
|
+
matching: strict
|
|
343
|
+
format:
|
|
344
|
+
pattern: "999999M"
|
|
345
|
+
regex: '\A\d{6}M\z'
|
|
346
|
+
charset: { notes: "six numerals followed by a LITERAL M; the trailing M is a class marker inside the serial, not a separator and not a decorative device" }
|
|
347
|
+
design:
|
|
348
|
+
plate: { w: 7, h: 4, unit: in, source_note: "ALDOR spec: 'Motorcycle license plates are 4\" X 7\"'" }
|
|
349
|
+
foreground: "#000000"
|
|
350
|
+
background: { finish: retroreflective, hex_basis: unsourced }
|
|
351
|
+
emblem: { present: true, rendered: placeholder }
|
|
352
|
+
region_encoding: none
|
|
353
|
+
sources:
|
|
354
|
+
- "https://www.revenue.alabama.gov/wp-content/uploads/2022/02/License-Plate-Design-Specifications-040821.pdf # the 4x7 in motorcycle plate size, and the instruction that the logo maximum is 'adjusted accordingly for motorcycle plate'"
|
|
355
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Alabama # LOCATOR ONLY: the 123456M arrangement and a January 2014 first issue for the design shown"
|
|
356
|
+
notes: >-
|
|
357
|
+
ALABAMA MOTORCYCLE PLATES. Its own series because the DESIGN differs — 4x7 in
|
|
358
|
+
against 12x6 in — which is exactly the PRD-PLATES §2.3 test, and because the
|
|
359
|
+
serial is not county-coded. Note the tension the dataset now records honestly
|
|
360
|
+
in two places: ALDOR's catalogue puts motorcycles inside the Standard Passenger
|
|
361
|
+
CATEGORY for fee and eligibility purposes, while the physical plate is a
|
|
362
|
+
different size with a different serial. Both facts are true; the standard series
|
|
363
|
+
carries the size as a variant and cross-refers here, and this entry carries the
|
|
364
|
+
distinct serial. The M suffix is the only sourced-adjacent discriminator, and it
|
|
365
|
+
is locator-grade.
|
|
366
|
+
|
|
367
|
+
# =========================================================================
|
|
368
|
+
# DISTINCTIVE (SPECIALTY) — THE PROGRAM INDEX, per PRD-PLATES §2.5.
|
|
369
|
+
# Count and official links only; no individual designs.
|
|
370
|
+
# =========================================================================
|
|
371
|
+
- id: us-al-distinctive-index
|
|
372
|
+
class: specialty
|
|
373
|
+
categories: [car, van, truck, motorcycle]
|
|
374
|
+
period: { start: 2021 }
|
|
375
|
+
period_evidence: instrument-in-force-upper-bound
|
|
376
|
+
matching: recall-only
|
|
377
|
+
format:
|
|
378
|
+
pattern: "999999"
|
|
379
|
+
regex: '\A[A-Z0-9]{1,6}\z'
|
|
380
|
+
charset:
|
|
381
|
+
notes: >-
|
|
382
|
+
The SIX-character cap is agency-sourced and is the whole of what this
|
|
383
|
+
index claims: ALDOR, verbatim, "A maximum of six (6) alphanumeric spaces
|
|
384
|
+
may be displayed on distinctive license plates" — one character fewer than
|
|
385
|
+
a standard plate, because the design must reserve room for the sponsoring
|
|
386
|
+
organisation's artwork.
|
|
387
|
+
pattern_note: >-
|
|
388
|
+
`matching: recall-only` and it is the right call rather than a hedge. This
|
|
389
|
+
one entry stands for 398 catalogued plates whose individual arrangements are
|
|
390
|
+
not modelled at this gate (PRD-PLATES §2.5), so a match here says only
|
|
391
|
+
"this string could be an Alabama distinctive plate serial" and is emphatically
|
|
392
|
+
not a validity claim for any particular program. Per §2.7 a recall-only series
|
|
393
|
+
carries no `regex_strict`, and none is given.
|
|
394
|
+
design:
|
|
395
|
+
plate: { w: 12, h: 6, unit: in }
|
|
396
|
+
plate_variants: [{ for: motorcycle, w: 7, h: 4, unit: in }]
|
|
397
|
+
background: { finish: retroreflective }
|
|
398
|
+
generic_class_rule: >-
|
|
399
|
+
ALDOR distinguishes QUANTITY CLASS 1 (generic) from QUANTITY CLASS 2 (full
|
|
400
|
+
design) and specifies them differently: white background is REQUIRED for
|
|
401
|
+
class 1; the class 1 logo sits on the LEFT and may not exceed 3.22 x 2.3 in
|
|
402
|
+
on a passenger plate "to allow space for up to six (6) alphanumeric license
|
|
403
|
+
plate characters"; the class 1 Heart of Dixie device goes in the lower right
|
|
404
|
+
corner, while a class 2 design may place it anywhere. Design elements must
|
|
405
|
+
clear the serial by at least 0.25 in.
|
|
406
|
+
emblem: { present: true, rendered: placeholder }
|
|
407
|
+
note: "one design per authorised program; the designs themselves are L4 scope and none is described here"
|
|
408
|
+
program_index:
|
|
409
|
+
count_official: 398
|
|
410
|
+
count_official_basis: >-
|
|
411
|
+
Counted from ALDOR's own catalogue, which states its own total: "Showing 50
|
|
412
|
+
of 398 Plates". This is a HARDER number than most states publish — Florida
|
|
413
|
+
says "over 100", Kentucky says "over 150", Tennessee's arts commission says
|
|
414
|
+
"over 200"; Alabama publishes an exact figure because the catalogue is
|
|
415
|
+
database-backed.
|
|
416
|
+
count_caveat: >-
|
|
417
|
+
398 is the count of CATALOGUE ENTRIES across all fourteen categories, not the
|
|
418
|
+
count of specialty PROGRAMS. The catalogue separately lists passenger,
|
|
419
|
+
motorcycle, personalized-passenger and personalized-motorcycle rows for the
|
|
420
|
+
same organisation, so the program count is materially lower than 398 and was
|
|
421
|
+
not derived. Recorded as what it is rather than divided by a guess.
|
|
422
|
+
categories_official: ["Collegiate", "Dealer & Manufacturer", "Disability Access Parking", "Distinctive", "Generic Distinctive", "Generic Race", "Government Plates", "Military", "Motorcycle", "Original Vintage Plates", "Passenger", "Standard", "Temporary Tags", "Truck"]
|
|
423
|
+
official_list_url: "https://www.revenue.alabama.gov/license-plates/"
|
|
424
|
+
design_spec_url: "https://www.revenue.alabama.gov/wp-content/uploads/2022/02/License-Plate-Design-Specifications-040821.pdf"
|
|
425
|
+
sponsor_application_url: "https://mydmv.revenue.alabama.gov/TAP/?link=SponsoringOrg"
|
|
426
|
+
churn_evidence: >-
|
|
427
|
+
ALDOR publishes a numbered MEMO series to plate-issuing officials announcing
|
|
428
|
+
each new plate with an exact availability date. Three were fetched in this
|
|
429
|
+
pass: Mental Health Matters, available for issuance beginning April 1, 2026;
|
|
430
|
+
Protect Wildlife, beginning July 1, 2026; Alabama Is Aviation (MVD Memo
|
|
431
|
+
2026-004), beginning August 1, 2026. That is roughly one new plate a quarter
|
|
432
|
+
from ONE year's memos, which is the churn rate the index has to live with.
|
|
433
|
+
precommitment_mechanism: >-
|
|
434
|
+
A structural fact no other state in this group has: Alabama orders initial
|
|
435
|
+
stock against a PRE-COMMITMENT REPORT of county-level demand before a
|
|
436
|
+
distinctive plate is manufactured, and issues personalized copies on demand
|
|
437
|
+
through ALVIN. So an Alabama distinctive plate has a measurable demand
|
|
438
|
+
signal attached to it at birth, and the pre-commitment portal is public.
|
|
439
|
+
precommitment_url: "https://mydmv.revenue.alabama.gov/TAP/?link=PrecomPlt"
|
|
440
|
+
region_encoding: none
|
|
441
|
+
sources:
|
|
442
|
+
- "https://www.revenue.alabama.gov/license-plates/ # ALDOR's own plate catalogue: 'Showing 50 of 398 Plates' and the fourteen-category taxonomy"
|
|
443
|
+
- "https://www.revenue.alabama.gov/wp-content/uploads/2022/02/License-Plate-Design-Specifications-040821.pdf # the six-character distinctive cap, the quantity class 1 vs class 2 rules, the 3.22x2.3 in logo maximum, the white-background requirement for class 1, the 0.25 in clearance rule"
|
|
444
|
+
- "https://www.revenue.alabama.gov/memo-new-license-plate-mvd-memo-2026-004/ # MVD Memo 2026-004: 'Alabama Is Aviation, will be available for issuance beginning August 1, 2026'; the pre-commitment report and ALVIN ordering mechanism"
|
|
445
|
+
- "https://www.revenue.alabama.gov/memo-new-license-plate-memo-2026-001/ # Memo 2026-001: Mental Health Matters, beginning April 1, 2026"
|
|
446
|
+
- "https://www.revenue.alabama.gov/memo-new-license-plate/ # Protect Wildlife, beginning July 1, 2026"
|
|
447
|
+
notes: >-
|
|
448
|
+
THE ALABAMA DISTINCTIVE-PLATE INDEX — one entry standing for the whole program,
|
|
449
|
+
which is what PRD-PLATES §2.5 asks for at this gate. Two things worth carrying
|
|
450
|
+
forward. First, Alabama is the best-instrumented specialty program found in this
|
|
451
|
+
group: an exact published count, a fourteen-category taxonomy, a dated memo
|
|
452
|
+
series for new issues, and a public pre-commitment portal. Second, the SIX
|
|
453
|
+
versus SEVEN character split is the most consequential single fact here for a
|
|
454
|
+
parse API — an Alabama serial of seven characters cannot be a distinctive plate,
|
|
455
|
+
and that is a sourced discriminator, not a heuristic. It is also why the
|
|
456
|
+
distinctive index is recall-only while the standard series is strict: the cap
|
|
457
|
+
tells you what a distinctive serial cannot be, never what it is.
|