Platform API

<back to all web services

GetContactsForRoles

Get contacts connected to the current contact or licensee (if managing licensee contacts) by role

Requires Authentication
The following routes are available for this service:
All Verbs/api/contactsforroles
import 'package:servicestack/servicestack.dart';

class UserProfileSummaryModel implements IConvertible
{
    /**
    * User Profile Id
    */
    // @ApiMember(DataType="Guid", Description="User Profile Id", Name="UserProfileId")
    String? UserProfileId;

    /**
    * User linked to the profile
    */
    // @ApiMember(DataType="Guid", Description="User linked to the profile", Name="UserId")
    String? UserId;

    /**
    * Contact linked to the profile
    */
    // @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")
    String? ContactId;

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

    /**
    * User Profile Name
    */
    // @ApiMember(DataType="string", Description="User Profile Name", Name="ProfileName")
    String? ProfileName;

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

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

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

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

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

    /**
    * 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")
    String? ContactTypeId;

    /**
    * 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")
    String? ContactTypeName;

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

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

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

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

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

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

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

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

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

    /**
    * 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")
    bool? ESL;

    /**
    * 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")
    String? Language;

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

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

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

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

    /**
    * Profile photo id of contact linked to the profile
    */
    // @ApiMember(DataType="Guid", Description="Profile photo id of contact linked to the profile", Name="ProfileImageId")
    String? ProfileImageId;

    /**
    * Profile description
    */
    // @ApiMember(DataType="string", Description="Profile description", Name="Description")
    String? Description;

    /**
    * Employment Industry
    */
    // @ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry")
    String? EmploymentIndustry;

    /**
    * Employment Role
    */
    // @ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole")
    String? EmploymentRole;

    /**
    * Areas of Work
    */
    // @ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea")
    String? EmploymentGeographicArea;

    /**
    * The contacts timezone.
    */
    // @ApiMember(DataType="Guid", Description="The contacts timezone.", Name="Timezone", ParameterType="query")
    String? Timezone;

    /**
    * Timezone Name
    */
    // @ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query")
    String? TimezoneName;

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

    /**
    * 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")
    bool? IsActiveContact;

    UserProfileSummaryModel({this.UserProfileId,this.UserId,this.ContactId,this.UserName,this.ProfileName,this.ContactFullName,this.EmailAddress,this.EmailSignature,this.MobileNumber,this.PhoneNumber,this.ContactTypeId,this.ContactTypeName,this.FirstName,this.Surname,this.Title,this.LegalName,this.TradingName,this.Abn,this.Acn,this.Arbn,this.GstRegistered,this.ESL,this.Language,this.InterpreterRequired,this.LicenseeNotes,this.ProfilePhotoUrl,this.ProfilePhotoThumbnailUrl,this.ProfileImageId,this.Description,this.EmploymentIndustry,this.EmploymentRole,this.EmploymentGeographicArea,this.Timezone,this.TimezoneName,this.PrimaryAddress,this.IsActiveContact});
    UserProfileSummaryModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        UserProfileId = json['UserProfileId'];
        UserId = json['UserId'];
        ContactId = json['ContactId'];
        UserName = json['UserName'];
        ProfileName = json['ProfileName'];
        ContactFullName = json['ContactFullName'];
        EmailAddress = json['EmailAddress'];
        EmailSignature = json['EmailSignature'];
        MobileNumber = json['MobileNumber'];
        PhoneNumber = json['PhoneNumber'];
        ContactTypeId = json['ContactTypeId'];
        ContactTypeName = json['ContactTypeName'];
        FirstName = json['FirstName'];
        Surname = json['Surname'];
        Title = json['Title'];
        LegalName = json['LegalName'];
        TradingName = json['TradingName'];
        Abn = json['Abn'];
        Acn = json['Acn'];
        Arbn = json['Arbn'];
        GstRegistered = json['GstRegistered'];
        ESL = json['ESL'];
        Language = json['Language'];
        InterpreterRequired = json['InterpreterRequired'];
        LicenseeNotes = json['LicenseeNotes'];
        ProfilePhotoUrl = json['ProfilePhotoUrl'];
        ProfilePhotoThumbnailUrl = json['ProfilePhotoThumbnailUrl'];
        ProfileImageId = json['ProfileImageId'];
        Description = json['Description'];
        EmploymentIndustry = json['EmploymentIndustry'];
        EmploymentRole = json['EmploymentRole'];
        EmploymentGeographicArea = json['EmploymentGeographicArea'];
        Timezone = json['Timezone'];
        TimezoneName = json['TimezoneName'];
        PrimaryAddress = json['PrimaryAddress'];
        IsActiveContact = json['IsActiveContact'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'UserProfileId': UserProfileId,
        'UserId': UserId,
        'ContactId': ContactId,
        'UserName': UserName,
        'ProfileName': ProfileName,
        'ContactFullName': ContactFullName,
        'EmailAddress': EmailAddress,
        'EmailSignature': EmailSignature,
        'MobileNumber': MobileNumber,
        'PhoneNumber': PhoneNumber,
        'ContactTypeId': ContactTypeId,
        'ContactTypeName': ContactTypeName,
        'FirstName': FirstName,
        'Surname': Surname,
        'Title': Title,
        'LegalName': LegalName,
        'TradingName': TradingName,
        'Abn': Abn,
        'Acn': Acn,
        'Arbn': Arbn,
        'GstRegistered': GstRegistered,
        'ESL': ESL,
        'Language': Language,
        'InterpreterRequired': InterpreterRequired,
        'LicenseeNotes': LicenseeNotes,
        'ProfilePhotoUrl': ProfilePhotoUrl,
        'ProfilePhotoThumbnailUrl': ProfilePhotoThumbnailUrl,
        'ProfileImageId': ProfileImageId,
        'Description': Description,
        'EmploymentIndustry': EmploymentIndustry,
        'EmploymentRole': EmploymentRole,
        'EmploymentGeographicArea': EmploymentGeographicArea,
        'Timezone': Timezone,
        'TimezoneName': TimezoneName,
        'PrimaryAddress': PrimaryAddress,
        'IsActiveContact': IsActiveContact
    };

    getTypeName() => "UserProfileSummaryModel";
    TypeContext? context = _ctx;
}

class LocationCoordinatesModel implements IConvertible
{
    /**
    * 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")
    double? Latitude;

    /**
    * 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")
    double? Longitude;

    /**
    * The altitude of an address - the altitude above sea level."
    */
    // @ApiMember(Description="The altitude of an address - the altitude above sea level.\"", ParameterType="query")
    double? Altitude;

    /**
    * Accuracy of the latitude and longitude.
    */
    // @ApiMember(Description="Accuracy of the latitude and longitude.", ParameterType="query")
    double? Accuracy;

    /**
    * Accurancy of the Altitude.
    */
    // @ApiMember(Description="Accurancy of the Altitude.", ParameterType="query")
    double? AltitudeAccuracy;

    /**
    * Direction you are heading.
    */
    // @ApiMember(Description="Direction you are heading.", ParameterType="query")
    double? Heading;

    /**
    * Speed you are going.
    */
    // @ApiMember(Description="Speed you are going.", ParameterType="query")
    double? Speed;

    /**
    * Speed your altitude is ascending/descending at.
    */
    // @ApiMember(Description="Speed your altitude is ascending/descending at.", ParameterType="query")
    double? VerticalSpeed;

    LocationCoordinatesModel({this.Latitude,this.Longitude,this.Altitude,this.Accuracy,this.AltitudeAccuracy,this.Heading,this.Speed,this.VerticalSpeed});
    LocationCoordinatesModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Latitude = JsonConverters.toDouble(json['Latitude']);
        Longitude = JsonConverters.toDouble(json['Longitude']);
        Altitude = JsonConverters.toDouble(json['Altitude']);
        Accuracy = JsonConverters.toDouble(json['Accuracy']);
        AltitudeAccuracy = JsonConverters.toDouble(json['AltitudeAccuracy']);
        Heading = JsonConverters.toDouble(json['Heading']);
        Speed = JsonConverters.toDouble(json['Speed']);
        VerticalSpeed = JsonConverters.toDouble(json['VerticalSpeed']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Latitude': Latitude,
        'Longitude': Longitude,
        'Altitude': Altitude,
        'Accuracy': Accuracy,
        'AltitudeAccuracy': AltitudeAccuracy,
        'Heading': Heading,
        'Speed': Speed,
        'VerticalSpeed': VerticalSpeed
    };

    getTypeName() => "LocationCoordinatesModel";
    TypeContext? context = _ctx;
}

class AddressModel implements IConvertible
{
    /**
    * 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")
    double? DistanceAway;

    /**
    * 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")
    double? Latitude;

    /**
    * 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")
    double? Longitude;

    /**
    * 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")
    String? AddressFormatId;

    /**
    * 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")
    String? SuburbId;

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

    /**
    * 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")
    String? StateShortName;

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

    /**
    * 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")
    String? CountryId;

    /**
    * 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")
    String? CountryName;

    /**
    * ISO Country Code.
    */
    // @ApiMember(Description="ISO Country Code.", ParameterType="query")
    String? ISOCountryCode;

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

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

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

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

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

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

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

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

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

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

    /**
    * 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")
    bool? AutoMapCoordinates;

    /**
    * Location Coordinates for the address.
    */
    // @ApiMember(DataType="LocationCoordinates", Description="Location Coordinates for the address.", Name="LocationCoordinates", ParameterType="body")
    LocationCoordinatesModel? LocationCoordinates;

    AddressModel({this.DistanceAway,this.Latitude,this.Longitude,this.AddressFormatId,this.SuburbId,this.SuburbName,this.StateShortName,this.PostCode,this.CountryId,this.CountryName,this.ISOCountryCode,this.LotNumber,this.SubUnit,this.BuildingNumber,this.StreetNumber,this.StreetName,this.AddressLineOne,this.AddressLineTwo,this.AddressFull,this.IsPhysical,this.Notes,this.AutoMapCoordinates,this.LocationCoordinates});
    AddressModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DistanceAway = JsonConverters.toDouble(json['DistanceAway']);
        Latitude = JsonConverters.toDouble(json['Latitude']);
        Longitude = JsonConverters.toDouble(json['Longitude']);
        AddressFormatId = json['AddressFormatId'];
        SuburbId = json['SuburbId'];
        SuburbName = json['SuburbName'];
        StateShortName = json['StateShortName'];
        PostCode = json['PostCode'];
        CountryId = json['CountryId'];
        CountryName = json['CountryName'];
        ISOCountryCode = json['ISOCountryCode'];
        LotNumber = json['LotNumber'];
        SubUnit = json['SubUnit'];
        BuildingNumber = json['BuildingNumber'];
        StreetNumber = json['StreetNumber'];
        StreetName = json['StreetName'];
        AddressLineOne = json['AddressLineOne'];
        AddressLineTwo = json['AddressLineTwo'];
        AddressFull = json['AddressFull'];
        IsPhysical = json['IsPhysical'];
        Notes = json['Notes'];
        AutoMapCoordinates = json['AutoMapCoordinates'];
        LocationCoordinates = JsonConverters.fromJson(json['LocationCoordinates'],'LocationCoordinatesModel',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DistanceAway': DistanceAway,
        'Latitude': Latitude,
        'Longitude': Longitude,
        'AddressFormatId': AddressFormatId,
        'SuburbId': SuburbId,
        'SuburbName': SuburbName,
        'StateShortName': StateShortName,
        'PostCode': PostCode,
        'CountryId': CountryId,
        'CountryName': CountryName,
        'ISOCountryCode': ISOCountryCode,
        'LotNumber': LotNumber,
        'SubUnit': SubUnit,
        'BuildingNumber': BuildingNumber,
        'StreetNumber': StreetNumber,
        'StreetName': StreetName,
        'AddressLineOne': AddressLineOne,
        'AddressLineTwo': AddressLineTwo,
        'AddressFull': AddressFull,
        'IsPhysical': IsPhysical,
        'Notes': Notes,
        'AutoMapCoordinates': AutoMapCoordinates,
        'LocationCoordinates': JsonConverters.toJson(LocationCoordinates,'LocationCoordinatesModel',context!)
    };

    getTypeName() => "AddressModel";
    TypeContext? context = _ctx;
}

class GeoEstateStageModel implements IConvertible
{
    String? GeoEstateStageId;
    String? GeoEstateId;
    String? Name;
    String? Notes;
    String? RecordStatus;

    GeoEstateStageModel({this.GeoEstateStageId,this.GeoEstateId,this.Name,this.Notes,this.RecordStatus});
    GeoEstateStageModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        GeoEstateStageId = json['GeoEstateStageId'];
        GeoEstateId = json['GeoEstateId'];
        Name = json['Name'];
        Notes = json['Notes'];
        RecordStatus = json['RecordStatus'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'GeoEstateStageId': GeoEstateStageId,
        'GeoEstateId': GeoEstateId,
        'Name': Name,
        'Notes': Notes,
        'RecordStatus': RecordStatus
    };

    getTypeName() => "GeoEstateStageModel";
    TypeContext? context = _ctx;
}

class GeoEstateModel implements IConvertible
{
    String? GeoEstateId;
    String? Name;
    String? Notes;
    String? DeveloperContactId;
    String? DeveloperName;
    String? DeveloperProfilePhotoUrl;
    String? DeveloperProfilePhotoThumbnail;
    String? RecordStatus;
    List<GeoEstateStageModel>? Stages;
    String? CurrentEstateStageId;
    String? CurrentEstateStageName;

    GeoEstateModel({this.GeoEstateId,this.Name,this.Notes,this.DeveloperContactId,this.DeveloperName,this.DeveloperProfilePhotoUrl,this.DeveloperProfilePhotoThumbnail,this.RecordStatus,this.Stages,this.CurrentEstateStageId,this.CurrentEstateStageName});
    GeoEstateModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        GeoEstateId = json['GeoEstateId'];
        Name = json['Name'];
        Notes = json['Notes'];
        DeveloperContactId = json['DeveloperContactId'];
        DeveloperName = json['DeveloperName'];
        DeveloperProfilePhotoUrl = json['DeveloperProfilePhotoUrl'];
        DeveloperProfilePhotoThumbnail = json['DeveloperProfilePhotoThumbnail'];
        RecordStatus = json['RecordStatus'];
        Stages = JsonConverters.fromJson(json['Stages'],'List<GeoEstateStageModel>',context!);
        CurrentEstateStageId = json['CurrentEstateStageId'];
        CurrentEstateStageName = json['CurrentEstateStageName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'GeoEstateId': GeoEstateId,
        'Name': Name,
        'Notes': Notes,
        'DeveloperContactId': DeveloperContactId,
        'DeveloperName': DeveloperName,
        'DeveloperProfilePhotoUrl': DeveloperProfilePhotoUrl,
        'DeveloperProfilePhotoThumbnail': DeveloperProfilePhotoThumbnail,
        'RecordStatus': RecordStatus,
        'Stages': JsonConverters.toJson(Stages,'List<GeoEstateStageModel>',context!),
        'CurrentEstateStageId': CurrentEstateStageId,
        'CurrentEstateStageName': CurrentEstateStageName
    };

    getTypeName() => "GeoEstateModel";
    TypeContext? context = _ctx;
}

class GeoLocationModel implements IConvertible
{
    /**
    * The location id
    */
    // @ApiMember(DataType="Guid", Description="The location id", Name="GeoLocationId", ParameterType="query")
    String? GeoLocationId;

    /**
    * The state id
    */
    // @ApiMember(DataType="Guid", Description="The state id", Name="StateId", ParameterType="query")
    String? StateId;

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

    /**
    * The suburb id
    */
    // @ApiMember(DataType="Guid", Description="The suburb id", Name="SuburbId", ParameterType="query")
    String? SuburbId;

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

    /**
    * The country id
    */
    // @ApiMember(DataType="Guid", Description="The country id", Name="CountryId", ParameterType="query")
    String? CountryId;

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

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

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

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

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

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

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

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

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

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

    /**
    * Is location physical
    */
    // @ApiMember(DataType="bool", Description="Is location physical", Name="IsPhysical", ParameterType="query")
    bool? IsPhysical;

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

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

    /**
    * Address format id.
    */
    // @ApiMember(DataType="Guid", Description="Address format id.", Name="AddressFormatId", ParameterType="query")
    String? AddressFormatId;

    /**
    * Latitude
    */
    // @ApiMember(DataType="double", Description="Latitude", Name="Latitude", ParameterType="query")
    double? Latitude;

    /**
    * Longitude
    */
    // @ApiMember(DataType="double", Description="Longitude", Name="Longitude", ParameterType="query")
    double? Longitude;

    /**
    * Timezone Id
    */
    // @ApiMember(DataType="Guid?", Description="Timezone Id", Name="Timezone", ParameterType="query")
    String? Timezone;

    GeoEstateModel? Estate;
    String? GeoEstateId;
    String? GeoEstateStageId;
    String? GeoEstateStageName;
    bool? IgnoreValidation;

    GeoLocationModel({this.GeoLocationId,this.StateId,this.StateName,this.SuburbId,this.SuburbName,this.CountryId,this.CountryName,this.LotNumber,this.SubUnit,this.BuildingNumber,this.PostalDeliveryNumber,this.StreetNumber,this.StreetName,this.AddressLineOne,this.AddressLineTwo,this.PostCode,this.IsPhysical,this.Notes,this.AddressFull,this.AddressFormatId,this.Latitude,this.Longitude,this.Timezone,this.Estate,this.GeoEstateId,this.GeoEstateStageId,this.GeoEstateStageName,this.IgnoreValidation});
    GeoLocationModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        GeoLocationId = json['GeoLocationId'];
        StateId = json['StateId'];
        StateName = json['StateName'];
        SuburbId = json['SuburbId'];
        SuburbName = json['SuburbName'];
        CountryId = json['CountryId'];
        CountryName = json['CountryName'];
        LotNumber = json['LotNumber'];
        SubUnit = json['SubUnit'];
        BuildingNumber = json['BuildingNumber'];
        PostalDeliveryNumber = json['PostalDeliveryNumber'];
        StreetNumber = json['StreetNumber'];
        StreetName = json['StreetName'];
        AddressLineOne = json['AddressLineOne'];
        AddressLineTwo = json['AddressLineTwo'];
        PostCode = json['PostCode'];
        IsPhysical = json['IsPhysical'];
        Notes = json['Notes'];
        AddressFull = json['AddressFull'];
        AddressFormatId = json['AddressFormatId'];
        Latitude = JsonConverters.toDouble(json['Latitude']);
        Longitude = JsonConverters.toDouble(json['Longitude']);
        Timezone = json['Timezone'];
        Estate = JsonConverters.fromJson(json['Estate'],'GeoEstateModel',context!);
        GeoEstateId = json['GeoEstateId'];
        GeoEstateStageId = json['GeoEstateStageId'];
        GeoEstateStageName = json['GeoEstateStageName'];
        IgnoreValidation = json['IgnoreValidation'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'GeoLocationId': GeoLocationId,
        'StateId': StateId,
        'StateName': StateName,
        'SuburbId': SuburbId,
        'SuburbName': SuburbName,
        'CountryId': CountryId,
        'CountryName': CountryName,
        'LotNumber': LotNumber,
        'SubUnit': SubUnit,
        'BuildingNumber': BuildingNumber,
        'PostalDeliveryNumber': PostalDeliveryNumber,
        'StreetNumber': StreetNumber,
        'StreetName': StreetName,
        'AddressLineOne': AddressLineOne,
        'AddressLineTwo': AddressLineTwo,
        'PostCode': PostCode,
        'IsPhysical': IsPhysical,
        'Notes': Notes,
        'AddressFull': AddressFull,
        'AddressFormatId': AddressFormatId,
        'Latitude': Latitude,
        'Longitude': Longitude,
        'Timezone': Timezone,
        'Estate': JsonConverters.toJson(Estate,'GeoEstateModel',context!),
        'GeoEstateId': GeoEstateId,
        'GeoEstateStageId': GeoEstateStageId,
        'GeoEstateStageName': GeoEstateStageName,
        'IgnoreValidation': IgnoreValidation
    };

    getTypeName() => "GeoLocationModel";
    TypeContext? context = _ctx;
}

class ContactAddressModel implements IConvertible
{
    /**
    * Location Details.
    */
    // @ApiMember(DataType="GeoLocationModel", Description="Location Details.", Name="Location", ParameterType="query")
    GeoLocationModel? Location;

    /**
    * Is address postal.
    */
    // @ApiMember(DataType="bool", Description="Is address postal.", Name="IsPostal", ParameterType="query")
    bool? IsPostal;

    /**
    * Is address primary.
    */
    // @ApiMember(DataType="bool", Description="Is address primary.", Name="IsPrimaryLocation", ParameterType="query")
    bool? IsPrimaryLocation;

    /**
    * Is address registered.
    */
    // @ApiMember(DataType="bool", Description="Is address registered.", Name="IsRegisteredLocation", ParameterType="query")
    bool? IsRegisteredLocation;

    /**
    * Contact Address Id.
    */
    // @ApiMember(DataType="Guid", Description="Contact Address Id.", Name="ContactAddressId", ParameterType="query")
    String? ContactAddressId;

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

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

    /**
    * Contact Country Name.
    */
    // @ApiMember(DataType="string", Description="Contact Country Name.", Name="CountryName", ParameterType="query")
    String? CountryName;

    ContactAddressModel({this.Location,this.IsPostal,this.IsPrimaryLocation,this.IsRegisteredLocation,this.ContactAddressId,this.SuburbName,this.StateName,this.CountryName});
    ContactAddressModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Location = JsonConverters.fromJson(json['Location'],'GeoLocationModel',context!);
        IsPostal = json['IsPostal'];
        IsPrimaryLocation = json['IsPrimaryLocation'];
        IsRegisteredLocation = json['IsRegisteredLocation'];
        ContactAddressId = json['ContactAddressId'];
        SuburbName = json['SuburbName'];
        StateName = json['StateName'];
        CountryName = json['CountryName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Location': JsonConverters.toJson(Location,'GeoLocationModel',context!),
        'IsPostal': IsPostal,
        'IsPrimaryLocation': IsPrimaryLocation,
        'IsRegisteredLocation': IsRegisteredLocation,
        'ContactAddressId': ContactAddressId,
        'SuburbName': SuburbName,
        'StateName': StateName,
        'CountryName': CountryName
    };

    getTypeName() => "ContactAddressModel";
    TypeContext? context = _ctx;
}

class PhoneModel implements IConvertible
{
    /**
    * Phone Country Code.
    */
    // @ApiMember(DataType="string", Description="Phone Country Code.", Name="CountryCode", ParameterType="query")
    String? CountryCode;

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

    /**
    * Phone Local Number.
    */
    // @ApiMember(DataType="string", Description="Phone Local Number.", Name="LocalNumber", ParameterType="query")
    String? LocalNumber;

    PhoneModel({this.CountryCode,this.AreaCode,this.LocalNumber});
    PhoneModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CountryCode = json['CountryCode'];
        AreaCode = json['AreaCode'];
        LocalNumber = json['LocalNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CountryCode': CountryCode,
        'AreaCode': AreaCode,
        'LocalNumber': LocalNumber
    };

    getTypeName() => "PhoneModel";
    TypeContext? context = _ctx;
}

class ContactDetailModel implements IConvertible
{
    /**
    * Contact Method Id
    */
    // @ApiMember(DataType="Guid", Description="Contact Method Id", Name="ContactMethodId", ParameterType="query")
    String? ContactMethodId;

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

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

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

    /**
    * Country id
    */
    // @ApiMember(DataType="Guid", Description="Country id", Name="CountryId", ParameterType="query")
    String? CountryId;

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

    /**
    * Notes
    */
    // @ApiMember(DataType="string", Description="Notes", Name="Notes", ParameterType="query")
    String? Notes;

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

    /**
    * Order of Contact Method Id
    */
    // @ApiMember(DataType="int", Description="Order of Contact Method Id", Name="OrderContactMethod", ParameterType="query")
    int? OrderContactMethod;

    /**
    * Contact Method Id
    */
    // @ApiMember(DataType="bool", Description="Contact Method Id", Name="IsPrimaryContactMethod", ParameterType="query")
    bool? IsPrimaryContactMethod;

    /**
    * Is contact details an address
    */
    // @ApiMember(DataType="bool", Description="Is contact details an address", Name="IsAddress", ParameterType="query")
    bool? IsAddress;

    /**
    * Contact Contact Detail Id
    */
    // @ApiMember(DataType="Guid", Description="Contact Contact Detail Id", Name="ContactContactDetailId", ParameterType="query")
    String? ContactContactDetailId;

    /**
    * Contact Id
    */
    // @ApiMember(DataType="Guid", Description="Contact Id", Name="ContactId", ParameterType="query")
    String? ContactId;

    /**
    * Contact Details Id
    */
    // @ApiMember(DataType="Guid", Description="Contact Details Id", Name="ContactDetailId", ParameterType="query")
    String? ContactDetailId;

    /**
    * Is contact details a primary location
    */
    // @ApiMember(DataType="bool", Description="Is contact details a primary location", Name="IsPrimaryLocation", ParameterType="query")
    bool? IsPrimaryLocation;

    /**
    * Is contact details a registered location
    */
    // @ApiMember(DataType="bool", Description="Is contact details a registered location", Name="IsRegisteredLocation", ParameterType="query")
    bool? IsRegisteredLocation;

    /**
    * Is contact details a postal address
    */
    // @ApiMember(DataType="bool", Description="Is contact details a postal address", Name="IsPostal", ParameterType="query")
    bool? IsPostal;

    /**
    * Is contact details a phone number
    */
    // @ApiMember(DataType="bool", Description="Is contact details a phone number", Name="IsPhone", ParameterType="query")
    bool? IsPhone;

    /**
    * Email Signature Id
    */
    // @ApiMember(DataType="Guid", Description="Email Signature Id", Name="EmailSignatureId", ParameterType="query")
    String? EmailSignatureId;

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

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

    /**
    * API Key from Framework
    */
    // @ApiMember(DataType="string", Description="API Key from Framework", Name="ApiFrameworkAlternateKey", ParameterType="query")
    String? ApiFrameworkAlternateKey;

    ContactDetailModel({this.ContactMethodId,this.ContactMethodName,this.ContactAddress,this.ContactPhone,this.CountryId,this.ContactDetails,this.Notes,this.ContactDetailsCode,this.OrderContactMethod,this.IsPrimaryContactMethod,this.IsAddress,this.ContactContactDetailId,this.ContactId,this.ContactDetailId,this.IsPrimaryLocation,this.IsRegisteredLocation,this.IsPostal,this.IsPhone,this.EmailSignatureId,this.EmailSignatureHTML,this.EmailSignatureText,this.ApiFrameworkAlternateKey});
    ContactDetailModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContactMethodId = json['ContactMethodId'];
        ContactMethodName = json['ContactMethodName'];
        ContactAddress = JsonConverters.fromJson(json['ContactAddress'],'ContactAddressModel',context!);
        ContactPhone = JsonConverters.fromJson(json['ContactPhone'],'PhoneModel',context!);
        CountryId = json['CountryId'];
        ContactDetails = json['ContactDetails'];
        Notes = json['Notes'];
        ContactDetailsCode = json['ContactDetailsCode'];
        OrderContactMethod = json['OrderContactMethod'];
        IsPrimaryContactMethod = json['IsPrimaryContactMethod'];
        IsAddress = json['IsAddress'];
        ContactContactDetailId = json['ContactContactDetailId'];
        ContactId = json['ContactId'];
        ContactDetailId = json['ContactDetailId'];
        IsPrimaryLocation = json['IsPrimaryLocation'];
        IsRegisteredLocation = json['IsRegisteredLocation'];
        IsPostal = json['IsPostal'];
        IsPhone = json['IsPhone'];
        EmailSignatureId = json['EmailSignatureId'];
        EmailSignatureHTML = json['EmailSignatureHTML'];
        EmailSignatureText = json['EmailSignatureText'];
        ApiFrameworkAlternateKey = json['ApiFrameworkAlternateKey'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContactMethodId': ContactMethodId,
        'ContactMethodName': ContactMethodName,
        'ContactAddress': JsonConverters.toJson(ContactAddress,'ContactAddressModel',context!),
        'ContactPhone': JsonConverters.toJson(ContactPhone,'PhoneModel',context!),
        'CountryId': CountryId,
        'ContactDetails': ContactDetails,
        'Notes': Notes,
        'ContactDetailsCode': ContactDetailsCode,
        'OrderContactMethod': OrderContactMethod,
        'IsPrimaryContactMethod': IsPrimaryContactMethod,
        'IsAddress': IsAddress,
        'ContactContactDetailId': ContactContactDetailId,
        'ContactId': ContactId,
        'ContactDetailId': ContactDetailId,
        'IsPrimaryLocation': IsPrimaryLocation,
        'IsRegisteredLocation': IsRegisteredLocation,
        'IsPostal': IsPostal,
        'IsPhone': IsPhone,
        'EmailSignatureId': EmailSignatureId,
        'EmailSignatureHTML': EmailSignatureHTML,
        'EmailSignatureText': EmailSignatureText,
        'ApiFrameworkAlternateKey': ApiFrameworkAlternateKey
    };

    getTypeName() => "ContactDetailModel";
    TypeContext? context = _ctx;
}

class UserProfileModel extends UserProfileSummaryModel implements IConvertible
{
    /**
    * Contact Date of Birth (when person type)
    */
    // @ApiMember(DataType="DateTime?", Description="Contact Date of Birth (when person type)", Name="BirthDate", ParameterType="query")
    DateTime? BirthDate;

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

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

    /**
    * The Gender Guid of the contact.
    */
    // @ApiMember(DataType="Guid", Description="The Gender Guid of the contact.", Name="GenderId", ParameterType="query")
    String? GenderId;

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

    /**
    * Primary Street Address
    */
    // @ApiMember(DataType="ContactDetail", Description="Primary Street Address", Name="PrimaryStreetAddress ")
    ContactDetailModel? PrimaryStreetAddress;

    /**
    * Primary Postal Address
    */
    // @ApiMember(DataType="ContactDetail", Description="Primary Postal Address", Name="PrimaryPostalAddress ")
    ContactDetailModel? PrimaryPostalAddress;

    /**
    * Primary Registered Address
    */
    // @ApiMember(DataType="ContactDetail", Description="Primary Registered Address", Name="PrimaryRegisteredAddress ")
    ContactDetailModel? PrimaryRegisteredAddress;

    /**
    * Primary Email Address
    */
    // @ApiMember(DataType="ContactDetail", Description="Primary Email Address", Name="PrimaryEmail ")
    ContactDetailModel? PrimaryEmail;

    /**
    * Primary Mobile Number
    */
    // @ApiMember(DataType="ContactDetail", Description="Primary Mobile Number", Name="PrimaryMobile")
    ContactDetailModel? PrimaryMobile;

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

    /**
    * Primary Fax Number
    */
    // @ApiMember(DataType="ContactDetail", Description="Primary Fax Number", Name="PrimaryFax")
    ContactDetailModel? PrimaryFax;

    /**
    * Primary Web Address
    */
    // @ApiMember(DataType="ContactDetail", Description="Primary Web Address", Name="PrimaryWeb")
    ContactDetailModel? PrimaryWeb;

    /**
    * Social Media Twitter
    */
    // @ApiMember(DataType="ContactDetail", Description="Social Media Twitter", Name="SocialMediaTwitter")
    ContactDetailModel? SocialMediaTwitter;

    /**
    * Social Media Facebook
    */
    // @ApiMember(DataType="ContactDetail", Description="Social Media Facebook", Name="SocialMediaFacebook")
    ContactDetailModel? SocialMediaFacebook;

    /**
    * Social Media Instagram
    */
    // @ApiMember(DataType="ContactDetail", Description="Social Media Instagram", Name="SocialMediaInstagram")
    ContactDetailModel? SocialMediaInstagram;

    /**
    * Have all connections to the contact been removed?
    */
    // @ApiMember(DataType="bool", Description="Have all connections to the contact been removed?", Name="IsRemovedContact")
    bool? IsRemovedContact;

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

    /**
    * 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")
    bool? IsEmailEditable;

    /**
    * 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")
    String? PrimaryImageContent;

    /**
    * 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")
    String? PrimaryImageContentType;

    /**
    * Primary image file name
    */
    // @ApiMember(DataType="string", Description="Primary image file name", Name="PrimaryImageFileName")
    String? PrimaryImageFileName;

    UserProfileModel({this.BirthDate,this.MaritalStatusName,this.GenderName,this.GenderId,this.ContactDetails,this.PrimaryStreetAddress,this.PrimaryPostalAddress,this.PrimaryRegisteredAddress,this.PrimaryEmail,this.PrimaryMobile,this.PrimaryPhone,this.PrimaryFax,this.PrimaryWeb,this.SocialMediaTwitter,this.SocialMediaFacebook,this.SocialMediaInstagram,this.IsRemovedContact,this.IsDefault,this.IsEmailEditable,this.PrimaryImageContent,this.PrimaryImageContentType,this.PrimaryImageFileName});
    UserProfileModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        BirthDate = JsonConverters.fromJson(json['BirthDate'],'DateTime',context!);
        MaritalStatusName = json['MaritalStatusName'];
        GenderName = json['GenderName'];
        GenderId = json['GenderId'];
        ContactDetails = JsonConverters.fromJson(json['ContactDetails'],'List<ContactDetailModel>',context!);
        PrimaryStreetAddress = JsonConverters.fromJson(json['PrimaryStreetAddress'],'ContactDetailModel',context!);
        PrimaryPostalAddress = JsonConverters.fromJson(json['PrimaryPostalAddress'],'ContactDetailModel',context!);
        PrimaryRegisteredAddress = JsonConverters.fromJson(json['PrimaryRegisteredAddress'],'ContactDetailModel',context!);
        PrimaryEmail = JsonConverters.fromJson(json['PrimaryEmail'],'ContactDetailModel',context!);
        PrimaryMobile = JsonConverters.fromJson(json['PrimaryMobile'],'ContactDetailModel',context!);
        PrimaryPhone = JsonConverters.fromJson(json['PrimaryPhone'],'ContactDetailModel',context!);
        PrimaryFax = JsonConverters.fromJson(json['PrimaryFax'],'ContactDetailModel',context!);
        PrimaryWeb = JsonConverters.fromJson(json['PrimaryWeb'],'ContactDetailModel',context!);
        SocialMediaTwitter = JsonConverters.fromJson(json['SocialMediaTwitter'],'ContactDetailModel',context!);
        SocialMediaFacebook = JsonConverters.fromJson(json['SocialMediaFacebook'],'ContactDetailModel',context!);
        SocialMediaInstagram = JsonConverters.fromJson(json['SocialMediaInstagram'],'ContactDetailModel',context!);
        IsRemovedContact = json['IsRemovedContact'];
        IsDefault = json['IsDefault'];
        IsEmailEditable = json['IsEmailEditable'];
        PrimaryImageContent = json['PrimaryImageContent'];
        PrimaryImageContentType = json['PrimaryImageContentType'];
        PrimaryImageFileName = json['PrimaryImageFileName'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'BirthDate': JsonConverters.toJson(BirthDate,'DateTime',context!),
        'MaritalStatusName': MaritalStatusName,
        'GenderName': GenderName,
        'GenderId': GenderId,
        'ContactDetails': JsonConverters.toJson(ContactDetails,'List<ContactDetailModel>',context!),
        'PrimaryStreetAddress': JsonConverters.toJson(PrimaryStreetAddress,'ContactDetailModel',context!),
        'PrimaryPostalAddress': JsonConverters.toJson(PrimaryPostalAddress,'ContactDetailModel',context!),
        'PrimaryRegisteredAddress': JsonConverters.toJson(PrimaryRegisteredAddress,'ContactDetailModel',context!),
        'PrimaryEmail': JsonConverters.toJson(PrimaryEmail,'ContactDetailModel',context!),
        'PrimaryMobile': JsonConverters.toJson(PrimaryMobile,'ContactDetailModel',context!),
        'PrimaryPhone': JsonConverters.toJson(PrimaryPhone,'ContactDetailModel',context!),
        'PrimaryFax': JsonConverters.toJson(PrimaryFax,'ContactDetailModel',context!),
        'PrimaryWeb': JsonConverters.toJson(PrimaryWeb,'ContactDetailModel',context!),
        'SocialMediaTwitter': JsonConverters.toJson(SocialMediaTwitter,'ContactDetailModel',context!),
        'SocialMediaFacebook': JsonConverters.toJson(SocialMediaFacebook,'ContactDetailModel',context!),
        'SocialMediaInstagram': JsonConverters.toJson(SocialMediaInstagram,'ContactDetailModel',context!),
        'IsRemovedContact': IsRemovedContact,
        'IsDefault': IsDefault,
        'IsEmailEditable': IsEmailEditable,
        'PrimaryImageContent': PrimaryImageContent,
        'PrimaryImageContentType': PrimaryImageContentType,
        'PrimaryImageFileName': PrimaryImageFileName
    });

    getTypeName() => "UserProfileModel";
    TypeContext? context = _ctx;
}

// @ApiResponse(Description="Contacts connected to contact by criteria and response status")
class GetContactsResponse implements IConvertible
{
    List<UserProfileModel>? Contacts;
    int? TotalContacts;
    ResponseStatus? ResponseStatus;

    GetContactsResponse({this.Contacts,this.TotalContacts,this.ResponseStatus});
    GetContactsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Contacts = JsonConverters.fromJson(json['Contacts'],'List<UserProfileModel>',context!);
        TotalContacts = json['TotalContacts'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Contacts': JsonConverters.toJson(Contacts,'List<UserProfileModel>',context!),
        'TotalContacts': TotalContacts,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetContactsResponse";
    TypeContext? context = _ctx;
}

/**
* Get contacts connected to the current contact or licensee (if managing licensee contacts) by role
*/
// @Api(Description="Get contacts connected to the current contact or licensee (if managing licensee contacts) by role")
class GetContactsForRoles implements IConvertible
{
    /**
    * Specific search text to search for i.e. Contact Name, Employment Details etc.
    */
    // @ApiMember(DataType="string", Description="Specific search text to search for i.e. Contact Name, Employment Details etc.", Name="SearchText")
    String? SearchText;

    /**
    * Contact Types to search for i.e. People and/ or Organisations
    */
    // @ApiMember(DataType="List<Guid>", Description="Contact Types to search for i.e. People and/ or Organisations", IsRequired=true, Name="ContactTypes")
    List<String>? ContactTypes = [];

    /**
    * Roles to search for i.e. People and/ or Organisations
    */
    // @ApiMember(DataType="List<Guid>", Description="Roles to search for i.e. People and/ or Organisations", IsRequired=true, Name="Roles")
    List<String>? Roles = [];

    /**
    * Flag if detailed contact information is returned
    */
    // @ApiMember(DataType="Boolean", Description="Flag if detailed contact information is returned", Name="IncludeDetails")
    bool? IncludeDetails;

    GetContactsForRoles({this.SearchText,this.ContactTypes,this.Roles,this.IncludeDetails});
    GetContactsForRoles.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SearchText = json['SearchText'];
        ContactTypes = JsonConverters.fromJson(json['ContactTypes'],'List<String>',context!);
        Roles = JsonConverters.fromJson(json['Roles'],'List<String>',context!);
        IncludeDetails = json['IncludeDetails'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SearchText': SearchText,
        'ContactTypes': JsonConverters.toJson(ContactTypes,'List<String>',context!),
        'Roles': JsonConverters.toJson(Roles,'List<String>',context!),
        'IncludeDetails': IncludeDetails
    };

    getTypeName() => "GetContactsForRoles";
    TypeContext? context = _ctx;
}

class ContactDetailModel implements IConvertible
{
    /**
    * Id of the Contact Method
    */
    // @ApiMember(DataType="Guid", Description="Id of the Contact Method", Name="ContactMethodId", ParameterType="body")
    String? ContactMethodId;

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

    /**
    * 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")
    ContactAddressModel? ContactAddress;

    /**
    * 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")
    PhoneModel? ContactPhone;

    /**
    * Id of the country
    */
    // @ApiMember(DataType="Guid?", Description="Id of the country", Name="CountryId", ParameterType="body")
    String? CountryId;

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

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

    /**
    * 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")
    String? ContactDetailsCode;

    /**
    * Order number of the contact method
    */
    // @ApiMember(DataType="int", Description="Order number of the contact method", Name="OrderContactMethod", ParameterType="body")
    int? OrderContactMethod;

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

    /**
    * True if this contact method is an address
    */
    // @ApiMember(DataType="bool", Description="True if this contact method is an address", Name="IsAddress", ParameterType="body")
    bool? IsAddress;

    ContactDetailModel({this.ContactMethodId,this.ContactMethodName,this.ContactAddress,this.ContactPhone,this.CountryId,this.ContactDetails,this.Notes,this.ContactDetailsCode,this.OrderContactMethod,this.IsPrimaryContactMethod,this.IsAddress});
    ContactDetailModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContactMethodId = json['ContactMethodId'];
        ContactMethodName = json['ContactMethodName'];
        ContactAddress = JsonConverters.fromJson(json['ContactAddress'],'ContactAddressModel',context!);
        ContactPhone = JsonConverters.fromJson(json['ContactPhone'],'PhoneModel',context!);
        CountryId = json['CountryId'];
        ContactDetails = json['ContactDetails'];
        Notes = json['Notes'];
        ContactDetailsCode = json['ContactDetailsCode'];
        OrderContactMethod = json['OrderContactMethod'];
        IsPrimaryContactMethod = json['IsPrimaryContactMethod'];
        IsAddress = json['IsAddress'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContactMethodId': ContactMethodId,
        'ContactMethodName': ContactMethodName,
        'ContactAddress': JsonConverters.toJson(ContactAddress,'ContactAddressModel',context!),
        'ContactPhone': JsonConverters.toJson(ContactPhone,'PhoneModel',context!),
        'CountryId': CountryId,
        'ContactDetails': ContactDetails,
        'Notes': Notes,
        'ContactDetailsCode': ContactDetailsCode,
        'OrderContactMethod': OrderContactMethod,
        'IsPrimaryContactMethod': IsPrimaryContactMethod,
        'IsAddress': IsAddress
    };

    getTypeName() => "ContactDetailModel";
    TypeContext? context = _ctx;
}

class ContactAddressModel implements IConvertible
{
    /**
    * Address Details
    */
    // @ApiMember(DataType="AddressModel", Description="Address Details", Name="Address", ParameterType="body")
    AddressModel? Address;

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

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

    /**
    * 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")
    bool? IsRegisteredLocation;

    /**
    * Suburb Name
    */
    // @ApiMember(DataType="string", Description="Suburb Name", Name="SuburbName", ParameterType="body")
    String? SuburbName;

    /**
    * State Name
    */
    // @ApiMember(DataType="string", Description="State Name", Name="StateName", ParameterType="body")
    String? StateName;

    /**
    * Country Name
    */
    // @ApiMember(DataType="string", Description="Country Name", Name="CountryName", ParameterType="body")
    String? CountryName;

    ContactAddressModel({this.Address,this.IsPostal,this.IsPrimaryLocation,this.IsRegisteredLocation,this.SuburbName,this.StateName,this.CountryName});
    ContactAddressModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Address = JsonConverters.fromJson(json['Address'],'AddressModel',context!);
        IsPostal = json['IsPostal'];
        IsPrimaryLocation = json['IsPrimaryLocation'];
        IsRegisteredLocation = json['IsRegisteredLocation'];
        SuburbName = json['SuburbName'];
        StateName = json['StateName'];
        CountryName = json['CountryName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Address': JsonConverters.toJson(Address,'AddressModel',context!),
        'IsPostal': IsPostal,
        'IsPrimaryLocation': IsPrimaryLocation,
        'IsRegisteredLocation': IsRegisteredLocation,
        'SuburbName': SuburbName,
        'StateName': StateName,
        'CountryName': CountryName
    };

    getTypeName() => "ContactAddressModel";
    TypeContext? context = _ctx;
}

class PhoneModel implements IConvertible
{
    /**
    * Country Code
    */
    // @ApiMember(DataType="string", Description="Country Code", Name="CountryCode", ParameterType="body")
    String? CountryCode;

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

    /**
    * Local Number
    */
    // @ApiMember(DataType="string", Description="Local Number", Name="LocalNumber", ParameterType="body")
    String? LocalNumber;

    PhoneModel({this.CountryCode,this.AreaCode,this.LocalNumber});
    PhoneModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CountryCode = json['CountryCode'];
        AreaCode = json['AreaCode'];
        LocalNumber = json['LocalNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CountryCode': CountryCode,
        'AreaCode': AreaCode,
        'LocalNumber': LocalNumber
    };

    getTypeName() => "PhoneModel";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
    'UserProfileSummaryModel': TypeInfo(TypeOf.Class, create:() => UserProfileSummaryModel()),
    'LocationCoordinatesModel': TypeInfo(TypeOf.Class, create:() => LocationCoordinatesModel()),
    'AddressModel': TypeInfo(TypeOf.Class, create:() => AddressModel()),
    'GeoEstateStageModel': TypeInfo(TypeOf.Class, create:() => GeoEstateStageModel()),
    'GeoEstateModel': TypeInfo(TypeOf.Class, create:() => GeoEstateModel()),
    'List<GeoEstateStageModel>': TypeInfo(TypeOf.Class, create:() => <GeoEstateStageModel>[]),
    'GeoLocationModel': TypeInfo(TypeOf.Class, create:() => GeoLocationModel()),
    'ContactAddressModel': TypeInfo(TypeOf.Class, create:() => ContactAddressModel()),
    'PhoneModel': TypeInfo(TypeOf.Class, create:() => PhoneModel()),
    'ContactDetailModel': TypeInfo(TypeOf.Class, create:() => ContactDetailModel()),
    'UserProfileModel': TypeInfo(TypeOf.Class, create:() => UserProfileModel()),
    'List<ContactDetailModel>': TypeInfo(TypeOf.Class, create:() => <ContactDetailModel>[]),
    'GetContactsResponse': TypeInfo(TypeOf.Class, create:() => GetContactsResponse()),
    'List<UserProfileModel>': TypeInfo(TypeOf.Class, create:() => <UserProfileModel>[]),
    'GetContactsForRoles': TypeInfo(TypeOf.Class, create:() => GetContactsForRoles()),
});

Dart GetContactsForRoles DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /api/contactsforroles HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"SearchText":"String","ContactTypes":["00000000-0000-0000-0000-000000000000"],"Roles":["00000000-0000-0000-0000-000000000000"],"IncludeDetails":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Contacts":[{"BirthDate":"0001-01-01T00:00:00.0000000","MaritalStatusName":"String","GenderName":"String","GenderId":"00000000000000000000000000000000","ContactDetails":[{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"}],"PrimaryStreetAddress":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"PrimaryPostalAddress":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"PrimaryRegisteredAddress":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"PrimaryEmail":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"PrimaryMobile":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"PrimaryPhone":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"PrimaryFax":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"PrimaryWeb":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"SocialMediaTwitter":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"SocialMediaFacebook":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"SocialMediaInstagram":{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Location":{"GeoLocationId":"00000000-0000-0000-0000-000000000000","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":{"GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","DeveloperContactId":"00000000-0000-0000-0000-000000000000","DeveloperName":"String","DeveloperProfilePhotoUrl":"String","DeveloperProfilePhotoThumbnail":"String","RecordStatus":"String","Stages":[{"GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateId":"00000000-0000-0000-0000-000000000000","Name":"String","Notes":"String","RecordStatus":"String"}],"CurrentEstateStageId":"00000000-0000-0000-0000-000000000000","CurrentEstateStageName":"String"},"GeoEstateId":"00000000-0000-0000-0000-000000000000","GeoEstateStageId":"00000000-0000-0000-0000-000000000000","GeoEstateStageName":"String","IgnoreValidation":false},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"ContactAddressId":"00000000-0000-0000-0000-000000000000","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,"ContactContactDetailId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","ContactDetailId":"00000000-0000-0000-0000-000000000000","IsPrimaryLocation":false,"IsRegisteredLocation":false,"IsPostal":false,"IsPhone":false,"EmailSignatureId":"00000000-0000-0000-0000-000000000000","EmailSignatureHTML":"String","EmailSignatureText":"String","ApiFrameworkAlternateKey":"String"},"IsRemovedContact":false,"IsDefault":false,"IsEmailEditable":false,"PrimaryImageContent":"String","PrimaryImageContentType":"String","PrimaryImageFileName":"String","UserProfileId":"00000000-0000-0000-0000-000000000000","UserId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","UserName":"String","ProfileName":"String","ContactFullName":"String","EmailAddress":"String","EmailSignature":"String","MobileNumber":"String","PhoneNumber":"String","ContactTypeId":"00000000-0000-0000-0000-000000000000","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","ProfileImageId":"00000000-0000-0000-0000-000000000000","Description":"String","EmploymentIndustry":"String","EmploymentRole":"String","EmploymentGeographicArea":"String","Timezone":"00000000-0000-0000-0000-000000000000","TimezoneName":"String","PrimaryAddress":"String","IsActiveContact":false}],"TotalContacts":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}