(* Options: Date: 2025-09-14 06:48:22 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://production-eros-platform-apisubscription.azurewebsites.net/api //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: SaveContact.* //ExcludeTypes: //InitializeCollections: False //AddNamespaces: *) namespace Eros.Saguna.Common.WebAPI.ServiceModel open System open System.IO open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations [] type RuleValidationResult() = member val RuleCode:String = null with get,set member val Message:String = null with get,set member val Key:String = null with get,set member val Tag:String = null with get,set member val ErrorCode:String = null with get,set [] type ValidationErrorList() = member val ValidationErrors:ResizeArray = null with get,set [] type ISubscription = abstract SuiteDataSourceInstanceId:Guid with get,set abstract ObjectId:Guid with get,set abstract AlternateKey:String with get,set abstract IgnoreValidation:Boolean with get,set [] type ContactRole() = /// ///Guid of the Role List Item object within Eros. /// [] member val RoleId:Guid = new Guid() with get,set /// ///The unique key that represents the role type on the external system. /// [] member val AlternateKey:String = null with get,set [] type LocationCoordinatesModel() = /// ///The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. /// [] member val Latitude:Double = new Double() with get,set /// ///The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. /// [] member val Longitude:Double = new Double() with get,set /// ///The altitude of an address - the altitude above sea level. /// [] member val Altitude:Nullable = new Nullable() with get,set /// ///Accuracy of the latitude and longitude. /// [] member val Accuracy:Nullable = new Nullable() with get,set /// ///Accurancy of the Altitude. /// [] member val AltitudeAccuracy:Nullable = new Nullable() with get,set /// ///Direction you are heading. /// [] member val Heading:Nullable = new Nullable() with get,set /// ///Speed you are going. /// [] member val Speed:Nullable = new Nullable() with get,set /// ///Speed your altitude is ascending/descending at. /// [] member val VerticalSpeed:Nullable = new Nullable() with get,set [] type AddressModel() = /// ///The distance between this project and another specified set of gps coordinates. /// [] member val DistanceAway:Double = new Double() with get,set /// ///The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. /// [] member val Latitude:Double = new Double() with get,set /// ///The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. /// [] member val Longitude:Double = new Double() with get,set /// ///Address Format Id Guid - this will be determined by the service. /// [] member val AddressFormatId:Guid = new Guid() with get,set /// ///Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered. /// [] member val SuburbId:Guid = new Guid() with get,set /// ///The suburb name. /// [] member val SuburbName:String = null with get,set /// ///The shortened State Name e.g Vic for Victoria. /// [] member val StateShortName:String = null with get,set /// ///The suburb postcode. /// [] member val PostCode:String = null with get,set /// ///Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered. /// [] member val CountryId:Guid = new Guid() with get,set /// ///the name of the country the address is within. /// [] member val CountryName:String = null with get,set /// ///A 2 digit ISO Country Code representing the country. /// [] member val ISOCountryCode:String = null with get,set /// ///The address Lot number. /// [] member val LotNumber:String = null with get,set /// ///The address Sub Unit number. /// [] member val SubUnit:String = null with get,set /// ///The address building number. /// [] member val BuildingNumber:String = null with get,set /// ///The address street number. /// [] member val StreetNumber:String = null with get,set /// ///The address street name including street type. /// [] member val StreetName:String = null with get,set /// ///A formatted address Line 1. /// [] member val AddressLineOne:String = null with get,set /// ///A formatted address Line 2. /// [] member val AddressLineTwo:String = null with get,set /// ///The full address string. /// [] member val AddressFull:String = null with get,set /// ///True if the address is a physical location. /// [] member val IsPhysical:Nullable = new Nullable() with get,set /// ///Notes about the address. /// [] member val Notes:String = null with get,set /// ///If true, the address is eligible for having its coordinates calculated/updated. /// [] member val AutoMapCoordinates:Nullable = new Nullable() with get,set /// ///Location Coordinates for the address. /// [] member val LocationCoordinates:LocationCoordinatesModel = null with get,set [] type ContactAddressModel() = member val Address:AddressModel = null with get,set member val IsPostal:Boolean = new Boolean() with get,set member val IsPrimaryLocation:Boolean = new Boolean() with get,set member val IsRegisteredLocation:Boolean = new Boolean() with get,set member val SuburbName:String = null with get,set member val StateName:String = null with get,set member val CountryName:String = null with get,set [] type PhoneModel() = member val CountryCode:String = null with get,set member val AreaCode:String = null with get,set member val LocalNumber:String = null with get,set [] type ContactDetailModel() = member val ContactMethodId:Guid = new Guid() with get,set member val ContactMethodName:String = null with get,set member val ContactAddress:ContactAddressModel = null with get,set member val ContactPhone:PhoneModel = null with get,set member val CountryId:Nullable = new Nullable() with get,set member val ContactDetails:String = null with get,set member val Notes:String = null with get,set member val ContactDetailsCode:String = null with get,set member val OrderContactMethod:Int32 = new Int32() with get,set member val IsPrimaryContactMethod:Boolean = new Boolean() with get,set member val IsAddress:Boolean = new Boolean() with get,set [] type SubscriptionContactModel() = /// ///Guid of the contact object within Eros. /// [] member val ContactId:Guid = new Guid() with get,set /// ///Guid of the Contact Type List Item object within Eros. /// [] member val ContactType:Guid = new Guid() with get,set /// ///Guid of the Marital Status List Item object within Eros. /// [] member val MaritalStatus:Nullable = new Nullable() with get,set /// ///Guid of the Gender List Item object within Eros. /// [] member val Gender:Nullable = new Nullable() with get,set /// ///The first given name for the contact. Applies to a person contact type. /// [] member val FirstName:String = null with get,set /// ///The middle name(s) for the contact. Applies to a person contact type. /// [] member val MiddleName:String = null with get,set /// ///The surname for the contact. Applies to a person contact type. /// [] member val Surname:String = null with get,set /// ///The full name for the contact. /// [] member val FullName:String = null with get,set /// ///A short name for the contact. /// [] member val ShortName:String = null with get,set /// ///The birth date for the contact. Applies to a person contact type. /// [] member val BirthDate:Nullable = new Nullable() with get,set /// ///The title for the contact. Applies to a person contact type. /// [] member val Title:String = null with get,set /// ///A salutation for the contact. /// [] member val Salutation:String = null with get,set /// ///The A.B.N for the contact. /// [] member val Abn:String = null with get,set /// ///The A.C.N for the contact. /// [] member val Acn:String = null with get,set /// ///The A.R.B.N for the contact. /// [] member val Arbn:String = null with get,set /// ///A trading name for the contact. /// [] member val TradingName:String = null with get,set /// ///A legal name for the contact. /// [] member val LegalName:String = null with get,set /// ///Any notes/description for the contact. /// [] member val Notes:String = null with get,set /// ///Contact Employment Industry. /// [] member val EmploymentIndustry:String = null with get,set /// ///Contact Employment Role. /// [] member val EmploymentRole:String = null with get,set /// ///Contact Employment Geographic Area. /// [] member val EmploymentGeographicArea:String = null with get,set /// ///The Contacts Drivers Licence Number /// [] member val DriversLicence:String = null with get,set /// ///Indicates if the Contact is registered for GST /// [] member val GstRegistered:Boolean = new Boolean() with get,set /// ///The status of the contact in EROS /// [] member val RecordStatus:String = null with get,set /// ///A list of roles this contact has. /// [", Description="A list of roles this contact has.", IsRequired=true, Name="ContactRoles", ParameterType="query")>] member val ContactRoles:ResizeArray = null with get,set /// ///A list of the contact details for the contact. /// [", Description="A list of the contact details for the contact.", IsRequired=true, Name="ContactDetails", ParameterType="query")>] member val ContactDetails:ResizeArray = null with get,set /// ///Custom Content XML for the contact. /// [] member val CustomContentXML:String = null with get,set member val BlobImageURLPrimary:String = null with get,set member val BlobImageURLPrimaryThumbnail:String = null with get,set /// ///The primary mobile for the contact. /// [] member val PrimaryMobile:String = null with get,set /// ///The primary email for the contact. /// [] member val PrimaryEmail:String = null with get,set /// ///Inserts or Updates a contact and its details and roles. /// [] [] type SaveContact() = inherit ValidationErrorList() interface IReturn /// ///Guid representing the external systems datasource information. /// [] member val SuiteDataSourceInstanceId:Guid = new Guid() with get,set /// ///The unique key that represents the contact on the external system. /// [] member val AlternateKey:String = null with get,set /// ///Guid of the contact object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key. /// [] member val ObjectId:Guid = new Guid() with get,set /// ///If set to true, the object will be updated/refreshed. If false, the hash representation of the Contact model and its data will be compared with the current Contact to determine if there are any changes to save. /// [] member val IgnoreHash:Boolean = new Boolean() with get,set member val IgnoreValidation:Boolean = new Boolean() with get,set /// ///Set this to be true if the contact is to be deleted /// [] member val MarkAsDeleted:Boolean = new Boolean() with get,set /// ///Object containing all details of the contact to be inserted or updated. /// [] member val Contact:SubscriptionContactModel = null with get,set member val LicenseeId:Guid = new Guid() with get,set member val SessionId:Guid = new Guid() with get,set