/* Options: Date: 2026-06-20 21:22:27 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: AddCompanyLookup.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/companylookups/create", "POST") // @DataContract public class AddCompanyLookup : BaseRequest, IReturn { public typealias Return = AddCompanyLookupResponse // @DataMember public var request:AddCompanyLookupRequest? 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(AddCompanyLookupRequest.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 AddCompanyLookupResponse : Codable { // @DataMember public var data:AddCompanyLookupData? 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 AddCompanyLookupRequest : Codable { /** * If the search should be saved against a single Sub User account, specify their username here */ // @ApiMember(Description="If the search should be saved against a single Sub User account, specify their username here") public var subUserName:String? public var companyLookupId:Int? /** * If this CompanyLookup is to update an existing record due to CompanyLookup Monitor changes, set the ID of the existing record here. This is the only field that needs to be set in the request. */ // @ApiMember(Description="If this CompanyLookup is to update an existing record due to CompanyLookup Monitor changes, set the ID of the existing record here. This is the only field that needs to be set in the request.") public var monitorCompanyLookupId:Int? public var companyRegistrationNumber:String? public var companyName:String? public var companyAddress:String? public var companyCountry:String? public var performEnhancedSearch:Bool? public var selectedLists:ArrayOfLists? /** * 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 AddCompanyLookupData : 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(){} }