""" Options: Date: 2026-04-04 01:02:43 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: GetStaffForContact.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class SortOrder(str, Enum): ASCENDING = 'Ascending' DESCENDING = 'Descending' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PagedModel: # @ApiMember(DataType="int", Description="Page Number to retrieve", Name="PageNumber") page_number: int = 0 """ Page Number to retrieve """ # @ApiMember(DataType="int", Description="Number of records to retrieve", Name="PageSize") page_size: int = 0 """ Number of records to retrieve """ # @ApiMember(DataType="int", Description="Index of field to sort results by", Name="SortIndex") sort_index: int = 0 """ Index of field to sort results by """ # @ApiMember(DataType="int", Description="Sort Order - Ascending or Descending", Name="SortOrder") sort_order: Optional[SortOrder] = None """ Sort Order - Ascending or Descending """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class UserProfileModel(UserProfileSummaryModel): # @ApiMember(DataType="DateTime?", Description="Contact Date of Birth (when person type)", Name="BirthDate", ParameterType="query") birth_date: Optional[datetime.datetime] = None """ Contact Date of Birth (when person type) """ # @ApiMember(DataType="string", Description="Contact marital status (when person type)", Name="MaritalStatusName", ParameterType="query") marital_status_name: Optional[str] = None """ Contact marital status (when person type) """ # @ApiMember(DataType="string", Description="Contact gender (when person type)", Name="GenderName", ParameterType="query") gender_name: Optional[str] = None """ Contact gender (when person type) """ # @ApiMember(DataType="Guid", Description="The Gender Guid of the contact.", Name="GenderId", ParameterType="query") gender_id: Optional[str] = None """ The Gender Guid of the contact. """ # @ApiMember(DataType="List", Description="All contact details of the contact", Name="ContactDetails", ParameterType="query") contact_details: Optional[List[ContactDetailModel]] = None """ All contact details of the contact """ # @ApiMember(DataType="ContactDetail", Description="Primary Street Address", Name="PrimaryStreetAddress ") primary_street_address: Optional[ContactDetailModel] = None """ Primary Street Address """ # @ApiMember(DataType="ContactDetail", Description="Primary Postal Address", Name="PrimaryPostalAddress ") primary_postal_address: Optional[ContactDetailModel] = None """ Primary Postal Address """ # @ApiMember(DataType="ContactDetail", Description="Primary Registered Address", Name="PrimaryRegisteredAddress ") primary_registered_address: Optional[ContactDetailModel] = None """ Primary Registered Address """ # @ApiMember(DataType="ContactDetail", Description="Primary Email Address", Name="PrimaryEmail ") primary_email: Optional[ContactDetailModel] = None """ Primary Email Address """ # @ApiMember(DataType="ContactDetail", Description="Primary Mobile Number", Name="PrimaryMobile") primary_mobile: Optional[ContactDetailModel] = None """ Primary Mobile Number """ # @ApiMember(DataType="ContactDetail", Description="Primary Non-Mobile Number", Name="PrimaryPhone") primary_phone: Optional[ContactDetailModel] = None """ Primary Non-Mobile Number """ # @ApiMember(DataType="ContactDetail", Description="Primary Fax Number", Name="PrimaryFax") primary_fax: Optional[ContactDetailModel] = None """ Primary Fax Number """ # @ApiMember(DataType="ContactDetail", Description="Primary Web Address", Name="PrimaryWeb") primary_web: Optional[ContactDetailModel] = None """ Primary Web Address """ # @ApiMember(DataType="ContactDetail", Description="Social Media Twitter", Name="SocialMediaTwitter") social_media_twitter: Optional[ContactDetailModel] = None """ Social Media Twitter """ # @ApiMember(DataType="ContactDetail", Description="Social Media Facebook", Name="SocialMediaFacebook") social_media_facebook: Optional[ContactDetailModel] = None """ Social Media Facebook """ # @ApiMember(DataType="ContactDetail", Description="Social Media Instagram", Name="SocialMediaInstagram") social_media_instagram: Optional[ContactDetailModel] = None """ Social Media Instagram """ # @ApiMember(DataType="bool", Description="Have all connections to the contact been removed?", Name="IsRemovedContact") is_removed_contact: bool = False """ Have all connections to the contact been removed? """ # @ApiMember(DataType="bool", Description="True if this is the users default profile.", Name="IsDefault", ParameterType="query") is_default: bool = False """ True if this is the users default profile. """ # @ApiMember(DataType="bool", Description="True if the users email on this profile can be edited.", Name="IsEmailEditable", ParameterType="query") is_email_editable: bool = False """ True if the users email on this profile can be edited. """ # @ApiMember(DataType="string", Description="Primary image Content sent as a file stream contents (if not attached to the request)", Name="PrimaryImageContent") primary_image_content: Optional[str] = None """ Primary image Content 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") primary_image_content_type: Optional[str] = None """ Primary image Content type sent as a file stream contents (if not attached to the request) """ # @ApiMember(DataType="string", Description="Primary image file name", Name="PrimaryImageFileName") primary_image_file_name: Optional[str] = None """ Primary image file name """ # @ApiResponse(Description="Contacts connected to contact by criteria and response status") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetContactsResponse: contacts: Optional[List[UserProfileModel]] = None total_contacts: int = 0 response_status: Optional[ResponseStatus] = None # @Route("/contacts/{ContactId}/staff") # @Route("/contacts/{ContactId}/staff/linkedtolicensee") # @Api(Description="Get staff for the specified contact") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetStaffForContact(PagedModel, IReturn[GetContactsResponse]): """ Get staff for the specified contact """ # @ApiMember(DataType="Guid", Description="Organisation contact Id to get staff for", IsRequired=true, Name="ContactId") contact_id: Optional[str] = None """ Organisation contact Id to get staff for """ # @ApiMember(DataType="Guid", Description="Organisation Contact Type Id - Real or Virtual Organisation", IsRequired=true, Name="ContactTypeId") contact_type_id: Optional[str] = None """ Organisation Contact Type Id - Real or Virtual Organisation """ # @ApiMember(DataType="Guid", Description="Staff group id for the contact (if available)", Name="ContactStaffGroupId") contact_staff_group_id: Optional[str] = None """ Staff group id for the contact (if available) """ # @ApiMember(Description="Return all connections or paged results?", Name="IsPagedMode") is_paged_mode: bool = False """ Return all connections or paged results? """