/* Options: Date: 2026-04-04 01:05:05 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: CreateContact.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ 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 json) { fromMap(json); } fromMap(Map 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 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; } // @ApiResponse(Description="Contact Id of the newly invited/ created contact") class AddContactResponse implements IConvertible { String? ContactId; ResponseStatus? ResponseStatus; AddContactResponse({this.ContactId,this.ResponseStatus}); AddContactResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ContactId = json['ContactId']; ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'ContactId': ContactId, 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "AddContactResponse"; TypeContext? context = _ctx; } // @Route("/contacts/{ContactId}/create/person") // @Route("/contacts/{ContactId}/create/organisation") class CreateContact implements IReturn, IConvertible, IPost { /** * Contact Id creating the contact */ // @ApiMember(DataType="Guid", Description="Contact Id creating the contact", IsRequired=true, Name="ContactId") String? ContactId; /** * Details of the virtual contact being created */ // @ApiMember(DataType="UserProfileSummaryCoreModel", Description="Details of the virtual contact being created", IsRequired=true, Name="Contact") UserProfileSummaryModel? Contact; /** * List of roles to invite the contact */ // @ApiMember(DataType="List", Description="List of roles to invite the contact", IsRequired=true, Name="Roles") List? Roles = []; CreateContact({this.ContactId,this.Contact,this.Roles}); CreateContact.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ContactId = json['ContactId']; Contact = JsonConverters.fromJson(json['Contact'],'UserProfileSummaryModel',context!); Roles = JsonConverters.fromJson(json['Roles'],'List',context!); return this; } Map toJson() => { 'ContactId': ContactId, 'Contact': JsonConverters.toJson(Contact,'UserProfileSummaryModel',context!), 'Roles': JsonConverters.toJson(Roles,'List',context!) }; createResponse() => AddContactResponse(); getResponseTypeName() => "AddContactResponse"; getTypeName() => "CreateContact"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: { 'UserProfileSummaryModel': TypeInfo(TypeOf.Class, create:() => UserProfileSummaryModel()), 'AddContactResponse': TypeInfo(TypeOf.Class, create:() => AddContactResponse()), 'CreateContact': TypeInfo(TypeOf.Class, create:() => CreateContact()), });