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.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -0
  3. data/CHANGELOG.md +274 -0
  4. data/README.md +55 -10
  5. data/data/PROVENANCE-vehicles.md +12 -0
  6. data/data/plates/PROVENANCE.md +5 -4
  7. data/data/plates/_decode/at-districts.yml +287 -0
  8. data/data/plates/_decode/ch-cantons.yml +110 -0
  9. data/data/plates/_decode/cn-issuing-offices.yml +463 -0
  10. data/data/plates/_decode/cn-provinces.yml +614 -0
  11. data/data/plates/_decode/cz-kraj.yml +159 -0
  12. data/data/plates/_decode/dk-serial-blocks.yml +327 -0
  13. data/data/plates/_decode/fr-departements.yml +191 -0
  14. data/data/plates/_decode/gb-age-identifiers.yml +170 -0
  15. data/data/plates/_decode/gb-memory-tags.yml +202 -0
  16. data/data/plates/_decode/gr-prefectures.yml +1408 -0
  17. data/data/plates/_decode/hr-cities.yml +315 -0
  18. data/data/plates/_decode/ie-counties.yml +227 -0
  19. data/data/plates/_decode/in-state-codes.yml +169 -0
  20. data/data/plates/_decode/is-districts-1938.yml +116 -0
  21. data/data/plates/_decode/it-provinces.yml +348 -0
  22. data/data/plates/_decode/jp-office-marks.yml +960 -0
  23. data/data/plates/_decode/jp-use-marks.yml +205 -0
  24. data/data/plates/_decode/kr-authority-marks.yml +146 -0
  25. data/data/plates/_decode/kr-use-syllables.yml +194 -0
  26. data/data/plates/_decode/lu-series-order.yml +638 -0
  27. data/data/plates/_decode/mx-entity-series.yml +380 -0
  28. data/data/plates/_decode/my-index-marks.yml +271 -0
  29. data/data/plates/_decode/no-counties-1913.yml +148 -0
  30. data/data/plates/_decode/no-districts.yml +901 -0
  31. data/data/plates/_decode/pl-powiats.yml +567 -0
  32. data/data/plates/_decode/pt-trailer-services.yml +96 -0
  33. data/data/plates/_decode/ro-counties.yml +213 -0
  34. data/data/plates/_decode/se-diplomatic.yml +220 -0
  35. data/data/plates/_decode/si-regions.yml +123 -0
  36. data/data/plates/_decode/sk-districts.yml +314 -0
  37. data/data/plates/_decode/th-registration-elements.yml +208 -0
  38. data/data/plates/_decode/ua-regions.yml +393 -0
  39. data/data/plates/_decode/za-licence-marks.yml +215 -0
  40. data/data/plates/_meta/classes.yml +1 -0
  41. data/data/plates/_meta/separators.yml +102 -0
  42. data/data/plates/ad.yml +961 -0
  43. data/data/plates/ar.yml +762 -0
  44. data/data/plates/at.yml +1424 -0
  45. data/data/plates/au-act.yml +472 -0
  46. data/data/plates/au-nsw.yml +282 -0
  47. data/data/plates/au-nt.yml +431 -0
  48. data/data/plates/au-qld.yml +272 -0
  49. data/data/plates/au-sa.yml +248 -0
  50. data/data/plates/au-tas.yml +302 -0
  51. data/data/plates/au-vic.yml +215 -0
  52. data/data/plates/au-wa.yml +309 -0
  53. data/data/plates/be.yml +1840 -0
  54. data/data/plates/br.yml +1152 -0
  55. data/data/plates/ca-ab.yml +430 -0
  56. data/data/plates/ca-bc.yml +697 -0
  57. data/data/plates/ca-mb.yml +499 -0
  58. data/data/plates/ca-nb.yml +537 -0
  59. data/data/plates/ca-nl.yml +743 -0
  60. data/data/plates/ca-ns.yml +808 -0
  61. data/data/plates/ca-nt.yml +610 -0
  62. data/data/plates/ca-nu.yml +280 -0
  63. data/data/plates/ca-on.yml +881 -0
  64. data/data/plates/ca-pe.yml +592 -0
  65. data/data/plates/ca-qc.yml +1036 -0
  66. data/data/plates/ca-sk.yml +256 -0
  67. data/data/plates/ca-yt.yml +656 -0
  68. data/data/plates/ch.yml +1273 -0
  69. data/data/plates/cn.yml +1431 -0
  70. data/data/plates/cy.yml +688 -0
  71. data/data/plates/cz.yml +1179 -0
  72. data/data/plates/de.yml +553 -118
  73. data/data/plates/dk.yml +1647 -0
  74. data/data/plates/ee.yml +1275 -0
  75. data/data/plates/es.yml +228 -32
  76. data/data/plates/fi.yml +1271 -0
  77. data/data/plates/fr.yml +1265 -0
  78. data/data/plates/gb.yml +1188 -0
  79. data/data/plates/gr.yml +721 -0
  80. data/data/plates/hr.yml +860 -0
  81. data/data/plates/hu.yml +959 -0
  82. data/data/plates/ie.yml +775 -0
  83. data/data/plates/in.yml +1172 -0
  84. data/data/plates/is.yml +667 -0
  85. data/data/plates/it.yml +1317 -0
  86. data/data/plates/jp.yml +3650 -0
  87. data/data/plates/kr.yml +1375 -0
  88. data/data/plates/li.yml +1010 -0
  89. data/data/plates/lt.yml +879 -0
  90. data/data/plates/lu.yml +842 -0
  91. data/data/plates/lv.yml +924 -0
  92. data/data/plates/mc.yml +1024 -0
  93. data/data/plates/mt.yml +854 -0
  94. data/data/plates/mx.yml +1372 -0
  95. data/data/plates/my.yml +685 -0
  96. data/data/plates/nl.yml +44 -0
  97. data/data/plates/no.yml +1018 -0
  98. data/data/plates/nz.yml +1699 -0
  99. data/data/plates/pl.yml +1296 -0
  100. data/data/plates/pt.yml +847 -0
  101. data/data/plates/ro.yml +785 -0
  102. data/data/plates/se.yml +1091 -0
  103. data/data/plates/si.yml +1105 -0
  104. data/data/plates/sk.yml +1439 -0
  105. data/data/plates/sm.yml +1119 -0
  106. data/data/plates/th.yml +1150 -0
  107. data/data/plates/ua.yml +1672 -0
  108. data/data/plates/us-ak.yml +763 -0
  109. data/data/plates/us-al.yml +457 -0
  110. data/data/plates/us-ar.yml +427 -0
  111. data/data/plates/us-as.yml +454 -0
  112. data/data/plates/us-az.yml +430 -0
  113. data/data/plates/us-ca.yml +892 -0
  114. data/data/plates/us-co.yml +452 -0
  115. data/data/plates/us-ct.yml +427 -0
  116. data/data/plates/us-dc.yml +614 -0
  117. data/data/plates/us-de.yml +551 -0
  118. data/data/plates/us-fl.yml +319 -96
  119. data/data/plates/us-ga.yml +644 -0
  120. data/data/plates/us-gu.yml +658 -0
  121. data/data/plates/us-hi.yml +585 -0
  122. data/data/plates/us-ia.yml +438 -0
  123. data/data/plates/us-id.yml +531 -0
  124. data/data/plates/us-il.yml +516 -0
  125. data/data/plates/us-in.yml +324 -0
  126. data/data/plates/us-ks.yml +351 -0
  127. data/data/plates/us-ky.yml +770 -0
  128. data/data/plates/us-la.yml +568 -0
  129. data/data/plates/us-ma.yml +379 -0
  130. data/data/plates/us-md.yml +536 -0
  131. data/data/plates/us-me.yml +445 -0
  132. data/data/plates/us-mi.yml +408 -0
  133. data/data/plates/us-mn.yml +411 -0
  134. data/data/plates/us-mo.yml +356 -0
  135. data/data/plates/us-mp.yml +402 -0
  136. data/data/plates/us-ms.yml +432 -0
  137. data/data/plates/us-mt.yml +619 -0
  138. data/data/plates/us-nc.yml +602 -0
  139. data/data/plates/us-nd.yml +419 -0
  140. data/data/plates/us-ne.yml +483 -0
  141. data/data/plates/us-nh.yml +394 -0
  142. data/data/plates/us-nj.yml +547 -0
  143. data/data/plates/us-nm.yml +574 -0
  144. data/data/plates/us-nv.yml +655 -0
  145. data/data/plates/us-ny.yml +592 -0
  146. data/data/plates/us-oh.yml +404 -0
  147. data/data/plates/us-ok.yml +513 -0
  148. data/data/plates/us-or.yml +392 -0
  149. data/data/plates/us-pa.yml +506 -0
  150. data/data/plates/us-pr.yml +507 -0
  151. data/data/plates/us-ri.yml +445 -0
  152. data/data/plates/us-sc.yml +605 -0
  153. data/data/plates/us-sd.yml +428 -0
  154. data/data/plates/us-tn.yml +471 -0
  155. data/data/plates/us-tx.yml +535 -0
  156. data/data/plates/us-ut.yml +384 -0
  157. data/data/plates/us-va.yml +567 -0
  158. data/data/plates/us-vi.yml +489 -0
  159. data/data/plates/us-vt.yml +458 -0
  160. data/data/plates/us-wa.yml +484 -0
  161. data/data/plates/us-wi.yml +509 -0
  162. data/data/plates/us-wv.yml +446 -0
  163. data/data/plates/us-wy.yml +523 -0
  164. data/data/plates/va.yml +604 -0
  165. data/data/plates/za.yml +1141 -0
  166. data/data/vehicles.json +160653 -105090
  167. data/lib/vehicles/configuration.rb +17 -3
  168. data/lib/vehicles/dataset.rb +73 -18
  169. data/lib/vehicles/fuzzy.rb +115 -0
  170. data/lib/vehicles/http.rb +48 -0
  171. data/lib/vehicles/make.rb +36 -6
  172. data/lib/vehicles/mcp_server.rb +5 -5
  173. data/lib/vehicles/model.rb +21 -2
  174. data/lib/vehicles/plates/series.rb +172 -18
  175. data/lib/vehicles/plates/template_fill.rb +188 -0
  176. data/lib/vehicles/plates/templates.rb +162 -0
  177. data/lib/vehicles/plates.rb +12 -0
  178. data/lib/vehicles/providers/hosted_provider.rb +28 -55
  179. data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
  180. data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
  181. data/lib/vehicles/version.rb +1 -1
  182. data/lib/vehicles.rb +32 -16
  183. data/rakelib/data_refresh.rake +109 -0
  184. data/rakelib/plates_refresh.rake +29 -0
  185. data/sig/vehicles.rbs +18 -0
  186. metadata +164 -2
@@ -0,0 +1,1036 @@
1
+ # plates/ca-qc.yml — Québec, Canada (PRD-PLATES gate L2/L3, Canada east wave).
2
+ #
3
+ # QUÉBEC IS THE BEST-LEGISLATED PLATE JURISDICTION IN CANADA AND ONE OF THE BEST
4
+ # IN THIS DATASET. Where Ontario, Nova Scotia and New Brunswick leave the whole
5
+ # serial system to administrative discretion, Québec puts the CLASS PREFIX TABLE
6
+ # IN A REGULATION and the SERIAL ALPHABET IN THE CODE ITSELF. Everything below
7
+ # that carries a prefix — F, L, R, A, C, V, X, M, CC, CD, VA2, VE2 — is quoted
8
+ # from the Règlement sur l'immatriculation des véhicules routiers, article by
9
+ # article. That is a closed, primary, statutory decode table, and it is why this
10
+ # file has more `enabling-instrument` grades than any other Canadian file.
11
+ #
12
+ # ALL LEGAL SOURCES HERE ARE FRENCH-ONLY IN PRACTICE AND ARE QUOTED IN FRENCH.
13
+ # LégisQuébec serves an English version of the Code de la sécurité routière, but
14
+ # the Règlement sur l'immatriculation is consulted and quoted here in its French
15
+ # text, which is the version LégisQuébec marks "Ce document a valeur officielle."
16
+ # Every quotation is followed by a translation note in English; the translations
17
+ # are ours and are labelled as such, never presented as the instrument's words.
18
+ #
19
+ # FIVE STRUCTURAL FACTS THAT SHAPE THIS FILE
20
+ #
21
+ # 1. THE SERIAL ALPHABET IS STATUTORY, WHICH IS RARE. CSR art. 32.1 al. 1,
22
+ # verbatim: « Tout numéro de plaque d'immatriculation se compose de lettres
23
+ # majuscules de l'alphabet latin, de chiffres arabes ou d'une combinaison des
24
+ # deux. Il doit être compatible avec le système de numérotation des plaques
25
+ # établi par la Société et doit être facile à lire. » (OUR TRANSLATION: every
26
+ # plate number is composed of uppercase letters of the Latin alphabet, Arabic
27
+ # numerals, or a combination of the two; it must be compatible with the
28
+ # numbering system established by the Société and must be easy to read.) That
29
+ # is the outer legal bound for every Québec serial, and it is exactly the
30
+ # dataset-wide serial alphabet from _meta/separators.yml — so no
31
+ # `serial_alphabet:` declaration is needed here, and its absence is a sourced
32
+ # finding rather than a default.
33
+ #
34
+ # 2. THE CLASS PREFIX IS THE DECODE, AND IT IS IN THE REGULATION. Règlement
35
+ # arts. 97-141 assign a prefix per vehicle class: no prefix for a private
36
+ # passenger vehicle (art. 97), M or none for a motorcycle or moped (art. 100),
37
+ # F or FZ for commercial (art. 102), L for trucks and farm vehicles over
38
+ # 3 000 kg (art. 110), R or U for trailers (art. 113), A/AE/AP/AU for buses
39
+ # (art. 114), C for restricted-circulation vehicles (arts. 124, 136, 137), V
40
+ # for off-road (arts. 139-141), X for removable dealer plates (art. 159), CD
41
+ # for diplomatic (art. 98), CC for consular (art. 99), VA2/VE2 for licensed
42
+ # radio amateurs (art. 97 al. 2). THE PREFIXES ARE PRIMARY. The digit-and-
43
+ # letter arrangement that follows each prefix is NOT in any instrument and is
44
+ # graded `secondary-wikipedia` wherever it appears below.
45
+ #
46
+ # 3. THE GREEN-LETTERING PLATE HAS A DATE IN THE REGULATION — the single
47
+ # strongest period claim in the Canada east wave. Règlement art. 7.1,
48
+ # verbatim: « La Société délivre, pour un véhicule routier à propulsion
49
+ # électrique équipé d'une batterie rechargeable par branchement au réseau
50
+ # électrique ou alimenté par une pile à hydrogène, une plaque d'immatriculation
51
+ # avec lettrage vert. Cette plaque est délivrée pour tout véhicule routier visé
52
+ # au premier alinéa immatriculé à compter du 26 octobre 2017 ou, si le véhicule
53
+ # n'en est pas déjà muni, lors du remplacement de la plaque. » Inserted by
54
+ # décret 968-2017, art. 1. A DAY, IN THE INSTRUMENT, FOR A DESIGN. See
55
+ # ca-qc-electric-2017 for the disagreement this creates with the secondary
56
+ # record, which is recorded and not averaged (PRD-PLATES §5.3).
57
+ #
58
+ # 4. QUÉBEC IS A ONE-PLATE PROVINCE, REAR, WITH ONE STATUTORY INVERSION.
59
+ # CSR art. 30 al. 1, verbatim: « Le propriétaire d'un véhicule routier doit
60
+ # fixer solidement la plaque d'immatriculation qui lui a été délivrée à
61
+ # l'arrière du véhicule ou à tout autre endroit déterminé par règlement. »
62
+ # Al. 2 contemplates two copies where a regulation prescribes them. The
63
+ # inversion is Règlement art. 8: the plate of a tractor unit built to draw a
64
+ # trailer « doit être fixée à l'AVANT de ce véhicule » — front-only, the same
65
+ # outlier shape as Florida's truck-tractor rule and Prince Edward Island's.
66
+ #
67
+ # 5. THE SAAQ WEBSITE COULD NOT BE READ FROM THIS LOCATION, AND THAT IS RECORDED
68
+ # RATHER THAN WORKED AROUND. Every saaq.gouv.qc.ca URL attempted on 2026-08-02
69
+ # (French and English, direct, and through WebFetch) 303-redirected to
70
+ # messages.saaq.gouv.qc.ca and served: « ACCÈS REFUSÉ (ERREUR 403) — Nous
71
+ # sommes désolés. Nous ne pouvons pas vous donner accès à cette page pour le
72
+ # moment. Cela peut être dû à un problème de connexion ou à des restrictions
73
+ # spécifiques appliquées dans certains pays. » The SAAQ is GEO-BLOCKED. No
74
+ # SAAQ page is quoted anywhere in this file; the agency's own plate-category
75
+ # page is cited as a known, unread source on the series it would corroborate.
76
+ #
77
+ # SEPARATOR NOTE (PRD-PLATES §2.6): Québec prints a GAP between groups, not a
78
+ # glyph — the plates read "H32 KGA" with white space. Every `pattern` spells the
79
+ # emitted SPACE and every regex accepts it as optional. Règlement art. 139 al. 2
80
+ # and art. 141 al. 2 are the one place a Québec instrument mentions a printed
81
+ # separator at all: a personalized plate on an all-terrain vehicle or a snowmobile
82
+ # « porte le préfixe “V” suivi d'un trait d'union » (bears the prefix V followed
83
+ # by a HYPHEN). That hyphen is an emitted separator under §2.6 and is spelled as
84
+ # one on ca-qc-personalized's off-road variant.
85
+ jurisdiction: ca-qc
86
+ authority:
87
+ name: Société de l'assurance automobile du Québec (SAAQ)
88
+ url: "https://saaq.gouv.qc.ca/en/vehicle-registration/categories-licence-plates/"
89
+ url_note: "CITED, NOT READ — saaq.gouv.qc.ca is geo-blocked from this location (see header fact 5). Every claim in this file comes from LégisQuébec or is tagged secondary."
90
+ binding: vehicle
91
+ binding_note: >-
92
+ A Québec plate is ASSOCIATED with a vehicle and the association is what makes
93
+ it valid: Règlement art. 5, verbatim: « Une plaque d'immatriculation, autre
94
+ qu'une plaque d'immatriculation amovible, est valide tant qu'elle est associée
95
+ à un véhicule routier. » (OUR TRANSLATION: a registration plate, other than a
96
+ removable plate, is valid as long as it is associated with a road vehicle.)
97
+ BUT THE HOLDER MAY MOVE IT: Règlement art. 7 al. 2 §2 lets an owner ask the
98
+ Société « d'associer au véhicule une plaque d'immatriculation dont il est
99
+ titulaire » (to associate with the vehicle a plate of which he is the holder),
100
+ and CSR art. 43 says that on selling to a dealer and buying another vehicle
101
+ « le cédant ... doit conserver la plaque d'immatriculation » — the seller KEEPS
102
+ the plate. So `binding: vehicle` is right for the CURRENT state (one plate, one
103
+ vehicle, recorded in the register) while the plate itself is portable within
104
+ the holder's fleet, subject to Règlement art. 7 al. 3: the plate must be of a
105
+ category matching the declared use. Contrast plates/ca-on.yml, where the Act
106
+ makes the plate the registrant's outright (`binding: owner`). CSR art. 10.3:
107
+ « Toute plaque d'immatriculation délivrée par la Société demeure sa propriété. »
108
+ instrument:
109
+ code: "Code de la sécurité routière, RLRQ chapitre C-24.2 (CSR) — arts. 10.1, 10.3, 10.4, 28, 30, 31, 32, 32.1-32.4, 33, 34, 37-39, 42, 43, 50, 54, 54.1, 54.2, 57"
110
+ regulation: "Règlement sur l'immatriculation des véhicules routiers, RLRQ chapitre C-24.2, r. 29, made under CSR arts. 618, 619.1, 619.3 and 621 al. 1 §§1, 28, 29"
111
+ regulation_base: "D. 1420-91 (décret 1420-91); D. 1876-92, a. 1"
112
+ regulation_currency: "« À jour au 1er avril 2026. Ce document a valeur officielle. » — LégisQuébec's own currency and authority statement on the regulation, read 2026-08-02"
113
+ key_amendments:
114
+ - "D. 968-2017, a. 1 — inserted art. 7.1 (green-lettering plate for plug-in electric and hydrogen fuel-cell vehicles)"
115
+ - "L.Q. 2018, c. 18, a. 35 — inserted arts. 7.2 to 7.7 (the personalized-plate regime: eligibility, activation, validity, number reuse, management fees)"
116
+ - "D. 997-2022 — inserted art. 7.1.1 (paper « provisoire » plate) and art. 9.1 (where it is displayed); amended arts. 7, 7.1, 7.7"
117
+ sources:
118
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement sur l'immatriculation des véhicules routiers, full French text, accessed 2026-08-02"
119
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/lc/C-24.2 # Code de la sécurité routière, full French text, accessed 2026-08-02"
120
+ licence: >-
121
+ LégisQuébec is published by the Éditeur officiel du Québec / Les Publications
122
+ du Québec. Statutes and regulations are EDICTS OF GOVERNMENT and their text is
123
+ uncopyrightable (PRD-PLATES §4); every verbatim quotation in this file is from
124
+ that class of material. Translations into English are OURS and are marked.
125
+
126
+ artwork_risk:
127
+ posture: crown-copyright-asserted
128
+ basis: >-
129
+ Québec asserts Crown copyright (« © Gouvernement du Québec ») across its
130
+ sites, and the SAAQ additionally geo-blocks access, so no assessment of the
131
+ plate ARTWORK's licence was possible. The instrument TEXT is free as an edict
132
+ of government and is quoted freely here. Nothing else is assumed.
133
+ emblem_rule: >-
134
+ PRD-PLATES §3 placeholder default applies without exception. The fleur-de-lys
135
+ and the « Je me souviens » wordmark are rendered `placeholder`. The fleur-de-
136
+ lys as used on Québec plates is an element of the provincial flag and arms and
137
+ carries protection independent of copyright; unresearched, flagged.
138
+
139
+ common:
140
+ serial_alphabet_statutory:
141
+ text: >-
142
+ CSR art. 32.1 al. 1, verbatim: « Tout numéro de plaque d'immatriculation se
143
+ compose de lettres majuscules de l'alphabet latin, de chiffres arabes ou
144
+ d'une combinaison des deux. Il doit être compatible avec le système de
145
+ numérotation des plaques établi par la Société et doit être facile à lire. »
146
+ translation_note: "OUR TRANSLATION: every plate number consists of uppercase Latin letters, Arabic numerals, or a combination of the two; it must be compatible with the numbering system established by the Société and must be easy to read."
147
+ consequence: >-
148
+ This is the `regex_statutory` bound for the whole jurisdiction. It is stated
149
+ once here and referenced rather than repeated on every series, because it is
150
+ the SAME bound everywhere: uppercase A-Z and 0-9, any length, subject only
151
+ to SAAQ's own numbering system and to legibility.
152
+ source: "https://www.legisquebec.gouv.qc.ca/fr/document/lc/C-24.2 # CSR art. 32.1 al. 1"
153
+ inscriptions:
154
+ text: "CSR art. 32 al. 1, verbatim: « Une plaque d'immatriculation ne peut porter une inscription autre que celles déterminées par la Société. »"
155
+ translation_note: "OUR TRANSLATION: a registration plate may not bear any inscription other than those determined by the Société."
156
+ consequence: "The legends, slogan and graphics on a Québec plate are SAAQ's administrative choice, not law — which is why every colour and legend claim below is `hex_basis: observed` or tagged secondary."
157
+ source: "https://www.legisquebec.gouv.qc.ca/fr/document/lc/C-24.2 # CSR art. 32 al. 1-2"
158
+ display:
159
+ rear_default:
160
+ text: "CSR art. 30, verbatim: « Le propriétaire d'un véhicule routier doit fixer solidement la plaque d'immatriculation qui lui a été délivrée à l'arrière du véhicule ou à tout autre endroit déterminé par règlement. Toutefois, si un règlement prescrit la délivrance de deux exemplaires de la plaque d'immatriculation, ceux-ci doivent être fixés l'un à l'avant et l'autre à l'arrière du véhicule. »"
161
+ translation_note: "OUR TRANSLATION: the owner must securely fix the plate issued to him to the REAR of the vehicle or at any other place determined by regulation; where a regulation prescribes two copies, one goes at the front and the other at the rear."
162
+ tractor_unit_front:
163
+ text: "Règlement art. 8, verbatim: « La plaque d'immatriculation d'un véhicule automobile composant un ensemble de véhicules routiers, lorsque ce véhicule a été essentiellement conçu pour tirer une remorque doit être fixée à l'avant de ce véhicule. »"
164
+ translation_note: "OUR TRANSLATION: the plate of a motor vehicle forming part of a road-train, where that vehicle was essentially designed to draw a trailer, must be fixed to the FRONT of that vehicle."
165
+ note: "The Florida / Prince Edward Island truck-tractor inversion, in Québec law. A front-only plate on a tractor unit is correct, not a fault."
166
+ snowmobile: "Règlement art. 9: a snowmobile's plate goes at the rear or on the outer left vertical surface of the track tunnel, as close to the rear as possible."
167
+ legibility:
168
+ text: "CSR art. 32 al. 2, verbatim: « La plaque d'immatriculation doit être libre de tout objet ou de toute matière pouvant en empêcher la lecture. Elle doit, en outre, lorsqu'elle est apposée à l'arrière du véhicule, être suffisamment éclairée. » CSR art. 33 lets a peace officer require the driver to CLEAN the plate."
169
+ confusable_plates: "CSR art. 34 forbids fixing any plate or sticker that could be confused with a SAAQ plate or control sticker."
170
+ source: "https://www.legisquebec.gouv.qc.ca/fr/document/lc/C-24.2 # CSR arts. 30, 32, 33, 34"
171
+ source_regulation: "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement arts. 8, 9, 9.1, 10"
172
+ class_prefixes:
173
+ note: >-
174
+ THE CLOSED, PRIMARY, STATUTORY PREFIX TABLE. Inline rather than in a
175
+ _decode file because it is small (thirteen rows) and because it decodes
176
+ VEHICLE CLASS rather than geography — a Québec plate encodes NO region and
177
+ NO date, and a parse API must not infer either.
178
+ rows:
179
+ - { prefix: "(none)", meaning: "véhicule de promenade / motorized home ≤ 3 000 kg owned by a natural person and used mainly for personal purposes", article: "art. 97 al. 1" }
180
+ - { prefix: "VA2, VE2", meaning: "passenger vehicle of a licensed radio amateur", article: "art. 97 al. 2" }
181
+ - { prefix: "CD", meaning: "diplomatic corps — official vehicle of a foreign state with a permanent mission to an intergovernmental international organization established in Québec, and related categories", article: "art. 98" }
182
+ - { prefix: "CC", meaning: "consular corps — official vehicle of a foreign state with a consular post in Québec headed by a career consular officer, and related categories", article: "art. 99" }
183
+ - { prefix: "M or none", meaning: "cyclomoteur (moped) and motocyclette (motorcycle)", article: "art. 100" }
184
+ - { prefix: "F, FZ", meaning: "commercial vehicle, farm vehicle, driving-school vehicle, school-transport vehicle, snow blower, ambulance, hearse, tool-vehicle, tow truck, motorized home > 3 000 kg (excluding mopeds and motorcycles)", article: "art. 102" }
185
+ - { prefix: "L", meaning: "camion (truck) and farm vehicle over 3 000 kg net mass", article: "art. 110" }
186
+ - { prefix: "PRP (sticker)", meaning: "vignette bearing the letters PRP for vehicles admitted to proportional (IRP) registration and used in Québec plus at least one other jurisdiction", article: "art. 112.1" }
187
+ - { prefix: "R, U", meaning: "remorque (trailer); U is the retired form for farm trailers registered before 1 January 1989", article: "art. 113" }
188
+ - { prefix: "A, AE, AP, AU", meaning: "autobus or minibus", article: "art. 114" }
189
+ - { prefix: "C", meaning: "restricted circulation — vehicles used in a locality not linked to the general Québec road network (art. 124), farm tractors on a public road (art. 136), artisan-built vehicles and the like (art. 137)", article: "arts. 124, 136, 137" }
190
+ - { prefix: "V", meaning: "vehicles used exclusively on private land or roads including metal-tracked vehicles (art. 139), vehicles used exclusively in stations, ports and airports (art. 140), snowmobiles of 450 kg or less (art. 141)", article: "arts. 139, 140, 141" }
191
+ - { prefix: "X", meaning: "plaque d'immatriculation amovible — the removable plate issued to a dealer, manufacturer or body-builder under arts. 143 and 149", article: "art. 159" }
192
+ verbatim_samples:
193
+ - "art. 100: « La plaque d'immatriculation d'un cyclomoteur et d'une motocyclette porte le préfixe “M” ou aucun préfixe. »"
194
+ - "art. 110: « La plaque d'immatriculation d'un camion et d'un véhicule de ferme dont la masse nette est de plus de 3 000 kg porte le préfixe “L”. »"
195
+ - "art. 113: « La plaque d'immatriculation d'une remorque porte le préfixe “R” ou “U”. »"
196
+ - "art. 114: « La plaque d'immatriculation d'un autobus ou d'un minibus porte le préfixe “A”, “AE”, “AP” ou “AU”. »"
197
+ - "art. 159: « Au moment de l'immatriculation des catégories de véhicules routiers mentionnées à l'un des articles 143 et 149, la Société délivre un certificat d'immatriculation et une plaque d'immatriculation amovible portant le préfixe “X” à la personne au nom de laquelle est effectuée l'immatriculation de ces catégories. »"
198
+ retired_prefixes_note: >-
199
+ SECONDARY, TAGGED, AND USEFUL FOR OLD PLATES: the en.wikipedia Québec article
200
+ lists retired prefixes — U (farm trailers before 1989) -> R; GQ (Government
201
+ of Québec), GP (Sûreté du Québec), G (Government of Canada), CO and H
202
+ (hearse), AM and H (ambulance), ZZ (short-term rental), Z and FZ (long-term
203
+ commercial lease) — all folded into F. The FZ survival in art. 102 is
204
+ confirmed by the regulation; the rest are the article's and are not asserted.
205
+ The T (taxi) prefix was withdrawn when Québec deregulated the taxi industry;
206
+ the article dates the end of issuance to 10 October 2020 and the phase-out to
207
+ 13 October 2020 and 31 March 2021, citing Transports Québec, and this file
208
+ does not author a taxi series because no grammar and no primary date were
209
+ obtained.
210
+ source: "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement arts. 97-114, 124, 136, 137, 139-141, 159 — every prefix above quoted from its own article"
211
+ source_secondary: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY (PRD-PLATES §4, owner override 2026-08-02), read 2026-08-02: the retired-prefix list, the XA motorcycle-dealer form, and every digit-and-letter arrangement in this file"
212
+ dimensions:
213
+ note: >-
214
+ NO QUÉBEC INSTRUMENT PRESCRIBES A PLATE SIZE. The Règlement and the CSR were
215
+ both searched: neither states a dimension, a character height or a colour.
216
+ The 30 x 15 cm standard plate and the 20 x 10 cm small (motorcycle, moped,
217
+ off-road) plate are the article's and are recorded on the series below as
218
+ `plate_basis: secondary-wikipedia`, never as a Québec legal claim.
219
+ source_secondary: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # 30 cm x 15 cm standard and 20 cm x 10 cm small, blue-on-white standard and green-on-white electric"
220
+
221
+ classes_not_modelled:
222
+ temporary:
223
+ exists: true
224
+ mechanism: >-
225
+ Règlement art. 7.1.1, verbatim: « Lorsqu'une plaque d'immatriculation ne peut
226
+ être délivrée sur support métallique au moment de l'immatriculation, la
227
+ Société délivre, en attendant, une plaque d'immatriculation portant la
228
+ mention "provisoire" et, le cas échéant, les mentions suivantes: 1° "plaque
229
+ verte", s'il s'agit d'un véhicule routier à propulsion électrique ...;
230
+ 2° "PRP", s'il s'agit d'un véhicule routier qui satisfait aux conditions pour
231
+ l'immatriculation proportionnelle. » Art. 9.1: it is affixed « dans la partie
232
+ supérieure gauche de la lunette arrière du véhicule ou, si elle ne peut
233
+ l'être, dans la partie supérieure gauche du pare-brise » — inside the rear
234
+ window, or the windscreen. Inserted by D. 997-2022.
235
+ translation_note: "OUR TRANSLATION: where a metal plate cannot be issued at registration, the Société issues in the meantime a plate bearing the word « provisoire » and, where applicable, « plaque verte » or « PRP »."
236
+ why_not_modelled: >-
237
+ The instrument prescribes the LEGENDS and the POSITION and never the serial.
238
+ A « provisoire » plate carries the registration number the vehicle is being
239
+ given, so its grammar is whichever series applies — modelling it would mean
240
+ authoring a union with no independent content. Recorded as a gap.
241
+ sources:
242
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement arts. 7.1.1, 9.1, 13 §14 (the validity dates that must be recorded for a provisoire plate)"
243
+ proportional_irp:
244
+ exists: true
245
+ mechanism: >-
246
+ Règlement art. 112.1: trucks, tractor vehicles, buses and certain others
247
+ admitted to proportional registration and operating in Québec plus at least
248
+ one other jurisdiction carry « une vignette portant les lettres “PRP” ».
249
+ Art. 2.2 treats a vehicle as registered in conformity with the CSR where its
250
+ plate « porte le préfixe “PRP”, le mot "APPORTIONNED" ou est muni d'une
251
+ vignette portant le préfixe "PRP" ».
252
+ why_not_modelled: >-
253
+ PRP is a STICKER ON an existing plate, not a plate series: the underlying
254
+ serial is the F or L series serial. Authoring it would double-count.
255
+ sources:
256
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement arts. 2.2, 112.1, 60.38"
257
+ taxi:
258
+ exists: false
259
+ mechanism: >-
260
+ The T prefix was withdrawn with the modernization of the Québec taxi
261
+ industry; taxis now carry ordinary or F plates. The regulation as consulted
262
+ on 2026-08-02 contains NO T prefix — the negative is checked, not assumed —
263
+ and directs the reader to arts. 18 and 19 of the Règlement sur le transport
264
+ rémunéré de personnes par automobile (chapitre T-11.2, r. 4).
265
+ why_not_modelled: "Class no longer issued; no primary dating the withdrawal was obtained (the article's 2020-2021 dates cite Transports Québec pages not fetched). Recorded as a gap for L4."
266
+ sources:
267
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # the regulation's own cross-reference to chapitre T-11.2, r. 4; no T prefix appears anywhere in arts. 97-141"
268
+
269
+ series:
270
+
271
+ # =========================================================================
272
+ # CURRENT PASSENGER — ABC 12D, since about 15 September 2023.
273
+ # =========================================================================
274
+ - id: ca-qc-passenger-2023
275
+ class: standard
276
+ categories: [car, van, motorhome]
277
+ period: { start: 2023 }
278
+ period_evidence: secondary-wikipedia
279
+ matching: strict
280
+ format:
281
+ pattern: "LLL 99L"
282
+ regex: '\A[A-Z]{3} ?\d{2}[A-Z]\z'
283
+ regex_strict: '\A[ACEFGHJKLMNPRTVWXYZ][ABCDEFGHJKLMNPQRSTVWXYZ]{2} ?\d{2}[ABCDEFGHJKLMNPQRSTVWXYZ]\z'
284
+ regex_statutory: '\A[A-Z0-9](?: ?[A-Z0-9])*\z'
285
+ charset:
286
+ excluded_everywhere: [I, O, U]
287
+ excluded_first_letter: [B, D, I, O, Q, S, U]
288
+ notes: >-
289
+ TAGGED SECONDARY. The article states that I, O and U have been unused in
290
+ Québec serials since 1996 and that B, D, Q and S are not used as first
291
+ letters in this format. No SAAQ page could be read to corroborate it
292
+ (geo-block) and CSR art. 32.1 imposes only the Latin-uppercase-plus-
293
+ Arabic-numerals rule. Encoded ONLY in `regex_strict`.
294
+ statutory_note: >-
295
+ `regex_statutory` is CSR art. 32.1 al. 1 and nothing more: uppercase Latin
296
+ letters, Arabic numerals, or a combination, of unbounded length, printed
297
+ with the ordinary Québec group gap. It is the honest outer bound for a
298
+ Québec plate of unknown class and vintage — deliberately very wide, because
299
+ the statute really is that wide.
300
+ progression: "AAA 01A upward per the article's issuance record"
301
+ separator_note: "printed as a gap, no glyph; `pattern` spells the emitted space and both regexes accept it as optional"
302
+ design:
303
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
304
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
305
+ foreground: "#003DA5"
306
+ colour_note: "blue on white. NO QUÉBEC INSTRUMENT STATES A COLOUR — CSR art. 32 leaves every inscription to SAAQ. Both hexes are observed."
307
+ legend_top: "Québec"
308
+ legend_bottom_options: ["Je me souviens"]
309
+ emblem: { present: true, rendered: placeholder, description: "fleur-de-lys beside the province name" }
310
+ band: { side: none }
311
+ rear_differs: false
312
+ display: "REAR ONLY (CSR art. 30 al. 1)"
313
+ region_encoding: none
314
+ region_encoding_note: "A Québec plate encodes NO geography and NO date — only class, through the prefix table, and a private passenger plate has no prefix at all."
315
+ sources:
316
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 97 al. 1: « la plaque d'immatriculation des véhicules routiers suivants appartenant à une personne physique et utilisés principalement à des fins personnelles ne porte aucun préfixe: 1° un véhicule de promenade; 2° une habitation motorisée qui a une masse nette de 3 000 kg ou moins » — the primary basis for the NO-PREFIX shape of this series"
317
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/lc/C-24.2 # CSR art. 32.1 al. 1 (the serial alphabet, hence regex_statutory); art. 30 (rear display); art. 10.3 (plates remain SAAQ property)"
318
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the ABC 12D arrangement, its circa-15-September-2023 start, the B/D/Q/S first-letter exclusion and the I/O/U exclusion. The article's own citations for the change are two Le Soleil articles (15 and 25 September 2023), which were not fetched."
319
+ notes: >-
320
+ THE CURRENT QUÉBEC PASSENGER PLATE. The SHAPE of the series is primary — art.
321
+ 97 says in terms that a private passenger plate carries no prefix, which is
322
+ why `regex` has no prefix and why that absence is a claim rather than an
323
+ omission. The ARRANGEMENT and the DATE are not: ABC 12D and its September
324
+ 2023 start are the article's, sourced there to Le Soleil, and are graded
325
+ `secondary-wikipedia`. WHY 2023 AND NOT 2022 IS THE INTERESTING PART: Québec
326
+ ran the immediately preceding 12A BCD arrangement for roughly nine months
327
+ before withdrawing it, the article says, because too many offensive letter
328
+ combinations were reachable. That makes "one series back" ambiguous in
329
+ Québec, so this file authors TWO predecessors and says why (see
330
+ ca-qc-passenger-2022 and ca-qc-passenger-2009).
331
+
332
+ - id: ca-qc-passenger-2022
333
+ class: standard
334
+ categories: [car, van, motorhome]
335
+ period: { start: 2022, end: 2023 }
336
+ period_evidence: secondary-wikipedia
337
+ matching: strict
338
+ format:
339
+ pattern: "99L LLL"
340
+ regex: '\A\d{2}[A-Z] ?[A-Z]{3}\z'
341
+ regex_strict: '\A\d{2}[ACEFGHJKLMNPRTVWXYZ] ?[ABCDEFGHJKLMNPQRSTVWXYZ]{3}\z'
342
+ charset: { excluded_everywhere: [I, O, U], excluded_first_letter: [B, D, Q, S], notes: "as ca-qc-passenger-2023; the first LETTER is at position 3 in this arrangement" }
343
+ design:
344
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
345
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
346
+ foreground: "#003DA5"
347
+ legend_top: "Québec"
348
+ legend_bottom_options: ["Je me souviens"]
349
+ emblem: { present: true, rendered: placeholder }
350
+ band: { side: none }
351
+ rear_differs: false
352
+ sources:
353
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: 12A BCD issued December 2022 to circa 15 September 2023, ranges 01A AAA to 99R AHH, discontinued 'due to the possibility of too many inappropriate combinations of letters'"
354
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/lc/C-24.2 # CSR art. 32.1 al. 2: the statutory power behind that withdrawal — a plate number must not, « y compris par la lecture en sens inverse », carry an expression or message falsely suggesting a public authority or otherwise prohibited"
355
+ notes: >-
356
+ THE NINE-MONTH ARRANGEMENT. Authored because it is genuinely in circulation
357
+ and because its withdrawal is the clearest illustration in this file of CSR
358
+ art. 32.1 al. 2, which polices plate numbers for offensive and misleading
359
+ readings INCLUDING READ BACKWARDS — a statutory rule that bites on ordinary
360
+ serials, not only on personalized ones. Both boundaries are the article's,
361
+ unfootnoted for the start and footnoted to Le Soleil for the end.
362
+
363
+ - id: ca-qc-passenger-2009
364
+ class: standard
365
+ categories: [car, van, motorhome]
366
+ period: { start: 2009, end: 2022 }
367
+ period_evidence: secondary-wikipedia
368
+ matching: strict
369
+ format:
370
+ pattern: "L99 LLL"
371
+ regex: '\A[A-Z]\d{2} ?[A-Z]{3}\z'
372
+ regex_strict: '\A[BDEGHJKMNPQSWXYZ]\d{2} ?[ABCDEFGHJKLMNPQRSTVWXYZ]{3}\z'
373
+ charset:
374
+ excluded_everywhere: [I, O, U]
375
+ excluded_first_letter: [A, C, F, I, L, O, R, T, U, V]
376
+ notes: >-
377
+ TAGGED SECONDARY: the article states A, C, F, L, R, T and V were not used
378
+ as first letters in this format — which is exactly the set of CLASS
379
+ PREFIXES the regulation reserves (arts. 102, 110, 113, 124, 139, 159 and
380
+ the A bus block), so the exclusion is corroborated by the primary prefix
381
+ table even though the article does not say so. That corroboration is the
382
+ strongest secondary-to-primary link in this file and is why this series'
383
+ strict twin is trustworthy.
384
+ design:
385
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
386
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
387
+ foreground: "#003DA5"
388
+ legend_top: "Québec"
389
+ legend_bottom_options: ["Je me souviens"]
390
+ emblem: { present: true, rendered: placeholder }
391
+ band: { side: none }
392
+ rear_differs: false
393
+ sources:
394
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: B12 CDE issued September 2009 to December 2022, ranges B01 AAA to Z99 ZZZ, first letters A/C/F/L/R/T/V unused"
395
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement arts. 102, 110, 113, 114, 124, 139, 159 — the reserved class prefixes F, L, R, A, C, V and X, which independently explain the excluded first letters above"
396
+ notes: >-
397
+ THIRTEEN YEARS AND THE BULK OF THE QUÉBEC FLEET. Authored as a second
398
+ predecessor, against the ordinary one-back rule, because the 2022 series ran
399
+ only nine months: in practice the plate a consumer meets behind a Québec car
400
+ is far more likely to be B12 CDE than 12A BCD. The exclusion set is the one
401
+ place in this file where a secondary claim is independently corroborated by
402
+ the primary regulation, and that is recorded in `charset.notes` rather than
403
+ left for a verifier to notice.
404
+
405
+ # =========================================================================
406
+ # ELECTRIC — green lettering, with a DAY in the regulation.
407
+ # =========================================================================
408
+ - id: ca-qc-electric-2017
409
+ class: electric
410
+ categories: [car, van, truck, bus]
411
+ period: { start: 2017 }
412
+ period_evidence: enabling-instrument
413
+ matching: strict
414
+ format:
415
+ pattern: "LLL 99L"
416
+ regex: '\A[A-Z]{3} ?\d{2}[A-Z]\z'
417
+ charset:
418
+ notes: >-
419
+ THE MARK IS THE ORDINARY MARK OF THE VEHICLE'S CLASS — art. 7.1 changes
420
+ the LETTERING COLOUR and nothing else. A green-lettered Québec plate on a
421
+ passenger car carries a passenger serial; on a commercial vehicle it
422
+ carries an F serial; on a bus an A serial. `regex` here encodes the
423
+ current PASSENGER arrangement because that is the overwhelmingly common
424
+ case; the other classes' arrangements are in their own series and a
425
+ green-lettered example of each is legal.
426
+ format_note: >-
427
+ CONTRAST plates/gb.yml `gb-green-zev-2020` (a green flash, mark unchanged,
428
+ powertrain UNPARSEABLE) and plates/ca-on.yml `ca-on-green-2010` (a GV/GW/VE
429
+ serial prefix, powertrain PARSEABLE). Québec sits between them: the serial
430
+ is unchanged, so a Québec EV is not identifiable from its plate STRING, but
431
+ it is identifiable from the plate IMAGE, because the lettering is green.
432
+ design:
433
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
434
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
435
+ foreground: "#008C45"
436
+ colour_note: >-
437
+ The regulation says « lettrage vert » — GREEN LETTERING — and gives no
438
+ coordinate, no shade and no background colour. The hex is observed; the
439
+ FACT of greenness is primary. That split is recorded deliberately.
440
+ legend_top: "Québec"
441
+ legend_bottom_options: ["Je me souviens"]
442
+ emblem: { present: true, rendered: placeholder }
443
+ band: { side: none }
444
+ rear_differs: false
445
+ eligibility:
446
+ text: >-
447
+ Règlement art. 7.1 al. 1, verbatim: « La Société délivre, pour un véhicule
448
+ routier à propulsion électrique équipé d'une batterie rechargeable par
449
+ branchement au réseau électrique ou alimenté par une pile à hydrogène, une
450
+ plaque d'immatriculation avec lettrage vert. »
451
+ translation_note: "OUR TRANSLATION: the Société issues, for a road vehicle with electric propulsion equipped with a battery rechargeable by connection to the electrical grid or powered by a hydrogen fuel cell, a registration plate with GREEN LETTERING."
452
+ note: "The Québec test is a PLUG OR A FUEL CELL — so a plug-in hybrid qualifies, as in Ontario, and unlike Britain's tailpipe test."
453
+ rollout:
454
+ text: >-
455
+ Règlement art. 7.1 al. 2, verbatim: « Cette plaque est délivrée pour tout
456
+ véhicule routier visé au premier alinéa immatriculé à compter du 26 octobre
457
+ 2017 ou, si le véhicule n'en est pas déjà muni, lors du remplacement de la
458
+ plaque. »
459
+ translation_note: "OUR TRANSLATION: this plate is issued for every vehicle covered by the first paragraph registered ON OR AFTER 26 OCTOBER 2017 or, if the vehicle does not already carry one, when the plate is replaced."
460
+ first_issue: "2017-10-26"
461
+ sources:
462
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 7.1, inserted by D. 968-2017, a. 1 and amended by D. 997-2022, a. 8 — the green-lettering rule and the 26 October 2017 date, both verbatim above"
463
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY, AND IN DISAGREEMENT: the article dates a green Québec electric plate to 2011 with an 'E00 VEA' passenger form, an 'A00000' bus form and an 'FVE0000' commercial form, citing a dead SAAQ page. Recorded, not averaged — see notes."
464
+ notes: >-
465
+ THE STRONGEST PERIOD CLAIM IN THE CANADA EAST WAVE: a DAY, in the
466
+ instrument, for a design — « à compter du 26 octobre 2017 ». Hence
467
+ `period_evidence: enabling-instrument`. THE DISAGREEMENT IS RECORDED AND NOT
468
+ RESOLVED, per PRD-PLATES §5.3: the en.wikipedia article says Québec issued a
469
+ green electric plate from 2011, six years earlier, with distinct serial forms
470
+ (E00 VEA and so on), and cites a SAAQ page that no longer exists and could
471
+ not be reached from this location anyway. Two readings fit the evidence — a
472
+ voluntary 2011 SAAQ programme that D. 968-2017 later made regulatory, or an
473
+ article error — and nothing available here distinguishes them. This file
474
+ dates the series from the instrument, records the 2011 claim in the sources,
475
+ and does NOT author the 2011 forms. A verifier with SAAQ access should settle
476
+ it; if the 2011 programme is real it becomes its own predecessor series.
477
+
478
+ # =========================================================================
479
+ # MOTORCYCLE / MOPED — the M prefix is primary, the arrangement is not.
480
+ # =========================================================================
481
+ - id: ca-qc-motorcycle-2008
482
+ class: motorcycle
483
+ categories: [motorcycle, moped, scooter]
484
+ period: { start: 2008 }
485
+ period_evidence: secondary-wikipedia
486
+ matching: strict
487
+ format:
488
+ pattern: "99999L"
489
+ regex: '\A\d{5}[A-Z]\z'
490
+ charset:
491
+ notes: >-
492
+ Note what the regulation does and does not give. Art. 100 is primary and
493
+ says the plate « porte le préfixe “M” ou aucun préfixe » — M OR NO PREFIX
494
+ — so a Québec motorcycle plate legally may carry an M and legally may
495
+ not. The current arrangement reported by the article carries none, which
496
+ is consistent with the article and with the regulation, and `regex`
497
+ encodes the no-prefix form. An M-prefixed Québec motorcycle plate
498
+ (MAA 001-era) is lawful and out of this series' regex; that is the
499
+ correct-but-incomplete case PRD-PLATES §2.7 calls `strict`.
500
+ progression: "10001A upward per the article's issuance record"
501
+ design:
502
+ plate: { w: 20, h: 10, unit: cm, plate_basis: secondary-wikipedia }
503
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
504
+ foreground: "#003DA5"
505
+ legend_top: "Québec"
506
+ emblem: { present: true, rendered: placeholder }
507
+ band: { side: none }
508
+ rear_differs: false
509
+ display: "REAR ONLY (CSR art. 30 al. 1)"
510
+ sources:
511
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 100 (the M-or-no-prefix rule, verbatim above) and art. 7.2 §2 (motorcycles, mopeds and motorized homes ≤ 3 000 kg are eligible for a personalized plate)"
512
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the 12345A arrangement from 2008 and its issuance range; the shared motorcycle/moped series since 1989"
513
+ notes: >-
514
+ ONE SERIES FOR MOTORCYCLES AND MOPEDS, which is the regulation's own cut —
515
+ art. 100 names « un cyclomoteur et une motocyclette » in one breath and gives
516
+ them one prefix rule. The arrangement and the 2008 start are the article's.
517
+ Québec's older M-prefixed motorcycle plates (M-12345, M-B1234, MBC 123) are
518
+ still revalidated per the article and are deliberately NOT authored: no
519
+ primary dates them and L4 owns the pre-2000 world.
520
+
521
+ # =========================================================================
522
+ # COMMERCIAL — the F prefix, primary, art. 102.
523
+ # =========================================================================
524
+ - id: ca-qc-commercial-f-2001
525
+ class: standard
526
+ categories: [truck, van, machine]
527
+ period: { start: 2001 }
528
+ period_evidence: secondary-wikipedia
529
+ matching: strict
530
+ format:
531
+ pattern: "FLL9999"
532
+ regex: '\AF[A-Z]{2}\d{4}\z'
533
+ charset:
534
+ notes: >-
535
+ The literal F is PRIMARY (art. 102). The two letters and four digits that
536
+ follow are the article's. Art. 102 also allows FZ, which the retired-
537
+ prefix note in `common.class_prefixes` says was the long-term commercial
538
+ lease form; an FZ plate matches this regex by construction because Z is a
539
+ letter, and that is a happy accident rather than a modelled fact.
540
+ design:
541
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
542
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
543
+ foreground: "#003DA5"
544
+ legend_top: "Québec"
545
+ legend_bottom_options: ["Je me souviens"]
546
+ emblem: { present: true, rendered: placeholder }
547
+ band: { side: none }
548
+ rear_differs: false
549
+ covered_classes:
550
+ text: >-
551
+ Règlement art. 102, opening verbatim: « À l'exception d'un cyclomoteur et
552
+ d'une motocyclette, la plaque d'immatriculation des véhicules routiers
553
+ suivants porte le préfixe "F" ou "FZ": 1° un véhicule commercial; ... »
554
+ translation_note: "OUR TRANSLATION: except for a moped and a motorcycle, the plate of the following road vehicles bears the prefix F or FZ: commercial vehicles, and (per the enumerated paragraphs) farm vehicles, driving-school vehicles, school-transport vehicles, snow blowers, ambulances, hearses, tool-vehicles, tow trucks and motorized homes over 3 000 kg."
555
+ sources:
556
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 102 (the F/FZ prefix, verbatim above) and arts. 103-108.3 (the fee schedule that enumerates the covered classes)"
557
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the FBC1234 arrangement from 2001 and its issuance range FAA1001 onward"
558
+ notes: >-
559
+ THE PREFIX IS LAW AND THE REST IS REPORTED — the split this file exists to
560
+ make legible. `class: standard` because _meta/classes.yml has no "commercial"
561
+ member and inventing one ad hoc is forbidden; the category list is what
562
+ narrows it. A consumer reading an F prefix off a Québec plate is reading a
563
+ REGULATED CLASS SIGNAL, which is more than any Ontario or Atlantic plate
564
+ offers.
565
+
566
+ # =========================================================================
567
+ # HEAVY TRUCK — the L prefix, primary, art. 110.
568
+ # =========================================================================
569
+ - id: ca-qc-truck-l
570
+ class: standard
571
+ categories: [truck, tractor]
572
+ period: { start: 1991 }
573
+ period_evidence: enabling-instrument
574
+ matching: strict
575
+ format:
576
+ pattern: '\L999999'
577
+ regex: '\AL\d{6}\z'
578
+ charset:
579
+ notes: >-
580
+ The literal L is PRIMARY (art. 110); the six digits are the article's.
581
+ NOTE THE PATTERN ESCAPE: `L` is the human-pattern DSL's own token for
582
+ "any letter", so a plate that PRINTS an L must write `\L` (PRD-PLATES
583
+ §2.2, owner ruling 2026-08-02). This is the only series in the Canada
584
+ east wave that needs it, and it needs it because Québec's heavy-truck
585
+ prefix happens to collide with the DSL. Written in single quotes so YAML
586
+ does not eat the backslash.
587
+ design:
588
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
589
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
590
+ foreground: "#003DA5"
591
+ legend_top: "Québec"
592
+ emblem: { present: true, rendered: placeholder }
593
+ band: { side: none }
594
+ rear_differs: false
595
+ display: "REAR, unless the vehicle is a tractor unit built to draw a trailer, in which case the plate goes on the FRONT (Règlement art. 8)"
596
+ sources:
597
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 110, verbatim: « La plaque d'immatriculation d'un camion et d'un véhicule de ferme dont la masse nette est de plus de 3 000 kg porte le préfixe “L”. » — the article carries the base citation D. 1420-91 with no later amendment to the prefix"
598
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the L123456 arrangement"
599
+ notes: >-
600
+ period.start 1991 IS THE REGULATION'S OWN DATE AND IS GRADED HONESTLY:
601
+ D. 1420-91 is the décret that made the Règlement sur l'immatriculation des
602
+ véhicules routiers, and art. 110 carries that base citation with no amending
603
+ décret against it, so 1991 is the earliest date at which THIS PREFIX RULE was
604
+ in force. It is an `enabling-instrument` claim about the PREFIX, not about
605
+ the six-digit arrangement, which is the article's and is undated. Where the
606
+ two disagree — and here they cannot, because the article gives no date — the
607
+ instrument wins. The same reasoning fixes 1991 on the trailer, bus, restricted
608
+ and off-road series below.
609
+
610
+ # =========================================================================
611
+ # TRAILER — the R prefix, primary, art. 113.
612
+ # =========================================================================
613
+ - id: ca-qc-trailer-r-2007
614
+ class: trailer
615
+ categories: [trailer, semitrailer]
616
+ period: { start: 2007 }
617
+ period_evidence: secondary-wikipedia
618
+ matching: strict
619
+ format:
620
+ pattern: "RL9999L"
621
+ regex: '\AR[A-Z]\d{4}[A-Z]\z'
622
+ charset: { notes: "the literal R is PRIMARY (art. 113); the letter-four digits-letter body is the article's. Art. 113 also allows U, which the article identifies as the retired farm-trailer form replaced by R — a U plate does NOT match this regex and that is deliberate." }
623
+ progression: "RA0001A upward per the article's issuance record"
624
+ design:
625
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
626
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
627
+ foreground: "#003DA5"
628
+ legend_top: "Québec"
629
+ emblem: { present: true, rendered: placeholder }
630
+ band: { side: none }
631
+ rear_differs: false
632
+ sources:
633
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 113, verbatim: « La plaque d'immatriculation d'une remorque porte le préfixe “R” ou “U”. »; art. 143 §1 (a trailer or trailer chassis may instead be registered under a removable X plate); art. 10 §1 (where a removable plate goes on a trailer)"
634
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the RB1234C arrangement from 2007 and its issuance range"
635
+ notes: >-
636
+ TRAILERS HAVE TWO LAWFUL QUÉBEC REGIMES AND BOTH ARE IN THE REGULATION: an
637
+ R-prefixed plate of their own (art. 113), or a dealer's removable X plate
638
+ under art. 143 §1 for trailers held for sale. The second is modelled as
639
+ ca-qc-dealer-x. The 2007 start and the arrangement are the article's.
640
+
641
+ # =========================================================================
642
+ # BUS — the A prefix family, primary, art. 114.
643
+ # =========================================================================
644
+ - id: ca-qc-bus-a
645
+ class: standard
646
+ categories: [bus, coach]
647
+ period: { start: 1991 }
648
+ period_evidence: enabling-instrument
649
+ matching: strict
650
+ format:
651
+ pattern: "A99999"
652
+ regex: '\AA\d{5}\z'
653
+ charset:
654
+ notes: >-
655
+ The A prefix is PRIMARY (art. 114), which also allows AE, AP and AU. The
656
+ article says the AE (school bus), AP and AU forms have been treated as A
657
+ plates since the 1980s but that AP appears on police buses and AU on buses
658
+ used as fire or emergency vehicles — an inconsistency in the secondary
659
+ that is recorded rather than resolved. `regex` covers the A form only;
660
+ AE/AP/AU plates do not match it, deliberately, because their arrangements
661
+ are unknown.
662
+ design:
663
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
664
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
665
+ foreground: "#003DA5"
666
+ legend_top: "Québec"
667
+ emblem: { present: true, rendered: placeholder }
668
+ band: { side: none }
669
+ rear_differs: false
670
+ sources:
671
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 114, verbatim: « La plaque d'immatriculation d'un autobus ou d'un minibus porte le préfixe “A”, “AE”, “AP” ou “AU”. »; arts. 115-121.1 (the fee schedule distinguishing school buses and private buses)"
672
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the A 12345 arrangement, the AP police-bus and AU emergency-bus forms, and the claim that AE/AP/AU were folded into A in the 1980s"
673
+ notes: >-
674
+ period.start 1991 is D. 1420-91, the décret that made the regulation, for the
675
+ same reason as ca-qc-truck-l: art. 114 carries only the base citation. The
676
+ A-family prefixes are law; the five-digit body is reported.
677
+
678
+ # =========================================================================
679
+ # RESTRICTED CIRCULATION — the C prefix, primary, arts. 124 / 136 / 137.
680
+ # =========================================================================
681
+ - id: ca-qc-restricted-c
682
+ class: standard
683
+ categories: [car, truck, tractor, machine]
684
+ period: { start: 1991 }
685
+ period_evidence: enabling-instrument
686
+ matching: strict
687
+ format:
688
+ pattern: "C999999"
689
+ regex: '\AC\d{6}\z'
690
+ charset: { notes: "the literal C is PRIMARY (arts. 124, 136, 137); the six digits are the article's" }
691
+ design:
692
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
693
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
694
+ foreground: "#003DA5"
695
+ legend_top: "Québec"
696
+ emblem: { present: true, rendered: placeholder }
697
+ band: { side: none }
698
+ rear_differs: false
699
+ restriction:
700
+ text: >-
701
+ Règlement art. 138, verbatim: « La circulation des véhicules routiers visés
702
+ à l'article 137 se limite aux chemins publics dans les zones où la vitesse
703
+ maximale n'est pas supérieure à 70 km/h, à la condition que ce chemin public
704
+ ne soit pas une autoroute ou un chemin à accès limité; toutefois, ces
705
+ véhicules routiers peuvent traverser à angle droit les routes où la vitesse
706
+ maximale est supérieure à 70 km/h autres que les autoroutes et les chemins à
707
+ accès limité. »
708
+ translation_note: "OUR TRANSLATION: vehicles under art. 137 are confined to public roads in zones where the speed limit is not more than 70 km/h and which are not motorways or limited-access roads; they may cross such roads at right angles."
709
+ sources:
710
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 124 (remote-locality vehicles), art. 136 (« La plaque d'immatriculation d'un tracteur de ferme utilisé sur un chemin public porte le préfixe “C”. »), art. 137 (artisan-built vehicles and the like), art. 138 (the 70 km/h restriction, verbatim above)"
711
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the C123456 arrangement and the C012345 tractor form"
712
+ notes: >-
713
+ A GENUINELY UNUSUAL CLASS, and the reason it is authored: the C plate is the
714
+ only Québec series whose LEGAL EFFECT is a road restriction rather than a fee
715
+ band. Art. 124 covers vehicles in localities not connected to the general
716
+ Québec road network — a real Québec geography problem — and arts. 136-137
717
+ cover farm tractors and artisan-built vehicles. The restriction text above is
718
+ primary. The arrangement is the article's.
719
+
720
+ # =========================================================================
721
+ # OFF-ROAD — the V prefix, primary, arts. 139-141.
722
+ # =========================================================================
723
+ - id: ca-qc-offroad-v
724
+ class: standard
725
+ categories: [atv, snowmobile, machine]
726
+ period: { start: 1991 }
727
+ period_evidence: enabling-instrument
728
+ matching: strict
729
+ format:
730
+ pattern: "V99999L"
731
+ regex: '\AV\d{5}[A-Z]\z'
732
+ charset: { notes: "the literal V is PRIMARY (arts. 139, 140, 141); the body is the article's, which reports both V12345A and VA12345 forms — the second is carried as a variant" }
733
+ variants:
734
+ - name: "VA-block off-road form"
735
+ format: { pattern: "VL99999", regex: '\AV[A-Z]\d{5}\z' }
736
+ note: "the article's second reported off-road arrangement; same prefix, different body"
737
+ design:
738
+ plate: { w: 20, h: 10, unit: cm, plate_basis: secondary-wikipedia }
739
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
740
+ foreground: "#003DA5"
741
+ legend_top: "Québec"
742
+ emblem: { present: true, rendered: placeholder }
743
+ band: { side: none }
744
+ rear_differs: false
745
+ display: "for a snowmobile: rear, or the outer left vertical surface of the track tunnel as close to the rear as possible (Règlement art. 9)"
746
+ legal_effect:
747
+ text: >-
748
+ CSR art. 421.1, verbatim: « Nul ne peut conduire sur un chemin public un
749
+ véhicule routier exempté de l'immatriculation en vertu de l'un des
750
+ paragraphes 6° à 8° de l'article 14 ou de l'article 15 ou muni d'une plaque
751
+ d'immatriculation de la catégorie prévue par règlement, délivrée pour un
752
+ véhicule routier en usage exclusivement sur un terrain ou un chemin privé et
753
+ non destiné à circuler sur les chemins publics. »
754
+ translation_note: "OUR TRANSLATION: nobody may drive on a public road a vehicle bearing a plate of the regulated category issued for a vehicle used exclusively on private land or roads and not intended for public roads."
755
+ sources:
756
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 139 (private-land and metal-tracked vehicles), art. 140 (stations, ports and airports), art. 141 (snowmobiles of 450 kg or less), art. 9 (snowmobile plate position)"
757
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/lc/C-24.2 # CSR art. 421.1: driving a V-plated vehicle on a public road is an offence, verbatim above"
758
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the V12345A and VA12345 arrangements"
759
+ notes: >-
760
+ THE V PLATE IS A PROHIBITION, NOT A PERMISSION — CSR art. 421.1 makes driving
761
+ one on a public road an offence in terms, which is the sharpest legal
762
+ consequence attached to any prefix in the Québec table and the reason this
763
+ series is authored rather than folded away. `class: standard` because the
764
+ vocabulary has no off-road member; the category list carries the meaning.
765
+
766
+ # =========================================================================
767
+ # DIPLOMATIC — CD, art. 98.
768
+ # =========================================================================
769
+ - id: ca-qc-diplomatic-cd
770
+ class: diplomatic
771
+ categories: [car, van]
772
+ period: { start: 1991 }
773
+ period_evidence: enabling-instrument
774
+ matching: strict
775
+ format:
776
+ pattern: "CD 9999"
777
+ regex: '\ACD ?\d{4}\z'
778
+ charset: { notes: "the literal CD is PRIMARY (art. 98); the four digits are the article's" }
779
+ design:
780
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
781
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
782
+ foreground: "#003DA5"
783
+ legend_top: "Québec"
784
+ emblem: { present: true, rendered: placeholder }
785
+ band: { side: none }
786
+ rear_differs: false
787
+ eligibility:
788
+ text: >-
789
+ Règlement art. 98, opening verbatim: « Peut porter le préfixe “CD”, la
790
+ plaque d'immatriculation d'un véhicule de promenade: 1° qui est un véhicule
791
+ officiel appartenant à un État étranger qui a une représentation permanente
792
+ accréditée auprès d'une organisation internationale gouvernementale ayant
793
+ conclu une entente avec le gouvernement relative à son établissement au
794
+ Québec; ... »
795
+ translation_note: "OUR TRANSLATION: a passenger vehicle's plate MAY bear the CD prefix where the vehicle is an official vehicle belonging to a foreign state with a permanent mission accredited to an intergovernmental international organization that has an establishment agreement with the government of Québec, and in the further cases the article enumerates."
796
+ cap: "Art. 98 in fine caps at TWO the number of vehicles registrable on a CD plate by a person within its paragraphs 3 or 4."
797
+ permissive_note: "NOTE THE VERB: « PEUT porter » — MAY bear. Unlike arts. 100, 110, 113 and 114, which say « porte » (bears), the diplomatic and consular prefixes are permissive. A diplomatic vehicle in Québec may lawfully wear an ordinary plate."
798
+ sources:
799
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 98, verbatim above, with the two-vehicle cap"
800
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the CD 1234 arrangement and a CD 12VE electric form said to date from 2011"
801
+ notes: >-
802
+ THE PERMISSIVE VERB IS THE FINDING. Québec's diplomatic and consular prefixes
803
+ are the only two in the whole art. 97-159 table introduced by « Peut porter »
804
+ rather than « porte », so a CD plate is evidence of a diplomatic vehicle while
805
+ the absence of one is evidence of nothing. That is stated here because a parse
806
+ API that treats prefix rules as exhaustive will get exactly this pair wrong.
807
+ period.start 1991 is D. 1420-91.
808
+
809
+ - id: ca-qc-consular-cc
810
+ class: consular
811
+ categories: [car, van]
812
+ period: { start: 1991 }
813
+ period_evidence: enabling-instrument
814
+ matching: strict
815
+ format:
816
+ pattern: "CC 9999"
817
+ regex: '\ACC ?\d{4}\z'
818
+ charset: { notes: "the literal CC is PRIMARY (art. 99); the four digits are the article's" }
819
+ design:
820
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
821
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
822
+ foreground: "#003DA5"
823
+ legend_top: "Québec"
824
+ emblem: { present: true, rendered: placeholder }
825
+ band: { side: none }
826
+ rear_differs: false
827
+ eligibility:
828
+ text: >-
829
+ Règlement art. 99, opening verbatim: « Peut porter le préfixe “CC”, la
830
+ plaque d'immatriculation d'un véhicule de promenade: 1° qui est un véhicule
831
+ officiel appartenant à un État étranger qui a un poste consulaire établi au
832
+ Québec, dirigé par un fonctionnaire consulaire de carrière au sens de la
833
+ Convention de Vienne sur les relations consulaires conclue le 24 avril
834
+ 1963; ... »
835
+ translation_note: "OUR TRANSLATION: a passenger vehicle's plate MAY bear the CC prefix where the vehicle is an official vehicle of a foreign state with a consular post established in Québec headed by a CAREER consular officer within the meaning of the Vienna Convention on Consular Relations of 24 April 1963."
836
+ cap: "Art. 99 in fine: at most two vehicles for a person within paragraph 3, and one for a person within paragraph 4."
837
+ sources:
838
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 99, verbatim above, with its caps"
839
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the CC 1234 arrangement"
840
+ notes: >-
841
+ A REGULATION THAT CITES A TREATY BY DATE — art. 99 pins the career-consular-
842
+ officer test to the Vienna Convention on Consular Relations of 24 April 1963,
843
+ which is the kind of precision this dataset exists to preserve. Separate from
844
+ ca-qc-diplomatic-cd because the regulation separates them, because the
845
+ eligibility tests differ, and because the vocabulary has distinct `diplomatic`
846
+ and `consular` members for exactly this. Same permissive verb, same
847
+ consequence. period.start 1991 is D. 1420-91.
848
+
849
+ # =========================================================================
850
+ # DEALER / REMOVABLE — the X prefix, art. 159.
851
+ # =========================================================================
852
+ - id: ca-qc-dealer-x
853
+ class: dealer
854
+ categories: [car, van, truck, motorcycle, trailer]
855
+ period: { start: 1991 }
856
+ period_evidence: enabling-instrument
857
+ matching: strict
858
+ format:
859
+ pattern: "X 99999"
860
+ regex: '\AX ?\d{5}\z'
861
+ charset: { notes: "the literal X is PRIMARY (art. 159); the five digits are the article's, which also reports an X123456 six-digit form and an XA12345 form for motorcycles, mopeds and off-road vehicles — both carried as variants" }
862
+ variants:
863
+ - name: "six-digit removable plate"
864
+ format: { pattern: "X999999", regex: '\AX\d{6}\z' }
865
+ note: "the article's second reported removable-plate arrangement"
866
+ - name: "XA removable plate (motorcycle, moped, off-road)"
867
+ format: { pattern: "XL99999", regex: '\AX[A-Z]\d{5}\z' }
868
+ note: "the article states XA is used on the small motorcycle plate; the regulation names only the X prefix"
869
+ design:
870
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
871
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
872
+ foreground: "#003DA5"
873
+ legend_top: "Québec"
874
+ emblem: { present: true, rendered: placeholder }
875
+ band: { side: none }
876
+ rear_differs: false
877
+ display: "Règlement art. 10: a removable plate obtained under arts. 143 and 159 goes on the rear of the trailer or trailer chassis, or on the front of the vehicle carrying road vehicles piggyback, as the article prescribes per case"
878
+ binding: business
879
+ holder_rule:
880
+ text: >-
881
+ Règlement art. 150, verbatim: « La personne au nom de laquelle est effectuée
882
+ l'immatriculation des catégories de véhicules routiers visés à l'article 149
883
+ doit être un commerçant, un fabricant ou un carrossier. Si elle est un
884
+ commerçant, elle doit, pour obtenir cette immatriculation, fournir la preuve
885
+ qu'elle est titulaire d'un permis de commerçant de véhicules routiers délivré
886
+ en vertu de la Loi sur la protection du consommateur (chapitre P-40.1). »
887
+ translation_note: "OUR TRANSLATION: the person in whose name the art. 149 categories are registered must be a dealer, a manufacturer or a body-builder; a dealer must prove they hold a road-vehicle dealer's permit under the Consumer Protection Act."
888
+ use_restriction:
889
+ text: >-
890
+ Règlement art. 152, opening verbatim: « Un véhicule visé à l'un des
891
+ paragraphes 1 à 3 de l'article 149 prêté par le commerçant, le fabricant ou
892
+ le carrossier et sur lequel est fixée une plaque d'immatriculation amovible
893
+ doit être utilisé uniquement aux fins suivantes: 1° démontrer son état de
894
+ fonctionnement ou son état de performance dans le cadre d'un prêt de moins
895
+ de 6 jours; ... » Art. 153 requires the driver of a loaned vehicle to carry
896
+ a document naming the lender. Art. 145: a trailer on a removable plate may
897
+ only be towed within Québec and « sans porter de chargement » — unloaded.
898
+ sources:
899
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement arts. 143-148 (trailer/carrier removable registration), 149-158 (dealer, manufacturer and body-builder removable registration), 159-161 (the X prefix and multiple plates), 10 (display)"
900
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the X 12345, X123456 and XA12345 arrangements"
901
+ notes: >-
902
+ THE BEST-DOCUMENTED DEALER REGIME IN THE CANADA EAST WAVE — and the contrast
903
+ with Ontario is the point: plates/ca-on.yml cannot author an Ontario dealer
904
+ series at all, because Reg. 628 prescribes eligibility and never appearance,
905
+ whereas Québec's art. 159 names the prefix in the instrument. `binding:
906
+ business` because the plate is registered to the trader, not to a vehicle:
907
+ art. 143 and art. 149 register CATEGORIES of vehicle against a person, and
908
+ art. 160 makes the trader buy one plate per vehicle to be put on the road at
909
+ once. period.start 1991 is D. 1420-91.
910
+
911
+ # =========================================================================
912
+ # AMATEUR RADIO — VA2 / VE2, art. 97 al. 2. A CALLSIGN ON A PLATE.
913
+ # =========================================================================
914
+ - id: ca-qc-amateur-radio
915
+ class: personalized
916
+ categories: [car, van]
917
+ period: { start: 1991 }
918
+ period_evidence: enabling-instrument
919
+ matching: strict
920
+ format:
921
+ pattern: "VE2 LLL"
922
+ regex: '\A(?:VA|VE)2 ?[A-Z]{2,3}\z'
923
+ charset:
924
+ notes: >-
925
+ VA2 and VE2 are PRIMARY (art. 97 al. 2). They are also the Canadian
926
+ amateur-radio callsign prefixes for Québec, which is why the plate reads
927
+ as a callsign: the two or three letters that follow are the operator's own
928
+ suffix. The 2-or-3-letter body is the article's.
929
+ design:
930
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
931
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
932
+ foreground: "#003DA5"
933
+ legend_top: "Québec"
934
+ legend_bottom_options: ["Je me souviens"]
935
+ emblem: { present: true, rendered: placeholder }
936
+ band: { side: none }
937
+ rear_differs: false
938
+ eligibility:
939
+ text: "Règlement art. 97 al. 2, verbatim: « Malgré le premier alinéa, une plaque portant le préfixe “VA2” ou “VE2” peut être délivrée au propriétaire d'un véhicule de promenade, titulaire d'une licence de radio-amateur. »"
940
+ translation_note: "OUR TRANSLATION: despite the first paragraph, a plate bearing the prefix VA2 or VE2 may be issued to the owner of a passenger vehicle who holds an amateur-radio licence."
941
+ sources:
942
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement art. 97 al. 2, verbatim above"
943
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Quebec # TAGGED SECONDARY: the VA2 AB / VA2 ABC / VE2 AB / VE2 ABC forms"
944
+ notes: >-
945
+ A CALLSIGN PLATE, AND THE ONLY QUÉBEC SERIES WHOSE SERIAL IS DETERMINED
946
+ OUTSIDE QUÉBEC — the suffix comes from the holder's federal amateur-radio
947
+ licence, so Innovation, Science and Economic Development Canada, not the SAAQ,
948
+ effectively allocates it. `class: personalized` is the least-wrong member of
949
+ the vocabulary: the holder does not choose the string freely, but the string
950
+ is theirs and not the Société's, which is what separates this from every
951
+ sequential series in the file. Recorded so a verifier can rule otherwise
952
+ knowingly. period.start 1991 is D. 1420-91.
953
+
954
+ # =========================================================================
955
+ # PERSONALIZED — a full statutory regime, and a deliberately over-broad regex.
956
+ # =========================================================================
957
+ - id: ca-qc-personalized-2018
958
+ class: personalized
959
+ categories: [car, van, motorcycle, moped, atv, snowmobile, motorhome]
960
+ period: { start: 2018 }
961
+ period_evidence: enabling-statute
962
+ matching: recall-only
963
+ format:
964
+ pattern: "LLLLLLL"
965
+ regex: '\A[A-Z0-9]+\z'
966
+ charset:
967
+ notes: >-
968
+ `regex` IS THE STATUTE AND NOTHING NARROWER, which is exactly why this
969
+ series is `recall-only`. CSR art. 32.1 al. 1 gives uppercase Latin letters
970
+ and Arabic numerals with NO LENGTH BOUND; SAAQ certainly imposes one in
971
+ practice, and the SAAQ page that would state it is geo-blocked from this
972
+ location (header fact 5). Rather than invent a maximum, this file ships
973
+ the statutory bound and labels the match as a shape hit. A match here says
974
+ "this string could be a Québec personalized plate", never "this is one".
975
+ prohibitions:
976
+ text: >-
977
+ CSR art. 32.1 al. 2, verbatim opening: « Le numéro d'une plaque
978
+ d'immatriculation ne doit pas porter à confusion avec celui d'une autre
979
+ plaque et, dans le cas d'un numéro personnalisé, comporter une expression
980
+ ou un message, y compris par la lecture en sens inverse: 1° qui laisse
981
+ faussement croire que le propriétaire du véhicule routier est une autorité
982
+ publique ou y est lié; ... »
983
+ translation_note: "OUR TRANSLATION: a plate number must not be confusable with another plate's and, for a personalized number, must not carry an expression or message — INCLUDING WHEN READ BACKWARDS — that falsely suggests the owner is or is linked to a public authority, and the further cases the article enumerates."
984
+ note: "The read-backwards rule is unusual enough to be worth stating: Québec polices the MIRROR of the string as well as the string."
985
+ design:
986
+ plate: { w: 30, h: 15, unit: cm, plate_basis: secondary-wikipedia }
987
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
988
+ foreground: "#003DA5"
989
+ legend_top: "Québec"
990
+ legend_bottom_options: ["Je me souviens"]
991
+ emblem: { present: true, rendered: placeholder }
992
+ band: { side: none }
993
+ rear_differs: false
994
+ variants:
995
+ - name: "off-road personalized (ATV or snowmobile) — the ONE Québec plate with a printed hyphen"
996
+ format: { pattern: "V-LLLLL", regex: '\AV-[A-Z0-9]+\z' }
997
+ note: >-
998
+ Règlement art. 139 al. 2, verbatim: « Malgré le premier alinéa, une plaque
999
+ d'immatriculation personnalisée apposée sur un véhicule tout-terrain porte
1000
+ le préfixe "V" suivi d'un trait d'union. » Art. 141 al. 2 says the same for
1001
+ a snowmobile of 450 kg or less. OUR TRANSLATION: a personalized plate on an
1002
+ all-terrain vehicle (or such a snowmobile) bears the prefix V FOLLOWED BY A
1003
+ HYPHEN. That hyphen is an emitted separator under PRD-PLATES §2.6 and is
1004
+ the only printed separator glyph any Québec instrument prescribes.
1005
+ eligibility:
1006
+ text: >-
1007
+ Règlement art. 7.2, verbatim: « Seules les personnes qui ne sont pas des
1008
+ personnes morales peuvent obtenir une plaque d'immatriculation personnalisée.
1009
+ Une telle plaque ne peut être associée qu'aux véhicules routiers suivants,
1010
+ sauf s'ils sont mis au rancart: 1° les véhicules de promenade, pour lesquels
1011
+ le présent règlement ne prévoit pas que la plaque d'immatriculation porte un
1012
+ préfixe; 2° les motocyclettes, les cyclomoteurs et les habitations motorisées
1013
+ d'une masse nette de 3 000 kg ou moins; 3° les véhicules tout-terrain et les
1014
+ motoneiges d'une masse nette de 450 kg ou moins. »
1015
+ translation_note: "OUR TRANSLATION: only persons who are NOT legal persons (i.e. not corporations) may obtain a personalized plate, and it may only be associated with: passenger vehicles for which this regulation prescribes no prefix; motorcycles, mopeds and motorized homes of 3 000 kg or less; and all-terrain vehicles and snowmobiles of 450 kg or less."
1016
+ note: "No corporate vanity plates in Québec — a hard eligibility rule stated in the instrument, and one that distinguishes Québec from Ontario, where a business may hold one."
1017
+ lifecycle:
1018
+ activation: "Règlement art. 7.3: the plate must be ACTIVATED before it is fixed to a vehicle, within 48 months of receipt, failing which the number becomes available to somebody else the next day. CSR art. 54.1 makes driving on an unactivated personalized plate an offence ($100-$200)."
1019
+ validity: "Règlement art. 7.4: a personalized plate loses validity 48 months after the holder tells the Société they no longer wish to associate it with the vehicle, after a prohibition on putting the vehicle on the road, or after the vehicle is transferred — unless the holder re-associates it in time."
1020
+ reuse: "Règlement art. 7.5: invalidation frees the number for reuse; where invalidation follows non-payment of the management fee under CSR art. 32.3 the number is held for 48 months. Art. 7.6: a number declared lost or stolen is held for 60 months."
1021
+ fees: "Règlement art. 7.7: management fees under CSR art. 32.3 are payable annually in the three-month window ending on the holder's BIRTHDAY."
1022
+ non_transferable: "Règlement art. 7.3 al. 3: a personalized plate may neither be associated with a vehicle the applicant does not own nor transferred to another person. Contrast Ontario, where ServiceOntario permits exactly one pre-attachment transfer."
1023
+ sources:
1024
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/rc/C-24.2,%20r.%2029 # Règlement arts. 7.2-7.7 (inserted by L.Q. 2018, c. 18, a. 35, with art. 7.7 amended by D. 997-2022, a. 10) and arts. 139 al. 2, 141 al. 2 (the V-hyphen off-road form)"
1025
+ - "https://www.legisquebec.gouv.qc.ca/fr/document/lc/C-24.2 # CSR art. 10.4 (the power to issue a personalized plate), art. 32.1 (the alphabet and the prohibited-message rule, verbatim above), arts. 32.2-32.4 (activation, management fees, replacement on invalidation), arts. 54.1-54.2 (the offences)"
1026
+ notes: >-
1027
+ A COMPLETE STATUTORY VANITY REGIME — eligibility, activation, validity,
1028
+ number reuse, fees and offences, all in the instrument, which is more than any
1029
+ other jurisdiction in the Canada east wave publishes. period.start 2018 is
1030
+ `enabling-statute`: L.Q. 2018, c. 18, a. 35 inserted arts. 7.2 to 7.7 and is
1031
+ the enacting instrument for the regime AS IT NOW STANDS. It is NOT a claim
1032
+ that Québec had no personalized plates before 2018 — CSR art. 10.4 predates
1033
+ it — and the file says so rather than implying otherwise. `matching:
1034
+ recall-only` is the deliberate consequence of the geo-block: with no readable
1035
+ SAAQ length rule, the only defensible regex is the statutory alphabet, and a
1036
+ regex that wide must not be sold as a validity claim (PRD-PLATES §2.7).