/* Options: Date: 2026-04-04 10:30:43 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://pfapi.pstpf.com.au/api //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAllContactsForAutocompleteList.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; 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", Description="All contact details of the contact", Name="ContactDetails", ParameterType="query") List? 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 json) { fromMap(json); } fromMap(Map 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',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 toJson() => super.toJson()..addAll({ 'BirthDate': JsonConverters.toJson(BirthDate,'DateTime',context!), 'MaritalStatusName': MaritalStatusName, 'GenderName': GenderName, 'GenderId': GenderId, 'ContactDetails': JsonConverters.toJson(ContactDetails,'List',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="Get contacts connected to the current licensee in the specified role and response status") class GetContactsInRoleResponse implements IConvertible { List? UserProfiles; ResponseStatus? ResponseStatus; GetContactsInRoleResponse({this.UserProfiles,this.ResponseStatus}); GetContactsInRoleResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { UserProfiles = JsonConverters.fromJson(json['UserProfiles'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'UserProfiles': JsonConverters.toJson(UserProfiles,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "GetContactsInRoleResponse"; TypeContext? context = _ctx; } /** * Returns a list of contacts for autocomplete lists. */ // @Route("/contacts/autocompletelist") // @Api(Description="Returns a list of contacts for autocomplete lists.") class GetAllContactsForAutocompleteList implements IReturn, IConvertible, IGet { /** * The licensee's Guid. Contacts retrieved will be connected to this licensee. */ // @ApiMember(DataType="Guid", Description="The licensee's Guid. Contacts retrieved will be connected to this licensee.", IsRequired=true, Name="LicenseeId", ParameterType="query") String? LicenseeId; /** * The suites's Guid. Contacts retrieved will be connected to this suite. Defaults to Perspective. */ // @ApiMember(DataType="Guid", Description="The suites's Guid. Contacts retrieved will be connected to this suite. Defaults to Perspective.", Name="SuiteId", ParameterType="query") String? SuiteId; /** * The role ids. Contacts retrieved will have this roles. */ // @ApiMember(DataType="Guid", Description="The role ids. Contacts retrieved will have this roles.", Name="RoleId", ParameterType="query") String? RoleId; /** * Flag to either include or exclude virtual contacts. */ // @ApiMember(DataType="Guid", Description="Flag to either include or exclude virtual contacts.", Name="IncludeVirtual", ParameterType="query") bool? IncludeVirtual; GetAllContactsForAutocompleteList({this.LicenseeId,this.SuiteId,this.RoleId,this.IncludeVirtual}); GetAllContactsForAutocompleteList.fromJson(Map json) { fromMap(json); } fromMap(Map json) { LicenseeId = json['LicenseeId']; SuiteId = json['SuiteId']; RoleId = json['RoleId']; IncludeVirtual = json['IncludeVirtual']; return this; } Map toJson() => { 'LicenseeId': LicenseeId, 'SuiteId': SuiteId, 'RoleId': RoleId, 'IncludeVirtual': IncludeVirtual }; createResponse() => GetContactsInRoleResponse(); getResponseTypeName() => "GetContactsInRoleResponse"; getTypeName() => "GetAllContactsForAutocompleteList"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: { 'UserProfileModel': TypeInfo(TypeOf.Class, create:() => UserProfileModel()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ContactDetailModel': TypeInfo(TypeOf.Class, create:() => ContactDetailModel()), 'GetContactsInRoleResponse': TypeInfo(TypeOf.Class, create:() => GetContactsInRoleResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetAllContactsForAutocompleteList': TypeInfo(TypeOf.Class, create:() => GetAllContactsForAutocompleteList()), });