/* Options: Date: 2026-04-03 23:09:47 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://pfapi.pstpf.com.au/api //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCommunication.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class UserProfileModel extends UserProfileSummaryModel { /** @description Contact Date of Birth (when person type) */ // @ApiMember(DataType="DateTime?", Description="Contact Date of Birth (when person type)", Name="BirthDate", ParameterType="query") public BirthDate?: string; /** @description Contact marital status (when person type) */ // @ApiMember(DataType="string", Description="Contact marital status (when person type)", Name="MaritalStatusName", ParameterType="query") public MaritalStatusName: string; /** @description Contact gender (when person type) */ // @ApiMember(DataType="string", Description="Contact gender (when person type)", Name="GenderName", ParameterType="query") public GenderName: string; /** @description The Gender Guid of the contact. */ // @ApiMember(DataType="Guid", Description="The Gender Guid of the contact.", Name="GenderId", ParameterType="query") public GenderId?: string; /** @description All contact details of the contact */ // @ApiMember(DataType="List", Description="All contact details of the contact", Name="ContactDetails", ParameterType="query") public ContactDetails: ContactDetailModel[]; /** @description Primary Street Address */ // @ApiMember(DataType="ContactDetail", Description="Primary Street Address", Name="PrimaryStreetAddress ") public PrimaryStreetAddress: ContactDetailModel; /** @description Primary Postal Address */ // @ApiMember(DataType="ContactDetail", Description="Primary Postal Address", Name="PrimaryPostalAddress ") public PrimaryPostalAddress: ContactDetailModel; /** @description Primary Registered Address */ // @ApiMember(DataType="ContactDetail", Description="Primary Registered Address", Name="PrimaryRegisteredAddress ") public PrimaryRegisteredAddress: ContactDetailModel; /** @description Primary Email Address */ // @ApiMember(DataType="ContactDetail", Description="Primary Email Address", Name="PrimaryEmail ") public PrimaryEmail: ContactDetailModel; /** @description Primary Mobile Number */ // @ApiMember(DataType="ContactDetail", Description="Primary Mobile Number", Name="PrimaryMobile") public PrimaryMobile: ContactDetailModel; /** @description Primary Non-Mobile Number */ // @ApiMember(DataType="ContactDetail", Description="Primary Non-Mobile Number", Name="PrimaryPhone") public PrimaryPhone: ContactDetailModel; /** @description Primary Fax Number */ // @ApiMember(DataType="ContactDetail", Description="Primary Fax Number", Name="PrimaryFax") public PrimaryFax: ContactDetailModel; /** @description Primary Web Address */ // @ApiMember(DataType="ContactDetail", Description="Primary Web Address", Name="PrimaryWeb") public PrimaryWeb: ContactDetailModel; /** @description Social Media Twitter */ // @ApiMember(DataType="ContactDetail", Description="Social Media Twitter", Name="SocialMediaTwitter") public SocialMediaTwitter: ContactDetailModel; /** @description Social Media Facebook */ // @ApiMember(DataType="ContactDetail", Description="Social Media Facebook", Name="SocialMediaFacebook") public SocialMediaFacebook: ContactDetailModel; /** @description Social Media Instagram */ // @ApiMember(DataType="ContactDetail", Description="Social Media Instagram", Name="SocialMediaInstagram") public SocialMediaInstagram: ContactDetailModel; /** @description Have all connections to the contact been removed? */ // @ApiMember(DataType="bool", Description="Have all connections to the contact been removed?", Name="IsRemovedContact") public IsRemovedContact: boolean; /** @description True if this is the users default profile. */ // @ApiMember(DataType="bool", Description="True if this is the users default profile.", Name="IsDefault", ParameterType="query") public IsDefault: boolean; /** @description 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") public IsEmailEditable: boolean; /** @description 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") public PrimaryImageContent: string; /** @description 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") public PrimaryImageContentType: string; /** @description Primary image file name */ // @ApiMember(DataType="string", Description="Primary image file name", Name="PrimaryImageFileName") public PrimaryImageFileName: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class CommunicationModel { /** @description Communication Id */ // @ApiMember(DataType="Guid", Description="Communication Id", IsRequired=true, Name="CommunicationId") public CommunicationId: string; /** @description Communication Type Id e.g. SMS, Email, Comment. */ // @ApiMember(DataType="Guid", Description="Communication Type Id e.g. SMS, Email, Comment.", IsRequired=true, Name="CommunicationTypeId") public CommunicationTypeId: string; /** @description Communication Type Name e.g. SMS, Email, Comment. */ // @ApiMember(DataType="string", Description="Communication Type Name e.g. SMS, Email, Comment.", Name="CommunicationTypeName") public CommunicationTypeName: string; /** @description Communication Subject */ // @ApiMember(DataType="string", Description="Communication Subject", Name="Subject") public Subject: string; /** @description Communication Body */ // @ApiMember(DataType="string", Description="Communication Body", IsRequired=true, Name="Body") public Body: string; /** @description Date and Time communication record created */ // @ApiMember(DataType="DateTime", Description="Date and Time communication record created", IsRequired=true, Name="CreatedAt") public CreatedAt: string; /** @description 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") public ReleaseAt: string; /** @description Sender or the creater of the communication */ // @ApiMember(Description="Sender or the creater of the communication", IsRequired=true, Name="Sender") public Sender: UserProfileModel; /** @description 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") public Recipients: UserProfileModel[] = []; /** @description Cc recipient(s) of the communication. */ // @ApiMember(Description="Cc recipient(s) of the communication.", IsRequired=true, Name="CcRecipients") public CcRecipients: UserProfileModel[] = []; /** @description Bcc recipient(s) of the communication. */ // @ApiMember(Description="Bcc recipient(s) of the communication.", IsRequired=true, Name="BccRecipients") public BccRecipients: UserProfileModel[] = []; /** @description Indicates whether the sender is a customer */ // @ApiMember(DataType="Boolean", Description="Indicates whether the sender is a customer", IsRequired=true, Name="SentByCustomer") public SentByCustomer: boolean; /** @description 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") public SentByStaff: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[]; // @DataMember(Order=5) public Meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @ApiResponse(Description="Details of communication including sender and recipient details.") export class GetCommunicationResponse { public Communication: CommunicationModel; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Get specified communication. */ // @Route("/communication/{CommunicationId}") // @Api(Description="Get specified communication.") export class GetCommunication implements IReturn { /** @description Communication Id to get details for */ // @ApiMember(Description="Communication Id to get details for", IsRequired=true, Name="CommunicationId") public CommunicationId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetCommunication'; } public getMethod() { return 'GET'; } public createResponse() { return new GetCommunicationResponse(); } }