scandit-web-datacapture-id
Version:
Scandit Data Capture SDK for the Web
349 lines (348 loc) • 12.4 kB
TypeScript
import type { QuadrilateralJSON } from "scandit-web-datacapture-core";
import type { ComparisonCheckResult, VizMrzComparisonCheckResult } from "./Enums";
export interface DateResultJSON {
day: number | null;
month: number | null;
year: number;
}
export interface ProfessionalDrivingPermitJSON {
dateOfExpiry: DateResultJSON;
codes: string[];
}
export interface VehicleRestrictionJSON {
vehicleCode: string;
vehicleRestriction: string;
dateOfIssue: DateResultJSON;
}
export interface DrivingLicenseCategoryJSON {
code: string;
dateOfIssue: DateResultJSON | null;
dateOfExpiry: DateResultJSON | null;
}
export interface DrivingLicenseDetailsJSON {
drivingLicenseCategories: DrivingLicenseCategoryJSON[];
restrictions: string | null;
endorsements: string | null;
}
export interface ImageInfoJSON {
face: string | null;
idFront: string | null;
idBack: string | null;
}
interface CommonFieldsJSON {
firstName: string | null;
lastName: string | null;
secondaryLastName: string | null;
fullName: string;
sex: string | null;
nationality: string | null;
address: string | null;
issuingCountry: string | null;
issuingCountryIso: string | null;
documentNumber: string | null;
documentAdditionalNumber: string | null;
dateOfBirth: DateResultJSON | null;
dateOfExpiry: DateResultJSON | null;
dateOfIssue: DateResultJSON | null;
documentType: string;
}
export interface CapturedIdJSON {
firstName: string | null;
lastName: string | null;
secondaryLastName: string | null;
fullName: string;
sex: string | null;
nationality: string | null;
address: string | null;
issuingCountry: string | null;
issuingCountryIso: string | null;
documentNumber: string | null;
documentAdditionalNumber: string | null;
dateOfBirth: DateResultJSON | null;
age: number | null;
dateOfExpiry: DateResultJSON | null;
isExpired: boolean | null;
dateOfIssue: DateResultJSON | null;
documentType: string;
capturedResultTypes: string[];
imageInfo: ImageInfoJSON | null;
idVerificationDataComparisonAvailable: boolean;
aamvaBarcodeResult: AAMVABarcodeResultJSON | null;
apecBusinessTravelCardMrzResult: ApecBusinessTravelCardMrzResultJSON | null;
argentinaIdBarcodeResult: ArgentinaIdBarcodeResultJSON | null;
chinaMainlandTravelPermitMrzResult: ChinaMainlandTravelPermitMrzResultJSON | null;
chinaExitEntryPermitMrzResult: ChinaExitEntryPermitMrzResultJSON | null;
chinaOneWayPermitFrontMrzResult: ChinaOneWayPermitFrontMrzResultJSON | null;
chinaOneWayPermitBackMrzResult: ChinaOneWayPermitBackMrzResultJSON | null;
colombiaIdBarcodeResult: ColombiaIdBarcodeResultJSON | null;
colombiaDlBarcodeResult: ColombiaDlBarcodeResultJSON | null;
mrzResult: MRZResultJSON | null;
southAfricaDlBarcodeResult: SouthAfricaDlBarcodeResultJSON | null;
southAfricaIdBarcodeResult: SouthAfricaIdBarcodeResultJSON | null;
usUniformedServicesBarcodeResult: USUniformedServicesBarcodeResultJSON | null;
commonAccessCardBarcodeResult: CommonAccessCardBarcodeResultJSON | null;
usVisaVizResult: USVisaVIZResultJSON | null;
vizResult: VIZResultJSON | null;
}
export type CapturedIdCommonFieldsJSON = Pick<CapturedIdJSON, "address" | "age" | "dateOfBirth" | "dateOfExpiry" | "dateOfIssue" | "documentAdditionalNumber" | "documentNumber" | "documentType" | "firstName" | "fullName" | "isExpired" | "issuingCountry" | "issuingCountryIso" | "lastName" | "nationality" | "secondaryLastName" | "sex">;
export type VIZResultExtendedJSON = Omit<CapturedIdCommonFieldsJSON & VIZResultJSON, "age" | "isExpired">;
interface FieldLocations {
frontFieldLocations: Partial<Record<string, QuadrilateralJSON>>;
}
export type VIZResultExtendedWithFieldLocationsJSON = FieldLocations & VIZResultExtendedJSON;
export type CapturedIdWithExtendedVIZJSON = Omit<CapturedIdJSON, keyof CapturedIdCommonFieldsJSON | "idVerificationDataComparisonAvailable"> & {
vizResult: VIZResultExtendedJSON;
};
export type CapturedIdWithExtendedVIZAndLocationsJSON = Omit<CapturedIdJSON, keyof CapturedIdCommonFieldsJSON> & {
vizResult: VIZResultExtendedWithFieldLocationsJSON;
};
export interface AAMVABarcodeResultJSON extends CommonFieldsJSON {
aamvaVersion: number;
isRealId: boolean;
aliasFamilyName: string | null;
aliasGivenName: string | null;
aliasSuffixName: string | null;
barcodeMetadata: BarcodeMetadataJSON | null;
cardRevisionDate: DateResultJSON | null;
documentDiscriminatorNumber: string | null;
driverNamePrefix: string | null;
driverNameSuffix: string | null;
endorsementsCode: string | null;
eyeColor: string | null;
firstNameTruncation: string | null;
hairColor: string | null;
heightCm: number | null;
heightInch: number | null;
iin: string;
issuingJurisdiction: string;
issuingJurisdictionIso: string;
jurisdictionVersion: number;
lastNameTruncation: string | null;
firstNameWithoutMiddleName: string | null;
middleName: string | null;
middleNameTruncation: string | null;
placeOfBirth: string | null;
race: string | null;
restrictionsCode: string | null;
vehicleClass: string | null;
weightKg: number | null;
weightLbs: number | null;
rawData: string;
dictionary: Record<string, string>;
}
export interface ApecBusinessTravelCardMrzResultJSON {
documentCode: string;
capturedMrz: string;
passportIssuerIso: string;
passportNumber: string;
passportDateOfExpiry: DateResultJSON | null;
}
export interface ArgentinaIdBarcodeResultJSON {
documentCopy: string;
personalIdNumber: string;
}
export interface ChinaMainlandTravelPermitMrzResultJSON {
documentCode: string;
capturedMrz: string;
personalIdNumber: string;
renewalTimes: number;
fullNameSimplifiedChinese: string;
omittedCharacterCountInGBKName: number;
omittedNameCount: number;
issuingAuthorityCode?: string | null;
}
export interface ChinaExitEntryPermitMrzResultJSON {
documentCode: string;
capturedMrz: string;
}
export interface ChinaOneWayPermitFrontMrzResultJSON {
documentCode: string;
fullNameSimplifiedChinese: string;
capturedMrz: string;
}
export interface ChinaOneWayPermitBackMrzResultJSON {
documentCode: string;
namesAreTruncated: boolean;
capturedMrz: string;
}
export interface ColombiaIdBarcodeResultJSON {
bloodType: string;
}
export interface ColombiaDlBarcodeResultJSON {
categories: string[];
identificationType: string;
}
export interface MRZResultJSON extends CommonFieldsJSON {
documentCode: string;
namesAreTruncated: boolean;
optional: string | null;
optional1: string | null;
capturedMrz: string;
}
export interface SouthAfricaDlBarcodeResultJSON {
version: number;
licenseCountryOfIssue: string;
personalIdNumber: string;
personalIdNumberType: string;
documentCopy: number;
driverRestrictionCodes: number[];
professionalDrivingPermit: ProfessionalDrivingPermitJSON | null;
vehicleRestrictions: VehicleRestrictionJSON[];
}
export interface SouthAfricaIdBarcodeResultJSON {
countryOfBirth: string;
countryOfBirthIso: string;
citizenshipStatus: string;
personalIdNumber: string;
}
export interface USUniformedServicesBarcodeResultJSON {
bloodType: string | null;
branchOfService: string;
champusEffectiveDate: DateResultJSON | null;
champusExpiryDate: DateResultJSON | null;
civilianHealthCareFlagCode: string;
civilianHealthCareFlagDescription: string;
commissaryFlagCode: string;
commissaryFlagDescription: string;
deersDependentSuffixCode: number;
deersDependentSuffixDescription: string;
directCareFlagCode: string;
directCareFlagDescription: string;
exchangeFlagCode: string;
exchangeFlagDescription: string;
eyeColor: string;
familySequenceNumber: number;
formNumber: string;
genevaConventionCategory: string | null;
hairColor: string;
height: number;
jpegData: string;
mwrFlagCode: string;
mwrFlagDescription: string;
payGrade: string | null;
personDesignatorDocument: number;
rank: string;
relationshipCode: string | null;
relationshipDescription: string | null;
securityCode: string;
serviceCode: string;
sponsorFlag: string;
sponsorPersonDesignatorIdentifier: number | null;
sponsorName: string | null;
statusCode: string;
statusCodeDescription: string;
version: number;
weight: number;
}
export interface CommonAccessCardBarcodeResultJSON {
version: string;
personDesignatorDocument: number;
personDesignatorTypeCode: string;
ediPersonIdentifier: string;
personnelCategoryCode: string;
branchOfService: string;
personnelEntitlementConditionType: string;
rank: string;
payPlanCode: string;
payPlanGradeCode: string;
cardInstanceIdentifier: string;
personMiddleInitial: string;
}
export interface USVisaVIZResultJSON {
visaNumber: string;
passportNumber: string;
}
export interface VIZResultJSON extends CommonFieldsJSON {
additionalAddressInformation: string | null;
additionalNameInformation: string | null;
documentAdditionalNumber: string | null;
employer: string | null;
issuingAuthority: string | null;
issuingJurisdiction: string | null;
issuingJurisdictionIso: string | null;
maritalStatus: string | null;
personalIdNumber: string | null;
placeOfBirth: string | null;
profession: string | null;
race: string | null;
religion: string | null;
residentialStatus: string | null;
mothersName: string | null;
fathersName: string | null;
capturedSides: string;
isBackSideCaptureSupported: boolean;
drivingLicenseDetails: DrivingLicenseDetailsJSON | null;
bloodType: string | null;
sponsor: string | null;
}
export interface IdCaptureErrorJSON {
type: string;
message: string;
}
export interface IdCaptureSessionJSON {
newlyCapturedId: CapturedIdJSON | null;
localizedOnlyId: LocalizedOnlyIdJSON | null;
newlyRejectedId: RejectedIdJSON | null;
frameSequenceId: number;
error: IdCaptureErrorJSON | null;
}
export interface LocalizedOnlyIdJSON {
location: QuadrilateralJSON;
}
export interface RejectedIdJSON {
location: QuadrilateralJSON;
rejectionReason: string;
}
export interface ComparisonCheckJSON {
checkResult: ComparisonCheckResult;
resultDescription: string;
}
export interface StringComparisonCheckJSON extends ComparisonCheckJSON {
vizValue: string | null;
aamvaBarcodeValue: string | null;
}
export interface DateComparisonCheckJSON extends ComparisonCheckJSON {
vizValue: DateResultJSON | null;
aamvaBarcodeValue: DateResultJSON | null;
}
export interface AamvaVizBarcodeComparisonResultJSON {
checksPassed: boolean;
resultDescription: string;
issuingCountryIsoMatch: StringComparisonCheckJSON;
issuingJurisdictionIsoMatch: StringComparisonCheckJSON;
documentNumbersMatch: StringComparisonCheckJSON;
fullNamesMatch: StringComparisonCheckJSON;
datesOfBirthMatch: DateComparisonCheckJSON;
datesOfExpiryMatch: DateComparisonCheckJSON;
datesOfIssueMatch: DateComparisonCheckJSON;
}
export interface AamvaBarcodeVerificationResultJSON {
allChecksPassed: boolean;
}
export interface VizMrzComparisonCheckJSON {
checkResult: VizMrzComparisonCheckResult;
resultDescription: string;
}
export interface VizMrzStringComparisonCheckJSON extends VizMrzComparisonCheckJSON {
vizValue: string | null;
mrzValue: string | null;
}
export interface VizMrzDateComparisonCheckJSON extends VizMrzComparisonCheckJSON {
vizValue: DateResultJSON | null;
mrzValue: DateResultJSON | null;
}
export interface VizMrzComparisonResultJSON {
checksPassed: boolean;
resultDescription: string;
issuingCountryIsoMatch: VizMrzStringComparisonCheckJSON;
documentNumbersMatch: VizMrzStringComparisonCheckJSON;
fullNamesMatch: VizMrzStringComparisonCheckJSON;
datesOfBirth: VizMrzDateComparisonCheckJSON;
datesOfExpiry: VizMrzDateComparisonCheckJSON;
}
export interface BarcodeMetadataJSON {
errorCorrection: number;
moduleCountX: number;
moduleCountY: number;
}
export {};