ScanButton (IDScanner)
This form control is a button which starts a OCR scan of passports, id cards and driving licenses and fills in the scanned information. The control is implementing the Regula OCR Scan plugin and postprocessing the scanned text.
You will need an Regula enterprise license! For further information please read on the Regula website (https://regulaforensics.com/) or contact HybridForms support.
<div id="id_scanner_button"
data-win-control="HFWinJSCtrl.IDScanner"
data-win-options="{
buttonType: 'large',
buttonLabel: 'Scan',
buttonHeading: 'Ausweis | Pass | FS',
postProcess: HFFormdefinition.Namespace.postProcessID,
mapping: {
'FT_SURNAME': 'nachname',
'FT_SURNAME_AT_BIRTH': 'geburtsname',
'FT_GIVEN_NAMES': 'vorname',
'FT_DATE_OF_BIRTH_DATE': 'geburtsdatum',
'FT_PLACE_OF_BIRTH': 'geburtsort',
'FT_DOCUMENT_NUMBER': 'dokument_nummer',
'FT_DATE_OF_EXPIRY_DATE': 'ablaufdatum',
'FT_DATE_OF_ISSUE_DATE': 'ausgabedatum',
'PP_FT_AUTHORITY': 'aussteller',
'PP_FT_NATIONALITY_CODE': ['staatsangerhoerigkeit', 'staat'],
'PP_FT_NATIONALITY': 'staat_HFComboText',
'PP_FT_ADDRESS_POSTAL_CODE': 'plz',
'PP_FT_ADDRESS_CITY': 'ort_HFComboText',
'PP_ADDRESS_STREET': 'strasse_HFComboText',
'PP_ADDRESS_STREET_NUMBER': 'hausnummer',
'PP_ADDRESS_STREET_NUMBER_ADD': 'hausnummer_zusatz',
'PP_STATE_CODE': 'bundesland',
'PP_STATE_TEXT': 'bundesland_HFComboText',
'PP_FT_DL_CLASS': 'klasse',
'DVL_DATE_OF_ISSUE_DATE': 'ausstellungsdatum',
'DVL_AUTHORITY': 'ausstell_behoerde',
'DVL_DOCUMENT_NUMBER': 'fahrerlaubnisnr',
'FT_SEX': {
type: 'radiobuttons',
'M': 'geschlecht_m',
'F': 'geschlecht_w'
}
}
}"></div>
One line OCR is possible with the following configuration:
<div id="id_scanner_button_vds"
data-win-control="HFWinJSCtrl.IDScanner"
data-win-options="{
buttonType: 'large',
buttonLabel: 'Scan',
buttonHeading: 'OCR',
icon: 'fa-barcode-scan',
scanType: 'OCR',
mapping: {
'FT_OTHER': 'field_id',
}
}"></div>
FormControl Options
buttonType - required
Define the size of the button ('small', 'medium' or 'large').
buttonType: 'large'
'small' | 'medium' | 'large'
afterScan
Call a custom JS-method after result processing has finished (optional)
afterScan: HFFormdefinition.BaselHelpers.afterScanMRZ
function
function(result: ScannerResult, options: any, element: HTMLElement) => Promise<any>
audioFeedback
Enables or disables an audible feedback on proccessing the scan
audioFeedback: true
boolean
buttonHeading
Define a label for the control element.
buttonHeading: 'IDCard Scan'
string
buttonLabel
Sets the label of the button (displayed if buttonType is "medium" or "large")
buttonLabel: 'MRZ'
string
callbackFeedback
Enables or disables a audible feedback on success
callbackFeedback: true
boolean
clearFields
An array of field names which should be cleared before filling in the scanned values
clearFields: ['field1', 'field2']
string[]
config
A custom configuration for the Regula plugin. See the Regula documentation for further information.
config: { processParams: { ocrFree: { mask: 'CDDD', lcid: 0 } } }
IDocumentReaderConfig
forceSinglePageScan
Limits scanning to the first page for specified document types. The array contains the diDocsType numbers.
forceSinglePageScan: [20, 21]
number[]
forceSinglePageScan: [11, 49]
mapping
An object with key-value pairs defining the ID scan fields and the receiving form fields
mapping: {'FT_SURNAME': 'nachname','FT_GIVEN_NAMES': 'vorname', ...
{ [scanKey: string]: string }
postProcess
Call a custom JS-method to postprocess the scanned values (optional)
postProcess: HFFormdefinition.BaselHelpers.postProcessMRZ
function
function(result: ScannerResult, options: any, element: HTMLElement) => Promise<any>
scanType
Define the scanType, possible values are: ID and OCR.
scanType: 'OCR'
string
ID
suppressSuccessMessage
Suppress the success message after a successful scan
suppressSuccessMessage: true
boolean
false
vibrationFeedback
Enables or disables a haptic feedback on proccessing the scan
vibrationFeedback: true
boolean
interface IDocumentReaderConfig {
functionality?: {
[key: string]: any;
};
customization?: {
[key: string]: any;
};
processParams?: {
[key: string]: any;
};
}
interface ScannerResultMetaData {
documentType: DocumentReaderDocumentType[];
status: DocumentReaderResultsStatus;
textResult: {
status: number;
comparisonStatus: number;
validityStatus: number;
}
}
interface ScannerResult {
[key: keyof eVisualFieldType]: any;
metaData: ScannerResultMetaData;
}
Date fields are also returned as Date objects with field prefix _DATE
.
Number fields are also returned as numbers with field prefix _NUM
.
Important interfaces
The following interfaces are important for handling the result of the scan.
Field types
interface eVisualFieldType {
FT_DOCUMENT_CLASS_CODE: number;
FT_ISSUING_STATE_CODE: number;
FT_DOCUMENT_NUMBER: number;
FT_DATE_OF_EXPIRY: number;
FT_DATE_OF_ISSUE: number;
FT_DATE_OF_BIRTH: number;
FT_PLACE_OF_BIRTH: number;
FT_PERSONAL_NUMBER: number;
FT_SURNAME: number;
FT_GIVEN_NAMES: number;
FT_MOTHERS_NAME: number;
FT_NATIONALITY: number;
FT_SEX: number;
FT_HEIGHT: number;
FT_WEIGHT: number;
FT_EYES_COLOR: number;
FT_HAIR_COLOR: number;
FT_ADDRESS: number;
FT_DONOR: number;
FT_SOCIAL_SECURITY_NUMBER: number;
FT_DL_CLASS: number;
FT_DL_ENDORSED: number;
FT_DL_RESTRICTION_CODE: number;
FT_DL_UNDER_21_DATE: number;
FT_AUTHORITY: number;
FT_SURNAME_AND_GIVEN_NAMES: number;
FT_NATIONALITY_CODE: number;
FT_PASSPORT_NUMBER: number;
FT_INVITATION_NUMBER: number;
FT_VISA_ID: number;
FT_VISA_CLASS: number;
FT_VISA_SUB_CLASS: number;
FT_MRZ_STRING_1: number;
FT_MRZ_STRING_2: number;
FT_MRZ_STRING_3: number;
FT_MRZ_TYPE: number;
FT_OPTIONAL_DATA: number;
FT_DOCUMENT_CLASS_NAME: number;
FT_ISSUING_STATE_NAME: number;
FT_PLACE_OF_ISSUE: number;
FT_DOCUMENT_NUMBER_CHECKSUM: number;
FT_DATE_OF_BIRTH_CHECKSUM: number;
FT_DATE_OF_EXPIRY_CHECKSUM: number;
FT_PERSONAL_NUMBER_CHECKSUM: number;
FT_FINAL_CHECKSUM: number;
FT_PASSPORT_NUMBER_CHECKSUM: number;
FT_INVITATION_NUMBER_CHECKSUM: number;
FT_VISA_ID_CHECKSUM: number;
FT_SURNAME_AND_GIVEN_NAMES_CHECKSUM: number;
FT_VISA_VALID_UNTIL_CHECKSUM: number;
FT_OTHER: number;
FT_MRZ_STRINGS: number;
FT_NAME_SUFFIX: number;
FT_NAME_PREFIX: number;
FT_DATE_OF_ISSUE_CHECKSUM: number;
FT_DATE_OF_ISSUE_CHECK_DIGIT: number;
FT_DOCUMENT_SERIES: number;
FT_REG_CERT_REG_NUMBER: number;
FT_REG_CERT_CAR_MODEL: number;
FT_REG_CERT_CAR_COLOR: number;
FT_REG_CERT_BODY_NUMBER: number;
FT_REG_CERT_CAR_TYPE: number;
FT_REG_CERT_MAX_WEIGHT: number;
FT_REG_CERT_WEIGHT: number;
FT_ADDRESS_AREA: number;
FT_ADDRESS_STATE: number;
FT_ADDRESS_BUILDING: number;
FT_ADDRESS_HOUSE: number;
FT_ADDRESS_FLAT: number;
FT_PLACE_OF_REGISTRATION: number;
FT_DATE_OF_REGISTRATION: number;
FT_RESIDENT_FROM: number;
FT_RESIDENT_UNTIL: number;
FT_AUTHORITY_CODE: number;
FT_PLACE_OF_BIRTH_AREA: number;
FT_PLACE_OF_BIRTH_STATE_CODE: number;
FT_ADDRESS_STREET: number;
FT_ADDRESS_CITY: number;
FT_ADDRESS_JURISDICTION_CODE: number;
FT_ADDRESS_POSTAL_CODE: number;
FT_DOCUMENT_NUMBER_CHECK_DIGIT: number;
FT_DATE_OF_BIRTH_CHECK_DIGIT: number;
FT_DATE_OF_EXPIRY_CHECK_DIGIT: number;
FT_PERSONAL_NUMBER_CHECK_DIGIT: number;
FT_FINAL_CHECK_DIGIT: number;
FT_PASSPORT_NUMBER_CHECK_DIGIT: number;
FT_INVITATION_NUMBER_CHECK_DIGIT: number;
FT_VISA_ID_CHECK_DIGIT: number;
FT_SURNAME_AND_GIVEN_NAMES_CHECK_DIGIT: number;
FT_VISA_VALID_UNTIL_CHECK_DIGIT: number;
FT_PERMIT_DL_CLASS: number;
FT_PERMIT_DATE_OF_EXPIRY: number;
FT_PERMIT_IDENTIFIER: number;
FT_PERMIT_DATE_OF_ISSUE: number;
FT_PERMIT_RESTRICTION_CODE: number;
FT_PERMIT_ENDORSED: number;
FT_ISSUE_TIMESTAMP: number;
FT_NUMBER_OF_DUPLICATES: number;
FT_MEDICAL_INDICATOR_CODES: number;
FT_NON_RESIDENT_INDICATOR: number;
FT_VISA_TYPE: number;
FT_VISA_VALID_FROM: number;
FT_VISA_VALID_UNTIL: number;
FT_DURATION_OF_STAY: number;
FT_NUMBER_OF_ENTRIES: number;
FT_DAY: number;
FT_MONTH: number;
FT_YEAR: number;
FT_UNIQUE_CUSTOMER_IDENTIFIER: number;
FT_COMMERCIAL_VEHICLE_CODES: number;
FT_AKA_DATE_OF_BIRTH: number;
FT_AKA_SOCIAL_SECURITY_NUMBER: number;
FT_AKA_SURNAME: number;
FT_AKA_GIVEN_NAMES: number;
FT_AKA_NAME_SUFFIX: number;
FT_AKA_NAME_PREFIX: number;
FT_MAILING_ADDRESS_STREET: number;
FT_MAILING_ADDRESS_CITY: number;
FT_MAILING_ADDRESS_JURISDICTION_CODE: number;
FT_MAILING_ADDRESS_POSTAL_CODE: number;
FT_AUDIT_INFORMATION: number;
FT_INVENTORY_NUMBER: number;
FT_RACE_ETHNICITY: number;
FT_JURISDICTION_VEHICLE_CLASS: number;
FT_JURISDICTION_ENDORSEMENT_CODE: number;
FT_JURISDICTION_RESTRICTION_CODE: number;
FT_FAMILY_NAME: number;
FT_GIVEN_NAMES_RUS: number;
FT_VISA_ID_RUS: number;
FT_FATHERS_NAME: number;
FT_FATHERS_NAME_RUS: number;
FT_SURNAME_AND_GIVEN_NAMES_RUS: number;
FT_PLACE_OF_BIRTH_RUS: number;
FT_AUTHORITY_RUS: number;
FT_ISSUING_STATE_CODE_NUMERIC: number;
FT_NATIONALITY_CODE_NUMERIC: number;
FT_ENGINE_POWER: number;
FT_ENGINE_VOLUME: number;
FT_CHASSIS_NUMBER: number;
FT_ENGINE_NUMBER: number;
FT_ENGINE_MODEL: number;
FT_VEHICLE_CATEGORY: number;
FT_IDENTITY_CARD_NUMBER: number;
FT_CONTROL_NO: number;
FT_PARRENTS_GIVEN_NAMES: number;
FT_SECOND_SURNAME: number;
FT_MIDDLE_NAME: number;
FT_REG_CERT_VIN: number;
FT_REG_CERT_VIN_CHECK_DIGIT: number;
FT_REG_CERT_VIN_CHECKSUM: number;
FT_LINE_1_CHECK_DIGIT: number;
FT_LINE_2_CHECK_DIGIT: number;
FT_LINE_3_CHECK_DIGIT: number;
FT_LINE_1_CHECKSUM: number;
FT_LINE_2_CHECKSUM: number;
FT_LINE_3_CHECKSUM: number;
FT_REG_CERT_REG_NUMBER_CHECK_DIGIT: number;
FT_REG_CERT_REG_NUMBER_CHECKSUM: number;
FT_REG_CERT_VEHICLE_ITS_CODE: number;
FT_CARD_ACCESS_NUMBER: number;
FT_MARITAL_STATUS: number;
FT_COMPANY_NAME: number;
FT_SPECIAL_NOTES: number;
FT_SURNAME_OF_SPOSE: number;
FT_TRACKING_NUMBER: number;
FT_BOOKLET_NUMBER: number;
FT_CHILDREN: number;
FT_COPY: number;
FT_SERIAL_NUMBER: number;
FT_DOSSIER_NUMBER: number;
FT_AKA_SURNAME_AND_GIVEN_NAMES: number;
FT_TERRITORIAL_VALIDITY: number;
FT_MRZ_STRINGS_WITH_CORRECT_CHECK_SUMS: number;
FT_DL_CDL_RESTRICTION_CODE: number;
FT_DL_UNDER_18_DATE: number;
FT_DL_RECORD_CREATED: number;
FT_DL_DUPLICATE_DATE: number;
FT_DL_ISS_TYPE: number;
FT_MILITARY_BOOK_NUMBER: number;
FT_DESTINATION: number;
FT_BLOOD_GROUP: number;
FT_SEQUENCE_NUMBER: number;
FT_REG_CERT_BODY_TYPE: number;
FT_REG_CERT_CAR_MARK: number;
FT_TRANSACTION_NUMBER: number;
FT_AGE: number;
FT_FOLIO_NUMBER: number;
FT_VOTER_KEY: number;
FT_ADDRESS_MUNICIPALITY: number;
FT_ADDRESS_LOCATION: number;
FT_SECTION: number;
FT_OCR_NUMBER: number;
FT_FEDERAL_ELECTIONS: number;
FT_REFERENCE_NUMBER: number;
FT_OPTIONAL_DATA_CHECKSUM: number;
FT_OPTIONAL_DATA_CHECK_DIGIT: number;
FT_VISA_NUMBER: number;
FT_VISA_NUMBER_CHECKSUM: number;
FT_VISA_NUMBER_CHECK_DIGIT: number;
FT_VOTER: number;
FT_PREVIOUS_TYPE: number;
FT_FIELD_FROM_MRZ: number;
FT_CURRENT_DATE: number;
FT_STATUS_DATE_OF_EXPIRY: number;
FT_BANKNOTE_NUMBER: number;
FT_CSC_CODE: number;
FT_ARTISTIC_NAME: number;
FT_ACADEMIC_TITLE: number;
FT_ADDRESS_COUNTRY: number;
FT_ADDRESS_ZIPCODE: number;
FT_E_ID_RESIDENCE_PERMIT_1: number;
FT_E_ID_RESIDENCE_PERMIT_2: number;
FT_E_ID_PLACE_OF_BIRTH_STREET: number;
FT_E_ID_PLACE_OF_BIRTH_CITY: number;
FT_E_ID_PLACE_OF_BIRTH_STATE: number;
FT_E_ID_PLACE_OF_BIRTH_COUNTRY: number;
FT_E_ID_PLACE_OF_BIRTH_ZIPCODE: number;
FT_CDL_CLASS: number;
FT_DL_UNDER_19_DATE: number;
FT_WEIGHT_POUNDS: number;
FT_LIMITED_DURATION_DOCUMENT_INDICATOR: number;
FT_ENDORSEMENT_EXPIRATION_DATE: number;
FT_REVISION_DATE: number;
FT_COMPLIANCE_TYPE: number;
FT_FAMILY_NAME_TRUNCATION: number;
FT_FIRST_NAME_TRUNCATION: number;
FT_MIDDLE_NAME_TRUNCATION: number;
FT_EXAM_DATE: number;
FT_ORGANIZATION: number;
FT_DEPARTMENT: number;
FT_PAY_GRADE: number;
FT_RANK: number;
FT_BENEFITS_NUMBER: number;
FT_SPONSOR_SERVICE: number;
FT_SPONSOR_STATUS: number;
FT_SPONSOR: number;
FT_RELATIONSHIP: number;
FT_USCIS: number;
FT_CATEGORY: number;
FT_CONDITIONS: number;
FT_IDENTIFIER: number;
FT_CONFIGURATION: number;
FT_DISCRETIONARY_DATA: number;
FT_LINE_1_OPTIONAL_DATA: number;
FT_LINE_2_OPTIONAL_DATA: number;
FT_LINE_3_OPTIONAL_DATA: number;
FT_EQV_CODE: number;
FT_ALT_CODE: number;
FT_BINARY_CODE: number;
FT_PSEUDO_CODE: number;
FT_FEE: number;
FT_STAMP_NUMBER: number;
FT_SBH_SECURITYOPTIONS: number;
FT_SBH_INTEGRITYOPTIONS: number;
FT_DATE_OF_CREATION: number;
FT_VALIDITY_PERIOD: number;
FT_PATRON_HEADER_VERSION: number;
FT_BDB_TYPE: number;
FT_BIOMETRIC_TYPE: number;
FT_BIOMETRIC_SUBTYPE: number;
FT_BIOMETRIC_PRODUCTID: number;
FT_BIOMETRIC_FORMAT_OWNER: number;
FT_BIOMETRIC_FORMAT_TYPE: number;
FT_PHONE: number;
FT_PROFESSION: number;
FT_TITLE: number;
FT_PERSONAL_SUMMARY: number;
FT_OTHER_VALID_ID: number;
FT_CUSTODY_INFO: number;
FT_OTHER_NAME: number;
FT_OBSERVATIONS: number;
FT_TAX: number;
FT_DATE_OF_PERSONALIZATION: number;
FT_PERSONALIZATION_SN: number;
FT_OTHERPERSON_NAME: number;
FT_PERSONTONOTIFY_DATE_OF_RECORD: number;
FT_PERSONTONOTIFY_NAME: number;
FT_PERSONTONOTIFY_PHONE: number;
FT_PERSONTONOTIFY_ADDRESS: number;
FT_DS_CERTIFICATE_ISSUER: number;
FT_DS_CERTIFICATE_SUBJECT: number;
FT_DS_CERTIFICATE_VALIDFROM: number;
FT_DS_CERTIFICATE_VALIDTO: number;
FT_VRC_DATAOBJECT_ENTRY: number;
FT_TYPE_APPROVAL_NUMBER: number;
FT_ADMINISTRATIVE_NUMBER: number;
FT_DOCUMENT_DISCRIMINATOR: number;
FT_DATA_DISCRIMINATOR: number;
FT_ISO_ISSUER_ID_NUMBER: number;
FT_GNIB_NUMBER: number;
FT_DEPT_NUMBER: number;
FT_TELEX_CODE: number;
FT_ALLERGIES: number;
FT_SP_CODE: number;
FT_COURT_CODE: number;
FT_CTY: number;
FT_SPONSOR_SSN: number;
FT_DO_D_NUMBER: number;
FT_MC_NOVICE_DATE: number;
FT_DUF_NUMBER: number;
FT_AGY: number;
FT_PNR_CODE: number;
FT_FROM_AIRPORT_CODE: number;
FT_TO_AIRPORT_CODE: number;
FT_FLIGHT_NUMBER: number;
FT_DATE_OF_FLIGHT: number;
FT_SEAT_NUMBER: number;
FT_DATE_OF_ISSUE_BOARDING_PASS: number;
FT_CCW_UNTIL: number;
FT_REFERENCE_NUMBER_CHECKSUM: number;
FT_REFERENCE_NUMBER_CHECK_DIGIT: number;
FT_ROOM_NUMBER: number;
FT_RELIGION: number;
FT_REMAINDER_TERM: number;
FT_ELECTRONIC_TICKET_INDICATOR: number;
FT_COMPARTMENT_CODE: number;
FT_CHECK_IN_SEQUENCE_NUMBER: number;
FT_AIRLINE_DESIGNATOR_OF_BOARDING_PASS_ISSUER: number;
FT_AIRLINE_NUMERIC_CODE: number;
FT_TICKET_NUMBER: number;
FT_FREQUENT_FLYER_AIRLINE_DESIGNATOR: number;
FT_FREQUENT_FLYER_NUMBER: number;
FT_FREE_BAGGAGE_ALLOWANCE: number;
FT_PDF_417_CODEC: number;
FT_IDENTITY_CARD_NUMBER_CHECKSUM: number;
FT_IDENTITY_CARD_NUMBER_CHECK_DIGIT: number;
FT_VETERAN: number;
FT_DL_CLASS_CODE_A_1_FROM: number;
FT_DL_CLASS_CODE_A_1_TO: number;
FT_DL_CLASS_CODE_A_1_NOTES: number;
FT_DL_CLASS_CODE_A_FROM: number;
FT_DL_CLASS_CODE_A_TO: number;
FT_DL_CLASS_CODE_A_NOTES: number;
FT_DL_CLASS_CODE_B_FROM: number;
FT_DL_CLASS_CODE_B_TO: number;
FT_DL_CLASS_CODE_B_NOTES: number;
FT_DL_CLASS_CODE_C_1_FROM: number;
FT_DL_CLASS_CODE_C_1_TO: number;
FT_DL_CLASS_CODE_C_1_NOTES: number;
FT_DL_CLASS_CODE_C_FROM: number;
FT_DL_CLASS_CODE_C_TO: number;
FT_DL_CLASS_CODE_C_NOTES: number;
FT_DL_CLASS_CODE_D_1_FROM: number;
FT_DL_CLASS_CODE_D_1_TO: number;
FT_DL_CLASS_CODE_D_1_NOTES: number;
FT_DL_CLASS_CODE_D_FROM: number;
FT_DL_CLASS_CODE_D_TO: number;
FT_DL_CLASS_CODE_D_NOTES: number;
FT_DL_CLASS_CODE_BE_FROM: number;
FT_DL_CLASS_CODE_BE_TO: number;
FT_DL_CLASS_CODE_BE_NOTES: number;
FT_DL_CLASS_CODE_C_1_E_FROM: number;
FT_DL_CLASS_CODE_C_1_E_TO: number;
FT_DL_CLASS_CODE_C_1_E_NOTES: number;
FT_DL_CLASS_CODE_CE_FROM: number;
FT_DL_CLASS_CODE_CE_TO: number;
FT_DL_CLASS_CODE_CE_NOTES: number;
FT_DL_CLASS_CODE_D_1_E_FROM: number;
FT_DL_CLASS_CODE_D_1_E_TO: number;
FT_DL_CLASS_CODE_D_1_E_NOTES: number;
FT_DL_CLASS_CODE_DE_FROM: number;
FT_DL_CLASS_CODE_DE_TO: number;
FT_DL_CLASS_CODE_DE_NOTES: number;
FT_DL_CLASS_CODE_M_FROM: number;
FT_DL_CLASS_CODE_M_TO: number;
FT_DL_CLASS_CODE_M_NOTES: number;
FT_DL_CLASS_CODE_L_FROM: number;
FT_DL_CLASS_CODE_L_TO: number;
FT_DL_CLASS_CODE_L_NOTES: number;
FT_DL_CLASS_CODE_T_FROM: number;
FT_DL_CLASS_CODE_T_TO: number;
FT_DL_CLASS_CODE_T_NOTES: number;
FT_DL_CLASS_CODE_AM_FROM: number;
FT_DL_CLASS_CODE_AM_TO: number;
FT_DL_CLASS_CODE_AM_NOTES: number;
FT_DL_CLASS_CODE_A_2_FROM: number;
FT_DL_CLASS_CODE_A_2_TO: number;
FT_DL_CLASS_CODE_A_2_NOTES: number;
FT_DL_CLASS_CODE_B_1_FROM: number;
FT_DL_CLASS_CODE_B_1_TO: number;
FT_DL_CLASS_CODE_B_1_NOTES: number;
FT_SURNAME_AT_BIRTH: number;
FT_CIVIL_STATUS: number;
FT_NUMBER_OF_SEATS: number;
FT_NUMBER_OF_STANDING_PLACES: number;
FT_MAX_SPEED: number;
FT_FUEL_TYPE: number;
FT_EC_ENVIRONMENTAL_TYPE: number;
FT_POWER_WEIGHT_RATIO: number;
FT_MAX_MASS_OF_TRAILER_BRAKED: number;
FT_MAX_MASS_OF_TRAILER_UNBRAKED: number;
FT_TRANSMISSION_TYPE: number;
FT_TRAILER_HITCH: number;
FT_ACCOMPANIED_BY: number;
FT_POLICE_DISTRICT: number;
FT_FIRST_ISSUE_DATE: number;
FT_PAYLOAD_CAPACITY: number;
FT_NUMBER_OF_AXELS: number;
FT_PERMISSIBLE_AXLE_LOAD: number;
FT_PRECINCT: number;
FT_INVITED_BY: number;
FT_PURPOSE_OF_ENTRY: number;
FT_SKIN_COLOR: number;
FT_COMPLEXION: number;
FT_AIRPORT_FROM: number;
FT_AIRPORT_TO: number;
FT_AIRLINE_NAME: number;
FT_AIRLINE_NAME_FREQUENT_FLYER: number;
FT_LICENSE_NUMBER: number;
FT_IN_TANKS: number;
FT_EXEPT_IN_TANKS: number;
FT_FAST_TRACK: number;
FT_OWNER: number;
FT_MRZ_STRINGS_ICAO_RFID: number;
FT_NUMBER_OF_CARD_ISSUANCE: number;
FT_NUMBER_OF_CARD_ISSUANCE_CHECKSUM: number;
FT_NUMBER_OF_CARD_ISSUANCE_CHECK_DIGIT: number;
FT_CENTURY_DATE_OF_BIRTH: number;
FT_DL_CLASSCODE_A3_FROM: number;
FT_DL_CLASSCODE_A3_TO: number;
FT_DL_CLASSCODE_A3_NOTES: number;
FT_DL_CLASSCODE_C2_FROM: number;
FT_DL_CLASSCODE_C2_TO: number;
FT_DL_CLASSCODE_C2_NOTES: number;
FT_DL_CLASSCODE_B2_FROM: number;
FT_DL_CLASSCODE_B2_TO: number;
FT_DL_CLASSCODE_B2_NOTES: number;
FT_DL_CLASSCODE_D2_FROM: number;
FT_DL_CLASSCODE_D2_TO: number;
FT_DL_CLASSCODE_D2_NOTES: number;
FT_DL_CLASSCODE_B2E_FROM: number;
FT_DL_CLASSCODE_B2E_TO: number;
FT_DL_CLASSCODE_B2E_NOTES: number;
FT_DL_CLASSCODE_G_FROM: number;
FT_DL_CLASSCODE_G_TO: number;
FT_DL_CLASSCODE_G_NOTES: number;
FT_DL_CLASSCODE_J_FROM: number;
FT_DL_CLASSCODE_J_TO: number;
FT_DL_CLASSCODE_J_NOTES: number;
FT_DL_CLASSCODE_LC_FROM: number;
FT_DL_CLASSCODE_LC_TO: number;
FT_DLC_LASSCODE_LC_NOTES: number;
FT_BANKCARDNUMBER: number;
FT_BANKCARDVALIDTHRU: number;
FT_TAX_NUMBER: number;
FT_HEALTH_NUMBER: number;
FT_GRANDFATHERNAME: number;
FT_SELECTEE_INDICATOR: number;
FT_MOTHER_SURNAME: number;
FT_MOTHER_GIVENNAME: number;
FT_FATHER_SURNAME: number;
FT_FATHER_GIVENNAME: number;
FT_MOTHER_DATEOFBIRTH: number;
FT_FATHER_DATEOFBIRTH: number;
FT_MOTHER_PERSONALNUMBER: number;
FT_FATHER_PERSONALNUMBER: number;
FT_MOTHER_PLACEOFBIRTH: number;
FT_FATHER_PLACEOFBIRTH: number;
FT_MOTHER_COUNTRYOFBIRTH: number;
FT_FATHER_COUNTRYOFBIRTH: number;
FT_DATE_FIRST_RENEWAL: number;
FT_DATE_SECOND_RENEWAL: number;
FT_PLACE_OF_EXAMINATION: number;
FT_APPLICATION_NUMBER: number;
FT_VOUCHER_NUMBER: number;
FT_AUTHORIZATION_NUMBER: number;
FT_FACULTY: number;
FT_FORM_OF_EDUCATION: number;
FT_DNI_NUMBER: number;
FT_RETIREMENT_NUMBER: number;
FT_PROFESSIONAL_ID_NUMBER: number;
FT_AGE_AT_ISSUE: number;
FT_YEARS_SINCE_ISSUE: number;
FT_DLCLASSCODE_BTP_FROM: number;
FT_DLCLASSCODE_BTP_NOTES: number;
FT_DLCLASSCODE_BTP_TO: number;
FT_DLCLASSCODE_C3_FROM: number;
FT_DLCLASSCODE_C3_NOTES: number;
FT_DLCLASSCODE_C3_TO: number;
FT_DLCLASSCODE_E_FROM: number;
FT_DLCLASSCODE_E_NOTES: number;
FT_DLCLASSCODE_E_TO: number;
FT_DLCLASSCODE_F_FROM: number;
FT_DLCLASSCODE_F_NOTES: number;
FT_DLCLASSCODE_F_TO: number;
FT_DLCLASSCODE_FA_FROM: number;
FT_DLCLASSCODE_FA_NOTES: number;
FT_DLCLASSCODE_FA_TO: number;
FT_DLCLASSCODE_FA1_FROM: number;
FT_DLCLASSCODE_FA1_NOTES: number;
FT_DLCLASSCODE_FA1_TO: number;
FT_DLCLASSCODE_FB_FROM: number;
FT_DLCLASSCODE_FB_NOTES: number;
FT_DLCLASSCODE_FB_TO: number;
FT_DLCLASSCODE_G1_FROM: number;
FT_DLCLASSCODE_G1_NOTES: number;
FT_DLCLASSCODE_G1_TO: number;
FT_DLCLASSCODE_H_FROM: number;
FT_DLCLASSCODE_H_NOTES: number;
FT_DLCLASSCODE_H_TO: number;
FT_DLCLASSCODE_I_FROM: number;
FT_DLCLASSCODE_I_NOTES: number;
FT_DLCLASSCODE_I_TO: number;
FT_DLCLASSCODE_K_FROM: number;
FT_DLCLASSCODE_K_NOTES: number;
FT_DLCLASSCODE_K_TO: number;
FT_DLCLASSCODE_LK_FROM: number;
FT_DLCLASSCODE_LK_NOTES: number;
FT_DLCLASSCODE_LK_TO: number;
FT_DLCLASSCODE_N_FROM: number;
FT_DLCLASSCODE_N_NOTES: number;
FT_DLCLASSCODE_N_TO: number;
FT_DLCLASSCODE_S_FROM: number;
FT_DLCLASSCODE_S_NOTES: number;
FT_DLCLASSCODE_S_TO: number;
FT_DLCLASSCODE_TB_FROM: number;
FT_DLCLASSCODE_TB_NOTES: number;
FT_DLCLASSCODE_TB_TO: number;
FT_DLCLASSCODE_TM_FROM: number;
FT_DLCLASSCODE_TM_NOTES: number;
FT_DLCLASSCODE_TM_TO: number;
FT_DLCLASSCODE_TR_FROM: number;
FT_DLCLASSCODE_TR_NOTES: number;
FT_DLCLASSCODE_TR_TO: number;
FT_DLCLASSCODE_TV_FROM: number;
FT_DLCLASSCODE_TV_NOTES: number;
FT_DLCLASSCODE_TV_TO: number;
FT_DLCLASSCODE_V_FROM: number;
FT_DLCLASSCODE_V_NOTES: number;
FT_DLCLASSCODE_V_TO: number;
FT_DLCLASSCODE_W_FROM: number;
FT_DLCLASSCODE_W_NOTES: number;
FT_DLCLASSCODE_W_TO: number;
FT_URL: number;
FT_CALIBER: number;
FT_MODEL: number;
FT_MAKE: number;
FT_NUMBER_OF_CYLINDERS: number;
FT_SURNAME_OF_HUSBAND_AFTER_REGISTRATION: number;
FT_SURNAME_OF_WIFE_AFTER_REGISTRATION: number;
FT_DATE_OF_BIRTH_OF_WIFE: number;
FT_DATE_OF_BIRTH_OF_HUSBAND: number;
FT_CITIZENSHIP_OF_FIRST_PERSON: number;
FT_CITIZENSHIP_OF_SECOND_PERSON: number;
FT_CVV: number;
FT_DATE_OF_INSURANCE_EXPIRY: number;
FT_MORTGAGE_BY: number;
FT_OLD_DOCUMENT_NUMBER: number;
FT_OLD_DATE_OF_ISSUE: number;
FT_OLD_PLACE_OF_ISSUE: number;
FT_DLCLASSCODE_LR_FROM: number;
FT_DLCLASSCODE_LR_TO: number;
FT_DLCLASSCODE_LR_NOTES: number;
FT_DLCLASSCODE_MR_FROM: number;
FT_DLCLASSCODE_MR_TO: number;
FT_DLCLASSCODE_MR_NOTES: number;
FT_DLCLASSCODE_HR_FROM: number;
FT_DLCLASSCODE_HR_TO: number;
FT_DLCLASSCODE_HR_NOTES: number;
FT_DLCLASSCODE_HC_FROM: number;
FT_DLCLASSCODE_HC_TO: number;
FT_DLCLASSCODE_HC_NOTES: number;
FT_DLCLASSCODE_MC_FROM: number;
FT_DLCLASSCODE_MC_TO: number;
FT_DLCLASSCODE_MC_NOTES: number;
FT_DLCLASSCODE_RE_FROM: number;
FT_DLCLASSCODE_RE_TO: number;
FT_DLCLASSCODE_RE_NOTES: number;
FT_DLCLASSCODE_R_FROM: number;
FT_DLCLASSCODE_R_TO: number;
FT_DLCLASSCODE_R_NOTES: number;
FT_DLCLASSCODE_CA_FROM: number;
FT_DLCLASSCODE_CA_TO: number;
FT_DLCLASSCODE_CA_NOTES: number;
FT_CITIZENSHIP_STATUS: number;
FT_MILITARY_SERVICE_FROM: number;
FT_MILITARY_SERVICE_TO: number;
FT_DLCLASSCODE_NT_FROM: number;
FT_DLCLASSCODE_NT_TO: number;
FT_DLCLASSCODE_NT_NOTES: number;
FT_DLCLASSCODE_TN_FROM: number;
FT_DLCLASSCODE_TN_TO: number;
FT_DLCLASSCODE_TN_NOTES: number;
FT_DLCLASSCODE_D3_FROM: number;
FT_DLCLASSCODE_D3_TO: number;
FT_DLCLASSCODE_D3_NOTES: number;
FT_ALT_DATE_OF_EXPIRY: number;
FT_DLCLASSCODE_CD_FROM: number;
FT_DLCLASSCODE_CD_TO: number;
FT_DLCLASSCODE_CD_NOTES: number;
FT_PAYMENT_PERIOD_TO: number;
FT_PAYMENT_PERIOD_FROM: number;
FT_ISSUER_IDENTIFICATION_NUMBER: number;
FT_VACCINATION_CERTIFICATE_IDENTIFIER: number;
FT_FIRST_NAME: number;
FT_DATE_OF_ARRIVAL: number;
FT_SECOND_NAME: number;
FT_THIRD_NAME: number;
FT_FOURTH_NAME: number;
FT_LAST_NAME: number;
FT_DLCLASSCODE_RM_FROM: number;
FT_DLCLASSCODE_RM_NOTES: number;
FT_DLCLASSCODE_RM_TO: number;
FT_DLCLASSCODE_PW_FROM: number;
FT_DLCLASSCODE_PW_NOTES: number;
FT_DLCLASSCODE_PW_TO: number;
FT_DLCLASSCODE_EB_FROM: number;
FT_DLCLASSCODE_EB_NOTES: number;
FT_DLCLASSCODE_EB_TO: number;
FT_DLCLASSCODE_EC_FROM: number;
FT_DLCLASSCODE_EC_NOTES: number;
FT_DLCLASSCODE_EC_TO: number;
FT_DLCLASSCODE_EC1_FROM: number;
FT_DLCLASSCODE_EC1_NOTES: number;
FT_DLCLASSCODE_EC1_TO: number;
FT_PLACE_OF_BIRTH_CITY: number;
FT_YEAR_OF_BIRTH: number;
FT_YEAR_OF_EXPIRY: number;
FT_GRANDFATHER_NAME_MATERNAL: number;
FT_FIRST_SURNAME: number;
FT_MONTH_OF_BIRTH: number;
FT_ADDRESS_FLOOR_NUMBER: number;
FT_ADDRESS_ENTRANCE: number;
FT_ADDRESS_BLOCK_NUMBER: number;
FT_ADDRESS_STREET_NUMBER: number;
FT_ADDRESS_STREET_TYPE: number;
FT_ADDRESS_CITY_SECTOR: number;
FT_ADDRESS_COUNTY_TYPE: number;
FT_ADDRESS_CITY_TYPE: number;
FT_ADDRESS_BUILDING_TYPE: number;
}
Document types
const diDocType = {
dtNotDefined: 0,
dtPassport: 11,
dtIdentityCard: 12,
dtDiplomaticPassport: 13,
dtServicePassport: 14,
dtSeamanIdentityDocument: 15,
dtIdentityCardForResidence: 16,
dtTravelDocument: 17,
dtOther: 99,
dtVisaID2: 29,
dtVisaID3: 30,
dtRegistrationCertificate: 206,
dtNationalIdentityCard: 20,
dtSocialIdentityCard: 21,
dtAliensIdentityCard: 22,
dtPrivilegedIdentityCard: 23,
dtResidencePermitIdentityCard: 24,
dtOriginCard: 25,
dtEmergencyPassport: 26,
dtAliensPassport: 27,
dtAlternativeIdentityCard: 28,
dtAuthorizationCard: 32,
dtBeginnerPermit: 33,
dtBorderCrossingCard: 34,
dtChauffeurLicense: 35,
dtChauffeurLicenseUnder18: 36,
dtChauffeurLicenseUnder21: 37,
dtCommercialDrivingLicense: 38,
dtCommercialDrivingLicenseInstructionalPermit: 39,
dtCommercialDrivingLicenseUnder18: 40,
dtCommercialDrivingLicenseUnder21: 41,
dtCommercialInstructionPermit: 42,
dtCommercialNewPermit: 43,
dtConcealedCarryLicense: 44,
dtConcealedFirearmPermit: 45,
dtConditionalDrivingLicense: 46,
dtDepartmentOfVeteransAffairsIdentityCard: 47,
dtDiplomaticDrivingLicense: 48,
dtDrivingLicense: 49,
dtDrivingLicenseInstructionalPermit: 50,
dtDrivingLicenseInstructionalPermitUnder18: 51,
dtDrivingLicenseInstructionalPermitUnder21: 52,
dtDrivingLicenseLearnersPermit: 53,
dtDrivingLicenseLearnersPermitUnder18: 54,
dtDrivingLicenseLearnersPermitUnder21: 55,
dtDrivingLicenseNovice: 56,
dtDrivingLicenseNoviceUnder18: 57,
dtDrivingLicenseNoviceUnder21: 58,
dtDrivingLicenseRegisteredOffender: 59,
dtDrivingLicenseRestrictedUnder18: 60,
dtDrivingLicenseRestrictedUnder21: 61,
dtDrivingLicenseTemporaryVisitor: 62,
dtDrivingLicenseTemporaryVisitorUnder18: 63,
dtDrivingLicenseTemporaryVisitorUnder21: 64,
dtDrivingLicenseUnder18: 65,
dtDrivingLicenseUnder21: 66,
dtEmploymentDrivingPermit: 67,
dtEnhancedChauffeurLicense: 68,
dtEnhancedChauffeurLicenseUnder18: 69,
dtEnhancedChauffeurLicenseUnder21: 70,
dtEnhancedCommercialDrivingLicense: 71,
dtEnhancedDrivingLicense: 72,
dtEnhancedDrivingLicenseUnder18: 73,
dtEnhancedDrivingLicenseUnder21: 74,
dtEnhancedIdentityCard: 75,
dtEnhancedIdentityCardUnder18: 76,
dtEnhancedIdentityCardUnder21: 77,
dtEnhancedOperatorsLicense: 78,
dtFirearmsPermit: 79,
dtFullProvisionalLicense: 80,
dtFullProvisionalLicenseUnder18: 81,
dtFullProvisionalLicenseUnder21: 82,
dtGenevaConventionsIdentityCard: 83,
dtGraduatedDrivingLicenseUnder18: 84,
dtGraduatedDrivingLicenseUnder21: 85,
dtGraduatedInstructionPermitUnder18: 86,
dtGraduatedInstructionPermitUnder21: 87,
dtGraduatedLicenseUnder18: 88,
dtGraduatedLicenseUnder21: 89,
dtHandgunCarryPermit: 90,
dtIdentityAndPrivilegeCard: 91,
dtIdentityCardMobilityImpaired: 92,
dtIdentityCardRegisteredOffender: 93,
dtIdentityCardTemporaryVisitor: 94,
dtIdentityCardTemporaryVisitorUnder18: 95,
dtIdentityCardTemporaryVisitorUnder21: 96,
dtIdentityCardUnder18: 97,
dtIdentityCardUnder21: 98,
dtIgnitionInterlockPermit: 100,
dtImmigrantVisa: 101,
dtInstructionPermit: 102,
dtInstructionPermitUnder18: 103,
dtInstructionPermitUnder21: 104,
dtInterimDrivingLicense: 105,
dtInterimIdentityCard: 106,
dtIntermediateDrivingLicense: 107,
dtIntermediateDrivingLicenseUnder18: 108,
dtIntermediateDrivingLicenseUnder21: 109,
dtJuniorDrivingLicense: 110,
dtLearnerInstructionalPermit: 111,
dtLearnerLicense: 112,
dtLearnerLicenseUnder18: 113,
dtLearnerLicenseUnder21: 114,
dtLearnerPermit: 115,
dtLearnerPermitUnder18: 116,
dtLearnerPermitUnder21: 117,
dtLimitedLicense: 118,
dtLimitedPermit: 119,
dtLimitedTermDrivingLicense: 120,
dtLimitedTermIdentityCard: 121,
dtLiquorIdentityCard: 122,
dtNewPermit: 123,
dtNewPermitUnder18: 124,
dtNewPermitUnder21: 125,
dtNonUsCitizenDrivingLicense: 126,
dtOccupationalDrivingLicense: 127,
dtOneidaTribeOfIndiansIdentityCard: 128,
dtOperatorLicense: 129,
dtOperatorLicenseUnder18: 130,
dtOperatorLicenseUnder21: 131,
dtPermanentDrivingLicense: 132,
dtPermitToReEnter: 133,
dtProbationaryAutoLicense: 134,
dtProbationaryDrivingLicenseUnder18: 135,
dtProbationaryDrivingLicenseUnder21: 136,
dtProbationaryVehicleSalespersonLicense: 137,
dtProvisionalDrivingLicense: 138,
dtProvisionalDrivingLicenseUnder18: 139,
dtProvisionalDrivingLicenseUnder21: 140,
dtProvisionalLicense: 141,
dtProvisionalLicenseUnder18: 142,
dtProvisionalLicenseUnder21: 143,
dtPublicPassengerChauffeurLicense: 144,
dtRacingAndGamingComissionCard: 145,
dtRefugeeTravelDocument: 146,
dtRenewalPermit: 147,
dtRestrictedCommercialDrivingLicense: 148,
dtRestrictedDrivingLicense: 149,
dtRestrictedPermit: 150,
dtSeasonalPermit: 151,
dtSeasonalResidentIdentityCard: 152,
dtSeniorCitizenIdentityCard: 153,
dtSexOffender: 154,
dtSocialSecurityCard: 155,
dtTemporaryDrivingLicense: 156,
dtTemporaryDrivingLicenseUnder18: 157,
dtTemporaryDrivingLicenseUnder21: 158,
dtTemporaryIdentityCard: 159,
dtTemporaryInstructionPermitIdentityCard: 160,
dtTemporaryInstructionPermitIdentityCardUnder18: 161,
dtTemporaryInstructionPermitIdentityCardUnder21: 162,
dtTemporaryVisitorDrivingLicense: 163,
dtTemporaryVisitorDrivingLicenseUnder18: 164,
dtTemporaryVisitorDrivingLicenseUnder21: 165,
dtUniformedServicesIdentityCard: 166,
dtVehicleSalespersonLicense: 167,
dtWorkerIdentificationCredential: 168,
dtCommercialDrivingLicenseNovice: 169,
dtCommercialDrivingLicenseNoviceUnder18: 170,
dtCommercialDrivingLicenseNoviceUnder21: 171,
dtPassportCard: 172,
dtPermanentResidentCard: 173,
dtPersonalIdentificationVerification: 174,
dtTemporaryOperatorLicense: 175,
dtDrivingLicenseUnder19: 176,
dtIdentityCardUnder19: 177,
dtVisa: 178,
dtTemporaryPassport: 179,
dtVotingCard: 180,
dtHealthCard: 181,
dtCertificateOfCitizenship: 182,
dtAddressCard: 183,
dtAirportImmigrationCard: 184,
dtAlienRegistrationCard: 185,
dtAPEHCard: 186,
dtCouponToDrivingLicense: 187,
dtCrewMemberCertificate: 188,
dtDocumentForReturn: 189,
dtECard: 190,
dtEmploymentCard: 191,
dtHKSARImmigrationForm: 192,
dtImmigrantCard: 193,
dtLabourCard: 194,
dtLaissezPasser: 195,
dtLawyerIdentityCertificate: 196,
dtLicenseCard: 197,
dtPassportStateless: 198,
dtPassportChild: 199,
dtPassportConsular: 200,
dtPassportDiplomaticService: 201,
dtPassportOfficial: 202,
dtPassportProvisional: 203,
dtPassportSpecial: 204,
dtPermissionToTheLocalBorderTraffic: 205,
dtSEDESOLCard: 207,
dtSocialCard: 208,
dtTBCard: 209,
dtVehiclePassport: 210,
dtWDocument: 211,
dtDiplomaticIdentityCard: 212,
dtConsularIdentityCard: 213,
dtIncomeTaxCard: 214,
dtResidencePermit: 215,
dtDocumentOfIdentity: 216,
dtBorderCrossingPermit: 217,
dtPassportLimitedValidity: 218,
dtSIMCard: 219,
dtTaxCard: 220,
dtCompanyCard: 221,
dtDomesticPassport: 222,
dtIdentityCertificate: 223,
dtResidentIdCard: 224,
dtArmedForcesIdentityCard: 225,
dtProfessionalCard: 226,
dtRegistrationStamp: 227,
dtDriverCard: 228,
dtDriverTrainingCertificate: 229,
dtQualificationDrivingLicense: 230,
dtMembershipCard: 231,
dtPublicVehicleDriverAuthorityCard: 232,
dtMarineLicense: 233,
dtTemporaryLearnerDrivingLicense: 234,
dtTemporaryCommercialDrivingLicense: 235,
dtInterimInstructionalPermit: 236,
dtCertificateOfCompetency: 237,
dtCertificateOfProficiency: 238,
dtTradeLicense: 239,
dtPassportPage: 240,
dtInvoice: 241,
dtPassengerLocatorForm: 242,
}