/* Options: Date: 2026-06-20 21:22:02 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.simplified.id/v2 //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: AddDbsSearch.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/dbs", "POST") // @DataContract public class AddDbsSearch : BaseRequest, IReturn { public typealias Return = AddDbsSearchResponse // @DataMember public var request:AddDbsSearchRequest? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case request } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) request = try container.decodeIfPresent(AddDbsSearchRequest.self, forKey: .request) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if request != nil { try container.encode(request, forKey: .request) } } } // @DataContract public class AddDbsSearchResponse : Codable { // @DataMember public var data:AddDbsSearchData? required public init(){} } // @DataContract public class Authentication : Codable { /** * The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User) */ // @DataMember // @ApiMember(Description="The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)", IsRequired=true, ParameterType="header, body") public var apiUserId:String? /** * The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key) */ // @DataMember // @ApiMember(Description="The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)", IsRequired=true, ParameterType="header, body") public var apiUserKey:String? /** * The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id). */ // @DataMember // @ApiMember(Description="The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).", ParameterType="header, body") public var userId:String? required public init(){} } // @DataContract public class BaseRequest : IBaseRequest, Codable { /** * The authentication credentials */ // @DataMember // @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body") public var authentication:Authentication? required public init(){} } public protocol IBaseRequest { var authentication:Authentication? { get set } } public class AddDbsSearchRequest : Codable { /** * The full name of the applicant */ // @ApiMember(Description="The full name of the applicant", IsRequired=true) public var name:String? /** * The date of birth for the applicant (DD/MM/YYYY format) */ // @ApiMember(Description="The date of birth for the applicant (DD/MM/YYYY format)", IsRequired=true) public var dateOfBirth:String? /** * The email address of the applicant */ // @ApiMember(Description="The email address of the applicant", IsRequired=true) public var email:String? /** * The applicant's mobile phone number in international format (e.g. '+447123456789') */ // @ApiMember(Description="The applicant's mobile phone number in international format (e.g. '+447123456789')", IsRequired=true) public var mobileInternational:String? /** * The country where the job is located */ // @ApiMember(Description="The country where the job is located", IsRequired=true) public var jobLocation:String? /** * The disclosure level of the DBS required */ // @ApiMember(Description="The disclosure level of the DBS required", IsRequired=true) public var disclosureLevel:String? /** * Your reference, if any */ // @ApiMember(Description="Your reference, if any") public var reference:String? /** * If this is specified, the search will be created for the specified sub user, otherwise it will be created in the main user account */ // @ApiMember(Description="If this is specified, the search will be created for the specified sub user, otherwise it will be created in the main user account") public var subUserName:String? /** * If the search should be linked to other searches, specify the them here */ // @ApiMember(Description="If the search should be linked to other searches, specify the them here") public var linkedTo:ArrayOfLinkedTo? required public init(){} } public class AddDbsSearchData : BaseResponse, IBaseSearchResponse { public var linkedTo:ArrayOfLinkedTo? public var summary:DbsSearchSummary? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case linkedTo case summary } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) linkedTo = try container.decodeIfPresent(ArrayOfLinkedTo.self, forKey: .linkedTo) summary = try container.decodeIfPresent(DbsSearchSummary.self, forKey: .summary) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if linkedTo != nil { try container.encode(linkedTo, forKey: .linkedTo) } if summary != nil { try container.encode(summary, forKey: .summary) } } } public class ArrayOfLinkedTo : List { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class BaseResponse : IBaseDataResponse, IHasResponseStatus, Codable { /** * The status of the response */ // @ApiMember(Description="The status of the response") public var responseStatus:ResponseStatus? required public init(){} } public protocol IBaseDataResponse { var responseStatus:ResponseStatus? { get set } } public protocol IHasResponseStatus { var responseStatus:ResponseStatus? { get set } } public protocol IBaseSearchResponse : IBaseDataResponse { var linkedTo:ArrayOfLinkedTo? { get set } } public class DbsSearchSummary : Codable { public var id:Int? public var dateSearched:Date? public var dateUpdated:Date? public var status:String? public var disclosureStatus:String? public var isApplicantInfoCompleted:Bool? public var isIdCheckCompleted:Bool? public var isApplicationCompleted:Bool? public var isApplicationSubmitted:Bool? public var isApplicationDisclosed:Bool? public var disclosureLevel:String? public var applicantInformation:ApplicantInformation? required public init(){} } public class LinkedTo : Codable { public var clientId:Int? public var id:Int? public var type:String? public var subtype:String? public var status:String? public var Description:String? public var isArchived:Bool? public var name:String? public var date:Date? required public init(){} } public class ArrayOfResponseError : List { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class ApplicantInformation : Codable { public var name:String? public var dateOfBirth:String? public var email:String? public var mobileInternational:String? public var jobLocation:String? public var reference:String? public var applicantPin:String? required public init(){} }