/* Options: Date: 2026-06-20 22:18:21 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: GetCompanyLookup.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/companylookups/get", "POST") // @DataContract public class GetCompanyLookup : BaseRequest, IReturn { public typealias Return = GetCompanyLookupResponse // @DataMember public var request:GetCompanyLookupRequest? 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(GetCompanyLookupRequest.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 GetCompanyLookupResponse : Codable { // @DataMember public var data:GetCompanyLookupData? 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 GetCompanyLookupRequest : Codable { /** * If the search is being accessed by a sub user, specify their username here to validate they have permissions to view it */ // @ApiMember(Description="If the search is being accessed by a sub user, specify their username here to validate they have permissions to view it") public var subUserName:String? public var id:Int? required public init(){} } public class GetCompanyLookupData : BaseResponse, IBaseSearchResponse { public var linkedTo:ArrayOfLinkedTo? public var searchRecord:CompanyLookupSearchRecord? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case linkedTo case searchRecord } 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) searchRecord = try container.decodeIfPresent(CompanyLookupSearchRecord.self, forKey: .searchRecord) } 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 searchRecord != nil { try container.encode(searchRecord, forKey: .searchRecord) } } } public class ArrayOfLists : 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 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 CompanyLookupSearchRecord : Codable { public var id:Int? public var searchCriteria:SearchCriteria? public var selectedLists:ArrayOfLists? public var date:Date? public var hasCompanyId:Bool? public var hasCompanyDetails:Bool? public var hasStartedSearches:Bool? public var hasCompletedSearches:Bool? public var companyLookupType:String? public var isArchived:Bool? public var companyChanges:ArrayOfCompanyChanges? public var companyDirectorsAndShareholders:[CompanyDirectorOrShareholder]? public var companySearchRecord:SearchListItem? public var hasEnhancedInformation:Bool? public var enhancedInformation:CompanyLookupEnhanced? 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 SearchCriteria : Codable { public var name:String? public var address:String? public var country:String? public var dateOfBirth:String? public var nationality:String? public var reference:String? required public init(){} } public class ArrayOfCompanyChanges : 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 CompanyDirectorOrShareholder : Codable { public var id:Int? public var searchType:String? public var dateSearched:Date? public var dateUpdated:Date? public var numOfResults:Int? public var clientInResults:Bool? public var clientNotInResults:Bool? public var affectedByUpdate:Bool? public var searchCriteria:SearchCriteria? public var isDirector:Bool? public var isShareholder:Bool? required public init(){} } public class SearchListItem : Codable { public var id:Int? public var searchType:String? public var dateSearched:Date? public var dateUpdated:Date? public var dateArchived:Date? public var isArchived:Bool? public var numOfResults:Int? public var clientInResults:Bool? public var clientNotInResults:Bool? public var affectedByUpdate:Bool? public var searchCriteria:SearchCriteria? public var searchSources:[SearchSource]? required public init(){} } public class CompanyLookupEnhanced : Codable { public var summary:CompanyLookupEnhancedSummary? public var contactInformation:CompanyLookupEnhancedContactInfo? public var sicCodes:[CompanyLookupEnhancedSicCode]? public var previousNames:[CompanyLookupEnhancedPreviousName]? public var shareStructure:CompanyLookupEnhancedShareStructure? public var directors:CompanyLookupEnhancedDirectors? public var groupStructure:CompanyLookupEnhancedStructure? public var countyCourtJudgements:CompanyLookupEnhancedCCJs? public var eventHistory:[CompanyLookupEnhancedEvent]? public var commentaries:[CompanyLookupEnhancedCommentary]? public var creditAccounts:CompanyLookupEnhancedCreditAccount? public var financialStatements:[CompanyLookupEnhancedFinancialStatement]? required public init(){} } public class SearchSource : Codable { public var listId:String? public var listName:String? public var listShortName:String? public var isAffectedByListUpdate:Bool? required public init(){} } public class CompanyChange : Codable { public var dateOfChange:Date? public var changeEventType:String? public var isPending:Bool? public var companyChangeData:ArrayOfCompanyChangeData? required public init(){} } public class CompanyLookupEnhancedSummary : Codable { public var name:String? public var country:String? public var registrationNumber:String? public var dateOfIncorporation:String? public var typeOfIncorporation:String? public var companyStatus:String? public var address:String? public var telephone:String? public var sicCode:String? public var sicDescription:String? public var principleActivity:String? public var latestAccounts:CompanyLookupEnhancedLatestAccounts? required public init(){} } public class CompanyLookupEnhancedContactInfo : Codable { public var registeredAddress:CompanyLookupEnhancedAddress? public var tradingAddresses:[CompanyLookupEnhancedAddress]? public var websites:[CompanyLookupEnhancedWebsite]? public var additionalContactInfo:CompanyLookupEnhancedAdditionalContact? required public init(){} } public class CompanyLookupEnhancedSicCode : Codable { public var sicCode2003:Int? public var sicCode2003Description:String? public var sicCode2007:Int? public var sicCode2007Description:String? public var status:String? required public init(){} } public class CompanyLookupEnhancedPreviousName : Codable { public var dateChanged:Date? public var name:String? required public init(){} } public class CompanyLookupEnhancedShareStructure : Codable { public var issuedShareCapital:Double? public var shareholders:[CompanyLookupEnhancedShareholder]? required public init(){} } public class CompanyLookupEnhancedDirectors : Codable { public var currentDirectors:[CompanyLookupEnhancedDirector]? public var previousDirectors:[CompanyLookupEnhancedDirector]? required public init(){} } public class CompanyLookupEnhancedStructure : Codable { public var parentCompanies:[CompanyLookupEnhancedCompany]? public var subsidiaryCompanies:[CompanyLookupEnhancedCompany]? required public init(){} } public class CompanyLookupEnhancedCCJs : Codable { public var possibleCCJs:[CompanyLookupEnhancedCCJ]? public var exactCCJs:[CompanyLookupEnhancedCCJ]? required public init(){} } public class CompanyLookupEnhancedEvent : Codable { public var date:Date? public var Description:String? required public init(){} } public class CompanyLookupEnhancedCommentary : Codable { public var text:String? public var positiveOrNegative:String? public var priority:Int? required public init(){} } public class CompanyLookupEnhancedCreditAccount : Codable { public var creditLimitHistory:[CompanyLookupEnhancedCreditLimit]? public var creditRatingHistory:[CompanyLookupEnhancedCreditRating]? required public init(){} } public class CompanyLookupEnhancedFinancialStatement : Codable { public var yearEndDateOrder:Int? public var yearEndDate:Date? public var summaryNumberOfWeeks:Int? public var summaryCurrency:String? public var summaryConsolidatedAccount:String? public var profitAndLoss:CompanyLookupFinancialProfit? public var balanceSheet:CompanyLookupFinancialBalance? public var capitalAndReserves:CompanyLookupFinancialCapital? public var other:CompanyLookupFinancialOther? public var cash:CompanyLookupFinancialCash? public var misc:CompanyLookupFinancialMisc? public var ratios:CompanyLookupFinancialRatios? required public init(){} } public class ArrayOfCompanyChangeData : 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 CompanyLookupEnhancedLatestAccounts : Codable { public var currency:String? public var turnover:Double? public var shareholdersEquity:Double? public var creditRating:Int? public var creditLimit:Int? public var creditRatingDescription:String? public var accountRefDay:Int? public var accountRefMonth:Int? public var accountNextDueDate:Date? public var accountLastMadeUpDate:Date? public var accountCategory:String? public var returnLastMadeUpDate:Date? required public init(){} } public class CompanyLookupEnhancedAddress : Codable { public var fullAddress:String? public var address1:String? public var address2:String? public var address3:String? public var address4:String? public var postCode:String? public var telephone:String? required public init(){} } public class CompanyLookupEnhancedWebsite : Codable { public var website:String? required public init(){} } public class CompanyLookupEnhancedAdditionalContact : Codable { public var telephone:String? public var faxNumber:String? public var emailAddress:String? public var webAddress:String? public var twitter:String? public var facebook:String? public var googlePlus:String? public var linkedIn:String? public var contactName:String? public var businessClassification:String? required public init(){} } public class CompanyLookupEnhancedShareholder : Codable { public var title:String? public var forename:String? public var surname:String? public var address1:String? public var address2:String? public var address3:String? public var address4:String? public var address5:String? public var postCode:String? public var shareType:String? public var number:Double? public var value:Double? public var currency:String? public var shareholderType:String? public var shareClass:String? required public init(){} } public class CompanyLookupEnhancedDirector : Codable { public var name:String? public var address:String? public var gender:String? public var appointmentDate:Date? public var resignationDate:Date? public var dateOfBirth:Date? public var position:String? public var idNumber:Int? public var currentDirectorships:Int? public var previousDirectorships:Int? public var totalDirectorships:Int? required public init(){} } public class CompanyLookupEnhancedCompany : Codable { public var country:String? public var companyName:String? public var companyNumber:String? required public init(){} } public class CompanyLookupEnhancedCCJ : Codable { public var date:Date? public var court:String? public var amount:Double? public var caseNumber:String? public var status:String? public var datePaid:String? public var incomingRecordDetails:String? required public init(){} } public class CompanyLookupEnhancedCreditLimit : Codable { public var date:Date? public var dateOrder:Int? public var amount:Int? required public init(){} } public class CompanyLookupEnhancedCreditRating : Codable { public var date:Date? public var dateOrder:Int? public var amount:Int? public var shortDescription:String? public var Description:String? required public init(){} } public class CompanyLookupFinancialProfit : Codable { public var turnover:Double? public var export:Double? public var costOfSales:Double? public var grossProfit:Double? public var wagesAndSalaries:Double? public var directorEmolument:Double? public var operatingProfit:Double? public var depreciation:Double? public var auditFees:Double? public var interestPayments:Double? public var pretaxProfit:Double? public var taxation:Double? public var profitAfterTax:Double? public var dividendsPayable:Double? public var retainedProfit:Double? required public init(){} } public class CompanyLookupFinancialBalance : Codable { public var tangibleAccounts:Double? public var intangibleAssets:Double? public var totalFixedAssets:Double? public var stock:Double? public var tradeDebtors:Double? public var cash:Double? public var otherDebtors:Double? public var miscCurrentAssets:Double? public var totalCurrentAssets:Double? public var tradeCreditors:Double? public var bankLoansAndOverdrafts:Double? public var otherShortTermFinance:Double? public var miscCurrentLiabilities:Double? public var totalCurrentLiabilities:Double? public var bankLoansAndOverdraftsAndLTL:Double? public var otherLongTermFinance:Double? public var totalLongTermFinance:Double? public var totalLiabilities:Double? public var investmentAndOther:Double? public var investmentAndOtherAssets:Double? public var debtorsDueAfter1Year:Double? public var otherTangibleAssets:Double? required public init(){} } public class CompanyLookupFinancialCapital : Codable { public var calledUpSharedCapital:Double? public var profitAndLossAccountReserve:Double? public var revaluationReserve:Double? public var sundryReserves:Double? public var shareholderFunds:Double? required public init(){} } public class CompanyLookupFinancialOther : Codable { public var netWorth:Double? public var netAssets:Double? public var workingCapital:Double? public var totalAssets:Double? public var totalLiabilities:Double? required public init(){} } public class CompanyLookupFinancialCash : Codable { public var netCashFlowFromOperations:Double? public var netCashFlowBeforeFinancing:Double? public var netCashFlowFromFinancing:Double? public var increaseInCash:Double? required public init(){} } public class CompanyLookupFinancialMisc : Codable { public var contingentLiability:String? public var capitalEmployed:Double? public var numberOfEmployees:Double? public var auditors:String? public var auditorComments:String? public var bankers:String? public var bankBranchCode:String? required public init(){} } public class CompanyLookupFinancialRatios : Codable { public var preTaxProfitMargin:Double? public var currentRatio:Double? public var salesNetworkingCapital:Double? public var gearing:Double? public var equity:Double? public var creditorDays:Double? public var debtorDays:Double? public var liquidityAcidTest:Double? public var returnOnCapitalEmployed:Double? public var returnOnNetAssetsEmployed:Double? public var returnOnTotalAssetsEmployed:Double? public var currentDebtRatio:Double? public var totalDebtRatio:Double? public var stockTurnoverRatio:Double? required public init(){} } public class CompanyChangeData : Codable { public var name:String? public var previousValue:String? public var newValue:String? required public init(){} }