SouthAfricaPassportModel
A class derived from PassportModel containing details specific to the South Africa passport document
Declaration
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 | Check digit using MRP Checksum calculation algorithm. |
Date of expiry | Check digit using MRP Checksum calculation algorithm. |
MRZ line 2 composite | Check digit using MRP Checksum calculation algorithm. |
Passport number | Check digit using MRP Checksum calculation algorithm. |
Identity number | Check digit using Luhn algorithm. |
Passport identity number (Optional data) | Check digit using MRP Checksum calculation algorithm. |
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