Platform API

<back to all web services

GetUserProfiles

Returns a Users profile information.

Requires Authentication
The following routes are available for this service:
All Verbs/api/profiles
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


/**
* Returns a Users profile information.
*/
@Api(Description="Returns a Users profile information.")
open class GetUserProfiles
{
    /**
    * The user's Guid.  If the value passed is empty, UserName must be entered.
    */
    @ApiMember(DataType="Guid?", Description="The user's Guid.  If the value passed is empty, UserName must be entered.", Name="UserId", ParameterType="query")
    open var UserId:UUID? = null

    /**
    * Unique Email address of the user.  If the value passed is empty, UserId must be entered.
    */
    @ApiMember(DataType="string", Description="Unique Email address of the user.  If the value passed is empty, UserId must be entered.", Name="UserName", ParameterType="query")
    open var UserName:String? = null

    /**
    * Flag to exclude contact details from organisation profiles.
    */
    @ApiMember(DataType="bool", Description="Flag to exclude contact details from organisation profiles.", Name="ExcludeContactDetails", ParameterType="query")
    open var ExcludeContactDetails:Boolean? = null
}

open class UserProfilesWithRolesModel
{
    /**
    * A list of profiles for the user.
    */
    @ApiMember(DataType="List<UserProfileWithRolesModel>", Description="A list of profiles for the user.", Name="Profiles")
    open var Profiles:ArrayList<UserProfileWithRolesModel>? = null
}

open class UserProfileWithRolesModel : UserProfileModel()
{
    /**
    * A list of roles assigned to the user.
    */
    @ApiMember(DataType="List<UserRoleModel>", Description="A list of roles assigned to the user.", Name="Roles", ParameterType="query")
    open var Roles:ArrayList<UserRoleModel>? = null

    /**
    * A list of contact connections assigned to the user.
    */
    @ApiMember(DataType="List<UserContactConnectionModel>", Description="A list of contact connections assigned to the user.", Name="ContactConnections", ParameterType="query")
    open var ContactConnections:ArrayList<UserContactConnectionModel>? = null

    /**
    * A list of connected contacts and their email addresses.
    */
    @ApiMember(DataType="List<ContactEmailAddressBook>", Description="A list of connected contacts and their email addresses.", Name="EmailAddressBook", ParameterType="query")
    open var EmailAddressBook:ArrayList<ContactEmailAddress>? = null
}

open class UserProfileModel : UserProfileSummaryModel()
{
    /**
    * Contact Date of Birth (when person type)
    */
    @ApiMember(DataType="DateTime?", Description="Contact Date of Birth (when person type)", Name="BirthDate", ParameterType="query")
    open var BirthDate:Date? = null

    /**
    * Contact marital status (when person type)
    */
    @ApiMember(DataType="string", Description="Contact marital status (when person type)", Name="MaritalStatusName", ParameterType="query")
    open var MaritalStatusName:String? = null

    /**
    * Contact gender (when person type)
    */
    @ApiMember(DataType="string", Description="Contact gender (when person type)", Name="GenderName", ParameterType="query")
    open var GenderName:String? = null

    /**
    * The Gender Guid of the contact.
    */
    @ApiMember(DataType="Guid", Description="The Gender Guid of the contact.", Name="GenderId", ParameterType="query")
    open var GenderId:UUID? = null

    /**
    * All contact details of the contact
    */
    @ApiMember(DataType="List<ContactDetailModel>", Description="All contact details of the contact", Name="ContactDetails", ParameterType="query")
    open var ContactDetails:ArrayList<ContactDetailModel>? = null

    /**
    * Primary Street Address
    */
    @ApiMember(DataType="ContactDetail", Description="Primary Street Address", Name="PrimaryStreetAddress ")
    open var PrimaryStreetAddress:ContactDetailModel? = null

    /**
    * Primary Postal Address
    */
    @ApiMember(DataType="ContactDetail", Description="Primary Postal Address", Name="PrimaryPostalAddress ")
    open var PrimaryPostalAddress:ContactDetailModel? = null

    /**
    * Primary Registered Address
    */
    @ApiMember(DataType="ContactDetail", Description="Primary Registered Address", Name="PrimaryRegisteredAddress ")
    open var PrimaryRegisteredAddress:ContactDetailModel? = null

    /**
    * Primary Email Address
    */
    @ApiMember(DataType="ContactDetail", Description="Primary Email Address", Name="PrimaryEmail ")
    open var PrimaryEmail:ContactDetailModel? = null

    /**
    * Primary Mobile Number
    */
    @ApiMember(DataType="ContactDetail", Description="Primary Mobile Number", Name="PrimaryMobile")
    open var PrimaryMobile:ContactDetailModel? = null

    /**
    * Primary Non-Mobile Number
    */
    @ApiMember(DataType="ContactDetail", Description="Primary Non-Mobile Number", Name="PrimaryPhone")
    open var PrimaryPhone:ContactDetailModel? = null

    /**
    * Primary Fax Number
    */
    @ApiMember(DataType="ContactDetail", Description="Primary Fax Number", Name="PrimaryFax")
    open var PrimaryFax:ContactDetailModel? = null

    /**
    * Primary Web Address
    */
    @ApiMember(DataType="ContactDetail", Description="Primary Web Address", Name="PrimaryWeb")
    open var PrimaryWeb:ContactDetailModel? = null

    /**
    * Social Media Twitter
    */
    @ApiMember(DataType="ContactDetail", Description="Social Media Twitter", Name="SocialMediaTwitter")
    open var SocialMediaTwitter:ContactDetailModel? = null

    /**
    * Social Media Facebook
    */
    @ApiMember(DataType="ContactDetail", Description="Social Media Facebook", Name="SocialMediaFacebook")
    open var SocialMediaFacebook:ContactDetailModel? = null

    /**
    * Social Media Instagram
    */
    @ApiMember(DataType="ContactDetail", Description="Social Media Instagram", Name="SocialMediaInstagram")
    open var SocialMediaInstagram:ContactDetailModel? = null

    /**
    * Have all connections to the contact been removed?
    */
    @ApiMember(DataType="bool", Description="Have all connections to the contact been removed?", Name="IsRemovedContact")
    open var IsRemovedContact:Boolean? = null

    /**
    * True if this is the users default profile.
    */
    @ApiMember(DataType="bool", Description="True if this is the users default profile.", Name="IsDefault", ParameterType="query")
    open var IsDefault:Boolean? = null

    /**
    * True if the users email on this profile can be edited.
    */
    @ApiMember(DataType="bool", Description="True if the users email on this profile can be edited.", Name="IsEmailEditable", ParameterType="query")
    open var IsEmailEditable:Boolean? = null

    /**
    * Primary image Content sent as a file stream contents (if not attached to the request)
    */
    @ApiMember(DataType="string", Description="Primary image Content sent as a file stream contents (if not attached to the request)", Name="PrimaryImageContent")
    open var PrimaryImageContent:String? = null

    /**
    * Primary image Content type sent as a file stream contents (if not attached to the request)
    */
    @ApiMember(DataType="string", Description="Primary image Content type sent as a file stream contents (if not attached to the request)", Name="PrimaryImageContentType")
    open var PrimaryImageContentType:String? = null

    /**
    * Primary image file name
    */
    @ApiMember(DataType="string", Description="Primary image file name", Name="PrimaryImageFileName")
    open var PrimaryImageFileName:String? = null
}

open class UserProfileSummaryModel
{
    /**
    * User Profile Id
    */
    @ApiMember(DataType="Guid", Description="User Profile Id", Name="UserProfileId")
    open var UserProfileId:UUID? = null

    /**
    * User linked to the profile
    */
    @ApiMember(DataType="Guid", Description="User linked to the profile", Name="UserId")
    open var UserId:UUID? = null

    /**
    * Contact linked to the profile
    */
    @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")
    open var ContactId:UUID? = null

    /**
    * User linked to the profile
    */
    @ApiMember(DataType="string", Description="User linked to the profile", Name="UserName")
    open var UserName:String? = null

    /**
    * User Profile Name
    */
    @ApiMember(DataType="string", Description="User Profile Name", Name="ProfileName")
    open var ProfileName:String? = null

    /**
    * Full name of the contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Full name of the contact linked to the profile", Name="ContactFullName")
    open var ContactFullName:String? = null

    /**
    * Email Address of the contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Email Address of the contact linked to the profile", Name="EmailAddress")
    open var EmailAddress:String? = null

    /**
    * Email signature of the contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Email signature of the contact linked to the profile", Name="EmailSignature")
    open var EmailSignature:String? = null

    /**
    * Mobile number of the contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Mobile number of the contact linked to the profile", Name="MobileNumber")
    open var MobileNumber:String? = null

    /**
    * Phone number of the contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Phone number of the contact linked to the profile", Name="PhoneNumber")
    open var PhoneNumber:String? = null

    /**
    * Type of contact (person, organisation etc.) linked to the profile
    */
    @ApiMember(DataType="string", Description="Type of contact (person, organisation etc.) linked to the profile", Name="ContactTypeId")
    open var ContactTypeId:UUID? = null

    /**
    * Type of contact (person, organisation etc.) linked to the profile
    */
    @ApiMember(DataType="string", Description="Type of contact (person, organisation etc.) linked to the profile", Name="ContactTypeName")
    open var ContactTypeName:String? = null

    /**
    * First name of the contact linked to the profile
    */
    @ApiMember(DataType="string", Description="First name of the contact linked to the profile", Name="FirstName")
    open var FirstName:String? = null

    /**
    * Surname of the contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Surname of the contact linked to the profile", Name="Surname")
    open var Surname:String? = null

    /**
    * Title of contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Title of contact linked to the profile", Name="Title")
    open var Title:String? = null

    /**
    * Legal name of contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Legal name of contact linked to the profile", Name="LegalName")
    open var LegalName:String? = null

    /**
    * Trading name of contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Trading name of contact linked to the profile", Name="TradingName")
    open var TradingName:String? = null

    /**
    * Australian Business Number
    */
    @ApiMember(DataType="string", Description="Australian Business Number", Name="Abn", ParameterType="query")
    open var Abn:String? = null

    /**
    * Australian Company Number
    */
    @ApiMember(DataType="string", Description="Australian Company Number", Name="Acn", ParameterType="query")
    open var Acn:String? = null

    /**
    * Australian Registered Body Number
    */
    @ApiMember(DataType="string", Description="Australian Registered Body Number", Name="Arbn", ParameterType="query")
    open var Arbn:String? = null

    /**
    * Indicates if the Contact is registered for GST.
    */
    @ApiMember(DataType="bool", Description="Indicates if the Contact is registered for GST.", Name="GstRegistered", ParameterType="query")
    open var GstRegistered:Boolean? = null

    /**
    * True if english is a secondary language for the contact.
    */
    @ApiMember(DataType="bool", Description="True if english is a secondary language for the contact.", Name="ESL", ParameterType="query")
    open var ESL:Boolean? = null

    /**
    * Language that is the primary language for the contact.
    */
    @ApiMember(DataType="string", Description="Language that is the primary language for the contact.", Name="Language", ParameterType="query")
    open var Language:String? = null

    /**
    * True if an interpreter is required.
    */
    @ApiMember(DataType="bool", Description="True if an interpreter is required.", Name="InterpreterRequired", ParameterType="query")
    open var InterpreterRequired:Boolean? = null

    /**
    * Licensee specific notes about the contact.
    */
    @ApiMember(DataType="string", Description="Licensee specific notes about the contact.", Name="LicenseeNotes", ParameterType="query")
    open var LicenseeNotes:String? = null

    /**
    * Profile photo of contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Profile photo of contact linked to the profile", Name="ProfilePhotoUrl")
    open var ProfilePhotoUrl:String? = null

    /**
    * Thumbnail photo of contact linked to the profile
    */
    @ApiMember(DataType="string", Description="Thumbnail photo of contact linked to the profile", Name="ProfilePhotoThumbnailUrl")
    open var ProfilePhotoThumbnailUrl:String? = null

    /**
    * Profile photo id of contact linked to the profile
    */
    @ApiMember(DataType="Guid", Description="Profile photo id of contact linked to the profile", Name="ProfileImageId")
    open var ProfileImageId:UUID? = null

    /**
    * Profile description
    */
    @ApiMember(DataType="string", Description="Profile description", Name="Description")
    open var Description:String? = null

    /**
    * Employment Industry
    */
    @ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry")
    open var EmploymentIndustry:String? = null

    /**
    * Employment Role
    */
    @ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole")
    open var EmploymentRole:String? = null

    /**
    * Areas of Work
    */
    @ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea")
    open var EmploymentGeographicArea:String? = null

    /**
    * The contacts timezone.
    */
    @ApiMember(DataType="Guid", Description="The contacts timezone.", Name="Timezone", ParameterType="query")
    open var Timezone:UUID? = null

    /**
    * Timezone Name
    */
    @ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query")
    open var TimezoneName:String? = null

    /**
    * The primary address of the contact
    */
    @ApiMember(DataType="string", Description="The primary address of the contact", Name="PrimaryAddress", ParameterType="query")
    open var PrimaryAddress:String? = null

    /**
    * Is this an active contact? Or an inactive contact (deleted account)?
    */
    @ApiMember(DataType="bool", Description="Is this an active contact? Or an inactive contact (deleted account)?", Name="IsActiveContact")
    open var IsActiveContact:Boolean? = null
}

open class ContactDetailModel
{
    /**
    * Id of the Contact Method
    */
    @ApiMember(DataType="Guid", Description="Id of the Contact Method", Name="ContactMethodId", ParameterType="body")
    open var ContactMethodId:UUID? = null

    /**
    * Contact Method Name
    */
    @ApiMember(DataType="string", Description="Contact Method Name", Name="ContactMethodName", ParameterType="body")
    open var ContactMethodName:String? = null

    /**
    * If the contact method is an address, this will contain the address details.
    */
    @ApiMember(DataType="ContactAddressModel", Description="If the contact method is an address, this will contain the address details.", Name="ContactAddress", ParameterType="body")
    open var ContactAddress:ContactAddressModel? = null

    /**
    * If the contact method is a phone, this will contain the phone details
    */
    @ApiMember(DataType="PhoneModel", Description="If the contact method is a phone, this will contain the phone details", Name="ContactPhone", ParameterType="body")
    open var ContactPhone:PhoneModel? = null

    /**
    * Id of the country
    */
    @ApiMember(DataType="Guid?", Description="Id of the country", Name="CountryId", ParameterType="body")
    open var CountryId:UUID? = null

    /**
    * A summary string representing the contact details
    */
    @ApiMember(DataType="string", Description="A summary string representing the contact details", Name="ContactDetails", ParameterType="body")
    open var ContactDetails:String? = null

    /**
    * Notes about the contact details
    */
    @ApiMember(DataType="string", Description="Notes about the contact details", Name="Notes", ParameterType="body")
    open var Notes:String? = null

    /**
    * Area Code if contact details are a phone number
    */
    @ApiMember(DataType="string", Description="Area Code if contact details are a phone number", Name="ContactDetailsCode", ParameterType="body")
    open var ContactDetailsCode:String? = null

    /**
    * Order number of the contact method
    */
    @ApiMember(DataType="int", Description="Order number of the contact method", Name="OrderContactMethod", ParameterType="body")
    open var OrderContactMethod:Int? = null

    /**
    * True if this is the primary contact method
    */
    @ApiMember(DataType="bool", Description="True if this is the primary contact method", Name="IsPrimaryContactMethod", ParameterType="body")
    open var IsPrimaryContactMethod:Boolean? = null

    /**
    * True if this contact method is an address
    */
    @ApiMember(DataType="bool", Description="True if this contact method is an address", Name="IsAddress", ParameterType="body")
    open var IsAddress:Boolean? = null
}

open class ContactAddressModel
{
    /**
    * Address Details
    */
    @ApiMember(DataType="AddressModel", Description="Address Details", Name="Address", ParameterType="body")
    open var Address:AddressModel? = null

    /**
    * True if this is a postal address.
    */
    @ApiMember(DataType="bool", Description="True if this is a postal address.", Name="IsPostal", ParameterType="body")
    open var IsPostal:Boolean? = null

    /**
    * True if this is the primary address.
    */
    @ApiMember(DataType="bool", Description="True if this is the primary address.", Name="IsPrimaryLocation", ParameterType="body")
    open var IsPrimaryLocation:Boolean? = null

    /**
    * True if this address is the registered tax address.
    */
    @ApiMember(DataType="bool", Description="True if this address is the registered tax address.", Name="IsRegisteredLocation", ParameterType="body")
    open var IsRegisteredLocation:Boolean? = null

    /**
    * Suburb Name
    */
    @ApiMember(DataType="string", Description="Suburb Name", Name="SuburbName", ParameterType="body")
    open var SuburbName:String? = null

    /**
    * State Name
    */
    @ApiMember(DataType="string", Description="State Name", Name="StateName", ParameterType="body")
    open var StateName:String? = null

    /**
    * Country Name
    */
    @ApiMember(DataType="string", Description="Country Name", Name="CountryName", ParameterType="body")
    open var CountryName:String? = null
}

open class AddressModel
{
    /**
    * The distance between this project and another specified set of gps coordinates.
    */
    @ApiMember(DataType="double", Description="The distance between this project and another specified set of gps coordinates.", Name="DistanceAway", ParameterType="body")
    open var DistanceAway:Double? = null

    /**
    * The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.
    */
    @ApiMember(DataType="Double?", Description="The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.", Name="Latitude", ParameterType="body")
    open var Latitude:Double? = null

    /**
    * The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.
    */
    @ApiMember(DataType="Double?", Description="The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.", Name="Longitude", ParameterType="body")
    open var Longitude:Double? = null

    /**
    * Address Format Id Guid - this will be determined by the service.
    */
    @ApiMember(DataType="Guid", Description="Address Format Id Guid - this will be determined by the service.", Name="AddressFormatId", ParameterType="body")
    open var AddressFormatId:UUID? = null

    /**
    * Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered.
    */
    @ApiMember(DataType="Guid", Description="Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered.", Name="SuburbId", ParameterType="body")
    open var SuburbId:UUID? = null

    /**
    * The suburb name.
    */
    @ApiMember(DataType="string", Description="The suburb name.", Name="SuburbName", ParameterType="body")
    open var SuburbName:String? = null

    /**
    * The shortened State Name e.g Vic for Victoria.
    */
    @ApiMember(DataType="string", Description="The shortened State Name e.g Vic for Victoria.", Name="StateShortName", ParameterType="body")
    open var StateShortName:String? = null

    /**
    * The suburb postcode.
    */
    @ApiMember(DataType="string", Description="The suburb postcode.", Name="PostCode", ParameterType="body")
    open var PostCode:String? = null

    /**
    * Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered.
    */
    @ApiMember(DataType="Guid", Description="Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered.", Name="CountryId", ParameterType="body")
    open var CountryId:UUID? = null

    /**
    * the name of the country the address is within.
    */
    @ApiMember(DataType="string", Description="the name of the country the address is within.", Name="CountryName", ParameterType="body")
    open var CountryName:String? = null

    /**
    * ISO Country Code.
    */
    @ApiMember(Description="ISO Country Code.", ParameterType="query")
    open var ISOCountryCode:String? = null

    /**
    * The address Lot number.
    */
    @ApiMember(DataType="string", Description="The address Lot number.", Name="LotNumber", ParameterType="body")
    open var LotNumber:String? = null

    /**
    * The address Sub Unit number.
    */
    @ApiMember(DataType="string", Description="The address Sub Unit number.", Name="SubUnit", ParameterType="body")
    open var SubUnit:String? = null

    /**
    * The address building number.
    */
    @ApiMember(DataType="string", Description="The address building number.", Name="BuildingNumber", ParameterType="body")
    open var BuildingNumber:String? = null

    /**
    * The address street number.
    */
    @ApiMember(DataType="string", Description="The address street number.", Name="StreetNumber", ParameterType="body")
    open var StreetNumber:String? = null

    /**
    * The address street name including street type.
    */
    @ApiMember(DataType="string", Description="The address street name including street type.", Name="StreetName", ParameterType="body")
    open var StreetName:String? = null

    /**
    * A formatted address Line 1.
    */
    @ApiMember(DataType="string", Description="A formatted address Line 1.", Name="AddressLineOne", ParameterType="body")
    open var AddressLineOne:String? = null

    /**
    * A formatted address Line 2.
    */
    @ApiMember(DataType="string", Description="A formatted address Line 2.", Name="AddressLineTwo", ParameterType="body")
    open var AddressLineTwo:String? = null

    /**
    * The full address string.
    */
    @ApiMember(DataType="string", Description="The full address string.", Name="AddressFull", ParameterType="body")
    open var AddressFull:String? = null

    /**
    * True if the address is a physical location.
    */
    @ApiMember(DataType="bool?", Description="True if the address is a physical location.", Name="IsPhysical", ParameterType="body")
    open var IsPhysical:Boolean? = null

    /**
    * Notes about the address.
    */
    @ApiMember(DataType="string", Description="Notes about the address.", Name="Notes")
    open var Notes:String? = null

    /**
    * If true, the address is eligible for having its coordinates calculated/updated.
    */
    @ApiMember(DataType="bool?", Description="If true, the address is eligible for having its coordinates calculated/updated.", Name="AutoMapCoordinates", ParameterType="body")
    open var AutoMapCoordinates:Boolean? = null

    /**
    * Location Coordinates for the address.
    */
    @ApiMember(DataType="LocationCoordinates", Description="Location Coordinates for the address.", Name="LocationCoordinates", ParameterType="body")
    open var LocationCoordinates:LocationCoordinatesModel? = null
}

open class LocationCoordinatesModel
{
    /**
    * The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.
    */
    @ApiMember(Description="The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.", ParameterType="query")
    open var Latitude:Double? = null

    /**
    * The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.
    */
    @ApiMember(Description="The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.", ParameterType="query")
    open var Longitude:Double? = null

    /**
    * The altitude of an address - the altitude above sea level."
    */
    @ApiMember(Description="The altitude of an address - the altitude above sea level.\"", ParameterType="query")
    open var Altitude:Double? = null

    /**
    * Accuracy of the latitude and longitude.
    */
    @ApiMember(Description="Accuracy of the latitude and longitude.", ParameterType="query")
    open var Accuracy:Double? = null

    /**
    * Accurancy of the Altitude.
    */
    @ApiMember(Description="Accurancy of the Altitude.", ParameterType="query")
    open var AltitudeAccuracy:Double? = null

    /**
    * Direction you are heading.
    */
    @ApiMember(Description="Direction you are heading.", ParameterType="query")
    open var Heading:Double? = null

    /**
    * Speed you are going.
    */
    @ApiMember(Description="Speed you are going.", ParameterType="query")
    open var Speed:Double? = null

    /**
    * Speed your altitude is ascending/descending at.
    */
    @ApiMember(Description="Speed your altitude is ascending/descending at.", ParameterType="query")
    open var VerticalSpeed:Double? = null
}

open class PhoneModel
{
    /**
    * Country Code
    */
    @ApiMember(DataType="string", Description="Country Code", Name="CountryCode", ParameterType="body")
    open var CountryCode:String? = null

    /**
    * Area Code
    */
    @ApiMember(DataType="string", Description="Area Code", Name="AreaCode", ParameterType="body")
    open var AreaCode:String? = null

    /**
    * Local Number
    */
    @ApiMember(DataType="string", Description="Local Number", Name="LocalNumber", ParameterType="body")
    open var LocalNumber:String? = null
}

open class ContactDetailModel
{
    /**
    * Contact Method Id
    */
    @ApiMember(DataType="Guid", Description="Contact Method Id", Name="ContactMethodId", ParameterType="query")
    open var ContactMethodId:UUID? = null

    /**
    * Contact Method Name
    */
    @ApiMember(DataType="string", Description="Contact Method Name", Name="ContactMethodName", ParameterType="query")
    open var ContactMethodName:String? = null

    /**
    * Contact Address Details
    */
    @ApiMember(DataType="ContactAddressModel", Description="Contact Address Details", Name="ContactAddress", ParameterType="query")
    open var ContactAddress:ContactAddressModel? = null

    /**
    * Contact Phone Details
    */
    @ApiMember(DataType="PhoneModel", Description="Contact Phone Details", Name="ContactPhone", ParameterType="query")
    open var ContactPhone:PhoneModel? = null

    /**
    * Country id
    */
    @ApiMember(DataType="Guid", Description="Country id", Name="CountryId", ParameterType="query")
    open var CountryId:UUID? = null

    /**
    * Contact Details
    */
    @ApiMember(DataType="string", Description="Contact Details", Name="ContactDetails", ParameterType="query")
    open var ContactDetails:String? = null

    /**
    * Notes
    */
    @ApiMember(DataType="string", Description="Notes", Name="Notes", ParameterType="query")
    open var Notes:String? = null

    /**
    * Contact Details Code
    */
    @ApiMember(DataType="string", Description="Contact Details Code", Name="ContactDetailsCode", ParameterType="query")
    open var ContactDetailsCode:String? = null

    /**
    * Order of Contact Method Id
    */
    @ApiMember(DataType="int", Description="Order of Contact Method Id", Name="OrderContactMethod", ParameterType="query")
    open var OrderContactMethod:Int? = null

    /**
    * Contact Method Id
    */
    @ApiMember(DataType="bool", Description="Contact Method Id", Name="IsPrimaryContactMethod", ParameterType="query")
    open var IsPrimaryContactMethod:Boolean? = null

    /**
    * Is contact details an address
    */
    @ApiMember(DataType="bool", Description="Is contact details an address", Name="IsAddress", ParameterType="query")
    open var IsAddress:Boolean? = null

    /**
    * Contact Contact Detail Id
    */
    @ApiMember(DataType="Guid", Description="Contact Contact Detail Id", Name="ContactContactDetailId", ParameterType="query")
    open var ContactContactDetailId:UUID? = null

    /**
    * Contact Id
    */
    @ApiMember(DataType="Guid", Description="Contact Id", Name="ContactId", ParameterType="query")
    open var ContactId:UUID? = null

    /**
    * Contact Details Id
    */
    @ApiMember(DataType="Guid", Description="Contact Details Id", Name="ContactDetailId", ParameterType="query")
    open var ContactDetailId:UUID? = null

    /**
    * Is contact details a primary location
    */
    @ApiMember(DataType="bool", Description="Is contact details a primary location", Name="IsPrimaryLocation", ParameterType="query")
    open var IsPrimaryLocation:Boolean? = null

    /**
    * Is contact details a registered location
    */
    @ApiMember(DataType="bool", Description="Is contact details a registered location", Name="IsRegisteredLocation", ParameterType="query")
    open var IsRegisteredLocation:Boolean? = null

    /**
    * Is contact details a postal address
    */
    @ApiMember(DataType="bool", Description="Is contact details a postal address", Name="IsPostal", ParameterType="query")
    open var IsPostal:Boolean? = null

    /**
    * Is contact details a phone number
    */
    @ApiMember(DataType="bool", Description="Is contact details a phone number", Name="IsPhone", ParameterType="query")
    open var IsPhone:Boolean? = null

    /**
    * Email Signature Id
    */
    @ApiMember(DataType="Guid", Description="Email Signature Id", Name="EmailSignatureId", ParameterType="query")
    open var EmailSignatureId:UUID? = null

    /**
    * Email Signature HTML
    */
    @ApiMember(DataType="string", Description="Email Signature HTML", Name="EmailSignatureHTML", ParameterType="query")
    open var EmailSignatureHTML:String? = null

    /**
    * Email Signature Text
    */
    @ApiMember(DataType="string", Description="Email Signature Text", Name="EmailSignatureText", ParameterType="query")
    open var EmailSignatureText:String? = null

    /**
    * API Key from Framework
    */
    @ApiMember(DataType="string", Description="API Key from Framework", Name="ApiFrameworkAlternateKey", ParameterType="query")
    open var ApiFrameworkAlternateKey:String? = null
}

open class ContactAddressModel
{
    /**
    * Location Details.
    */
    @ApiMember(DataType="GeoLocationModel", Description="Location Details.", Name="Location", ParameterType="query")
    open var Location:GeoLocationModel? = null

    /**
    * Is address postal.
    */
    @ApiMember(DataType="bool", Description="Is address postal.", Name="IsPostal", ParameterType="query")
    open var IsPostal:Boolean? = null

    /**
    * Is address primary.
    */
    @ApiMember(DataType="bool", Description="Is address primary.", Name="IsPrimaryLocation", ParameterType="query")
    open var IsPrimaryLocation:Boolean? = null

    /**
    * Is address registered.
    */
    @ApiMember(DataType="bool", Description="Is address registered.", Name="IsRegisteredLocation", ParameterType="query")
    open var IsRegisteredLocation:Boolean? = null

    /**
    * Contact Address Id.
    */
    @ApiMember(DataType="Guid", Description="Contact Address Id.", Name="ContactAddressId", ParameterType="query")
    open var ContactAddressId:UUID? = null

    /**
    * Contact Address Suburb Name.
    */
    @ApiMember(DataType="string", Description="Contact Address Suburb Name.", Name="SuburbName", ParameterType="query")
    open var SuburbName:String? = null

    /**
    * Contact Address Street Name.
    */
    @ApiMember(DataType="string", Description="Contact Address Street Name.", Name="StateName", ParameterType="query")
    open var StateName:String? = null

    /**
    * Contact Country Name.
    */
    @ApiMember(DataType="string", Description="Contact Country Name.", Name="CountryName", ParameterType="query")
    open var CountryName:String? = null
}

open class GeoLocationModel
{
    /**
    * The location id
    */
    @ApiMember(DataType="Guid", Description="The location id", Name="GeoLocationId", ParameterType="query")
    open var GeoLocationId:UUID? = null

    /**
    * The state id
    */
    @ApiMember(DataType="Guid", Description="The state id", Name="StateId", ParameterType="query")
    open var StateId:UUID? = null

    /**
    * The state name
    */
    @ApiMember(DataType="string", Description="The state name", Name="StateName", ParameterType="query")
    open var StateName:String? = null

    /**
    * The suburb id
    */
    @ApiMember(DataType="Guid", Description="The suburb id", Name="SuburbId", ParameterType="query")
    open var SuburbId:UUID? = null

    /**
    * The suburb name
    */
    @ApiMember(DataType="string", Description="The suburb name", Name="SuburbName", ParameterType="query")
    open var SuburbName:String? = null

    /**
    * The country id
    */
    @ApiMember(DataType="Guid", Description="The country id", Name="CountryId", ParameterType="query")
    open var CountryId:UUID? = null

    /**
    * The country name
    */
    @ApiMember(DataType="string", Description="The country name", Name="CountryName", ParameterType="query")
    open var CountryName:String? = null

    /**
    * The lot number
    */
    @ApiMember(DataType="string", Description="The lot number", Name="LotNumber", ParameterType="query")
    open var LotNumber:String? = null

    /**
    * The unit number
    */
    @ApiMember(DataType="string", Description="The unit number", Name="SubUnit", ParameterType="query")
    open var SubUnit:String? = null

    /**
    * The building number
    */
    @ApiMember(DataType="string", Description="The building number", Name="BuildingNumber", ParameterType="query")
    open var BuildingNumber:String? = null

    /**
    * PO Box Number
    */
    @ApiMember(DataType="string", Description="PO Box Number", Name="PostalDeliveryNumber", ParameterType="query")
    open var PostalDeliveryNumber:String? = null

    /**
    * The Street Number
    */
    @ApiMember(DataType="string", Description="The Street Number", Name="StreetNumber", ParameterType="query")
    open var StreetNumber:String? = null

    /**
    * The Street name
    */
    @ApiMember(DataType="string", Description="The Street name", Name="StreetName", ParameterType="query")
    open var StreetName:String? = null

    /**
    * Address Line ONe
    */
    @ApiMember(DataType="string", Description="Address Line ONe", Name="AddressLineOne", ParameterType="query")
    open var AddressLineOne:String? = null

    /**
    * Address Line Two
    */
    @ApiMember(DataType="string", Description="Address Line Two", Name="AddressLineTwo", ParameterType="query")
    open var AddressLineTwo:String? = null

    /**
    * Post code
    */
    @ApiMember(DataType="string", Description="Post code", Name="PostCode", ParameterType="query")
    open var PostCode:String? = null

    /**
    * Is location physical
    */
    @ApiMember(DataType="bool", Description="Is location physical", Name="IsPhysical", ParameterType="query")
    open var IsPhysical:Boolean? = null

    /**
    * Notes about the location
    */
    @ApiMember(DataType="string", Description="Notes about the location", Name="Notes", ParameterType="query")
    open var Notes:String? = null

    /**
    * The address in full
    */
    @ApiMember(DataType="string", Description="The address in full", Name="AddressFull", ParameterType="query")
    open var AddressFull:String? = null

    /**
    * Address format id.
    */
    @ApiMember(DataType="Guid", Description="Address format id.", Name="AddressFormatId", ParameterType="query")
    open var AddressFormatId:UUID? = null

    /**
    * Latitude
    */
    @ApiMember(DataType="double", Description="Latitude", Name="Latitude", ParameterType="query")
    open var Latitude:Double? = null

    /**
    * Longitude
    */
    @ApiMember(DataType="double", Description="Longitude", Name="Longitude", ParameterType="query")
    open var Longitude:Double? = null

    /**
    * Timezone Id
    */
    @ApiMember(DataType="Guid?", Description="Timezone Id", Name="Timezone", ParameterType="query")
    open var Timezone:UUID? = null

    open var Estate:GeoEstateModel? = null
    open var GeoEstateId:UUID? = null
    open var GeoEstateStageId:UUID? = null
    open var GeoEstateStageName:String? = null
    open var IgnoreValidation:Boolean? = null
}

open class GeoEstateModel
{
    open var GeoEstateId:UUID? = null
    open var Name:String? = null
    open var Notes:String? = null
    open var DeveloperContactId:UUID? = null
    open var DeveloperName:String? = null
    open var DeveloperProfilePhotoUrl:String? = null
    open var DeveloperProfilePhotoThumbnail:String? = null
    open var RecordStatus:String? = null
    open var Stages:ArrayList<GeoEstateStageModel>? = null
    open var CurrentEstateStageId:UUID? = null
    open var CurrentEstateStageName:String? = null
}

open class GeoEstateStageModel
{
    open var GeoEstateStageId:UUID? = null
    open var GeoEstateId:UUID? = null
    open var Name:String? = null
    open var Notes:String? = null
    open var RecordStatus:String? = null
}

open class PhoneModel
{
    /**
    * Phone Country Code.
    */
    @ApiMember(DataType="string", Description="Phone Country Code.", Name="CountryCode", ParameterType="query")
    open var CountryCode:String? = null

    /**
    * Phone Area Code.
    */
    @ApiMember(DataType="string", Description="Phone Area Code.", Name="AreaCode", ParameterType="query")
    open var AreaCode:String? = null

    /**
    * Phone Local Number.
    */
    @ApiMember(DataType="string", Description="Phone Local Number.", Name="LocalNumber", ParameterType="query")
    open var LocalNumber:String? = null
}

open class UserRoleModel
{
    /**
    * The Contact Role Id, that links the Contact to their role.
    */
    @ApiMember(DataType="Guid", Description="The Contact Role Id, that links the Contact to their role.", Name="ContactRoleId", ParameterType="query")
    open var ContactRoleId:UUID? = null

    /**
    * The Role Id.
    */
    @ApiMember(DataType="Guid", Description="The Role Id.", Name="RoleId", ParameterType="query")
    open var RoleId:UUID? = null

    /**
    * The role name.
    */
    @ApiMember(DataType="string", Description="The role name.", Name="RoleName", ParameterType="query")
    open var RoleName:String? = null

    /**
    * The URL of the role's image icon.
    */
    @ApiMember(DataType="string", Description="The URL of the role's image icon.", Name="RolePrimaryImageURL", ParameterType="query")
    open var RolePrimaryImageURL:String? = null

    /**
    * The URL of the role's thumbnail image icon.
    */
    @ApiMember(DataType="string", Description="The URL of the role's thumbnail image icon.", Name="RolePrimaryImageThumbnailURL", ParameterType="query")
    open var RolePrimaryImageThumbnailURL:String? = null

    /**
    * The Guid of the role's media file containing the image icon details.
    */
    @ApiMember(DataType="string", Description="The Guid of the role's media file containing the image icon details.", Name="RolePrimaryImageId", ParameterType="query")
    open var RolePrimaryImageId:UUID? = null

    /**
    * The date the contact started having this role.
    */
    @ApiMember(DataType="DateTime", Description="The date the contact started having this role.", Name="StartDate", ParameterType="query")
    open var StartDate:Date? = null

    /**
    * The date the contact will end having this role.
    */
    @ApiMember(DataType="DateTime?", Description="The date the contact will end having this role.", Name="EndDate", ParameterType="query")
    open var EndDate:Date? = null
}

open class UserContactConnectionModel
{
    /**
    * The Contact Role Id, that links the Contact to their role.
    */
    @ApiMember(DataType="Guid", Description="The Contact Role Id, that links the Contact to their role.", Name="ContactRoleId", ParameterType="query")
    open var ContactRoleId:UUID? = null

    /**
    * The role name.
    */
    @ApiMember(DataType="string", Description="The role name.", Name="ContactRoleName", ParameterType="query")
    open var ContactRoleName:String? = null

    /**
    * The list item role Id.
    */
    @ApiMember(DataType="Guid", Description="The list item role Id.", Name="ContactListItemRoleId", ParameterType="query")
    open var ContactListItemRoleId:UUID? = null

    /**
    * The URL of the contact role's image icon.
    */
    @ApiMember(DataType="string", Description="The URL of the contact role's image icon.", Name="ContactRolePrimaryImageURL", ParameterType="query")
    open var ContactRolePrimaryImageURL:String? = null

    /**
    * The URL of the contact role's thumbnail image icon.
    */
    @ApiMember(DataType="string", Description="The URL of the contact role's thumbnail image icon.", Name="ContactRolePrimaryImageThumbnailURL", ParameterType="query")
    open var ContactRolePrimaryImageThumbnailURL:String? = null

    /**
    * The Guid of the contact role's media file containing the image icon details.
    */
    @ApiMember(DataType="string", Description="The Guid of the contact role's media file containing the image icon details.", Name="ContactRolePrimaryImageId", ParameterType="query")
    open var ContactRolePrimaryImageId:UUID? = null

    /**
    * The connected contacts Id. (licensee)
    */
    @ApiMember(DataType="string", Description="The connected contacts Id. (licensee)", Name="ConnectionContactId", ParameterType="query")
    open var ConnectionContactId:UUID? = null

    /**
    * The connected contacts Full Name.
    */
    @ApiMember(DataType="string", Description="The connected contacts Full Name.", Name="ConnectionContactName", ParameterType="query")
    open var ConnectionContactName:String? = null

    /**
    * The connected contacts role.
    */
    @ApiMember(DataType="string", Description="The connected contacts role.", Name="ConnectionContactRoleName", ParameterType="query")
    open var ConnectionContactRoleName:String? = null

    /**
    * The connected contacts role Id.
    */
    @ApiMember(DataType="Guid", Description="The connected contacts role Id.", Name="ConnectionContactRoleId", ParameterType="query")
    open var ConnectionContactRoleId:UUID? = null

    /**
    * The connected contacts list item role Id.
    */
    @ApiMember(DataType="Guid", Description="The connected contacts list item role Id.", Name="ConnectionContactListItemRoleId", ParameterType="query")
    open var ConnectionContactListItemRoleId:UUID? = null

    /**
    * The Contacts Type.
    */
    @ApiMember(DataType="string", Description="The Contacts Type.", Name="ContactTypeName", ParameterType="query")
    open var ContactTypeName:String? = null

    /**
    * The URL to the Connected Contacts Photo.
    */
    @ApiMember(DataType="string", Description="The URL to the Connected Contacts Photo.", Name="ConnectionContactPhotoURL", ParameterType="query")
    open var ConnectionContactPhotoURL:String? = null

    /**
    * .
    */
    @ApiMember(DataType="bool", Description=".", Name="IsContactLicenseeRole", ParameterType="query")
    open var IsContactLicenseeRole:Boolean? = null

    /**
    * If the connection is as a licensee this is true.
    */
    @ApiMember(DataType="bool", Description="If the connection is as a licensee this is true.", Name="IsConnectionLicenseeRole", ParameterType="query")
    open var IsConnectionLicenseeRole:Boolean? = null

    /**
    * The status of the connection with the contact.
    */
    @ApiMember(DataType="string", Description="The status of the connection with the contact.", Name="ConnectionStatusName", ParameterType="query")
    open var ConnectionStatusName:String? = null

    /**
    * The status Id of the connection with the contact.
    */
    @ApiMember(DataType="Guid", Description="The status Id of the connection with the contact.", Name="ConnectionStatusId", ParameterType="query")
    open var ConnectionStatusId:UUID? = null

    /**
    * The ContactRoleConnectionId of an active connection with the contact.
    */
    @ApiMember(DataType="Guid", Description="The ContactRoleConnectionId of an active connection with the contact.", Name="ConnectionId", ParameterType="query")
    open var ConnectionId:UUID? = null

    /**
    * The ContactRoleConnectionRequest of a pending connection with the contact.
    */
    @ApiMember(DataType="Guid", Description="The ContactRoleConnectionRequest of a pending connection with the contact.", Name="ConnectionRequestId", ParameterType="query")
    open var ConnectionRequestId:UUID? = null
}

open class ContactEmailAddress
{
    /**
    * The Contact Id of the contact.
    */
    @ApiMember(DataType="Guid", Description="The Contact Id of the contact.", Name="ContactId", ParameterType="query")
    open var ContactId:UUID? = null

    /**
    * The Contact Full Name
    */
    @ApiMember(DataType="string", Description="The Contact Full Name", Name="ContactName", ParameterType="query")
    open var ContactName:String? = null

    /**
    * The Contact Email Address.
    */
    @ApiMember(DataType="string", Description="The Contact Email Address.", Name="EmailAddress", ParameterType="query")
    open var EmailAddress:String? = null

    /**
    * The Contact Photo URL
    */
    @ApiMember(DataType="string", Description="The Contact Photo URL", Name="ContactPhotoURL", ParameterType="query")
    open var ContactPhotoURL:String? = null
}

Kotlin GetUserProfiles DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/profiles HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	UserId: 00000000000000000000000000000000,
	UserName: String,
	ExcludeContactDetails: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Profiles: 
	[
		{
			Roles: 
			[
				{
					RoleName: String,
					RolePrimaryImageURL: String,
					RolePrimaryImageThumbnailURL: String,
					StartDate: 0001-01-01,
					EndDate: 0001-01-01
				}
			],
			ContactConnections: 
			[
				{
					ContactRoleName: String,
					ContactRolePrimaryImageURL: String,
					ContactRolePrimaryImageThumbnailURL: String,
					ConnectionContactName: String,
					ConnectionContactRoleName: String,
					ContactTypeName: String,
					ConnectionContactPhotoURL: String,
					IsContactLicenseeRole: False,
					IsConnectionLicenseeRole: False,
					ConnectionStatusName: String
				}
			],
			EmailAddressBook: 
			[
				{
					ContactName: String,
					EmailAddress: String,
					ContactPhotoURL: String
				}
			],
			BirthDate: 0001-01-01,
			MaritalStatusName: String,
			GenderName: String,
			GenderId: 00000000000000000000000000000000,
			ContactDetails: 
			[
				{
					ContactMethodName: String,
					ContactAddress: 
					{
						Location: 
						{
							StateId: 00000000000000000000000000000000,
							StateName: String,
							SuburbId: 00000000000000000000000000000000,
							SuburbName: String,
							CountryId: 00000000000000000000000000000000,
							CountryName: String,
							LotNumber: String,
							SubUnit: String,
							BuildingNumber: String,
							PostalDeliveryNumber: String,
							StreetNumber: String,
							StreetName: String,
							AddressLineOne: String,
							AddressLineTwo: String,
							PostCode: String,
							IsPhysical: False,
							Notes: String,
							AddressFull: String,
							AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
							Latitude: 0,
							Longitude: 0,
							Timezone: 00000000000000000000000000000000,
							Estate: 
							{
								Name: String,
								Notes: String,
								DeveloperName: String,
								DeveloperProfilePhotoUrl: String,
								DeveloperProfilePhotoThumbnail: String,
								RecordStatus: String,
								Stages: 
								[
									{
										Name: String,
										Notes: String,
										RecordStatus: String
									}
								],
								CurrentEstateStageName: String
							},
							GeoEstateStageName: String,
							IgnoreValidation: False
						},
						IsPostal: False,
						IsPrimaryLocation: False,
						IsRegisteredLocation: False,
						SuburbName: String,
						StateName: String,
						CountryName: String
					},
					ContactPhone: 
					{
						CountryCode: String,
						AreaCode: String,
						LocalNumber: String
					},
					CountryId: 00000000000000000000000000000000,
					ContactDetails: String,
					Notes: String,
					ContactDetailsCode: String,
					OrderContactMethod: 0,
					IsPrimaryContactMethod: False,
					IsAddress: True,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					IsPostal: False,
					IsPhone: False,
					EmailSignatureHTML: String,
					EmailSignatureText: String,
					ApiFrameworkAlternateKey: String
				}
			],
			PrimaryStreetAddress: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			PrimaryPostalAddress: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			PrimaryRegisteredAddress: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			PrimaryEmail: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			PrimaryMobile: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			PrimaryPhone: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			PrimaryFax: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			PrimaryWeb: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			SocialMediaTwitter: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			SocialMediaFacebook: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			SocialMediaInstagram: 
			{
				ContactMethodName: String,
				ContactAddress: 
				{
					Location: 
					{
						StateId: 00000000000000000000000000000000,
						StateName: String,
						SuburbId: 00000000000000000000000000000000,
						SuburbName: String,
						CountryId: 00000000000000000000000000000000,
						CountryName: String,
						LotNumber: String,
						SubUnit: String,
						BuildingNumber: String,
						PostalDeliveryNumber: String,
						StreetNumber: String,
						StreetName: String,
						AddressLineOne: String,
						AddressLineTwo: String,
						PostCode: String,
						IsPhysical: False,
						Notes: String,
						AddressFull: String,
						AddressFormatId: 4f7bf5b4-d77c-4ac7-99d6-7a575964480d,
						Latitude: 0,
						Longitude: 0,
						Timezone: 00000000000000000000000000000000,
						Estate: 
						{
							Name: String,
							Notes: String,
							DeveloperName: String,
							DeveloperProfilePhotoUrl: String,
							DeveloperProfilePhotoThumbnail: String,
							RecordStatus: String,
							Stages: 
							[
								{
									Name: String,
									Notes: String,
									RecordStatus: String
								}
							],
							CurrentEstateStageName: String
						},
						GeoEstateStageName: String,
						IgnoreValidation: False
					},
					IsPostal: False,
					IsPrimaryLocation: False,
					IsRegisteredLocation: False,
					SuburbName: String,
					StateName: String,
					CountryName: String
				},
				ContactPhone: 
				{
					CountryCode: String,
					AreaCode: String,
					LocalNumber: String
				},
				CountryId: 00000000000000000000000000000000,
				ContactDetails: String,
				Notes: String,
				ContactDetailsCode: String,
				OrderContactMethod: 0,
				IsPrimaryContactMethod: False,
				IsAddress: True,
				IsPrimaryLocation: False,
				IsRegisteredLocation: False,
				IsPostal: False,
				IsPhone: False,
				EmailSignatureHTML: String,
				EmailSignatureText: String,
				ApiFrameworkAlternateKey: String
			},
			IsRemovedContact: False,
			IsDefault: False,
			IsEmailEditable: False,
			PrimaryImageContent: String,
			PrimaryImageContentType: String,
			PrimaryImageFileName: String,
			UserName: String,
			ProfileName: String,
			ContactFullName: String,
			EmailAddress: String,
			EmailSignature: String,
			MobileNumber: String,
			PhoneNumber: String,
			ContactTypeName: String,
			FirstName: String,
			Surname: String,
			Title: String,
			LegalName: String,
			TradingName: String,
			Abn: String,
			Acn: String,
			Arbn: String,
			GstRegistered: False,
			ESL: False,
			Language: String,
			InterpreterRequired: False,
			LicenseeNotes: String,
			ProfilePhotoUrl: String,
			ProfilePhotoThumbnailUrl: String,
			Description: String,
			EmploymentIndustry: String,
			EmploymentRole: String,
			EmploymentGeographicArea: String,
			TimezoneName: String,
			PrimaryAddress: String,
			IsActiveContact: False
		}
	]
}