MobileDrivingLicence

@Serializable
data class MobileDrivingLicence(val familyName: String, val givenName: String, val dateOfBirth: LocalDate? = null, val issueDate: LocalDate, val expiryDate: LocalDate, val issuingCountry: String? = null, val issuingAuthority: String? = null, val licenceNumber: String, val portrait: ByteArray, val drivingPrivileges: Array<DrivingPrivilege>, val unDistinguishingSign: String? = null, val administrativeNumber: String? = null, val sex: IsoSexEnum? = null, val height: UInt? = null, val weight: UInt? = null, val eyeColor: String? = null, val hairColor: String? = null, val placeOfBirth: String? = null, val placeOfResidence: String? = null, val portraitImageTimestamp: LocalDate? = null, val ageInYears: UInt? = null, val ageBirthYear: UInt? = null, val ageOver12: Boolean? = null, val ageOver13: Boolean? = null, val ageOver14: Boolean? = null, val ageOver16: Boolean? = null, val ageOver18: Boolean? = null, val ageOver21: Boolean? = null, val ageOver25: Boolean? = null, val ageOver60: Boolean? = null, val ageOver62: Boolean? = null, val ageOver65: Boolean? = null, val ageOver68: Boolean? = null, val issuingJurisdiction: String? = null, val nationality: String? = null, val residentCity: String? = null, val residentState: String? = null, val residentPostalCode: String? = null, val residentCountry: String? = null, val familyNameNationalCharacters: String? = null, val givenNameNationalCharacters: String? = null, val signatureOrUsualMark: ByteArray? = null, val biometricTemplateFace: ByteArray? = null, val biometricTemplateFinger: ByteArray? = null, val biometricTemplateSignatureSign: ByteArray? = null, val biometricTemplateIris: ByteArray? = null)(source)

Part of the ISO/IEC 18013-5:2021 standard: Data structure for mDL (7.2.1)

Constructors

Link copied to clipboard
constructor(familyName: String, givenName: String, dateOfBirth: LocalDate? = null, issueDate: LocalDate, expiryDate: LocalDate, issuingCountry: String? = null, issuingAuthority: String? = null, licenceNumber: String, portrait: ByteArray, drivingPrivileges: Array<DrivingPrivilege>, unDistinguishingSign: String? = null, administrativeNumber: String? = null, sex: IsoSexEnum? = null, height: UInt? = null, weight: UInt? = null, eyeColor: String? = null, hairColor: String? = null, placeOfBirth: String? = null, placeOfResidence: String? = null, portraitImageTimestamp: LocalDate? = null, ageInYears: UInt? = null, ageBirthYear: UInt? = null, ageOver12: Boolean? = null, ageOver13: Boolean? = null, ageOver14: Boolean? = null, ageOver16: Boolean? = null, ageOver18: Boolean? = null, ageOver21: Boolean? = null, ageOver25: Boolean? = null, ageOver60: Boolean? = null, ageOver62: Boolean? = null, ageOver65: Boolean? = null, ageOver68: Boolean? = null, issuingJurisdiction: String? = null, nationality: String? = null, residentCity: String? = null, residentState: String? = null, residentPostalCode: String? = null, residentCountry: String? = null, familyNameNationalCharacters: String? = null, givenNameNationalCharacters: String? = null, signatureOrUsualMark: ByteArray? = null, biometricTemplateFace: ByteArray? = null, biometricTemplateFinger: ByteArray? = null, biometricTemplateSignatureSign: ByteArray? = null, biometricTemplateIris: ByteArray? = null)

Properties

Link copied to clipboard
@SerialName(value = "administrative_number")
val administrativeNumber: String? = null

An audit control number assigned by the issuing authority.

Link copied to clipboard
@SerialName(value = "age_birth_year")
val ageBirthYear: UInt? = null

The year when the mDL holder was born.

Link copied to clipboard
@SerialName(value = "age_in_years")
val ageInYears: UInt? = null

The age of the mDL holder.

Link copied to clipboard
@SerialName(value = "age_over_12")
val ageOver12: Boolean? = null

Age attestation: Over 12 years old?

Link copied to clipboard
@SerialName(value = "age_over_13")
val ageOver13: Boolean? = null

Age attestation: Over 13 years old?

Link copied to clipboard
@SerialName(value = "age_over_14")
val ageOver14: Boolean? = null

Age attestation: Over 14 years old?

Link copied to clipboard
@SerialName(value = "age_over_16")
val ageOver16: Boolean? = null

Age attestation: Over 16 years old?

Link copied to clipboard
@SerialName(value = "age_over_18")
val ageOver18: Boolean? = null

Age attestation: Over 18 years old?

Link copied to clipboard
@SerialName(value = "age_over_21")
val ageOver21: Boolean? = null

Age attestation: Over 21 years old?

Link copied to clipboard
@SerialName(value = "age_over_25")
val ageOver25: Boolean? = null

Age attestation: Over 25 years old?

Link copied to clipboard
@SerialName(value = "age_over_60")
val ageOver60: Boolean? = null

Age attestation: Over 60 years old?

Link copied to clipboard
@SerialName(value = "age_over_62")
val ageOver62: Boolean? = null

Age attestation: Over 62 years old?

Link copied to clipboard
@SerialName(value = "age_over_65")
val ageOver65: Boolean? = null

Age attestation: Over 65 years old?

Link copied to clipboard
@SerialName(value = "age_over_68")
val ageOver68: Boolean? = null

Age attestation: Over 68 years old?

Link copied to clipboard
@SerialName(value = "biometric_template_face")
@Serializable(with = ByteArrayBase64UrlSerializer::class)
val biometricTemplateFace: ByteArray? = null

This element contains optional facial information of the mDL holder.

Link copied to clipboard
@SerialName(value = "biometric_template_finger")
@Serializable(with = ByteArrayBase64UrlSerializer::class)
val biometricTemplateFinger: ByteArray? = null

This element contains optional fingerprint information of the mDL holder.

Link copied to clipboard
@SerialName(value = "biometric_template_iris")
@Serializable(with = ByteArrayBase64UrlSerializer::class)
val biometricTemplateIris: ByteArray? = null

This element contains optional iris information of the mDL holder.

Link copied to clipboard
@SerialName(value = "biometric_template_signature_sign")
@Serializable(with = ByteArrayBase64UrlSerializer::class)
val biometricTemplateSignatureSign: ByteArray? = null

This element contains optional signature/sign information of the mDL holder.

Link copied to clipboard
@SerialName(value = "birth_date")
val dateOfBirth: LocalDate? = null

Day, month and year on which the mDL holder was born. If unknown, approximate date of birth.

Link copied to clipboard
@SerialName(value = "driving_privileges")
val drivingPrivileges: Array<DrivingPrivilege>

Driving privileges of the mDL holder.

Link copied to clipboard
@SerialName(value = "expiry_date")
val expiryDate: LocalDate

Date when mDL expires.

Link copied to clipboard
@SerialName(value = "eye_colour")
val eyeColor: String? = null

mDL holder's eye colour. The value shall be one of the following: "black", "blue", "brown", "dichromatic", "grey", "green", "hazel", "maroon", "pink", "unknown".

Link copied to clipboard
@SerialName(value = "family_name")
val familyName: String

Last name, surname, or primary identifier of the mDL holder.

Link copied to clipboard
@SerialName(value = "family_name_national_character")
val familyNameNationalCharacters: String? = null

The family name of the mDL holder using full UTF-8 character set.

Link copied to clipboard
@SerialName(value = "given_name")
val givenName: String

First name(s), other name(s), or secondary identifier, of the mDL holder.

Link copied to clipboard
@SerialName(value = "given_name_national_character")
val givenNameNationalCharacters: String? = null

The given name of the mDL holder using full UTF-8 character set.

Link copied to clipboard
@SerialName(value = "hair_colour")
val hairColor: String? = null

mDL holder's hair color. The value shall be one of the following: "bald", "black", "blond", "brown", "grey", "red", "auburn", "sandy","white", "unknown"

Link copied to clipboard
@SerialName(value = "height")
val height: UInt? = null

mDL holder's height in centimetres.

Link copied to clipboard
@SerialName(value = "issue_date")
val issueDate: LocalDate

Date when mDL was issued.

Link copied to clipboard
@SerialName(value = "issuing_authority")
val issuingAuthority: String? = null

Issuing authority name.

Link copied to clipboard
@SerialName(value = "issuing_country")
val issuingCountry: String? = null

Alpha-2 country code, as defined in ISO 3166-1, of the issuing authority's country or territory.

Link copied to clipboard
@SerialName(value = "issuing_jurisdiction")
val issuingJurisdiction: String? = null

Country subdivision code of the jurisdiction that issued the mDL as defined in ISO 3166-2:2020, Clause 8.

Link copied to clipboard
@SerialName(value = "document_number")
val licenceNumber: String

The number assigned or calculated by the issuing authority.

Link copied to clipboard
@SerialName(value = "nationality")
val nationality: String? = null

Nationality of the mDL holder as a two letter country code (alpha-2 code) defined in ISO 3166-1.

Link copied to clipboard
@SerialName(value = "birth_place")
val placeOfBirth: String? = null

Country and municipality or state/province where the mDL holder was born.

Link copied to clipboard
@SerialName(value = "resident_address")
val placeOfResidence: String? = null

The place where the mDL holder resides and/or may be contracted.

Link copied to clipboard
@SerialName(value = "portrait")
@Serializable(with = ByteArrayBase64UrlSerializer::class)
val portrait: ByteArray

A reproduction of the mDL holder's portrait.

Link copied to clipboard
@SerialName(value = "portrait_capture_date")
val portraitImageTimestamp: LocalDate? = null

Date when portrait was taken.

Link copied to clipboard
@SerialName(value = "resident_city")
val residentCity: String? = null

The city where the mDL holder lives.

Link copied to clipboard
@SerialName(value = "resident_country")
val residentCountry: String? = null

The country where the mDL holder lives as a two letter country code (alpha-2 code) defined in ISO 3166-1.

Link copied to clipboard
@SerialName(value = "resident_postal_code")
val residentPostalCode: String? = null

The postal code of the mDL holder.

Link copied to clipboard
@SerialName(value = "resident_state")
val residentState: String? = null

The state/province/district where the mDL holder lives.

Link copied to clipboard
@SerialName(value = "sex")
@Serializable(with = IsoSexEnumSerializer::class)
val sex: IsoSexEnum? = null

mDL holder's sex using values as defined in ISO/IEC 5218.

Link copied to clipboard
@SerialName(value = "signature_usual_mark")
@Serializable(with = ByteArrayBase64UrlSerializer::class)
val signatureOrUsualMark: ByteArray? = null

Image of the signature or usual mark of the mDL holder.

Link copied to clipboard
@SerialName(value = "un_distinguishing_sign")
val unDistinguishingSign: String? = null

Distinguishing sign of the issuing country according to ISO/IEC 18013-1:2018, Annex F.

Link copied to clipboard
@SerialName(value = "weight")
val weight: UInt? = null

mDL holder's weight in kilograms

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String