Platform API

<back to all web services

UpdateVirtualContact

Requires Authentication
The following routes are available for this service:
All Verbs/api/contacts/updatevirtualcontact
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eros.Subtle.Canvara.WebAPIModel.ServiceModel;
using Eros.Saguna.Common.WebAPIModel.Models;
using Eros.Saguna.Common.WebAPI.ServiceModel;

namespace Eros.Saguna.Common.WebAPI.ServiceModel
{
    public partial class AddressModel
    {
        ///<summary>
        ///The distance between this project and another specified set of gps coordinates.
        ///</summary>
        [ApiMember(DataType="double", Description="The distance between this project and another specified set of gps coordinates.", Name="DistanceAway", ParameterType="body")]
        public virtual double DistanceAway { get; set; }

        ///<summary>
        ///The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.
        ///</summary>
        [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")]
        public virtual double Latitude { get; set; }

        ///<summary>
        ///The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.
        ///</summary>
        [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")]
        public virtual double Longitude { get; set; }

        ///<summary>
        ///Address Format Id Guid - this will be determined by the service.
        ///</summary>
        [ApiMember(DataType="Guid", Description="Address Format Id Guid - this will be determined by the service.", Name="AddressFormatId", ParameterType="body")]
        public virtual Guid AddressFormatId { get; set; }

        ///<summary>
        ///Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered.
        ///</summary>
        [ApiMember(DataType="Guid", Description="Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered.", Name="SuburbId", ParameterType="body")]
        public virtual Guid SuburbId { get; set; }

        ///<summary>
        ///The suburb name.
        ///</summary>
        [ApiMember(DataType="string", Description="The suburb name.", Name="SuburbName", ParameterType="body")]
        public virtual string SuburbName { get; set; }

        ///<summary>
        ///The shortened State Name e.g Vic for Victoria.
        ///</summary>
        [ApiMember(DataType="string", Description="The shortened State Name e.g Vic for Victoria.", Name="StateShortName", ParameterType="body")]
        public virtual string StateShortName { get; set; }

        ///<summary>
        ///The suburb postcode.
        ///</summary>
        [ApiMember(DataType="string", Description="The suburb postcode.", Name="PostCode", ParameterType="body")]
        public virtual string PostCode { get; set; }

        ///<summary>
        ///Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered.
        ///</summary>
        [ApiMember(DataType="Guid", Description="Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered.", Name="CountryId", ParameterType="body")]
        public virtual Guid CountryId { get; set; }

        ///<summary>
        ///the name of the country the address is within.
        ///</summary>
        [ApiMember(DataType="string", Description="the name of the country the address is within.", Name="CountryName", ParameterType="body")]
        public virtual string CountryName { get; set; }

        ///<summary>
        ///ISO Country Code.
        ///</summary>
        [ApiMember(Description="ISO Country Code.", ParameterType="query")]
        public virtual string ISOCountryCode { get; set; }

        ///<summary>
        ///The address Lot number.
        ///</summary>
        [ApiMember(DataType="string", Description="The address Lot number.", Name="LotNumber", ParameterType="body")]
        public virtual string LotNumber { get; set; }

        ///<summary>
        ///The address Sub Unit number.
        ///</summary>
        [ApiMember(DataType="string", Description="The address Sub Unit number.", Name="SubUnit", ParameterType="body")]
        public virtual string SubUnit { get; set; }

        ///<summary>
        ///The address building number.
        ///</summary>
        [ApiMember(DataType="string", Description="The address building number.", Name="BuildingNumber", ParameterType="body")]
        public virtual string BuildingNumber { get; set; }

        ///<summary>
        ///The address street number.
        ///</summary>
        [ApiMember(DataType="string", Description="The address street number.", Name="StreetNumber", ParameterType="body")]
        public virtual string StreetNumber { get; set; }

        ///<summary>
        ///The address street name including street type.
        ///</summary>
        [ApiMember(DataType="string", Description="The address street name including street type.", Name="StreetName", ParameterType="body")]
        public virtual string StreetName { get; set; }

        ///<summary>
        ///A formatted address Line 1.
        ///</summary>
        [ApiMember(DataType="string", Description="A formatted address Line 1.", Name="AddressLineOne", ParameterType="body")]
        public virtual string AddressLineOne { get; set; }

        ///<summary>
        ///A formatted address Line 2.
        ///</summary>
        [ApiMember(DataType="string", Description="A formatted address Line 2.", Name="AddressLineTwo", ParameterType="body")]
        public virtual string AddressLineTwo { get; set; }

        ///<summary>
        ///The full address string.
        ///</summary>
        [ApiMember(DataType="string", Description="The full address string.", Name="AddressFull", ParameterType="body")]
        public virtual string AddressFull { get; set; }

        ///<summary>
        ///True if the address is a physical location.
        ///</summary>
        [ApiMember(DataType="bool?", Description="True if the address is a physical location.", Name="IsPhysical", ParameterType="body")]
        public virtual bool? IsPhysical { get; set; }

        ///<summary>
        ///Notes about the address.
        ///</summary>
        [ApiMember(DataType="string", Description="Notes about the address.", Name="Notes")]
        public virtual string Notes { get; set; }

        ///<summary>
        ///If true, the address is eligible for having its coordinates calculated/updated.
        ///</summary>
        [ApiMember(DataType="bool?", Description="If true, the address is eligible for having its coordinates calculated/updated.", Name="AutoMapCoordinates", ParameterType="body")]
        public virtual bool? AutoMapCoordinates { get; set; }

        ///<summary>
        ///Location Coordinates for the address.
        ///</summary>
        [ApiMember(DataType="LocationCoordinates", Description="Location Coordinates for the address.", Name="LocationCoordinates", ParameterType="body")]
        public virtual LocationCoordinatesModel LocationCoordinates { get; set; }
    }

    public partial class ContactAddressModel
    {
        ///<summary>
        ///Address Details
        ///</summary>
        [ApiMember(DataType="AddressModel", Description="Address Details", Name="Address", ParameterType="body")]
        public virtual AddressModel Address { get; set; }

        ///<summary>
        ///True if this is a postal address.
        ///</summary>
        [ApiMember(DataType="bool", Description="True if this is a postal address.", Name="IsPostal", ParameterType="body")]
        public virtual bool IsPostal { get; set; }

        ///<summary>
        ///True if this is the primary address.
        ///</summary>
        [ApiMember(DataType="bool", Description="True if this is the primary address.", Name="IsPrimaryLocation", ParameterType="body")]
        public virtual bool IsPrimaryLocation { get; set; }

        ///<summary>
        ///True if this address is the registered tax address.
        ///</summary>
        [ApiMember(DataType="bool", Description="True if this address is the registered tax address.", Name="IsRegisteredLocation", ParameterType="body")]
        public virtual bool IsRegisteredLocation { get; set; }

        ///<summary>
        ///Suburb Name
        ///</summary>
        [ApiMember(DataType="string", Description="Suburb Name", Name="SuburbName", ParameterType="body")]
        public virtual string SuburbName { get; set; }

        ///<summary>
        ///State Name
        ///</summary>
        [ApiMember(DataType="string", Description="State Name", Name="StateName", ParameterType="body")]
        public virtual string StateName { get; set; }

        ///<summary>
        ///Country Name
        ///</summary>
        [ApiMember(DataType="string", Description="Country Name", Name="CountryName", ParameterType="body")]
        public virtual string CountryName { get; set; }
    }

    public partial class ContactDetailModel
    {
        ///<summary>
        ///Id of the Contact Method
        ///</summary>
        [ApiMember(DataType="Guid", Description="Id of the Contact Method", Name="ContactMethodId", ParameterType="body")]
        public virtual Guid ContactMethodId { get; set; }

        ///<summary>
        ///Contact Method Name
        ///</summary>
        [ApiMember(DataType="string", Description="Contact Method Name", Name="ContactMethodName", ParameterType="body")]
        public virtual string ContactMethodName { get; set; }

        ///<summary>
        ///If the contact method is an address, this will contain the address details.
        ///</summary>
        [ApiMember(DataType="ContactAddressModel", Description="If the contact method is an address, this will contain the address details.", Name="ContactAddress", ParameterType="body")]
        public virtual ContactAddressModel ContactAddress { get; set; }

        ///<summary>
        ///If the contact method is a phone, this will contain the phone details
        ///</summary>
        [ApiMember(DataType="PhoneModel", Description="If the contact method is a phone, this will contain the phone details", Name="ContactPhone", ParameterType="body")]
        public virtual PhoneModel ContactPhone { get; set; }

        ///<summary>
        ///Id of the country
        ///</summary>
        [ApiMember(DataType="Guid?", Description="Id of the country", Name="CountryId", ParameterType="body")]
        public virtual Guid? CountryId { get; set; }

        ///<summary>
        ///A summary string representing the contact details
        ///</summary>
        [ApiMember(DataType="string", Description="A summary string representing the contact details", Name="ContactDetails", ParameterType="body")]
        public virtual string ContactDetails { get; set; }

        ///<summary>
        ///Notes about the contact details
        ///</summary>
        [ApiMember(DataType="string", Description="Notes about the contact details", Name="Notes", ParameterType="body")]
        public virtual string Notes { get; set; }

        ///<summary>
        ///Area Code if contact details are a phone number
        ///</summary>
        [ApiMember(DataType="string", Description="Area Code if contact details are a phone number", Name="ContactDetailsCode", ParameterType="body")]
        public virtual string ContactDetailsCode { get; set; }

        ///<summary>
        ///Order number of the contact method
        ///</summary>
        [ApiMember(DataType="int", Description="Order number of the contact method", Name="OrderContactMethod", ParameterType="body")]
        public virtual int OrderContactMethod { get; set; }

        ///<summary>
        ///True if this is the primary contact method
        ///</summary>
        [ApiMember(DataType="bool", Description="True if this is the primary contact method", Name="IsPrimaryContactMethod", ParameterType="body")]
        public virtual bool IsPrimaryContactMethod { get; set; }

        ///<summary>
        ///True if this contact method is an address
        ///</summary>
        [ApiMember(DataType="bool", Description="True if this contact method is an address", Name="IsAddress", ParameterType="body")]
        public virtual bool IsAddress { get; set; }
    }

    public partial class LocationCoordinatesModel
    {
        ///<summary>
        ///The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.
        ///</summary>
        [ApiMember(Description="The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.", ParameterType="query")]
        public virtual double Latitude { get; set; }

        ///<summary>
        ///The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.
        ///</summary>
        [ApiMember(Description="The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.", ParameterType="query")]
        public virtual double Longitude { get; set; }

        ///<summary>
        ///The altitude of an address - the altitude above sea level."
        ///</summary>
        [ApiMember(Description="The altitude of an address - the altitude above sea level.\"", ParameterType="query")]
        public virtual double? Altitude { get; set; }

        ///<summary>
        ///Accuracy of the latitude and longitude.
        ///</summary>
        [ApiMember(Description="Accuracy of the latitude and longitude.", ParameterType="query")]
        public virtual double? Accuracy { get; set; }

        ///<summary>
        ///Accurancy of the Altitude.
        ///</summary>
        [ApiMember(Description="Accurancy of the Altitude.", ParameterType="query")]
        public virtual double? AltitudeAccuracy { get; set; }

        ///<summary>
        ///Direction you are heading.
        ///</summary>
        [ApiMember(Description="Direction you are heading.", ParameterType="query")]
        public virtual double? Heading { get; set; }

        ///<summary>
        ///Speed you are going.
        ///</summary>
        [ApiMember(Description="Speed you are going.", ParameterType="query")]
        public virtual double? Speed { get; set; }

        ///<summary>
        ///Speed your altitude is ascending/descending at.
        ///</summary>
        [ApiMember(Description="Speed your altitude is ascending/descending at.", ParameterType="query")]
        public virtual double? VerticalSpeed { get; set; }
    }

    public partial class PhoneModel
    {
        ///<summary>
        ///Country Code
        ///</summary>
        [ApiMember(DataType="string", Description="Country Code", Name="CountryCode", ParameterType="body")]
        public virtual string CountryCode { get; set; }

        ///<summary>
        ///Area Code
        ///</summary>
        [ApiMember(DataType="string", Description="Area Code", Name="AreaCode", ParameterType="body")]
        public virtual string AreaCode { get; set; }

        ///<summary>
        ///Local Number
        ///</summary>
        [ApiMember(DataType="string", Description="Local Number", Name="LocalNumber", ParameterType="body")]
        public virtual string LocalNumber { get; set; }
    }

}

namespace Eros.Saguna.Common.WebAPIModel.Models
{
    public partial class ContactAddressModel
    {
        ///<summary>
        ///Location Details.
        ///</summary>
        [ApiMember(DataType="GeoLocationModel", Description="Location Details.", Name="Location", ParameterType="query")]
        public virtual GeoLocationModel Location { get; set; }

        ///<summary>
        ///Is address postal.
        ///</summary>
        [ApiMember(DataType="bool", Description="Is address postal.", Name="IsPostal", ParameterType="query")]
        public virtual bool IsPostal { get; set; }

        ///<summary>
        ///Is address primary.
        ///</summary>
        [ApiMember(DataType="bool", Description="Is address primary.", Name="IsPrimaryLocation", ParameterType="query")]
        public virtual bool IsPrimaryLocation { get; set; }

        ///<summary>
        ///Is address registered.
        ///</summary>
        [ApiMember(DataType="bool", Description="Is address registered.", Name="IsRegisteredLocation", ParameterType="query")]
        public virtual bool IsRegisteredLocation { get; set; }

        ///<summary>
        ///Contact Address Id.
        ///</summary>
        [ApiMember(DataType="Guid", Description="Contact Address Id.", Name="ContactAddressId", ParameterType="query")]
        public virtual Guid ContactAddressId { get; set; }

        ///<summary>
        ///Contact Address Suburb Name.
        ///</summary>
        [ApiMember(DataType="string", Description="Contact Address Suburb Name.", Name="SuburbName", ParameterType="query")]
        public virtual string SuburbName { get; set; }

        ///<summary>
        ///Contact Address Street Name.
        ///</summary>
        [ApiMember(DataType="string", Description="Contact Address Street Name.", Name="StateName", ParameterType="query")]
        public virtual string StateName { get; set; }

        ///<summary>
        ///Contact Country Name.
        ///</summary>
        [ApiMember(DataType="string", Description="Contact Country Name.", Name="CountryName", ParameterType="query")]
        public virtual string CountryName { get; set; }
    }

    public partial class ContactDetailModel
    {
        ///<summary>
        ///Contact Method Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="Contact Method Id", Name="ContactMethodId", ParameterType="query")]
        public virtual Guid ContactMethodId { get; set; }

        ///<summary>
        ///Contact Method Name
        ///</summary>
        [ApiMember(DataType="string", Description="Contact Method Name", Name="ContactMethodName", ParameterType="query")]
        public virtual string ContactMethodName { get; set; }

        ///<summary>
        ///Contact Address Details
        ///</summary>
        [ApiMember(DataType="ContactAddressModel", Description="Contact Address Details", Name="ContactAddress", ParameterType="query")]
        public virtual ContactAddressModel ContactAddress { get; set; }

        ///<summary>
        ///Contact Phone Details
        ///</summary>
        [ApiMember(DataType="PhoneModel", Description="Contact Phone Details", Name="ContactPhone", ParameterType="query")]
        public virtual PhoneModel ContactPhone { get; set; }

        ///<summary>
        ///Country id
        ///</summary>
        [ApiMember(DataType="Guid", Description="Country id", Name="CountryId", ParameterType="query")]
        public virtual Guid? CountryId { get; set; }

        ///<summary>
        ///Contact Details
        ///</summary>
        [ApiMember(DataType="string", Description="Contact Details", Name="ContactDetails", ParameterType="query")]
        public virtual string ContactDetails { get; set; }

        ///<summary>
        ///Notes
        ///</summary>
        [ApiMember(DataType="string", Description="Notes", Name="Notes", ParameterType="query")]
        public virtual string Notes { get; set; }

        ///<summary>
        ///Contact Details Code
        ///</summary>
        [ApiMember(DataType="string", Description="Contact Details Code", Name="ContactDetailsCode", ParameterType="query")]
        public virtual string ContactDetailsCode { get; set; }

        ///<summary>
        ///Order of Contact Method Id
        ///</summary>
        [ApiMember(DataType="int", Description="Order of Contact Method Id", Name="OrderContactMethod", ParameterType="query")]
        public virtual int OrderContactMethod { get; set; }

        ///<summary>
        ///Contact Method Id
        ///</summary>
        [ApiMember(DataType="bool", Description="Contact Method Id", Name="IsPrimaryContactMethod", ParameterType="query")]
        public virtual bool IsPrimaryContactMethod { get; set; }

        ///<summary>
        ///Is contact details an address
        ///</summary>
        [ApiMember(DataType="bool", Description="Is contact details an address", Name="IsAddress", ParameterType="query")]
        public virtual bool IsAddress { get; set; }

        ///<summary>
        ///Contact Contact Detail Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="Contact Contact Detail Id", Name="ContactContactDetailId", ParameterType="query")]
        public virtual Guid ContactContactDetailId { get; set; }

        ///<summary>
        ///Contact Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="Contact Id", Name="ContactId", ParameterType="query")]
        public virtual Guid ContactId { get; set; }

        ///<summary>
        ///Contact Details Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="Contact Details Id", Name="ContactDetailId", ParameterType="query")]
        public virtual Guid ContactDetailId { get; set; }

        ///<summary>
        ///Is contact details a primary location
        ///</summary>
        [ApiMember(DataType="bool", Description="Is contact details a primary location", Name="IsPrimaryLocation", ParameterType="query")]
        public virtual bool IsPrimaryLocation { get; set; }

        ///<summary>
        ///Is contact details a registered location
        ///</summary>
        [ApiMember(DataType="bool", Description="Is contact details a registered location", Name="IsRegisteredLocation", ParameterType="query")]
        public virtual bool IsRegisteredLocation { get; set; }

        ///<summary>
        ///Is contact details a postal address
        ///</summary>
        [ApiMember(DataType="bool", Description="Is contact details a postal address", Name="IsPostal", ParameterType="query")]
        public virtual bool IsPostal { get; set; }

        ///<summary>
        ///Is contact details a phone number
        ///</summary>
        [ApiMember(DataType="bool", Description="Is contact details a phone number", Name="IsPhone", ParameterType="query")]
        public virtual bool IsPhone { get; set; }

        ///<summary>
        ///Email Signature Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="Email Signature Id", Name="EmailSignatureId", ParameterType="query")]
        public virtual Guid EmailSignatureId { get; set; }

        ///<summary>
        ///Email Signature HTML
        ///</summary>
        [ApiMember(DataType="string", Description="Email Signature HTML", Name="EmailSignatureHTML", ParameterType="query")]
        public virtual string EmailSignatureHTML { get; set; }

        ///<summary>
        ///Email Signature Text
        ///</summary>
        [ApiMember(DataType="string", Description="Email Signature Text", Name="EmailSignatureText", ParameterType="query")]
        public virtual string EmailSignatureText { get; set; }

        ///<summary>
        ///API Key from Framework
        ///</summary>
        [ApiMember(DataType="string", Description="API Key from Framework", Name="ApiFrameworkAlternateKey", ParameterType="query")]
        public virtual string ApiFrameworkAlternateKey { get; set; }
    }

    public partial class GeoEstateModel
    {
        public virtual Guid GeoEstateId { get; set; }
        public virtual string Name { get; set; }
        public virtual string Notes { get; set; }
        public virtual Guid DeveloperContactId { get; set; }
        public virtual string DeveloperName { get; set; }
        public virtual string DeveloperProfilePhotoUrl { get; set; }
        public virtual string DeveloperProfilePhotoThumbnail { get; set; }
        public virtual string RecordStatus { get; set; }
        public virtual List<GeoEstateStageModel> Stages { get; set; }
        public virtual Guid CurrentEstateStageId { get; set; }
        public virtual string CurrentEstateStageName { get; set; }
    }

    public partial class GeoEstateStageModel
    {
        public virtual Guid GeoEstateStageId { get; set; }
        public virtual Guid GeoEstateId { get; set; }
        public virtual string Name { get; set; }
        public virtual string Notes { get; set; }
        public virtual string RecordStatus { get; set; }
    }

    public partial class GeoLocationModel
    {
        ///<summary>
        ///The location id
        ///</summary>
        [ApiMember(DataType="Guid", Description="The location id", Name="GeoLocationId", ParameterType="query")]
        public virtual Guid GeoLocationId { get; set; }

        ///<summary>
        ///The state id
        ///</summary>
        [ApiMember(DataType="Guid", Description="The state id", Name="StateId", ParameterType="query")]
        public virtual Guid? StateId { get; set; }

        ///<summary>
        ///The state name
        ///</summary>
        [ApiMember(DataType="string", Description="The state name", Name="StateName", ParameterType="query")]
        public virtual string StateName { get; set; }

        ///<summary>
        ///The suburb id
        ///</summary>
        [ApiMember(DataType="Guid", Description="The suburb id", Name="SuburbId", ParameterType="query")]
        public virtual Guid? SuburbId { get; set; }

        ///<summary>
        ///The suburb name
        ///</summary>
        [ApiMember(DataType="string", Description="The suburb name", Name="SuburbName", ParameterType="query")]
        public virtual string SuburbName { get; set; }

        ///<summary>
        ///The country id
        ///</summary>
        [ApiMember(DataType="Guid", Description="The country id", Name="CountryId", ParameterType="query")]
        public virtual Guid? CountryId { get; set; }

        ///<summary>
        ///The country name
        ///</summary>
        [ApiMember(DataType="string", Description="The country name", Name="CountryName", ParameterType="query")]
        public virtual string CountryName { get; set; }

        ///<summary>
        ///The lot number
        ///</summary>
        [ApiMember(DataType="string", Description="The lot number", Name="LotNumber", ParameterType="query")]
        public virtual string LotNumber { get; set; }

        ///<summary>
        ///The unit number
        ///</summary>
        [ApiMember(DataType="string", Description="The unit number", Name="SubUnit", ParameterType="query")]
        public virtual string SubUnit { get; set; }

        ///<summary>
        ///The building number
        ///</summary>
        [ApiMember(DataType="string", Description="The building number", Name="BuildingNumber", ParameterType="query")]
        public virtual string BuildingNumber { get; set; }

        ///<summary>
        ///PO Box Number
        ///</summary>
        [ApiMember(DataType="string", Description="PO Box Number", Name="PostalDeliveryNumber", ParameterType="query")]
        public virtual string PostalDeliveryNumber { get; set; }

        ///<summary>
        ///The Street Number
        ///</summary>
        [ApiMember(DataType="string", Description="The Street Number", Name="StreetNumber", ParameterType="query")]
        public virtual string StreetNumber { get; set; }

        ///<summary>
        ///The Street name
        ///</summary>
        [ApiMember(DataType="string", Description="The Street name", Name="StreetName", ParameterType="query")]
        public virtual string StreetName { get; set; }

        ///<summary>
        ///Address Line ONe
        ///</summary>
        [ApiMember(DataType="string", Description="Address Line ONe", Name="AddressLineOne", ParameterType="query")]
        public virtual string AddressLineOne { get; set; }

        ///<summary>
        ///Address Line Two
        ///</summary>
        [ApiMember(DataType="string", Description="Address Line Two", Name="AddressLineTwo", ParameterType="query")]
        public virtual string AddressLineTwo { get; set; }

        ///<summary>
        ///Post code
        ///</summary>
        [ApiMember(DataType="string", Description="Post code", Name="PostCode", ParameterType="query")]
        public virtual string PostCode { get; set; }

        ///<summary>
        ///Is location physical
        ///</summary>
        [ApiMember(DataType="bool", Description="Is location physical", Name="IsPhysical", ParameterType="query")]
        public virtual bool IsPhysical { get; set; }

        ///<summary>
        ///Notes about the location
        ///</summary>
        [ApiMember(DataType="string", Description="Notes about the location", Name="Notes", ParameterType="query")]
        public virtual string Notes { get; set; }

        ///<summary>
        ///The address in full
        ///</summary>
        [ApiMember(DataType="string", Description="The address in full", Name="AddressFull", ParameterType="query")]
        public virtual string AddressFull { get; set; }

        ///<summary>
        ///Address format id.
        ///</summary>
        [ApiMember(DataType="Guid", Description="Address format id.", Name="AddressFormatId", ParameterType="query")]
        public virtual Guid AddressFormatId { get; set; }

        ///<summary>
        ///Latitude
        ///</summary>
        [ApiMember(DataType="double", Description="Latitude", Name="Latitude", ParameterType="query")]
        public virtual double Latitude { get; set; }

        ///<summary>
        ///Longitude
        ///</summary>
        [ApiMember(DataType="double", Description="Longitude", Name="Longitude", ParameterType="query")]
        public virtual double Longitude { get; set; }

        ///<summary>
        ///Timezone Id
        ///</summary>
        [ApiMember(DataType="Guid?", Description="Timezone Id", Name="Timezone", ParameterType="query")]
        public virtual Guid? Timezone { get; set; }

        public virtual GeoEstateModel Estate { get; set; }
        public virtual Guid GeoEstateId { get; set; }
        public virtual Guid GeoEstateStageId { get; set; }
        public virtual string GeoEstateStageName { get; set; }
        public virtual bool IgnoreValidation { get; set; }
    }

    public partial class PhoneModel
    {
        ///<summary>
        ///Phone Country Code.
        ///</summary>
        [ApiMember(DataType="string", Description="Phone Country Code.", Name="CountryCode", ParameterType="query")]
        public virtual string CountryCode { get; set; }

        ///<summary>
        ///Phone Area Code.
        ///</summary>
        [ApiMember(DataType="string", Description="Phone Area Code.", Name="AreaCode", ParameterType="query")]
        public virtual string AreaCode { get; set; }

        ///<summary>
        ///Phone Local Number.
        ///</summary>
        [ApiMember(DataType="string", Description="Phone Local Number.", Name="LocalNumber", ParameterType="query")]
        public virtual string LocalNumber { get; set; }
    }

    public partial class UserProfileModel
        : UserProfileSummaryModel
    {
        ///<summary>
        ///Contact Date of Birth (when person type)
        ///</summary>
        [ApiMember(DataType="DateTime?", Description="Contact Date of Birth (when person type)", Name="BirthDate", ParameterType="query")]
        public virtual DateTime? BirthDate { get; set; }

        ///<summary>
        ///Contact marital status (when person type)
        ///</summary>
        [ApiMember(DataType="string", Description="Contact marital status (when person type)", Name="MaritalStatusName", ParameterType="query")]
        public virtual string MaritalStatusName { get; set; }

        ///<summary>
        ///Contact gender (when person type)
        ///</summary>
        [ApiMember(DataType="string", Description="Contact gender (when person type)", Name="GenderName", ParameterType="query")]
        public virtual string GenderName { get; set; }

        ///<summary>
        ///The Gender Guid of the contact.
        ///</summary>
        [ApiMember(DataType="Guid", Description="The Gender Guid of the contact.", Name="GenderId", ParameterType="query")]
        public virtual Guid? GenderId { get; set; }

        ///<summary>
        ///All contact details of the contact
        ///</summary>
        [ApiMember(DataType="List<ContactDetailModel>", Description="All contact details of the contact", Name="ContactDetails", ParameterType="query")]
        public virtual List<ContactDetailModel> ContactDetails { get; set; }

        ///<summary>
        ///Primary Street Address
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Primary Street Address", Name="PrimaryStreetAddress ")]
        public virtual ContactDetailModel PrimaryStreetAddress { get; set; }

        ///<summary>
        ///Primary Postal Address
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Primary Postal Address", Name="PrimaryPostalAddress ")]
        public virtual ContactDetailModel PrimaryPostalAddress { get; set; }

        ///<summary>
        ///Primary Registered Address
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Primary Registered Address", Name="PrimaryRegisteredAddress ")]
        public virtual ContactDetailModel PrimaryRegisteredAddress { get; set; }

        ///<summary>
        ///Primary Email Address
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Primary Email Address", Name="PrimaryEmail ")]
        public virtual ContactDetailModel PrimaryEmail { get; set; }

        ///<summary>
        ///Primary Mobile Number
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Primary Mobile Number", Name="PrimaryMobile")]
        public virtual ContactDetailModel PrimaryMobile { get; set; }

        ///<summary>
        ///Primary Non-Mobile Number
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Primary Non-Mobile Number", Name="PrimaryPhone")]
        public virtual ContactDetailModel PrimaryPhone { get; set; }

        ///<summary>
        ///Primary Fax Number
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Primary Fax Number", Name="PrimaryFax")]
        public virtual ContactDetailModel PrimaryFax { get; set; }

        ///<summary>
        ///Primary Web Address
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Primary Web Address", Name="PrimaryWeb")]
        public virtual ContactDetailModel PrimaryWeb { get; set; }

        ///<summary>
        ///Social Media Twitter
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Social Media Twitter", Name="SocialMediaTwitter")]
        public virtual ContactDetailModel SocialMediaTwitter { get; set; }

        ///<summary>
        ///Social Media Facebook
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Social Media Facebook", Name="SocialMediaFacebook")]
        public virtual ContactDetailModel SocialMediaFacebook { get; set; }

        ///<summary>
        ///Social Media Instagram
        ///</summary>
        [ApiMember(DataType="ContactDetail", Description="Social Media Instagram", Name="SocialMediaInstagram")]
        public virtual ContactDetailModel SocialMediaInstagram { get; set; }

        ///<summary>
        ///Have all connections to the contact been removed?
        ///</summary>
        [ApiMember(DataType="bool", Description="Have all connections to the contact been removed?", Name="IsRemovedContact")]
        public virtual bool IsRemovedContact { get; set; }

        ///<summary>
        ///True if this is the users default profile.
        ///</summary>
        [ApiMember(DataType="bool", Description="True if this is the users default profile.", Name="IsDefault", ParameterType="query")]
        public virtual bool IsDefault { get; set; }

        ///<summary>
        ///True if the users email on this profile can be edited.
        ///</summary>
        [ApiMember(DataType="bool", Description="True if the users email on this profile can be edited.", Name="IsEmailEditable", ParameterType="query")]
        public virtual bool IsEmailEditable { get; set; }

        ///<summary>
        ///Primary image Content sent as a file stream contents (if not attached to the request)
        ///</summary>
        [ApiMember(DataType="string", Description="Primary image Content sent as a file stream contents (if not attached to the request)", Name="PrimaryImageContent")]
        public virtual string PrimaryImageContent { get; set; }

        ///<summary>
        ///Primary image Content type sent as a file stream contents (if not attached to the request)
        ///</summary>
        [ApiMember(DataType="string", Description="Primary image Content type sent as a file stream contents (if not attached to the request)", Name="PrimaryImageContentType")]
        public virtual string PrimaryImageContentType { get; set; }

        ///<summary>
        ///Primary image file name
        ///</summary>
        [ApiMember(DataType="string", Description="Primary image file name", Name="PrimaryImageFileName")]
        public virtual string PrimaryImageFileName { get; set; }
    }

    public partial class UserProfileSummaryModel
    {
        ///<summary>
        ///User Profile Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="User Profile Id", Name="UserProfileId")]
        public virtual Guid UserProfileId { get; set; }

        ///<summary>
        ///User linked to the profile
        ///</summary>
        [ApiMember(DataType="Guid", Description="User linked to the profile", Name="UserId")]
        public virtual Guid UserId { get; set; }

        ///<summary>
        ///Contact linked to the profile
        ///</summary>
        [ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")]
        public virtual Guid ContactId { get; set; }

        ///<summary>
        ///User linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="User linked to the profile", Name="UserName")]
        public virtual string UserName { get; set; }

        ///<summary>
        ///User Profile Name
        ///</summary>
        [ApiMember(DataType="string", Description="User Profile Name", Name="ProfileName")]
        public virtual string ProfileName { get; set; }

        ///<summary>
        ///Full name of the contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Full name of the contact linked to the profile", Name="ContactFullName")]
        public virtual string ContactFullName { get; set; }

        ///<summary>
        ///Email Address of the contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Email Address of the contact linked to the profile", Name="EmailAddress")]
        public virtual string EmailAddress { get; set; }

        ///<summary>
        ///Email signature of the contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Email signature of the contact linked to the profile", Name="EmailSignature")]
        public virtual string EmailSignature { get; set; }

        ///<summary>
        ///Mobile number of the contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Mobile number of the contact linked to the profile", Name="MobileNumber")]
        public virtual string MobileNumber { get; set; }

        ///<summary>
        ///Phone number of the contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Phone number of the contact linked to the profile", Name="PhoneNumber")]
        public virtual string PhoneNumber { get; set; }

        ///<summary>
        ///Type of contact (person, organisation etc.) linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Type of contact (person, organisation etc.) linked to the profile", Name="ContactTypeId")]
        public virtual Guid ContactTypeId { get; set; }

        ///<summary>
        ///Type of contact (person, organisation etc.) linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Type of contact (person, organisation etc.) linked to the profile", Name="ContactTypeName")]
        public virtual string ContactTypeName { get; set; }

        ///<summary>
        ///First name of the contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="First name of the contact linked to the profile", Name="FirstName")]
        public virtual string FirstName { get; set; }

        ///<summary>
        ///Surname of the contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Surname of the contact linked to the profile", Name="Surname")]
        public virtual string Surname { get; set; }

        ///<summary>
        ///Title of contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Title of contact linked to the profile", Name="Title")]
        public virtual string Title { get; set; }

        ///<summary>
        ///Legal name of contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Legal name of contact linked to the profile", Name="LegalName")]
        public virtual string LegalName { get; set; }

        ///<summary>
        ///Trading name of contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Trading name of contact linked to the profile", Name="TradingName")]
        public virtual string TradingName { get; set; }

        ///<summary>
        ///Australian Business Number
        ///</summary>
        [ApiMember(DataType="string", Description="Australian Business Number", Name="Abn", ParameterType="query")]
        public virtual string Abn { get; set; }

        ///<summary>
        ///Australian Company Number
        ///</summary>
        [ApiMember(DataType="string", Description="Australian Company Number", Name="Acn", ParameterType="query")]
        public virtual string Acn { get; set; }

        ///<summary>
        ///Australian Registered Body Number
        ///</summary>
        [ApiMember(DataType="string", Description="Australian Registered Body Number", Name="Arbn", ParameterType="query")]
        public virtual string Arbn { get; set; }

        ///<summary>
        ///Indicates if the Contact is registered for GST.
        ///</summary>
        [ApiMember(DataType="bool", Description="Indicates if the Contact is registered for GST.", Name="GstRegistered", ParameterType="query")]
        public virtual bool GstRegistered { get; set; }

        ///<summary>
        ///True if english is a secondary language for the contact.
        ///</summary>
        [ApiMember(DataType="bool", Description="True if english is a secondary language for the contact.", Name="ESL", ParameterType="query")]
        public virtual bool ESL { get; set; }

        ///<summary>
        ///Language that is the primary language for the contact.
        ///</summary>
        [ApiMember(DataType="string", Description="Language that is the primary language for the contact.", Name="Language", ParameterType="query")]
        public virtual string Language { get; set; }

        ///<summary>
        ///True if an interpreter is required.
        ///</summary>
        [ApiMember(DataType="bool", Description="True if an interpreter is required.", Name="InterpreterRequired", ParameterType="query")]
        public virtual bool InterpreterRequired { get; set; }

        ///<summary>
        ///Licensee specific notes about the contact.
        ///</summary>
        [ApiMember(DataType="string", Description="Licensee specific notes about the contact.", Name="LicenseeNotes", ParameterType="query")]
        public virtual string LicenseeNotes { get; set; }

        ///<summary>
        ///Profile photo of contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Profile photo of contact linked to the profile", Name="ProfilePhotoUrl")]
        public virtual string ProfilePhotoUrl { get; set; }

        ///<summary>
        ///Thumbnail photo of contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Thumbnail photo of contact linked to the profile", Name="ProfilePhotoThumbnailUrl")]
        public virtual string ProfilePhotoThumbnailUrl { get; set; }

        ///<summary>
        ///Profile photo id of contact linked to the profile
        ///</summary>
        [ApiMember(DataType="Guid", Description="Profile photo id of contact linked to the profile", Name="ProfileImageId")]
        public virtual Guid ProfileImageId { get; set; }

        ///<summary>
        ///Profile description
        ///</summary>
        [ApiMember(DataType="string", Description="Profile description", Name="Description")]
        public virtual string Description { get; set; }

        ///<summary>
        ///Employment Industry
        ///</summary>
        [ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry")]
        public virtual string EmploymentIndustry { get; set; }

        ///<summary>
        ///Employment Role
        ///</summary>
        [ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole")]
        public virtual string EmploymentRole { get; set; }

        ///<summary>
        ///Areas of Work
        ///</summary>
        [ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea")]
        public virtual string EmploymentGeographicArea { get; set; }

        ///<summary>
        ///The contacts timezone.
        ///</summary>
        [ApiMember(DataType="Guid", Description="The contacts timezone.", Name="Timezone", ParameterType="query")]
        public virtual Guid Timezone { get; set; }

        ///<summary>
        ///Timezone Name
        ///</summary>
        [ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query")]
        public virtual string TimezoneName { get; set; }

        ///<summary>
        ///The primary address of the contact
        ///</summary>
        [ApiMember(DataType="string", Description="The primary address of the contact", Name="PrimaryAddress", ParameterType="query")]
        public virtual string PrimaryAddress { get; set; }

        ///<summary>
        ///Is this an active contact? Or an inactive contact (deleted account)?
        ///</summary>
        [ApiMember(DataType="bool", Description="Is this an active contact? Or an inactive contact (deleted account)?", Name="IsActiveContact")]
        public virtual bool IsActiveContact { get; set; }
    }

}

namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel
{
    public partial class UpdateVirtualContact
    {
        public virtual UserProfileModel UserProfile { get; set; }
    }

    public partial class UpdateVirtualContactResponse
    {
        public virtual bool Success { get; set; }
        public virtual string Message { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

C# UpdateVirtualContact 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/contacts/updatevirtualcontact HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	UserProfile: 
	{
		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
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Success: False,
	Message: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}