Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 5 Nov 2026. What's built · Install 0.3.0
jadpo
ReferenceCommerce and logistics

LanguageValues and typesStandard typesCommerce and logistics

VehicleRegistration

On this page

A vehicle's registration mark with its country: GB AB12 CDE.

Use it for parking, fleets and insurance. For the number that stays with a vehicle for life, use Vin.

Shape

Field Type Required?
country Country Yes
plate Text Yes

Example

example
VehicleRegistration { country: Country.gb plate: "AB12 CDE" }

text.parse(raw, as: VehicleRegistration) reads one from text that comes from outside. Text that isn't one at all fails malformed, such as GB ab12 cde, GB AB12 CDE or GB AB12-.

Good to know

  • The mark is kept as its plate shows it: in capitals, with single spaces.
  • == tells you whether two are the same. < and list.sort_by don't take it, so sort by one of its parts instead.

In JSON

A string, in a request, a response or json.write:

json
"GB AB12 CDE""DE M-AB 1234""FR AA-123-AA"

Details

Text form, storage, how it is shown, and operations

VehicleRegistration is in the group Commerce and logistics, and has been in Jadpo since 0.1.0.

Text form

text.from writes one standard text form, the same form text.parse reads back: GB AB12 CDE, DE M-AB 1234 and FR AA-123-AA.

How it is stored

It is stored in 2 columns, each named for the field, _ and its suffix. This is DE M-AB 1234:

Column Type Holds
<field>_country text 'DE'
<field>_plate text 'M-AB 1234'

How it is shown to people

text.format(value, locale:) shows it to people in their locale.

With locale: Locale.en_gb:

Value Shown
GB AB12 CDE GB AB12 CDE
DE M-AB 1234 DE M-AB 1234
FR AA-123-AA FR AA-123-AA

Operations

It also takes text.parse, text.from, text.format, json.read, json.write and ==. How every standard type behaves says how they work.

Markdown for agents: /docs/types/type-vehicle-registration.md.Built from Jadpo main at aee2e8f.