/* Options: Date: 2026-04-04 04:54:29 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: GetCommunication.* //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; } class CommunicationModel implements IConvertible { /** * Communication Id */ // @ApiMember(DataType="Guid", Description="Communication Id", IsRequired=true, Name="CommunicationId") String? CommunicationId; /** * Communication Type Id e.g. SMS, Email, Comment. */ // @ApiMember(DataType="Guid", Description="Communication Type Id e.g. SMS, Email, Comment.", IsRequired=true, Name="CommunicationTypeId") String? CommunicationTypeId; /** * Communication Type Name e.g. SMS, Email, Comment. */ // @ApiMember(DataType="string", Description="Communication Type Name e.g. SMS, Email, Comment.", Name="CommunicationTypeName") String? CommunicationTypeName; /** * Communication Subject */ // @ApiMember(DataType="string", Description="Communication Subject", Name="Subject") String? Subject; /** * Communication Body */ // @ApiMember(DataType="string", Description="Communication Body", IsRequired=true, Name="Body") String? Body; /** * Date and Time communication record created */ // @ApiMember(DataType="DateTime", Description="Date and Time communication record created", IsRequired=true, Name="CreatedAt") DateTime? CreatedAt; /** * Date and Time communication record released (e.g. Email sent date time) */ // @ApiMember(DataType="DateTime", Description="Date and Time communication record released (e.g. Email sent date time)", IsRequired=true, Name="ReleaseAt") DateTime? ReleaseAt; /** * Sender or the creater of the communication */ // @ApiMember(Description="Sender or the creater of the communication", IsRequired=true, Name="Sender") UserProfileModel? Sender; /** * Primary recipient(s) of the communication (e.g. 'To' contacts of an email). */ // @ApiMember(Description="Primary recipient(s) of the communication (e.g. 'To' contacts of an email).", IsRequired=true, Name="Recipients") List? Recipients = []; /** * Cc recipient(s) of the communication. */ // @ApiMember(Description="Cc recipient(s) of the communication.", IsRequired=true, Name="CcRecipients") List? CcRecipients = []; /** * Bcc recipient(s) of the communication. */ // @ApiMember(Description="Bcc recipient(s) of the communication.", IsRequired=true, Name="BccRecipients") List? BccRecipients = []; /** * Indicates whether the sender is a customer */ // @ApiMember(DataType="Boolean", Description="Indicates whether the sender is a customer", IsRequired=true, Name="SentByCustomer") bool? SentByCustomer; /** * Indicates whether the sender is a staff member (Internal contact) */ // @ApiMember(DataType="Boolean", Description="Indicates whether the sender is a staff member (Internal contact)", IsRequired=true, Name="SentByStaff") bool? SentByStaff; CommunicationModel({this.CommunicationId,this.CommunicationTypeId,this.CommunicationTypeName,this.Subject,this.Body,this.CreatedAt,this.ReleaseAt,this.Sender,this.Recipients,this.CcRecipients,this.BccRecipients,this.SentByCustomer,this.SentByStaff}); CommunicationModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CommunicationId = json['CommunicationId']; CommunicationTypeId = json['CommunicationTypeId']; CommunicationTypeName = json['CommunicationTypeName']; Subject = json['Subject']; Body = json['Body']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); ReleaseAt = JsonConverters.fromJson(json['ReleaseAt'],'DateTime',context!); Sender = JsonConverters.fromJson(json['Sender'],'UserProfileModel',context!); Recipients = JsonConverters.fromJson(json['Recipients'],'List',context!); CcRecipients = JsonConverters.fromJson(json['CcRecipients'],'List',context!); BccRecipients = JsonConverters.fromJson(json['BccRecipients'],'List',context!); SentByCustomer = json['SentByCustomer']; SentByStaff = json['SentByStaff']; return this; } Map toJson() => { 'CommunicationId': CommunicationId, 'CommunicationTypeId': CommunicationTypeId, 'CommunicationTypeName': CommunicationTypeName, 'Subject': Subject, 'Body': Body, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'ReleaseAt': JsonConverters.toJson(ReleaseAt,'DateTime',context!), 'Sender': JsonConverters.toJson(Sender,'UserProfileModel',context!), 'Recipients': JsonConverters.toJson(Recipients,'List',context!), 'CcRecipients': JsonConverters.toJson(CcRecipients,'List',context!), 'BccRecipients': JsonConverters.toJson(BccRecipients,'List',context!), 'SentByCustomer': SentByCustomer, 'SentByStaff': SentByStaff }; getTypeName() => "CommunicationModel"; TypeContext? context = _ctx; } // @ApiResponse(Description="Details of communication including sender and recipient details.") class GetCommunicationResponse implements IConvertible { CommunicationModel? Communication; ResponseStatus? ResponseStatus; GetCommunicationResponse({this.Communication,this.ResponseStatus}); GetCommunicationResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Communication = JsonConverters.fromJson(json['Communication'],'CommunicationModel',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Communication': JsonConverters.toJson(Communication,'CommunicationModel',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "GetCommunicationResponse"; TypeContext? context = _ctx; } /** * Get specified communication. */ // @Route("/communication/{CommunicationId}") // @Api(Description="Get specified communication.") class GetCommunication implements IReturn, IConvertible, IGet { /** * Communication Id to get details for */ // @ApiMember(Description="Communication Id to get details for", IsRequired=true, Name="CommunicationId") String? CommunicationId; GetCommunication({this.CommunicationId}); GetCommunication.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CommunicationId = json['CommunicationId']; return this; } Map toJson() => { 'CommunicationId': CommunicationId }; createResponse() => GetCommunicationResponse(); getResponseTypeName() => "GetCommunicationResponse"; getTypeName() => "GetCommunication"; 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()), 'CommunicationModel': TypeInfo(TypeOf.Class, create:() => CommunicationModel()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetCommunicationResponse': TypeInfo(TypeOf.Class, create:() => GetCommunicationResponse()), 'GetCommunication': TypeInfo(TypeOf.Class, create:() => GetCommunication()), });