| All Verbs | /api/project/{ProjectId}/contacts |
|---|
import 'package:servicestack/servicestack.dart';
class ContactRole implements IConvertible
{
/**
* 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")
String? RoleId;
/**
* 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")
String? AlternateKey;
ContactRole({this.RoleId,this.AlternateKey});
ContactRole.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RoleId = json['RoleId'];
AlternateKey = json['AlternateKey'];
return this;
}
Map<String, dynamic> toJson() => {
'RoleId': RoleId,
'AlternateKey': AlternateKey
};
getTypeName() => "ContactRole";
TypeContext? context = _ctx;
}
class LocationCoordinatesModel implements IConvertible
{
/**
* The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.
*/
// @ApiMember(Description="The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.", ParameterType="query")
double? Latitude;
/**
* The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.
*/
// @ApiMember(Description="The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.", ParameterType="query")
double? Longitude;
/**
* The altitude of an address - the altitude above sea level."
*/
// @ApiMember(Description="The altitude of an address - the altitude above sea level.\"", ParameterType="query")
double? Altitude;
/**
* Accuracy of the latitude and longitude.
*/
// @ApiMember(Description="Accuracy of the latitude and longitude.", ParameterType="query")
double? Accuracy;
/**
* Accurancy of the Altitude.
*/
// @ApiMember(Description="Accurancy of the Altitude.", ParameterType="query")
double? AltitudeAccuracy;
/**
* Direction you are heading.
*/
// @ApiMember(Description="Direction you are heading.", ParameterType="query")
double? Heading;
/**
* Speed you are going.
*/
// @ApiMember(Description="Speed you are going.", ParameterType="query")
double? Speed;
/**
* Speed your altitude is ascending/descending at.
*/
// @ApiMember(Description="Speed your altitude is ascending/descending at.", ParameterType="query")
double? VerticalSpeed;
LocationCoordinatesModel({this.Latitude,this.Longitude,this.Altitude,this.Accuracy,this.AltitudeAccuracy,this.Heading,this.Speed,this.VerticalSpeed});
LocationCoordinatesModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Latitude = JsonConverters.toDouble(json['Latitude']);
Longitude = JsonConverters.toDouble(json['Longitude']);
Altitude = JsonConverters.toDouble(json['Altitude']);
Accuracy = JsonConverters.toDouble(json['Accuracy']);
AltitudeAccuracy = JsonConverters.toDouble(json['AltitudeAccuracy']);
Heading = JsonConverters.toDouble(json['Heading']);
Speed = JsonConverters.toDouble(json['Speed']);
VerticalSpeed = JsonConverters.toDouble(json['VerticalSpeed']);
return this;
}
Map<String, dynamic> toJson() => {
'Latitude': Latitude,
'Longitude': Longitude,
'Altitude': Altitude,
'Accuracy': Accuracy,
'AltitudeAccuracy': AltitudeAccuracy,
'Heading': Heading,
'Speed': Speed,
'VerticalSpeed': VerticalSpeed
};
getTypeName() => "LocationCoordinatesModel";
TypeContext? context = _ctx;
}
class AddressModel implements IConvertible
{
/**
* The distance between this project and another specified set of gps coordinates.
*/
// @ApiMember(DataType="double", Description="The distance between this project and another specified set of gps coordinates.", Name="DistanceAway", ParameterType="body")
double? DistanceAway;
/**
* The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.
*/
// @ApiMember(DataType="Double?", Description="The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.", Name="Latitude", ParameterType="body")
double? Latitude;
/**
* The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.
*/
// @ApiMember(DataType="Double?", Description="The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.", Name="Longitude", ParameterType="body")
double? Longitude;
/**
* Address Format Id Guid - this will be determined by the service.
*/
// @ApiMember(DataType="Guid", Description="Address Format Id Guid - this will be determined by the service.", Name="AddressFormatId", ParameterType="body")
String? AddressFormatId;
/**
* Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered.
*/
// @ApiMember(DataType="Guid", Description="Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered.", Name="SuburbId", ParameterType="body")
String? SuburbId;
/**
* The suburb name.
*/
// @ApiMember(DataType="string", Description="The suburb name.", Name="SuburbName", ParameterType="body")
String? SuburbName;
/**
* The shortened State Name e.g Vic for Victoria.
*/
// @ApiMember(DataType="string", Description="The shortened State Name e.g Vic for Victoria.", Name="StateShortName", ParameterType="body")
String? StateShortName;
/**
* The suburb postcode.
*/
// @ApiMember(DataType="string", Description="The suburb postcode.", Name="PostCode", ParameterType="body")
String? PostCode;
/**
* Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered.
*/
// @ApiMember(DataType="Guid", Description="Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered.", Name="CountryId", ParameterType="body")
String? CountryId;
/**
* the name of the country the address is within.
*/
// @ApiMember(DataType="string", Description="the name of the country the address is within.", Name="CountryName", ParameterType="body")
String? CountryName;
/**
* ISO Country Code.
*/
// @ApiMember(Description="ISO Country Code.", ParameterType="query")
String? ISOCountryCode;
/**
* The address Lot number.
*/
// @ApiMember(DataType="string", Description="The address Lot number.", Name="LotNumber", ParameterType="body")
String? LotNumber;
/**
* The address Sub Unit number.
*/
// @ApiMember(DataType="string", Description="The address Sub Unit number.", Name="SubUnit", ParameterType="body")
String? SubUnit;
/**
* The address building number.
*/
// @ApiMember(DataType="string", Description="The address building number.", Name="BuildingNumber", ParameterType="body")
String? BuildingNumber;
/**
* The address street number.
*/
// @ApiMember(DataType="string", Description="The address street number.", Name="StreetNumber", ParameterType="body")
String? StreetNumber;
/**
* The address street name including street type.
*/
// @ApiMember(DataType="string", Description="The address street name including street type.", Name="StreetName", ParameterType="body")
String? StreetName;
/**
* A formatted address Line 1.
*/
// @ApiMember(DataType="string", Description="A formatted address Line 1.", Name="AddressLineOne", ParameterType="body")
String? AddressLineOne;
/**
* A formatted address Line 2.
*/
// @ApiMember(DataType="string", Description="A formatted address Line 2.", Name="AddressLineTwo", ParameterType="body")
String? AddressLineTwo;
/**
* The full address string.
*/
// @ApiMember(DataType="string", Description="The full address string.", Name="AddressFull", ParameterType="body")
String? AddressFull;
/**
* True if the address is a physical location.
*/
// @ApiMember(DataType="bool?", Description="True if the address is a physical location.", Name="IsPhysical", ParameterType="body")
bool? IsPhysical;
/**
* Notes about the address.
*/
// @ApiMember(DataType="string", Description="Notes about the address.", Name="Notes")
String? Notes;
/**
* If true, the address is eligible for having its coordinates calculated/updated.
*/
// @ApiMember(DataType="bool?", Description="If true, the address is eligible for having its coordinates calculated/updated.", Name="AutoMapCoordinates", ParameterType="body")
bool? AutoMapCoordinates;
/**
* Location Coordinates for the address.
*/
// @ApiMember(DataType="LocationCoordinates", Description="Location Coordinates for the address.", Name="LocationCoordinates", ParameterType="body")
LocationCoordinatesModel? LocationCoordinates;
AddressModel({this.DistanceAway,this.Latitude,this.Longitude,this.AddressFormatId,this.SuburbId,this.SuburbName,this.StateShortName,this.PostCode,this.CountryId,this.CountryName,this.ISOCountryCode,this.LotNumber,this.SubUnit,this.BuildingNumber,this.StreetNumber,this.StreetName,this.AddressLineOne,this.AddressLineTwo,this.AddressFull,this.IsPhysical,this.Notes,this.AutoMapCoordinates,this.LocationCoordinates});
AddressModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DistanceAway = JsonConverters.toDouble(json['DistanceAway']);
Latitude = JsonConverters.toDouble(json['Latitude']);
Longitude = JsonConverters.toDouble(json['Longitude']);
AddressFormatId = json['AddressFormatId'];
SuburbId = json['SuburbId'];
SuburbName = json['SuburbName'];
StateShortName = json['StateShortName'];
PostCode = json['PostCode'];
CountryId = json['CountryId'];
CountryName = json['CountryName'];
ISOCountryCode = json['ISOCountryCode'];
LotNumber = json['LotNumber'];
SubUnit = json['SubUnit'];
BuildingNumber = json['BuildingNumber'];
StreetNumber = json['StreetNumber'];
StreetName = json['StreetName'];
AddressLineOne = json['AddressLineOne'];
AddressLineTwo = json['AddressLineTwo'];
AddressFull = json['AddressFull'];
IsPhysical = json['IsPhysical'];
Notes = json['Notes'];
AutoMapCoordinates = json['AutoMapCoordinates'];
LocationCoordinates = JsonConverters.fromJson(json['LocationCoordinates'],'LocationCoordinatesModel',context!);
return this;
}
Map<String, dynamic> toJson() => {
'DistanceAway': DistanceAway,
'Latitude': Latitude,
'Longitude': Longitude,
'AddressFormatId': AddressFormatId,
'SuburbId': SuburbId,
'SuburbName': SuburbName,
'StateShortName': StateShortName,
'PostCode': PostCode,
'CountryId': CountryId,
'CountryName': CountryName,
'ISOCountryCode': ISOCountryCode,
'LotNumber': LotNumber,
'SubUnit': SubUnit,
'BuildingNumber': BuildingNumber,
'StreetNumber': StreetNumber,
'StreetName': StreetName,
'AddressLineOne': AddressLineOne,
'AddressLineTwo': AddressLineTwo,
'AddressFull': AddressFull,
'IsPhysical': IsPhysical,
'Notes': Notes,
'AutoMapCoordinates': AutoMapCoordinates,
'LocationCoordinates': JsonConverters.toJson(LocationCoordinates,'LocationCoordinatesModel',context!)
};
getTypeName() => "AddressModel";
TypeContext? context = _ctx;
}
class ContactAddressModel implements IConvertible
{
/**
* Address Details
*/
// @ApiMember(DataType="AddressModel", Description="Address Details", Name="Address", ParameterType="body")
AddressModel? Address;
/**
* True if this is a postal address.
*/
// @ApiMember(DataType="bool", Description="True if this is a postal address.", Name="IsPostal", ParameterType="body")
bool? IsPostal;
/**
* True if this is the primary address.
*/
// @ApiMember(DataType="bool", Description="True if this is the primary address.", Name="IsPrimaryLocation", ParameterType="body")
bool? IsPrimaryLocation;
/**
* True if this address is the registered tax address.
*/
// @ApiMember(DataType="bool", Description="True if this address is the registered tax address.", Name="IsRegisteredLocation", ParameterType="body")
bool? IsRegisteredLocation;
/**
* Suburb Name
*/
// @ApiMember(DataType="string", Description="Suburb Name", Name="SuburbName", ParameterType="body")
String? SuburbName;
/**
* State Name
*/
// @ApiMember(DataType="string", Description="State Name", Name="StateName", ParameterType="body")
String? StateName;
/**
* Country Name
*/
// @ApiMember(DataType="string", Description="Country Name", Name="CountryName", ParameterType="body")
String? CountryName;
ContactAddressModel({this.Address,this.IsPostal,this.IsPrimaryLocation,this.IsRegisteredLocation,this.SuburbName,this.StateName,this.CountryName});
ContactAddressModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Address = JsonConverters.fromJson(json['Address'],'AddressModel',context!);
IsPostal = json['IsPostal'];
IsPrimaryLocation = json['IsPrimaryLocation'];
IsRegisteredLocation = json['IsRegisteredLocation'];
SuburbName = json['SuburbName'];
StateName = json['StateName'];
CountryName = json['CountryName'];
return this;
}
Map<String, dynamic> toJson() => {
'Address': JsonConverters.toJson(Address,'AddressModel',context!),
'IsPostal': IsPostal,
'IsPrimaryLocation': IsPrimaryLocation,
'IsRegisteredLocation': IsRegisteredLocation,
'SuburbName': SuburbName,
'StateName': StateName,
'CountryName': CountryName
};
getTypeName() => "ContactAddressModel";
TypeContext? context = _ctx;
}
class PhoneModel implements IConvertible
{
/**
* Country Code
*/
// @ApiMember(DataType="string", Description="Country Code", Name="CountryCode", ParameterType="body")
String? CountryCode;
/**
* Area Code
*/
// @ApiMember(DataType="string", Description="Area Code", Name="AreaCode", ParameterType="body")
String? AreaCode;
/**
* Local Number
*/
// @ApiMember(DataType="string", Description="Local Number", Name="LocalNumber", ParameterType="body")
String? LocalNumber;
PhoneModel({this.CountryCode,this.AreaCode,this.LocalNumber});
PhoneModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CountryCode = json['CountryCode'];
AreaCode = json['AreaCode'];
LocalNumber = json['LocalNumber'];
return this;
}
Map<String, dynamic> toJson() => {
'CountryCode': CountryCode,
'AreaCode': AreaCode,
'LocalNumber': LocalNumber
};
getTypeName() => "PhoneModel";
TypeContext? context = _ctx;
}
class ContactDetailModel implements IConvertible
{
/**
* Id of the Contact Method
*/
// @ApiMember(DataType="Guid", Description="Id of the Contact Method", Name="ContactMethodId", ParameterType="body")
String? ContactMethodId;
/**
* Contact Method Name
*/
// @ApiMember(DataType="string", Description="Contact Method Name", Name="ContactMethodName", ParameterType="body")
String? ContactMethodName;
/**
* 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")
ContactAddressModel? ContactAddress;
/**
* 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")
PhoneModel? ContactPhone;
/**
* Id of the country
*/
// @ApiMember(DataType="Guid?", Description="Id of the country", Name="CountryId", ParameterType="body")
String? CountryId;
/**
* A summary string representing the contact details
*/
// @ApiMember(DataType="string", Description="A summary string representing the contact details", Name="ContactDetails", ParameterType="body")
String? ContactDetails;
/**
* Notes about the contact details
*/
// @ApiMember(DataType="string", Description="Notes about the contact details", Name="Notes", ParameterType="body")
String? Notes;
/**
* 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")
String? ContactDetailsCode;
/**
* Order number of the contact method
*/
// @ApiMember(DataType="int", Description="Order number of the contact method", Name="OrderContactMethod", ParameterType="body")
int? OrderContactMethod;
/**
* True if this is the primary contact method
*/
// @ApiMember(DataType="bool", Description="True if this is the primary contact method", Name="IsPrimaryContactMethod", ParameterType="body")
bool? IsPrimaryContactMethod;
/**
* True if this contact method is an address
*/
// @ApiMember(DataType="bool", Description="True if this contact method is an address", Name="IsAddress", ParameterType="body")
bool? IsAddress;
ContactDetailModel({this.ContactMethodId,this.ContactMethodName,this.ContactAddress,this.ContactPhone,this.CountryId,this.ContactDetails,this.Notes,this.ContactDetailsCode,this.OrderContactMethod,this.IsPrimaryContactMethod,this.IsAddress});
ContactDetailModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactMethodId = json['ContactMethodId'];
ContactMethodName = json['ContactMethodName'];
ContactAddress = JsonConverters.fromJson(json['ContactAddress'],'ContactAddressModel',context!);
ContactPhone = JsonConverters.fromJson(json['ContactPhone'],'PhoneModel',context!);
CountryId = json['CountryId'];
ContactDetails = json['ContactDetails'];
Notes = json['Notes'];
ContactDetailsCode = json['ContactDetailsCode'];
OrderContactMethod = json['OrderContactMethod'];
IsPrimaryContactMethod = json['IsPrimaryContactMethod'];
IsAddress = json['IsAddress'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactMethodId': ContactMethodId,
'ContactMethodName': ContactMethodName,
'ContactAddress': JsonConverters.toJson(ContactAddress,'ContactAddressModel',context!),
'ContactPhone': JsonConverters.toJson(ContactPhone,'PhoneModel',context!),
'CountryId': CountryId,
'ContactDetails': ContactDetails,
'Notes': Notes,
'ContactDetailsCode': ContactDetailsCode,
'OrderContactMethod': OrderContactMethod,
'IsPrimaryContactMethod': IsPrimaryContactMethod,
'IsAddress': IsAddress
};
getTypeName() => "ContactDetailModel";
TypeContext? context = _ctx;
}
class SubscriptionContactModel implements IConvertible
{
/**
* Guid of the contact object within PSTPF.
*/
// @ApiMember(DataType="Guid", Description="Guid of the contact object within PSTPF.", Name="ContactId", ParameterType="body")
String? ContactId;
/**
* 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")
String? ContactType;
/**
* 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")
String? MaritalStatus;
/**
* 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")
String? Gender;
/**
* 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")
String? FirstName;
/**
* 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")
String? MiddleName;
/**
* 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")
String? Surname;
/**
* The full name for the contact.
*/
// @ApiMember(DataType="string", Description="The full name for the contact.", Name="FullName", ParameterType="body")
String? FullName;
/**
* A short name for the contact.
*/
// @ApiMember(DataType="string", Description="A short name for the contact.", Name="ShortName", ParameterType="body")
String? ShortName;
/**
* 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")
DateTime? BirthDate;
/**
* 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")
String? Title;
/**
* A salutation for the contact.
*/
// @ApiMember(DataType="string", Description="A salutation for the contact.", Name="Salutation", ParameterType="body")
String? Salutation;
/**
* The A.B.N for the contact.
*/
// @ApiMember(DataType="string", Description="The A.B.N for the contact.", Name="Abn", ParameterType="body")
String? Abn;
/**
* The A.C.N for the contact.
*/
// @ApiMember(DataType="string", Description="The A.C.N for the contact.", Name="Acn", ParameterType="body")
String? Acn;
/**
* The A.R.B.N for the contact.
*/
// @ApiMember(DataType="string", Description="The A.R.B.N for the contact.", Name="Arbn", ParameterType="body")
String? Arbn;
/**
* A trading name for the contact.
*/
// @ApiMember(DataType="string", Description="A trading name for the contact.", Name="TradingName", ParameterType="body")
String? TradingName;
/**
* A legal name for the contact.
*/
// @ApiMember(DataType="string", Description="A legal name for the contact.", Name="LegalName", ParameterType="body")
String? LegalName;
/**
* Any notes/description for the contact.
*/
// @ApiMember(DataType="string", Description="Any notes/description for the contact.", Name="Notes", ParameterType="body")
String? Notes;
/**
* Contact Employment Industry.
*/
// @ApiMember(DataType="string", Description="Contact Employment Industry.", Name="EmploymentIndustry", ParameterType="body")
String? EmploymentIndustry;
/**
* Contact Employment Role.
*/
// @ApiMember(DataType="string", Description="Contact Employment Role.", Name="EmploymentRole", ParameterType="body")
String? EmploymentRole;
/**
* Contact Employment Geographic Area.
*/
// @ApiMember(DataType="string", Description="Contact Employment Geographic Area.", Name="EmploymentGeographicArea", ParameterType="body")
String? EmploymentGeographicArea;
/**
* The Contacts Drivers Licence Number
*/
// @ApiMember(DataType="string", Description="The Contacts Drivers Licence Number", Name="DriversLicence", ParameterType="body")
String? DriversLicence;
/**
* Indicates if the Contact is registered for GST
*/
// @ApiMember(DataType="bool", Description="Indicates if the Contact is registered for GST", Name="GstRegistered", ParameterType="body")
bool? GstRegistered;
/**
* The status of the contact in PSTPF
*/
// @ApiMember(DataType="string", Description="The status of the contact in PSTPF", Name="RecordStatus", ParameterType="body")
String? RecordStatus;
/**
* A list of roles this contact has.
*/
// @ApiMember(DataType="List<ContactRole>", Description="A list of roles this contact has.", Name="ContactRoles", ParameterType="body")
List<ContactRole>? ContactRoles;
/**
* A list of the contact details for the contact.
*/
// @ApiMember(DataType="List<ContactDetailModel>", Description="A list of the contact details for the contact.", Name="ContactDetails", ParameterType="body")
List<ContactDetailModel>? ContactDetails;
/**
* Custom Content XML for the contact.
*/
// @ApiMember(DataType="string", Description="Custom Content XML for the contact.", Name="CustomContentXML", ParameterType="body")
String? CustomContentXML;
/**
* URL to the Primary Image.
*/
// @ApiMember(DataType="string", Description="URL to the Primary Image.", Name="BlobImageURLPrimary", ParameterType="body")
String? BlobImageURLPrimary;
/**
* URL to the Primary Image thumbnail.
*/
// @ApiMember(DataType="string", Description="URL to the Primary Image thumbnail.", Name="BlobImageURLPrimaryThumbnail", ParameterType="body")
String? BlobImageURLPrimaryThumbnail;
/**
* The primary mobile for the contact.
*/
// @ApiMember(DataType="string", Description="The primary mobile for the contact.", Name="PrimaryMobile", ParameterType="body")
String? PrimaryMobile;
/**
* The primary email for the contact.
*/
// @ApiMember(DataType="string", Description="The primary email for the contact.", Name="PrimaryEmail", ParameterType="body")
String? PrimaryEmail;
SubscriptionContactModel({this.ContactId,this.ContactType,this.MaritalStatus,this.Gender,this.FirstName,this.MiddleName,this.Surname,this.FullName,this.ShortName,this.BirthDate,this.Title,this.Salutation,this.Abn,this.Acn,this.Arbn,this.TradingName,this.LegalName,this.Notes,this.EmploymentIndustry,this.EmploymentRole,this.EmploymentGeographicArea,this.DriversLicence,this.GstRegistered,this.RecordStatus,this.ContactRoles,this.ContactDetails,this.CustomContentXML,this.BlobImageURLPrimary,this.BlobImageURLPrimaryThumbnail,this.PrimaryMobile,this.PrimaryEmail});
SubscriptionContactModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactId = json['ContactId'];
ContactType = json['ContactType'];
MaritalStatus = json['MaritalStatus'];
Gender = json['Gender'];
FirstName = json['FirstName'];
MiddleName = json['MiddleName'];
Surname = json['Surname'];
FullName = json['FullName'];
ShortName = json['ShortName'];
BirthDate = JsonConverters.fromJson(json['BirthDate'],'DateTime',context!);
Title = json['Title'];
Salutation = json['Salutation'];
Abn = json['Abn'];
Acn = json['Acn'];
Arbn = json['Arbn'];
TradingName = json['TradingName'];
LegalName = json['LegalName'];
Notes = json['Notes'];
EmploymentIndustry = json['EmploymentIndustry'];
EmploymentRole = json['EmploymentRole'];
EmploymentGeographicArea = json['EmploymentGeographicArea'];
DriversLicence = json['DriversLicence'];
GstRegistered = json['GstRegistered'];
RecordStatus = json['RecordStatus'];
ContactRoles = JsonConverters.fromJson(json['ContactRoles'],'List<ContactRole>',context!);
ContactDetails = JsonConverters.fromJson(json['ContactDetails'],'List<ContactDetailModel>',context!);
CustomContentXML = json['CustomContentXML'];
BlobImageURLPrimary = json['BlobImageURLPrimary'];
BlobImageURLPrimaryThumbnail = json['BlobImageURLPrimaryThumbnail'];
PrimaryMobile = json['PrimaryMobile'];
PrimaryEmail = json['PrimaryEmail'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactId': ContactId,
'ContactType': ContactType,
'MaritalStatus': MaritalStatus,
'Gender': Gender,
'FirstName': FirstName,
'MiddleName': MiddleName,
'Surname': Surname,
'FullName': FullName,
'ShortName': ShortName,
'BirthDate': JsonConverters.toJson(BirthDate,'DateTime',context!),
'Title': Title,
'Salutation': Salutation,
'Abn': Abn,
'Acn': Acn,
'Arbn': Arbn,
'TradingName': TradingName,
'LegalName': LegalName,
'Notes': Notes,
'EmploymentIndustry': EmploymentIndustry,
'EmploymentRole': EmploymentRole,
'EmploymentGeographicArea': EmploymentGeographicArea,
'DriversLicence': DriversLicence,
'GstRegistered': GstRegistered,
'RecordStatus': RecordStatus,
'ContactRoles': JsonConverters.toJson(ContactRoles,'List<ContactRole>',context!),
'ContactDetails': JsonConverters.toJson(ContactDetails,'List<ContactDetailModel>',context!),
'CustomContentXML': CustomContentXML,
'BlobImageURLPrimary': BlobImageURLPrimary,
'BlobImageURLPrimaryThumbnail': BlobImageURLPrimaryThumbnail,
'PrimaryMobile': PrimaryMobile,
'PrimaryEmail': PrimaryEmail
};
getTypeName() => "SubscriptionContactModel";
TypeContext? context = _ctx;
}
class ProjectContact implements IConvertible
{
/**
* Guid of the contact object within Eros.
*/
// @ApiMember(DataType="Guid", Description="Guid of the contact object within Eros.", Name="ContactId", ParameterType="query")
String? ContactId;
/**
* 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")
String? ContactAlternateKey;
/**
* 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")
String? RoleId;
/**
* Role Name.
*/
// @ApiMember(DataType="string", Description="Role Name.", Name="RoleName", ParameterType="query")
String? RoleName;
/**
* 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")
String? RoleAlternateKey;
/**
* The object that contains details of the contact
*/
// @ApiMember(DataType="ContactModel", Description="The object that contains details of the contact", Name="Contact", ParameterType="query")
SubscriptionContactModel? Contact;
/**
* 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")
int? Index;
ProjectContact({this.ContactId,this.ContactAlternateKey,this.RoleId,this.RoleName,this.RoleAlternateKey,this.Contact,this.Index});
ProjectContact.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactId = json['ContactId'];
ContactAlternateKey = json['ContactAlternateKey'];
RoleId = json['RoleId'];
RoleName = json['RoleName'];
RoleAlternateKey = json['RoleAlternateKey'];
Contact = JsonConverters.fromJson(json['Contact'],'SubscriptionContactModel',context!);
Index = json['Index'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactId': ContactId,
'ContactAlternateKey': ContactAlternateKey,
'RoleId': RoleId,
'RoleName': RoleName,
'RoleAlternateKey': RoleAlternateKey,
'Contact': JsonConverters.toJson(Contact,'SubscriptionContactModel',context!),
'Index': Index
};
getTypeName() => "ProjectContact";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="List of project contacts and customer contacts.")
class ProjectContactModel implements IConvertible
{
/**
* Object containing all details of the project to be inserted or updated.
*/
// @ApiMember(DataType=" List<ProjectContact>", Description="Object containing all details of the project to be inserted or updated.", Name="ProjectContacts", ParameterType="query")
List<ProjectContact>? ProjectContacts;
/**
* Object containing all details of the project to be inserted or updated.
*/
// @ApiMember(DataType=" List<ProjectContact>", Description="Object containing all details of the project to be inserted or updated.", Name="CustomerContacts", ParameterType="query")
List<ProjectContact>? CustomerContacts;
ProjectContactModel({this.ProjectContacts,this.CustomerContacts});
ProjectContactModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectContacts = JsonConverters.fromJson(json['ProjectContacts'],'List<ProjectContact>',context!);
CustomerContacts = JsonConverters.fromJson(json['CustomerContacts'],'List<ProjectContact>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ProjectContacts': JsonConverters.toJson(ProjectContacts,'List<ProjectContact>',context!),
'CustomerContacts': JsonConverters.toJson(CustomerContacts,'List<ProjectContact>',context!)
};
getTypeName() => "ProjectContactModel";
TypeContext? context = _ctx;
}
/**
* Returns a projects contacts (customer and project connected).
*/
// @Api(Description="Returns a projects contacts (customer and project connected).")
class GetProjectContacts implements IConvertible
{
/**
* 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")
String? ProjectId;
/**
* Guid representing the projects contact customer group Id.
*/
// @ApiMember(DataType="Guid", Description="Guid representing the projects contact customer group Id.", Name="CustomerGroupId", ParameterType="query")
String? CustomerGroupId;
GetProjectContacts({this.ProjectId,this.CustomerGroupId});
GetProjectContacts.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectId = json['ProjectId'];
CustomerGroupId = json['CustomerGroupId'];
return this;
}
Map<String, dynamic> toJson() => {
'ProjectId': ProjectId,
'CustomerGroupId': CustomerGroupId
};
getTypeName() => "GetProjectContacts";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
'ContactRole': TypeInfo(TypeOf.Class, create:() => ContactRole()),
'LocationCoordinatesModel': TypeInfo(TypeOf.Class, create:() => LocationCoordinatesModel()),
'AddressModel': TypeInfo(TypeOf.Class, create:() => AddressModel()),
'ContactAddressModel': TypeInfo(TypeOf.Class, create:() => ContactAddressModel()),
'PhoneModel': TypeInfo(TypeOf.Class, create:() => PhoneModel()),
'ContactDetailModel': TypeInfo(TypeOf.Class, create:() => ContactDetailModel()),
'SubscriptionContactModel': TypeInfo(TypeOf.Class, create:() => SubscriptionContactModel()),
'List<ContactRole>': TypeInfo(TypeOf.Class, create:() => <ContactRole>[]),
'List<ContactDetailModel>': TypeInfo(TypeOf.Class, create:() => <ContactDetailModel>[]),
'ProjectContact': TypeInfo(TypeOf.Class, create:() => ProjectContact()),
'ProjectContactModel': TypeInfo(TypeOf.Class, create:() => ProjectContactModel()),
'List<ProjectContact>': TypeInfo(TypeOf.Class, create:() => <ProjectContact>[]),
'GetProjectContacts': TypeInfo(TypeOf.Class, create:() => GetProjectContacts()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/project/{ProjectId}/contacts HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"ProjectId":"00000000-0000-0000-0000-000000000000","CustomerGroupId":"00000000-0000-0000-0000-000000000000"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"ProjectContacts":[{"ContactId":"00000000-0000-0000-0000-000000000000","ContactAlternateKey":"String","RoleId":"00000000-0000-0000-0000-000000000000","RoleName":"String","RoleAlternateKey":"String","Contact":{"ContactId":"00000000-0000-0000-0000-000000000000","ContactType":"00000000-0000-0000-0000-000000000000","MaritalStatus":"00000000000000000000000000000000","Gender":"00000000000000000000000000000000","FirstName":"String","MiddleName":"String","Surname":"String","FullName":"String","ShortName":"String","BirthDate":"0001-01-01T00:00:00.0000000","Title":"String","Salutation":"String","Abn":"String","Acn":"String","Arbn":"String","TradingName":"String","LegalName":"String","Notes":"String","EmploymentIndustry":"String","EmploymentRole":"String","EmploymentGeographicArea":"String","DriversLicence":"String","GstRegistered":false,"RecordStatus":"String","ContactRoles":[{"RoleId":"00000000-0000-0000-0000-000000000000","AlternateKey":"String"}],"ContactDetails":[{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Address":{"DistanceAway":0,"Latitude":0,"Longitude":0,"AddressFormatId":"00000000-0000-0000-0000-000000000000","SuburbId":"00000000-0000-0000-0000-000000000000","SuburbName":"String","StateShortName":"String","PostCode":"String","CountryId":"00000000-0000-0000-0000-000000000000","CountryName":"String","ISOCountryCode":"String","LotNumber":"String","SubUnit":"String","BuildingNumber":"String","StreetNumber":"String","StreetName":"String","AddressLineOne":"String","AddressLineTwo":"String","AddressFull":"String","IsPhysical":false,"Notes":"String","AutoMapCoordinates":false,"LocationCoordinates":{"Latitude":0,"Longitude":0,"Altitude":0,"Accuracy":0,"AltitudeAccuracy":0,"Heading":0,"Speed":0,"VerticalSpeed":0}},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"SuburbName":"String","StateName":"String","CountryName":"String"},"ContactPhone":{"CountryCode":"String","AreaCode":"String","LocalNumber":"String"},"CountryId":"00000000000000000000000000000000","ContactDetails":"String","Notes":"String","ContactDetailsCode":"String","OrderContactMethod":0,"IsPrimaryContactMethod":false,"IsAddress":true}],"CustomContentXML":"String","BlobImageURLPrimary":"String","BlobImageURLPrimaryThumbnail":"String","PrimaryMobile":"String","PrimaryEmail":"String"},"Index":0}],"CustomerContacts":[{"ContactId":"00000000-0000-0000-0000-000000000000","ContactAlternateKey":"String","RoleId":"00000000-0000-0000-0000-000000000000","RoleName":"String","RoleAlternateKey":"String","Contact":{"ContactId":"00000000-0000-0000-0000-000000000000","ContactType":"00000000-0000-0000-0000-000000000000","MaritalStatus":"00000000000000000000000000000000","Gender":"00000000000000000000000000000000","FirstName":"String","MiddleName":"String","Surname":"String","FullName":"String","ShortName":"String","BirthDate":"0001-01-01T00:00:00.0000000","Title":"String","Salutation":"String","Abn":"String","Acn":"String","Arbn":"String","TradingName":"String","LegalName":"String","Notes":"String","EmploymentIndustry":"String","EmploymentRole":"String","EmploymentGeographicArea":"String","DriversLicence":"String","GstRegistered":false,"RecordStatus":"String","ContactRoles":[{"RoleId":"00000000-0000-0000-0000-000000000000","AlternateKey":"String"}],"ContactDetails":[{"ContactMethodId":"00000000-0000-0000-0000-000000000000","ContactMethodName":"String","ContactAddress":{"Address":{"DistanceAway":0,"Latitude":0,"Longitude":0,"AddressFormatId":"00000000-0000-0000-0000-000000000000","SuburbId":"00000000-0000-0000-0000-000000000000","SuburbName":"String","StateShortName":"String","PostCode":"String","CountryId":"00000000-0000-0000-0000-000000000000","CountryName":"String","ISOCountryCode":"String","LotNumber":"String","SubUnit":"String","BuildingNumber":"String","StreetNumber":"String","StreetName":"String","AddressLineOne":"String","AddressLineTwo":"String","AddressFull":"String","IsPhysical":false,"Notes":"String","AutoMapCoordinates":false,"LocationCoordinates":{"Latitude":0,"Longitude":0,"Altitude":0,"Accuracy":0,"AltitudeAccuracy":0,"Heading":0,"Speed":0,"VerticalSpeed":0}},"IsPostal":false,"IsPrimaryLocation":false,"IsRegisteredLocation":false,"SuburbName":"String","StateName":"String","CountryName":"String"},"ContactPhone":{"CountryCode":"String","AreaCode":"String","LocalNumber":"String"},"CountryId":"00000000000000000000000000000000","ContactDetails":"String","Notes":"String","ContactDetailsCode":"String","OrderContactMethod":0,"IsPrimaryContactMethod":false,"IsAddress":true}],"CustomContentXML":"String","BlobImageURLPrimary":"String","BlobImageURLPrimaryThumbnail":"String","PrimaryMobile":"String","PrimaryEmail":"String"},"Index":0}]}