/* Options:
Date: 2026-04-04 08:34:24
Version: 8.52
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://pfapi.pstpf.com.au/api
//GlobalNamespace:
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddNullableAnnotations: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion:
//InitializeCollections: False
//ExportValueTypes: False
IncludeTypes: GetProjectContacts.*
//ExcludeTypes:
//AddNamespaces:
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eros.Saguna.Common.WebAPI.ServiceModel;
using Eros.Subtle.Canvara.WebAPIModel.Models;
using Eros.Saguna.Common.WebAPIModel.Models;
using Eros.Subtle.Canvara.WebAPIModel.ServiceModel;
namespace Eros.Saguna.Common.WebAPI.ServiceModel
{
public partial class ContactDetailModel
{
///
///Id of the Contact Method
///
[ApiMember(DataType="Guid", Description="Id of the Contact Method", Name="ContactMethodId", ParameterType="body")]
public virtual Guid ContactMethodId { get; set; }
///
///Contact Method Name
///
[ApiMember(DataType="string", Description="Contact Method Name", Name="ContactMethodName", ParameterType="body")]
public virtual string ContactMethodName { get; set; }
///
///If the contact method is an address, this will contain the address details.
///
[ApiMember(DataType="ContactAddressModel", Description="If the contact method is an address, this will contain the address details.", Name="ContactAddress", ParameterType="body")]
public virtual ContactAddressModel ContactAddress { get; set; }
///
///If the contact method is a phone, this will contain the phone details
///
[ApiMember(DataType="PhoneModel", Description="If the contact method is a phone, this will contain the phone details", Name="ContactPhone", ParameterType="body")]
public virtual PhoneModel ContactPhone { get; set; }
///
///Id of the country
///
[ApiMember(DataType="Guid?", Description="Id of the country", Name="CountryId", ParameterType="body")]
public virtual Guid? CountryId { get; set; }
///
///A summary string representing the contact details
///
[ApiMember(DataType="string", Description="A summary string representing the contact details", Name="ContactDetails", ParameterType="body")]
public virtual string ContactDetails { get; set; }
///
///Notes about the contact details
///
[ApiMember(DataType="string", Description="Notes about the contact details", Name="Notes", ParameterType="body")]
public virtual string Notes { get; set; }
///
///Area Code if contact details are a phone number
///
[ApiMember(DataType="string", Description="Area Code if contact details are a phone number", Name="ContactDetailsCode", ParameterType="body")]
public virtual string ContactDetailsCode { get; set; }
///
///Order number of the contact method
///
[ApiMember(DataType="int", Description="Order number of the contact method", Name="OrderContactMethod", ParameterType="body")]
public virtual int OrderContactMethod { get; set; }
///
///True if this is the primary contact method
///
[ApiMember(DataType="bool", Description="True if this is the primary contact method", Name="IsPrimaryContactMethod", ParameterType="body")]
public virtual bool IsPrimaryContactMethod { get; set; }
///
///True if this contact method is an address
///
[ApiMember(DataType="bool", Description="True if this contact method is an address", Name="IsAddress", ParameterType="body")]
public virtual bool IsAddress { get; set; }
}
public partial class ContactRole
{
///
///Guid of the Role List Item object within PSTPF.
///
[ApiMember(DataType="Guid", Description="Guid of the Role List Item object within PSTPF.", Name="RoleId", ParameterType="body")]
public virtual Guid RoleId { get; set; }
///
///The unique key that represents the role type on the external system.
///
[ApiMember(DataType="string", Description="The unique key that represents the role type on the external system.", Name="AlternateKey", ParameterType="body")]
public virtual string AlternateKey { get; set; }
}
public partial class SubscriptionContactModel
{
///
///Guid of the contact object within PSTPF.
///
[ApiMember(DataType="Guid", Description="Guid of the contact object within PSTPF.", Name="ContactId", ParameterType="body")]
public virtual Guid ContactId { get; set; }
///
///Guid of the Contact Type List Item object within PSTPF.
///
[ApiMember(DataType="Guid", Description="Guid of the Contact Type List Item object within PSTPF.", Name="ContactType", ParameterType="body")]
public virtual Guid ContactType { get; set; }
///
///Guid of the Marital Status List Item object within PSTPF.
///
[ApiMember(DataType="Guid?", Description="Guid of the Marital Status List Item object within PSTPF.", Name="MaritalStatus", ParameterType="body")]
public virtual Guid? MaritalStatus { get; set; }
///
///Guid of the Gender List Item object within PSTPF.
///
[ApiMember(DataType="Guid?", Description="Guid of the Gender List Item object within PSTPF.", Name="Gender", ParameterType="body")]
public virtual Guid? Gender { get; set; }
///
///The first given name for the contact. Applies to a person contact type.
///
[ApiMember(DataType="string", Description="The first given name for the contact. Applies to a person contact type.", Name="FirstName", ParameterType="body")]
public virtual string FirstName { get; set; }
///
///The middle name(s) for the contact. Applies to a person contact type.
///
[ApiMember(DataType="string", Description="The middle name(s) for the contact. Applies to a person contact type.", Name="MiddleName", ParameterType="body")]
public virtual string MiddleName { get; set; }
///
///The surname for the contact. Applies to a person contact type.
///
[ApiMember(DataType="string", Description="The surname for the contact. Applies to a person contact type.", Name="Surname", ParameterType="body")]
public virtual string Surname { get; set; }
///
///The full name for the contact.
///
[ApiMember(DataType="string", Description="The full name for the contact.", Name="FullName", ParameterType="body")]
public virtual string FullName { get; set; }
///
///A short name for the contact.
///
[ApiMember(DataType="string", Description="A short name for the contact.", Name="ShortName", ParameterType="body")]
public virtual string ShortName { get; set; }
///
///The birth date for the contact. Applies to a person contact type.
///
[ApiMember(DataType="DateTime?", Description="The birth date for the contact. Applies to a person contact type.", Name="BirthDate", ParameterType="body")]
public virtual DateTime? BirthDate { get; set; }
///
///The title for the contact. Applies to a person contact type.
///
[ApiMember(DataType="string", Description="The title for the contact. Applies to a person contact type.", Name="Title", ParameterType="body")]
public virtual string Title { get; set; }
///
///A salutation for the contact.
///
[ApiMember(DataType="string", Description="A salutation for the contact.", Name="Salutation", ParameterType="body")]
public virtual string Salutation { get; set; }
///
///The A.B.N for the contact.
///
[ApiMember(DataType="string", Description="The A.B.N for the contact.", Name="Abn", ParameterType="body")]
public virtual string Abn { get; set; }
///
///The A.C.N for the contact.
///
[ApiMember(DataType="string", Description="The A.C.N for the contact.", Name="Acn", ParameterType="body")]
public virtual string Acn { get; set; }
///
///The A.R.B.N for the contact.
///
[ApiMember(DataType="string", Description="The A.R.B.N for the contact.", Name="Arbn", ParameterType="body")]
public virtual string Arbn { get; set; }
///
///A trading name for the contact.
///
[ApiMember(DataType="string", Description="A trading name for the contact.", Name="TradingName", ParameterType="body")]
public virtual string TradingName { get; set; }
///
///A legal name for the contact.
///
[ApiMember(DataType="string", Description="A legal name for the contact.", Name="LegalName", ParameterType="body")]
public virtual string LegalName { get; set; }
///
///Any notes/description for the contact.
///
[ApiMember(DataType="string", Description="Any notes/description for the contact.", Name="Notes", ParameterType="body")]
public virtual string Notes { get; set; }
///
///Contact Employment Industry.
///
[ApiMember(DataType="string", Description="Contact Employment Industry.", Name="EmploymentIndustry", ParameterType="body")]
public virtual string EmploymentIndustry { get; set; }
///
///Contact Employment Role.
///
[ApiMember(DataType="string", Description="Contact Employment Role.", Name="EmploymentRole", ParameterType="body")]
public virtual string EmploymentRole { get; set; }
///
///Contact Employment Geographic Area.
///
[ApiMember(DataType="string", Description="Contact Employment Geographic Area.", Name="EmploymentGeographicArea", ParameterType="body")]
public virtual string EmploymentGeographicArea { get; set; }
///
///The Contacts Drivers Licence Number
///
[ApiMember(DataType="string", Description="The Contacts Drivers Licence Number", Name="DriversLicence", ParameterType="body")]
public virtual string DriversLicence { get; set; }
///
///Indicates if the Contact is registered for GST
///
[ApiMember(DataType="bool", Description="Indicates if the Contact is registered for GST", Name="GstRegistered", ParameterType="body")]
public virtual bool GstRegistered { get; set; }
///
///The status of the contact in PSTPF
///
[ApiMember(DataType="string", Description="The status of the contact in PSTPF", Name="RecordStatus", ParameterType="body")]
public virtual string RecordStatus { get; set; }
///
///A list of roles this contact has.
///
[ApiMember(DataType="List", Description="A list of roles this contact has.", Name="ContactRoles", ParameterType="body")]
public virtual List ContactRoles { get; set; }
///
///A list of the contact details for the contact.
///
[ApiMember(DataType="List", Description="A list of the contact details for the contact.", Name="ContactDetails", ParameterType="body")]
public virtual List ContactDetails { get; set; }
///
///Custom Content XML for the contact.
///
[ApiMember(DataType="string", Description="Custom Content XML for the contact.", Name="CustomContentXML", ParameterType="body")]
public virtual string CustomContentXML { get; set; }
///
///URL to the Primary Image.
///
[ApiMember(DataType="string", Description="URL to the Primary Image.", Name="BlobImageURLPrimary", ParameterType="body")]
public virtual string BlobImageURLPrimary { get; set; }
///
///URL to the Primary Image thumbnail.
///
[ApiMember(DataType="string", Description="URL to the Primary Image thumbnail.", Name="BlobImageURLPrimaryThumbnail", ParameterType="body")]
public virtual string BlobImageURLPrimaryThumbnail { get; set; }
///
///The primary mobile for the contact.
///
[ApiMember(DataType="string", Description="The primary mobile for the contact.", Name="PrimaryMobile", ParameterType="body")]
public virtual string PrimaryMobile { get; set; }
///
///The primary email for the contact.
///
[ApiMember(DataType="string", Description="The primary email for the contact.", Name="PrimaryEmail", ParameterType="body")]
public virtual string PrimaryEmail { get; set; }
}
}
namespace Eros.Saguna.Common.WebAPIModel.Models
{
public partial class ContactDetailModel
{
///
///Contact Method Id
///
[ApiMember(DataType="Guid", Description="Contact Method Id", Name="ContactMethodId", ParameterType="query")]
public virtual Guid ContactMethodId { get; set; }
///
///Contact Method Name
///
[ApiMember(DataType="string", Description="Contact Method Name", Name="ContactMethodName", ParameterType="query")]
public virtual string ContactMethodName { get; set; }
///
///Contact Address Details
///
[ApiMember(DataType="ContactAddressModel", Description="Contact Address Details", Name="ContactAddress", ParameterType="query")]
public virtual ContactAddressModel ContactAddress { get; set; }
///
///Contact Phone Details
///
[ApiMember(DataType="PhoneModel", Description="Contact Phone Details", Name="ContactPhone", ParameterType="query")]
public virtual PhoneModel ContactPhone { get; set; }
///
///Country id
///
[ApiMember(DataType="Guid", Description="Country id", Name="CountryId", ParameterType="query")]
public virtual Guid? CountryId { get; set; }
///
///Contact Details
///
[ApiMember(DataType="string", Description="Contact Details", Name="ContactDetails", ParameterType="query")]
public virtual string ContactDetails { get; set; }
///
///Notes
///
[ApiMember(DataType="string", Description="Notes", Name="Notes", ParameterType="query")]
public virtual string Notes { get; set; }
///
///Contact Details Code
///
[ApiMember(DataType="string", Description="Contact Details Code", Name="ContactDetailsCode", ParameterType="query")]
public virtual string ContactDetailsCode { get; set; }
///
///Order of Contact Method Id
///
[ApiMember(DataType="int", Description="Order of Contact Method Id", Name="OrderContactMethod", ParameterType="query")]
public virtual int OrderContactMethod { get; set; }
///
///Contact Method Id
///
[ApiMember(DataType="bool", Description="Contact Method Id", Name="IsPrimaryContactMethod", ParameterType="query")]
public virtual bool IsPrimaryContactMethod { get; set; }
///
///Is contact details an address
///
[ApiMember(DataType="bool", Description="Is contact details an address", Name="IsAddress", ParameterType="query")]
public virtual bool IsAddress { get; set; }
///
///Contact Contact Detail Id
///
[ApiMember(DataType="Guid", Description="Contact Contact Detail Id", Name="ContactContactDetailId", ParameterType="query")]
public virtual Guid ContactContactDetailId { get; set; }
///
///Contact Id
///
[ApiMember(DataType="Guid", Description="Contact Id", Name="ContactId", ParameterType="query")]
public virtual Guid ContactId { get; set; }
///
///Contact Details Id
///
[ApiMember(DataType="Guid", Description="Contact Details Id", Name="ContactDetailId", ParameterType="query")]
public virtual Guid ContactDetailId { get; set; }
///
///Is contact details a primary location
///
[ApiMember(DataType="bool", Description="Is contact details a primary location", Name="IsPrimaryLocation", ParameterType="query")]
public virtual bool IsPrimaryLocation { get; set; }
///
///Is contact details a registered location
///
[ApiMember(DataType="bool", Description="Is contact details a registered location", Name="IsRegisteredLocation", ParameterType="query")]
public virtual bool IsRegisteredLocation { get; set; }
///
///Is contact details a postal address
///
[ApiMember(DataType="bool", Description="Is contact details a postal address", Name="IsPostal", ParameterType="query")]
public virtual bool IsPostal { get; set; }
///
///Is contact details a phone number
///
[ApiMember(DataType="bool", Description="Is contact details a phone number", Name="IsPhone", ParameterType="query")]
public virtual bool IsPhone { get; set; }
///
///Email Signature Id
///
[ApiMember(DataType="Guid", Description="Email Signature Id", Name="EmailSignatureId", ParameterType="query")]
public virtual Guid EmailSignatureId { get; set; }
///
///Email Signature HTML
///
[ApiMember(DataType="string", Description="Email Signature HTML", Name="EmailSignatureHTML", ParameterType="query")]
public virtual string EmailSignatureHTML { get; set; }
///
///Email Signature Text
///
[ApiMember(DataType="string", Description="Email Signature Text", Name="EmailSignatureText", ParameterType="query")]
public virtual string EmailSignatureText { get; set; }
///
///API Key from Framework
///
[ApiMember(DataType="string", Description="API Key from Framework", Name="ApiFrameworkAlternateKey", ParameterType="query")]
public virtual string ApiFrameworkAlternateKey { get; set; }
}
}
namespace Eros.Subtle.Canvara.WebAPIModel.Models
{
public partial class ProjectContact
{
///
///Guid of the contact object within Eros.
///
[ApiMember(DataType="Guid", Description="Guid of the contact object within Eros.", Name="ContactId", ParameterType="query")]
public virtual Guid ContactId { get; set; }
///
///The unique key that represents the contact on the external system.
///
[ApiMember(DataType="string", Description="The unique key that represents the contact on the external system.", IsRequired=true, Name="ContactAlternateKey", ParameterType="query")]
public virtual string ContactAlternateKey { get; set; }
///
///Guid of the Role List Item object within Eros.
///
[ApiMember(DataType="Guid", Description="Guid of the Role List Item object within Eros.", IsRequired=true, Name="RoleId", ParameterType="query")]
public virtual Guid RoleId { get; set; }
///
///Role Name.
///
[ApiMember(DataType="string", Description="Role Name.", Name="RoleName", ParameterType="query")]
public virtual string RoleName { get; set; }
///
///The unique key that represents the role type on the external system. Note: Use of this is not currently implemented
///
[ApiMember(DataType="string", Description="The unique key that represents the role type on the external system. Note: Use of this is not currently implemented", Name="RoleAlternateKey", ParameterType="query")]
public virtual string RoleAlternateKey { get; set; }
///
///The object that contains details of the contact
///
[ApiMember(DataType="ContactModel", Description="The object that contains details of the contact", Name="Contact", ParameterType="query")]
public virtual SubscriptionContactModel Contact { get; set; }
///
///The order this contact is in priority. 1 would be the primary contact, 2 the secondary and so forth.
///
[ApiMember(DataType="int", Description="The order this contact is in priority. 1 would be the primary contact, 2 the secondary and so forth.", Name="Index", ParameterType="query")]
public virtual int Index { get; set; }
}
}
namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel
{
///
///Returns a projects contacts (customer and project connected).
///
[Route("/project/{ProjectId}/contacts")]
[Api(Description="Returns a projects contacts (customer and project connected).")]
public partial class GetProjectContacts
: IReturn
{
///
///Guid representing the object that is the project in Eros.
///
[ApiMember(DataType="Guid", Description="Guid representing the object that is the project in Eros.", Name="ProjectId", ParameterType="query")]
public virtual Guid ProjectId { get; set; }
///
///Guid representing the projects contact customer group Id.
///
[ApiMember(DataType="Guid", Description="Guid representing the projects contact customer group Id.", Name="CustomerGroupId", ParameterType="query")]
public virtual Guid CustomerGroupId { get; set; }
}
[ApiResponse(Description="List of project contacts and customer contacts.")]
public partial class ProjectContactModel
{
///
///Object containing all details of the project to be inserted or updated.
///
[ApiMember(DataType=" List", Description="Object containing all details of the project to be inserted or updated.", Name="ProjectContacts", ParameterType="query")]
public virtual List ProjectContacts { get; set; }
///
///Object containing all details of the project to be inserted or updated.
///
[ApiMember(DataType=" List", Description="Object containing all details of the project to be inserted or updated.", Name="CustomerContacts", ParameterType="query")]
public virtual List CustomerContacts { get; set; }
}
}