EUR Driving License Fields and Validations
In this document we present the fields that we extract from the European Driving License. We also present a brief description of each type, as well as the validations applied to them.
Description of the document
The European driving license has an overall similar layout between countries, with small differences among them.
This is what the Spanish European Driving License looks like:
Front | Back |
---|---|
The parts of the driving license are presented in the following table:
Front | Back |
---|---|
Fields extracted from the document
Note: a field returns a
null
response when the field is not present in the document.
personalNumber
The personalNumber
field returns the document holder's personal identity number, commonly known in Spain as the "DNI number". This number does not change if the holder renews the document, and it's the number in field #5 on the document.
documentType
The documentType
field returns which type of document it is. In this case, since the document is a European Driving License, the field will return EURDrivingLicense
.
name
The name
field returns the name present on the front of the document in field #2, which is the first name of the document holder.
surname
The surname
field returns the concatenation of firstSurname
and secondSurname
present in field #1 on the document.
In Spain, every person has two surnames, the first one being the first surname of the father, and the second being the first surname of the mother. More information on Spanish naming customs here.
firstSurname
The firstSurname
field returns the first surname of the document holder, present on field #1 on the document (see information on Spanish naming customs here).
secondSurname
The secondSurname
field returns the second surname of the document holder, present on field #1 on the document if applicable (see information on Spanish naming customs here).
dateOfExpiry
The dateOfExpiry
field returns the document's date of expiry, present in field #4b in the front of the document.
dateOfBirth
The dateOfBirth
field returns the document holder's date of birth, present in field #3 on the document.
nationality
The nationality
field returns the nationality of the document holder using three letters following the ISO 3166-1 alpha-3 codes. More information on the ISO codes here.
issuingState
The issuingState
field returns the country where the document has been issued, using three letters following the ISO 3166-1 alpha-3 codes. More information on the ISO codes here.
dateOfIssuing
The dateOfIssuing
field returns the date in which the document was issued, as seen in field #4a in the document.
drivingLicenseTypes
The drivingLicenseTypes
field returns the valid driving license types for this particular driver, as seen at the front beneath the picture. Example values are: A1
, B
, C1
.
drivingLicenseValidity
The drivingLicenseValidity
field returns the dates of issue and the dates of expiry for each valid driving license type as captured in drivingLicenseTypes
.
Location of the fields within the document
The following image detail where the fields extracted from the Spanish European Driving License have been obtained from.
Validations extracted from the fields
The validations can return the following values:
VALID
: states that the field to which the validation is referencing to could be extracted and is valid. The conditions which determine if a field is valid are relative to the particular field.NOT_VALID
: states that the field to which the validation is referencing to could be extracted and is not valid. The conditions which determine if a field is valid are relative to the particular field.NOT_CHECKED
: states that either this validation is not supported for the type of document that is being processed or that the field to which the validation is referencing to could not be extracted and, thus, the validation could not be completed.
Types of validations extracted from the fields
validationPersonalNumber
States whether the personal identity number of the document holder exists and is valid. This validation is returned as valid if it is validated by the algorithm that calculates the associated control digit.
This validation is only valid for Spanish documents and if the number's format is valid. More information on how this format is validated can be found here.
validationNationality
States whether the three letter code that represent the nationality of the document holder is correct and valid. This validation is returned as valid if the three extracted letters match one of the ISO 3166-1 alpha-3 codes. More information on the ISO codes here.
validationDateOfBirth
States whether the date of birth of the document holder exists and is valid.
In order to be valid, the date needs to be a realistic one and it needs to have the following format:
- mm-dd-yyyy
validationDateOfExpiry
States whether the date of expiry of the document exists and is valid.
In order to be valid, the date needs to be a realistic one and it needs to have the following format in the Spanish document:
- mm-dd-yyyy
validationDateOfIssuing
States whether the date of issue of the document exists and is valid.
In order to be valid, the date needs to be a realistic one and it needs to have the following format in the Spanish document:
- mm-dd-yyyy
validationIssuingState
States whether the three letter code that represent the issuing country of the document is correct and valid. This validation is returned as valid if the three extracted letters match one of the ISO 3166-1 alpha-3 codes. More information on the ISO codes here.
validationDocumentNotExpired
States whether the document has expired. This validation is returned as valid if the date present in dateOfExpiry
has a valid format and is in the future. If the date is in the past, the validation will return NOT_VALID
.
JSON example file
The following is a JSON output file resulting from scanning a Spanish European Driving License.
Note: some irrelevant fields and validations appear in the JSON file due to legacy and compatibility issues. The irrelevant fields will return either
null
orNOT_CHECKED
.
{
"personalNumber": "01234567X",
"documentType": "EURDrivingLicense",
"name": "NOMBRE",
"surname": "APELLIDO1 APELLIDO2",
"firstSurname": "APELLIDO1",
"secondSurname": "APELLIDO2",
"dateOfExpiry": "02/11/2014",
"dateOfBirth": "01/01/1980",
"nationality": "ESP",
"issuingState": "ESP",
"validationNationality": "VALID",
"validationDateOfBirth": "VALID",
"validationDateOfExpiry": "VALID",
"validationIssuingState": "VALID",
"drivingLicenseTypes": [
"AM",
"A1",
"A2",
"A",
"B1",
"B",
"C1",
"C",
"D1",
"D",
"BE",
"C1E",
"CE",
"D1E",
"DE",
"BTP"
],
"drivingLicenseValidity": {
"AM": [
"02/04/1995",
"02/04/1995"
],
"A1": [
"15/10/1991",
"04/10/1996"
],
"A2": [
"01/12/2002",
"01/12/2002"
],
"A": [
"02/02/2002",
"02/02/2002"
],
"B1": [
],
"B": [
"02/04/1995",
"02/04/1995"
],
"C1": [
"01/12/2002",
"15/10/2007"
],
"C": [
"04/10/2002",
"01/12/2002"
],
"D1": [
"02/02/2002",
"02/02/2002"
],
"D": [
"01/12/2002",
"01/12/2002"
],
"BE": [
"04/10/1996",
"02/04/2005"
],
"C1E": [
"15/10/1991",
"04/10/1996"
],
"CE": [
"01/12/2002",
"01/12/2002"
],
"D1E": [
"02/02/2002",
"02/02/2002"
],
"DE": [
"01/12/2002",
"04/10/2006"
],
"BTP": [
"01/12/2002",
"04/10/2006"
]
},
"dateOfIssuing": "02/11/2004",
"validationDateOfIssuing": "VALID"
"documentNumber": null,
"gender": null,
"mrz": null,
"validationFrontAppearance": "NOT_CHECKED",
"validationBackAppearance": "NOT_CHECKED",
"validationBothSidesMatch": "NOT_CHECKED",
"validationMRZ": "NOT_CHECKED",
"validationMRZCheckDocumentNumber": "NOT_CHECKED",
"validationMRZCheckPersonalNumber": "NOT_CHECKED",
"validationMRZCheckDateOfBirth": "NOT_CHECKED",
"validationMRZCheckDateOfExpiry": "NOT_CHECKED",
"validationMRZCheckComposite": "NOT_CHECKED",
"validationMRZNameSurnameSeparator": "NOT_CHECKED",
"validationMRZSurnameSeparator": "NOT_CHECKED",
"validationDocumentNumber": "NOT_CHECKED",
"validationPersonalNumber": "NOT_VALID",
"validationSex": "NOT_CHECKED",
"validationGender": "NOT_CHECKED",
"validationFrontAppearanceScore": -1,
"validationBackAppearanceScore": -1,
"validationFacialMatchingScore": -1,
"validationDocumentNotExpired": "NOT_VALID",
"validationFrontNotPhotocopy": "NOT_CHECKED",
"validationBackNotPhotocopy": "NOT_CHECKED",
"validationFrontPhotocopyScore": -1,
"validationBackPhotocopyScore": -1,
"validationDocument": "NOT_CHECKED",
"validationDocumentContent": "NOT_CHECKED",
"validationDocumentForensics": "NOT_CHECKED",
}