SouthAfricaPassportModel

A class derived from PassportModel containing details specific to the South Africa passport document

Declaration

@objc final public class SouthAfricaPassportModel : PassportModel {
    @objc final public var mrzLine1: String? { get }
    @objc final public var mrzLine2: String? { get }
    @objc final public var passportNumberCheckDigit: Int { get }
    @objc final public var dateOfBirthCheckDigit: Int { get }
    @objc final public var dateOfExpiryCheckDigit: Int { get }
    @objc final public var identityNumber: String? { get }
    @objc final public var identityNumberDateOfBirth: Date? { get }
    @objc final public var identityNumberSex: Sex { get }
    @objc final public var identityNumberCitizenship: CitizenshipType { get }
    @objc final public var identityNumberADigit: Int { get }
    @objc final public var identityNumberCheckDigit: Int { get }
    @objc final public var identityNumberPassportCheckDigit: Int { get }
    @objc final public var compositeCheckDigit: Int { 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

Name

Type

Description

Data source

String?

The top MRZ line of the passport document.

MRZ

String?

The bottom MRZ line of the passport document.

MRZ

Int

The check digit for passportNumber.

MRZ

Int

The check digit for dateOfBirth.

MRZ

Int

The check digit for dateOfExpiry.

MRZ

String?

The identity number of the subject as found on the passport document.

MRZ

Date?

The date of birth for the South African identity number.

MRZ

The sex for the South African identity number.

MRZ

The citizenship type for the South African identity number.

MRZ

Int

The A digit for the South African identity number.

MRZ

Int

The check digit for the South African identity number.

MRZ

Int

The check digit for identityNumber.

MRZ

Int

The check digit for the entire MRZ.

MRZ

Public methods

Signature

Return Type

Description

Void

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

Validation

The following validation and verification applies to this document:

Check digit validation

Value

Validation type

Date of birth

Date of expiry

MRZ line 2 composite

Passport number

Identity number

Check digit using Luhn algorithm.

Passport identity number (Optional data)

Public variables

mrzLine1

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

Example: "P<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<<<<<<<<<"

The top MRZ line of the passport document.

mrzLine2

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

Example: "L898902C36UTO7408122F1204159ZE184226B<<<<<10"

The bottom MRZ line of the passport document.

passportNumberCheckDigit

@objc final public var passportNumberCheckDigit: Int { get }

Example: 6

The check digit for passportNumber.

dateOfBirthCheckDigit

@objc final public var dateOfBirthCheckDigit: Int { get }

Example: 2

The check digit for dateOfBirth.

dateOfExpiryCheckDigit

@objc final public var dateOfExpiryCheckDigit: Int { get }

Example: 9

The check digit for dateOfExpiry.

identityNumber

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

Example: "8801235111088"

The identity number of the subject as found on the passport document.

identityNumberDateOfBirth

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

Example: 1988/01/23

The date of birth for the South African identity number.

identityNumberSex

@objc final public var identityNumberSex: Sex { get }

Example: Sex.Male

The sex for the South African identity number.

identityNumberCitizenship

@objc final public var identityNumberCitizenship: CitizenshipType { get }

Example: CitizenshipType.Citizen

The citizenship type for the South African identity number.

identityNumberADigit

@objc final public var identityNumberADigit: Int { get }

Example: 8

The A digit for the South African identity number.

identityNumberCheckDigit

@objc final public var identityNumberCheckDigit: Int { get }

Example: 8

The check digit for the South African identity number.

identityNumberPassportCheckDigit

@objc final public var identityNumberPassportCheckDigit: Int { get }

Example: 0

The check digit for identityNumber.

compositeCheckDigit

@objc final public var compositeCheckDigit: Int { get }

Example: 0

The check digit for the entire MRZ.

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

Last updated