/* Options: Date: 2025-09-14 07:29:21 SwiftVersion: 6.0 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://production-eros-platform-apisubscription.azurewebsites.net/api //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: GetLicenseeContactList.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Returns a list of contacts a licensee is linked to. Contacts are returned in batches. */ // @Route("/licensee/contacts", "GET") // @Api(Description="Returns a list of contacts a licensee is linked to. Contacts are returned in batches.") public class GetLicenseeContactList : IReturn, Codable { public typealias Return = GetLicenseeContactListResponse /** * Number of contacts to retrieve per call. */ // @ApiMember(DataType="int", Description="Number of contacts to retrieve per call.", IsRequired=true, Name="BatchSize") public var batchSize:Int? /** * Call number (1=1st, 2=2nd) this should progress upwards until all contacts have been retrieved. */ // @ApiMember(DataType="int", Description="Call number (1=1st, 2=2nd) this should progress upwards until all contacts have been retrieved.", IsRequired=true, Name="BatchNumber") public var batchNumber:Int? required public init(){} } // @ApiResponse(Description="List of Contacts") public class GetLicenseeContactListResponse : Codable { /** * List of contacts. */ // @ApiMember(DataType="List", Description="List of contacts.", Name="Contacts") public var contacts:[ConnectedContactModel]? /** * Details of the api response. Success/Fail. */ // @ApiMember(DataType="ResponseStatus", Description="Details of the api response. Success/Fail.", Name="ResponseStatus") public var responseStatus:ResponseStatus? required public init(){} } public class ConnectedContactModel : Codable { /** * Guid of the contact object within Eros. */ // @ApiMember(DataType="Guid", Description="Guid of the contact object within Eros.", Name="ContactId") public var contactId:String? /** * The salutation(preferred name) for the contact. Applies to a person contact type. */ // @ApiMember(DataType="string", Description="The salutation(preferred name) for the contact. Applies to a person contact type.", Name="Salutation") public var salutation:String? /** * The title for the contact. Applies to a person contact type. */ // @ApiMember(DataType="string", Description="The title for the contact. Applies to a person contact type.", Name="Title") public var title:String? /** * The first given name for the contact. Applies to a person contact type. */ // @ApiMember(DataType="string", Description="The first given name for the contact. Applies to a person contact type.", Name="FirstName") public var firstName:String? /** * Any middle names for the contact. Applies to a person contact type. */ // @ApiMember(DataType="string", Description="Any middle names for the contact. Applies to a person contact type.", Name="MiddleName") public var middleName:String? /** * The surname for the contact. Applies to a person contact type. */ // @ApiMember(DataType="string", Description="The surname for the contact. Applies to a person contact type.", Name="Surname") public var surname:String? /** * The full name for the contact. */ // @ApiMember(DataType="string", Description="The full name for the contact.", Name="FullName") public var fullName:String? /** * A legal name for the contact. Applies to an organisation contact type. */ // @ApiMember(DataType="string", Description="A legal name for the contact. Applies to an organisation contact type.", Name="LegalName") public var legalName:String? /** * A trading name for the contact. Applies to an organisation contact type. */ // @ApiMember(DataType="string", Description="A trading name for the contact. Applies to an organisation contact type.", Name="TradingName") public var tradingName:String? /** * The birth date for the contact. Applies to a person contact type. */ // @ApiMember(DataType="DateTime?", Description="The birth date for the contact. Applies to a person contact type.", Name="BirthDate") public var birthDate:Date? /** * Guid of the marital status within Eros. */ // @ApiMember(DataType="Guid?", Description="Guid of the marital status within Eros.", Name="MaritalStatusId") public var maritalStatusId:String? /** * The contacts marital status if set. */ // @ApiMember(DataType="string", Description="The contacts marital status if set.", Name="MaritalStatusName") public var maritalStatusName:String? /** * Guid of the gender within Eros. */ // @ApiMember(DataType="Guid?", Description="Guid of the gender within Eros.", Name="GenderId") public var genderId:String? /** * The contacts gender if set. */ // @ApiMember(DataType="string", Description="The contacts gender if set.", Name="GenderName") public var genderName:String? /** * Preferred language of the contact. */ // @ApiMember(DataType="string", Description="Preferred language of the contact.", Name="Language") public var language:String? /** * If true, the contact requires an interpreter. */ // @ApiMember(DataType="bool", Description="If true, the contact requires an interpreter.", Name="InterpreterRequired") public var interpreterRequired:Bool? /** * Contact Type name of the contact. */ // @ApiMember(DataType="string", Description="Contact Type name of the contact.", Name="ContactTypeName") public var contactTypeName:String? /** * Guid of the Contact Type List Item object within Eros. */ // @ApiMember(DataType="Guid", Description="Guid of the Contact Type List Item object within Eros.", Name="ContactTypeId") public var contactTypeId:String? /** * Description of the contact for their external profile. */ // @ApiMember(DataType="string", Description="Description of the contact for their external profile.", Name="Description") public var Description:String? /** * Contact 'Profession/Trade/Industry' details for their external profile. */ // @ApiMember(DataType="string", Description="Contact 'Profession/Trade/Industry' details for their external profile.", Name="EmploymentIndustry") public var employmentIndustry:String? /** * Contact 'Working/Subcontracting for' details for their external profile. */ // @ApiMember(DataType="string", Description="Contact 'Working/Subcontracting for' details for their external profile.", Name="EmploymentRole") public var employmentRole:String? /** * Contact 'Work Area/Suburbs' detail for their external profile. */ // @ApiMember(DataType="string", Description="Contact 'Work Area/Suburbs' detail for their external profile.", Name="EmploymentGeographicArea") public var employmentGeographicArea:String? /** * The A.B.N for the contact. */ // @ApiMember(DataType="string", Description="The A.B.N for the contact.", Name="Abn") public var abn:String? /** * The A.C.N for the contact. */ // @ApiMember(DataType="string", Description="The A.C.N for the contact.", Name="Acn") public var acn:String? /** * The A.R.B.N for the contact. */ // @ApiMember(DataType="string", Description="The A.R.B.N for the contact.", Name="Arbn") public var arbn:String? /** * Timezone name that applies to the contact. */ // @ApiMember(DataType="string", Description="Timezone name that applies to the contact.", Name="TimezoneName") public var timezoneName:String? /** * A list of the contact details for the contact. */ // @ApiMember(DataType="List", Description="A list of the contact details for the contact.", Name="ContactDetails") public var contactDetails:[ConnectedContactDetailModel]? /** * A list of the contact addresses for the contact */ // @ApiMember(DataType="List", Description="A list of the contact addresses for the contact", Name="ContactAddresses") public var contactAddresses:[ConnectedContactAddressModel]? /** * True if this contact has at least 1 active connection to the licensee. Without an active connection only public profile information for the contact is returned. */ // @ApiMember(DataType="bool", Description="True if this contact has at least 1 active connection to the licensee. Without an active connection only public profile information for the contact is returned.", Name="IsContactConnected") public var isContactConnected:Bool? /** * A list of connections this contact has with the licensee. May be active or a pending request to connect. */ // @ApiMember(DataType="List", Description="A list of connections this contact has with the licensee. May be active or a pending request to connect.", Name="Connections") public var connections:[ConnectedContactConnectionsModel]? /** * A list of projects this contact is linked to as a customer. */ // @ApiMember(DataType="List", Description="A list of projects this contact is linked to as a customer.", Name="Projects") public var projects:[ContactLinkedCustomerProjectsModel]? /** * A list of integration subscriptions used to link this contact to external records in other licensee owned systems. */ // @ApiMember(DataType="List", Description="A list of integration subscriptions used to link this contact to external records in other licensee owned systems.", Name="Subscriptions") public var subscriptions:[ConnectedContactSubscriptionsModel]? required public init(){} } public class ConnectedContactDetailModel : Codable { /** * The type of contact detail this is (email/mobile/fax/website etc) */ // @ApiMember(DataType="string", Description="The type of contact detail this is (email/mobile/fax/website etc)", Name="Type") public var type:String? /** * The contact detail. e.g (phone number or email address) */ // @ApiMember(DataType="string", Description="The contact detail. e.g (phone number or email address)", Name="ContactDetails") public var contactDetails:String? required public init(){} } public class ConnectedContactAddressModel : Codable { /** * A full address string of the address. */ // @ApiMember(DataType="string", Description="A full address string of the address.", Name="FullAddress") public var fullAddress:String? /** * If true, this is the contacts primary address. */ // @ApiMember(DataType="bool", Description="If true, this is the contacts primary address.", Name="IsPrimary") public var isPrimary:Bool? /** * If true, this is the contacts postal address. */ // @ApiMember(DataType="bool", Description="If true, this is the contacts postal address.", Name="IsPostal") public var isPostal:Bool? /** * If true, this is the contacts registered address. */ // @ApiMember(DataType="bool", Description="If true, this is the contacts registered address.", Name="IsRegistered") public var isRegistered:Bool? required public init(){} } public class ConnectedContactConnectionsModel : Codable { /** * Guid of the role within Eros */ // @ApiMember(DataType="Guid", Description="Guid of the role within Eros", Name="RoleId") public var roleId:String? /** * Name of the role this contact is connected to the licensee with. */ // @ApiMember(DataType="string", Description="Name of the role this contact is connected to the licensee with.", Name="Role") public var role:String? /** * Guid of the role connections status within Eros. */ // @ApiMember(DataType="Guid", Description="Guid of the role connections status within Eros.", Name="StatusId") public var statusId:String? /** * Connection status of the role. It maybe active or pending. */ // @ApiMember(DataType="string", Description="Connection status of the role. It maybe active or pending.", Name="Status") public var status:String? required public init(){} } public class ContactLinkedCustomerProjectsModel : Codable { /** * Guid of the project within Eros. */ // @ApiMember(DataType="Guid", Description="Guid of the project within Eros.", Name="ProjectId") public var projectId:String? /** * Name of the project. */ // @ApiMember(DataType="string", Description="Name of the project.", Name="Name") public var name:String? required public init(){} } public class ConnectedContactSubscriptionsModel : Codable { /** * Guid of the datasource within Eros. */ // @ApiMember(DataType="Guid", Description="Guid of the datasource within Eros.", Name="DatasourceId") public var datasourceId:String? /** * Name of the datasource that is the external system with a record of this contact. */ // @ApiMember(DataType="string", Description="Name of the datasource that is the external system with a record of this contact.", Name="Datasource") public var datasource:String? /** * Foreign Key lookup of this contact in the external system the datasource represents. */ // @ApiMember(DataType="string", Description="Foreign Key lookup of this contact in the external system the datasource represents.", Name="AlternateKey") public var alternateKey:String? required public init(){} }