Identity iOS
1.12
Search
K
Comment on page

SouthAfricaIDCardModel

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

Declaration

@objc final public class SouthAfricaIDCardModel : IDCardModel {
@objc override final public var fullName: String? { get }
@objc final public var surname: String? { get }
@objc final public var names: 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 countryOfBirth: String? { get }
@objc final public var citizenship: CitizenshipType { get }
@objc final public var dateIssued: Date? { get }
@objc final public var rsaCode: String? { get }
@objc final public var cardNumber: 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

Name
Type
Description
Data source
fullName
String?
The names and surname of the subject as found on the ID card document.
Barcode
surname
String?
The surname of the subject as found on the ID card document.
Barcode
names
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
Sex
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
rsaCode
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