UgandaIDCardModel

A class derived from IDCardModel containing details specific to the Uganda ID card document

Declaration

@objc final public class UgandaIDCardModel : IDCardModel {
    @objc final public var mrzLine1: String? { get }
    @objc final public var mrzLine2: String? { get }
    @objc final public var mrzLine3: String? { get }
    @objc final public var issuingCountryCode: String? { get }
    @objc final public var cardNumber: String? { get }
    @objc final public var cardNumberCheckDigit: Int { get }
    @objc final public var optionalData1: String? { get }
    @objc final public var optionalData2: String? { get }
    @objc final public var dateOfBirthCheckDigit: Int { get }
    @objc final public var dateOfExpiry: Date? { get }
    @objc final public var dateOfExpiryCheckDigit: Int { get }
    @objc final public var dateIssued: Date? { get }
    @objc final public var compositeCheckDigit: Int { get }
    @objc final public var surname: String? { get }
    @objc final public var names: String? { get }
    
    override final public func encode(to encoder: Encoder) throws
}

Only relevant details are shown, boilerplate or standard Swift generated code is omitted

Summary

Public variables

Public methods

Validation

The following validation and verification applies to this document:

Check digit validation

Component verification

As explained in Validation & Verification the following fields are verified across the front and back components of the document.

Public variables

mrzLine1

@objc final public var mrzLine1: String? { get }

Example: "I<UTOD231458907<<<<<<<<<<<<<<<"

The top MRZ line of the ID card document.

mrzLine2

@objc final public var mrzLine2: String? { get }

Example: "7408122F1204159UTO<<<<<<<<<<<6"

The middle MRZ line of the ID card document.

mrzLine3

@objc final public var mrzLine3: String? { get }

Example: "ERIKSSON<<ANNA<MARIA<<<<<<<<<<"

The bottom MRZ line of the ID card document.

issuingCountryCode

@objc final public var issuingCountryCode: String? { get }

Example: "UTO"

The issuing country code of the ID card document.

cardNumber

@objc final public var cardNumber: String? { get }

Example: "123456789"

The card number of the ID card document.

cardNumberCheckDigit

@objc final public var cardNumberCheckDigit: Int { get }

Example: 7

The check digit for cardNumber.

optionalData1

@objc final public var optionalData1: String? { get }

Example: "A1B2C3D4"

Uncategorized data found on the ID card document.

optionalData2

@objc final public var optionalData2: String? { get }

Example: "A1B2C3D4"

Uncategorized data found on the ID card document.

dateOfBirthCheckDigit

@objc final public var dateOfBirthCheckDigit: Int { get }

Example: 2

The check digit for dateOfBirth.

dateOfExpiry

@objc final public var dateOfExpiry: Date? { get }

Example: 2025/01/01

The date of expiry of the ID card document.

dateOfExpiryCheckDigit

@objc final public var dateOfExpiryCheckDigit: Int { get }

Example: 9

The check digit for dateOfExpiry.

dateIssued

@objc final public var dateIssued: Date? { get }

Example: 2015/01/01

The date issued of the ID card document.

compositeCheckDigit

@objc final public var compositeCheckDigit: Int { get }

Example: 6

The check digit for the entire MRZ.

surname

@objc final public var surname: String? { get }

Example: "ERIKSSON"

The surname of the subject as found on the ID card document.

names

@objc final public var names: String? { get }

Example: "ANNA MARIA"

The names of the subject as found on the ID card document.

Public methods

encode(to encoder: Encoder)

override final public func encode(to encoder: Encoder) throws

This function also calls its super function

Encodes the model using the encoder provided. Used to convert the model to JSON.

See also