/* Options: Date: 2026-04-04 06:45:42 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: GetSlimContacts.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export enum SortOrder { Ascending = 'Ascending', Descending = 'Descending', } export class PagedModel { /** @description Page Number to retrieve */ // @ApiMember(DataType="int", Description="Page Number to retrieve", Name="PageNumber") public PageNumber: number; /** @description Number of records to retrieve */ // @ApiMember(DataType="int", Description="Number of records to retrieve", Name="PageSize") public PageSize: number; /** @description Index of field to sort results by */ // @ApiMember(DataType="int", Description="Index of field to sort results by", Name="SortIndex") public SortIndex: number; /** @description Sort Order - Ascending or Descending */ // @ApiMember(DataType="int", Description="Sort Order - Ascending or Descending", Name="SortOrder") public SortOrder: SortOrder; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ContactSummaryModel { /** @description Contact linked to the profile */ // @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId") public ContactId: string; /** @description Full name of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Full name of the contact linked to the profile", Name="ContactFullName") public ContactFullName: string; /** @description Email Address of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Email Address of the contact linked to the profile", Name="EmailAddress") public EmailAddress: string; /** @description Mobile Number of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Mobile Number of the contact linked to the profile", Name="MobileNumber") public MobileNumber: string; /** @description Primary Phone Number of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Primary Phone Number of the contact linked to the profile", Name="PhoneNumber") public PhoneNumber: string; /** @description 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") public ContactTypeId: string; /** @description Profile photo of contact linked to the profile */ // @ApiMember(DataType="string", Description="Profile photo of contact linked to the profile", Name="ProfilePhotoUrl") public ProfilePhotoUrl: string; /** @description Thumbnail photo of contact linked to the profile */ // @ApiMember(DataType="string", Description="Thumbnail photo of contact linked to the profile", Name="ProfilePhotoThumbnailUrl") public ProfilePhotoThumbnailUrl: string; /** @description Profile description */ // @ApiMember(DataType="string", Description="Profile description", Name="Description") public Description: string; /** @description Employment Industry */ // @ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry") public EmploymentIndustry: string; /** @description Employment Role */ // @ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole") public EmploymentRole: string; /** @description Areas of Work */ // @ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea") public EmploymentGeographicArea: string; /** @description Timezone Name */ // @ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query") public TimezoneName: string; /** @description The primary address of the contact */ // @ApiMember(DataType="string", Description="The primary address of the contact", Name="PrimaryAddress", ParameterType="query") public PrimaryAddress: string; /** @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; 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="Contacts connected to contact by criteria, returning minimal number of columns, and response status") export class GetSlimContactsResponse { public Contacts: ContactSummaryModel[]; public TotalContacts: number; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Get contacts connected to the current contact or licensee (if managing licensee contacts) by criteria, returning minimal number of columns */ // @Route("/slimcontacts") // @Api(Description="Get contacts connected to the current contact or licensee (if managing licensee contacts) by criteria, returning minimal number of columns") export class GetSlimContacts extends PagedModel implements IReturn { /** @description Specific search text to search for, e.g. Contact Name, Employment Details etc. */ // @ApiMember(DataType="string", Description="Specific search text to search for, e.g. Contact Name, Employment Details etc.", Name="SearchText") public SearchText: string; /** @description Contact Types to search for, i.e. People and/or Organisations */ // @ApiMember(DataType="List", Description="Contact Types to search for, i.e. People and/or Organisations", IsRequired=true, Name="ContactTypes") public ContactTypes: string[] = []; /** @description Contact statuses to search for, i.e. Real and/or Virtual */ // @ApiMember(DataType="List", Description="Contact statuses to search for, i.e. Real and/or Virtual", IsRequired=true, Name="Statuses") public Statuses: string[] = []; /** @description Include contacts previously connected to the contact but now removed. */ // @ApiMember(DataType="bool", Description="Include contacts previously connected to the contact but now removed.", Name="IncludeRemoved") public IncludeRemoved: boolean; /** @description Return all contacts matching criteria, or paged results? */ // @ApiMember(Description="Return all contacts matching criteria, or paged results?", Name="IsPagedMode") public IsPagedMode: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'GetSlimContacts'; } public getMethod() { return 'GET'; } public createResponse() { return new GetSlimContactsResponse(); } }