/* Options: Date: 2026-04-04 10:23: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: UpdateContactGroup.* //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; } class RoleModel implements IConvertible { /** * Role Id */ // @ApiMember(DataType="Guid", Description="Role Id", IsRequired=true, Name="RoleId") String? RoleId; /** * Role Name */ // @ApiMember(DataType="string", Description="Role Name", Name="RoleName") String? RoleName; /** * Is the role a licensee role? */ // @ApiMember(DataType="bool", Description="Is the role a licensee role?", Name="IsLicensee") bool? IsLicenseeRole; /** * Is manage contacts role? */ // @ApiMember(DataType="bool", Description="Is manage contacts role?", Name="IsManageContacts") bool? IsManageContacts; /** * Is the role a Platform role? */ // @ApiMember(DataType="bool", Description="Is the role a Platform role?", Name="IsPlatformRole") bool? IsPlatformRole; /** * Is the role a services role? */ // @ApiMember(DataType="bool", Description="Is the role a services role?", Name="IsServiceRole") bool? IsServiceRole; /** * Is the role a customer role? */ // @ApiMember(DataType="bool", Description="Is the role a customer role?", Name="IsCustomerRole") bool? IsCustomerRole; /** * Is the role a functional role? */ // @ApiMember(DataType="bool", Description="Is the role a functional role?", Name="IsFunctionalRole") bool? IsFunctionalRole; /** * Is the role an auto-accept role? */ // @ApiMember(DataType="bool", Description="Is the role an auto-accept role?", Name="IsRequestAutoAccepted") bool? IsRequestAutoAccepted; /** * Suite that the role belongs to */ // @ApiMember(DataType="Guid", Description="Suite that the role belongs to", Name="SuiteId") String? SuiteId; /** * Suite that the role belongs to */ // @ApiMember(DataType="string", Description="Suite that the role belongs to", Name="SuiteName") String? SuiteName; /** * 'A' (Active) or 'I' (Inactive) */ // @ApiMember(DataType="string", Description="'A' (Active) or 'I' (Inactive)", Name="RecordStatus") String? RecordStatus; /** * Object Connection Id, which is populated when the roles are returned based on those that are connected to an object. */ // @ApiMember(DataType="Guid", Description="Object Connection Id, which is populated when the roles are returned based on those that are connected to an object.", Name="ObjectConnectionId") String? ObjectConnectionId; RoleModel({this.RoleId,this.RoleName,this.IsLicenseeRole,this.IsManageContacts,this.IsPlatformRole,this.IsServiceRole,this.IsCustomerRole,this.IsFunctionalRole,this.IsRequestAutoAccepted,this.SuiteId,this.SuiteName,this.RecordStatus,this.ObjectConnectionId}); RoleModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RoleId = json['RoleId']; RoleName = json['RoleName']; IsLicenseeRole = json['IsLicenseeRole']; IsManageContacts = json['IsManageContacts']; IsPlatformRole = json['IsPlatformRole']; IsServiceRole = json['IsServiceRole']; IsCustomerRole = json['IsCustomerRole']; IsFunctionalRole = json['IsFunctionalRole']; IsRequestAutoAccepted = json['IsRequestAutoAccepted']; SuiteId = json['SuiteId']; SuiteName = json['SuiteName']; RecordStatus = json['RecordStatus']; ObjectConnectionId = json['ObjectConnectionId']; return this; } Map toJson() => { 'RoleId': RoleId, 'RoleName': RoleName, 'IsLicenseeRole': IsLicenseeRole, 'IsManageContacts': IsManageContacts, 'IsPlatformRole': IsPlatformRole, 'IsServiceRole': IsServiceRole, 'IsCustomerRole': IsCustomerRole, 'IsFunctionalRole': IsFunctionalRole, 'IsRequestAutoAccepted': IsRequestAutoAccepted, 'SuiteId': SuiteId, 'SuiteName': SuiteName, 'RecordStatus': RecordStatus, 'ObjectConnectionId': ObjectConnectionId }; getTypeName() => "RoleModel"; TypeContext? context = _ctx; } class ContactGroupConnectionModel extends UserProfileSummaryModel implements IConvertible { /** * Contact Group Id */ // @ApiMember(DataType="Guid", Description="Contact Group Id", Name="ContactGroupId") String? ContactGroupId; /** * Connection id of the contact in the group */ // @ApiMember(DataType="string", Description="Connection id of the contact in the group", Name="ContactGroupConnectionId") String? ContactGroupConnectionId; /** * The Id of the Role this contact is connected to the group with. */ // @ApiMember(DataType="string", Description="The Id of the Role this contact is connected to the group with.", Name="ConnectionRoleId") String? ConnectionRoleId; /** * Order of contacts within a group, the primary contact will have an index of 1. */ // @ApiMember(DataType="int", Description="Order of contacts within a group, the primary contact will have an index of 1.", Name="Index") int? Index; /** * List of roles that the contact in the contact group has across appliances for e.g. Platform Customer, Nexus customer etc. */ // @ApiMember(DataType="string", Description="List of roles that the contact in the contact group has across appliances for e.g. Platform Customer, Nexus customer etc.", Name="ContactRoles") List? ContactRoles; ContactGroupConnectionModel({this.ContactGroupId,this.ContactGroupConnectionId,this.ConnectionRoleId,this.Index,this.ContactRoles}); ContactGroupConnectionModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ContactGroupId = json['ContactGroupId']; ContactGroupConnectionId = json['ContactGroupConnectionId']; ConnectionRoleId = json['ConnectionRoleId']; Index = json['Index']; ContactRoles = JsonConverters.fromJson(json['ContactRoles'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'ContactGroupId': ContactGroupId, 'ContactGroupConnectionId': ContactGroupConnectionId, 'ConnectionRoleId': ConnectionRoleId, 'Index': Index, 'ContactRoles': JsonConverters.toJson(ContactRoles,'List',context!) }); getTypeName() => "ContactGroupConnectionModel"; TypeContext? context = _ctx; } // @ApiResponse(Description="Create contact group") class UpdateContactGroupResponse implements IConvertible { bool? Status; ResponseStatus? ResponseStatus; UpdateContactGroupResponse({this.Status,this.ResponseStatus}); UpdateContactGroupResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Status = json['Status']; ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Status': Status, 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "UpdateContactGroupResponse"; TypeContext? context = _ctx; } /** * Update the specified contact group */ // @Route("/contactgroups/{ContactGroupId}", "PUT") // @Api(Description="Update the specified contact group") class UpdateContactGroup implements IReturn, IConvertible, IPut { /** * Id of Contact group to be updated */ // @ApiMember(Description="Id of Contact group to be updated", Name="CustomerGroupId") String? CustomerGroupId; String? CustomerName; String? NameTypeId; List? Contacts; String? RecordStatus; UpdateContactGroup({this.CustomerGroupId,this.CustomerName,this.NameTypeId,this.Contacts,this.RecordStatus}); UpdateContactGroup.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CustomerGroupId = json['CustomerGroupId']; CustomerName = json['CustomerName']; NameTypeId = json['NameTypeId']; Contacts = JsonConverters.fromJson(json['Contacts'],'List',context!); RecordStatus = json['RecordStatus']; return this; } Map toJson() => { 'CustomerGroupId': CustomerGroupId, 'CustomerName': CustomerName, 'NameTypeId': NameTypeId, 'Contacts': JsonConverters.toJson(Contacts,'List',context!), 'RecordStatus': RecordStatus }; createResponse() => UpdateContactGroupResponse(); getResponseTypeName() => "UpdateContactGroupResponse"; getTypeName() => "UpdateContactGroup"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: { 'UserProfileSummaryModel': TypeInfo(TypeOf.Class, create:() => UserProfileSummaryModel()), 'RoleModel': TypeInfo(TypeOf.Class, create:() => RoleModel()), 'ContactGroupConnectionModel': TypeInfo(TypeOf.Class, create:() => ContactGroupConnectionModel()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'UpdateContactGroupResponse': TypeInfo(TypeOf.Class, create:() => UpdateContactGroupResponse()), 'UpdateContactGroup': TypeInfo(TypeOf.Class, create:() => UpdateContactGroup()), 'List': TypeInfo(TypeOf.Class, create:() => []), });