SouthAfricaIDCardModel
A class derived from IDCardModel containing details specific to the South Africa ID card 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 names and surname of the subject as found on the ID card document. | Barcode | |
String? | The surname of the subject as found on the ID card document. | Barcode | |
String? | The names of the subject as found on the ID card document. | Barcode | |
Date? | The date of birth for the South African identity number. | Barcode | |
The sex for the South African identity number. | Barcode | ||
The citizenship type for the South African identity number. | Barcode | ||
Int | The A digit for the South African identity number. | Barcode | |
Int | The check digit for the South African identity number. | Barcode | |
String? | The country of birth of the subject as found on the ID card document. | Barcode | |
The citizenship of the subject as found on the ID card document. | Barcode | ||
Date? | The date issued of the ID card document. | Barcode | |
String? | The RSA code of the ID card document. | Barcode | |
String? | The card number of the ID card document. | Barcode |
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 |
Identity number | Check digit using Luhn algorithm. |
Component verification
As explained in Validation & Verification the following fields are verified across the front and back components of the document.
Value | Source |
Identity number | Front: OCR Back: Barcode |
Public variables
fullName
@objc override final public var fullName: String? { get }
Overridden from IDCardModel
Example: "JOHN DOE"
The names and surname of the subject as found on the ID card document.
surname
@objc final public var surname: String? { get }
Example: "DOE"
The surname of the subject as found on the ID card document.
names
@objc final public var names: String? { get }
Example: "JOHN"
The names of the subject as found on the ID card 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.
countryOfBirth
@objc final public var countryOfBirth: String? { get }
Example: "RSA"
The country of birth of the subject as found on the ID card document.
citizenship
@objc final public var citizenship:
CitizenshipType
{ get }
Example: CitizenshipType.Citizen
The citizenship of the subject as found on the ID card document.
dateIssued
@objc final public var dateIssued: Date? { get }
Example: 2005/01/01
The date issued of the ID card document.
rsaCode
@objc final public var rsaCode: String? { get }
Example: "01234"
The RSA code of the ID card document.
cardNumber
@objc final public var cardNumber: String? { get }
Example: "0123456789"
The card number of 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
Last updated