Document Selection
ID Bolt allows you to specify which types of documents are acceptable for scanning. Documents are selected using the DocumentSelection class.
Creating a Document Selection
Use DocumentSelection.create() to define which types of documents the ID Bolt will accept:
const documentSelection = DocumentSelection.create({
accepted: [
new Passport(Region.Any),
new IDCard(Region.FRA),
new DriverLicense(Region.France)
],
rejected: [
// You can explicitly reject certain documents that would otherwise be included
new Passport(Region.Switzerland)
],
});
Documents not on the list may trigger the scanner, but will not be accepted.
Standard Document Types
Passport
Includes all passports.
new Passport(Region.USA) // US passports only
new Passport(Region.Any) // Any passport
ID Card
Includes national identity cards.
new IDCard(Region.Germany) // German identity cards only
new IDCard(Region.Any) // Identity cards from any country
Driver License
Includes driver licenses.
new DriverLicense(Region.France) // French driver licenses only
new DriverLicense(Region.Any) // Driver licenses from any country
Visa (ICAO)
Includes visas that comply with International Civil Aviation Organization (ICAO) standards.
new VisaIcao(Region.USA) // US ICAO-compliant visas
new VisaIcao(Region.Any) // Any ICAO-compliant visa
Residence Permit
Includes residence permits.
new ResidencePermit(Region.USA) // US residence permits
new ResidencePermit(Region.Any) // Residence permits from any country
Health Insurance Card
Includes health insurance cards.
new HealthInsuranceCard(Region.Germany) // German health insurance cards
new HealthInsuranceCard(Region.Any) // Health insurance cards from any country
Region Specific Documents
For specialized document types that are specific to certain regions, use the RegionSpecific class with a RegionSpecificSubtype argument:
new RegionSpecific(RegionSpecificSubtype.BelgiumMinorsId) // Belgian minors ID
new RegionSpecific(RegionSpecificSubtype.MexicoTaxId) // Mexican tax ID
Supported Region Specific Documents
The following region-specific document types are supported:
United States
UsBorderCrossingCardUsGlobalEntryCardUsNexusCardUsGreenCardUsCommonAccessCardUsUniformedServicesIdUsVeteranIdUsWorkPermitUsSocialSecurityCardUsTwicCardUsWeaponPermitUsMedicalMarijuanaCardUsMunicipalId
Asia
ChinaExitEntryPermitChinaMainlandTravelPermitTaiwanChinaMainlandTravelPermitHongKongMacauChinaOneWayPermitPakistanAfghanCitizenCardPakistanProofOfRegistrationPakistanConsularIdSingaporeFinCardSingaporeWorkPermitSingaporeEmploymentPassSingaporeSPassIndiaPanCardMalaysiaIkadMalaysiaMykadMalaysiaMyprMalaysiaMykasMalaysiaMykidMalaysiaMytenteraMalaysiaRefugeeIdMalaysiaMypolisPhilippinesMultipurposeIdPhilippinesWorkPermitPhilippinesSocialSecurityCardPhilippinesNbiClearancePhilippinesPostalIdPhilippinesTaxId
Europe
GermanyEidBelgiumMinorsIdHungaryAddressCardUkAsylumRequestSwedenSocialSecurityCardSwedenSisIdIrelandPublicServicesCard
Americas
MexicoConsularVoterIdMexicoProfessionalIdMexicoConsularIdMexicoTaxIdCanadaTribalIdCanadaSocialSecurityCardCanadaCitizenshipCertificateCanadaMinorsPublicServicesCardCanadaWeaponPermitCanadaPublicServicesCardColombiaMinorsIdColombiaTemporaryProtectionPermitPeruMinorsIdBoliviaMinorsIdGuatemalaConsularId
Other
ApecBusinessTravelCardAustraliaAsicCardUaeVehicleRegistrationCard
Working with Regions
Regions are used to define the geographic scope of a document. They can be specified using the Region enum, which contains both ISO codes and region names.
// These are equivalent
Region.FRA;
Region.France;
"FRA";
// For any region
Region.Any;
Two-letter ISO Codes
If you have a two-letter ISO code, you can convert it to a region:
const region = Region.fromShortCode("FR"); // == Region.France == "FRA"
const shortCode = Region.toShortCode(Region.FRA); // == "FR"
If the provided short code is invalid, the methods will throw an exception.