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

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

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