| Requires any of the roles: | Agent, Administrator, Agent, Administrator |
| POST,PUT,OPTIONS | /v1/FactFinder |
|---|
"use strict";
export class Contact {
/** @param {{ContactId?:number,ContactType?:number,FirstName?:string,LastName?:string,Name?:string,Role?:string,Title?:string,EmailWork?:string,EmailPersonal?:string,District?:string,DistrictID?:number,School?:string,SchoolID?:number,State?:string,StateName?:string,StateID?:number,CountyID?:number,County?:string,Phone?:string,Department?:string,Flow?:string,LastContact?:string,DoNotContact?:boolean,Active?:boolean,AgentId?:number,PhoneAlt?:string,PeraContactId?:number,RoomNumber?:string,SourceTypeId?:number,SourceTypeDesc?:string,SourceNote?:string,ContactStatusId?:number,ContactStatusDesc?:string,SSN?:string,DateOfBirth?:string,Deleted?:boolean,IsShared?:boolean,address_line1?:string,address_city?:string,address_state?:string,address_zip?:string,DeletedBy?:string,DeletedDateTimeUtc?:string,HasNBC?:boolean,HasFactFinderSheet?:boolean,MiddleInitial?:string,Tags?:string,DateCreated?:string,PhoneLabel?:string,AltPhoneLabel?:string,Carriers?:string,ContactImage?:string,CompanyAffiliation?:string,AdditionalInformation?:string,HasGiftCard?:boolean,ContactCategory?:number,WritingAgentId?:number,WritingAgentName?:string,MaritalStatus?:string,TotalDebtAmount?:number,NumberOfDebtAccounts?:number,FactFinderCodeId?:number,BusinessName?:string,DBA?:string,ContactGUID?:string,ProjectEndDate?:string,Rate?:number,JobID?:number,JobName?:string,JobCount?:number,Locked?:boolean,LockedByAgentId?:number,LockedTimestamp?:string,Initials?:string,ContactCategoryName?:string,SMSOptIn?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactId;
/** @type {number} */
ContactType;
/** @type {string} */
FirstName;
/** @type {string} */
LastName;
/** @type {string} */
Name;
/** @type {string} */
Role;
/** @type {string} */
Title;
/** @type {string} */
EmailWork;
/** @type {string} */
EmailPersonal;
/** @type {string} */
District;
/** @type {number} */
DistrictID;
/** @type {string} */
School;
/** @type {number} */
SchoolID;
/** @type {string} */
State;
/** @type {string} */
StateName;
/** @type {number} */
StateID;
/** @type {number} */
CountyID;
/** @type {string} */
County;
/** @type {string} */
Phone;
/** @type {string} */
Department;
/** @type {string} */
Flow;
/** @type {string} */
LastContact;
/** @type {boolean} */
DoNotContact;
/** @type {boolean} */
Active;
/** @type {number} */
AgentId;
/** @type {string} */
PhoneAlt;
/** @type {number} */
PeraContactId;
/** @type {string} */
RoomNumber;
/** @type {number} */
SourceTypeId;
/** @type {string} */
SourceTypeDesc;
/** @type {string} */
SourceNote;
/** @type {number} */
ContactStatusId;
/** @type {string} */
ContactStatusDesc;
/** @type {string} */
SSN;
/** @type {string} */
DateOfBirth;
/** @type {boolean} */
Deleted;
/** @type {boolean} */
IsShared;
/** @type {string} */
address_line1;
/** @type {string} */
address_city;
/** @type {string} */
address_state;
/** @type {string} */
address_zip;
/** @type {string} */
DeletedBy;
/** @type {?string} */
DeletedDateTimeUtc;
/** @type {boolean} */
HasNBC;
/** @type {boolean} */
HasFactFinderSheet;
/** @type {string} */
MiddleInitial;
/** @type {string} */
Tags;
/** @type {string} */
DateCreated;
/** @type {string} */
PhoneLabel;
/** @type {string} */
AltPhoneLabel;
/** @type {string} */
Carriers;
/** @type {string} */
ContactImage;
/** @type {string} */
CompanyAffiliation;
/** @type {string} */
AdditionalInformation;
/** @type {boolean} */
HasGiftCard;
/** @type {number} */
ContactCategory;
/** @type {number} */
WritingAgentId;
/** @type {string} */
WritingAgentName;
/** @type {string} */
MaritalStatus;
/** @type {number} */
TotalDebtAmount;
/** @type {number} */
NumberOfDebtAccounts;
/** @type {number} */
FactFinderCodeId;
/** @type {string} */
BusinessName;
/** @type {string} */
DBA;
/** @type {string} */
ContactGUID;
/** @type {string} */
ProjectEndDate;
/** @type {number} */
Rate;
/** @type {number} */
JobID;
/** @type {string} */
JobName;
/** @type {number} */
JobCount;
/** @type {boolean} */
Locked;
/** @type {number} */
LockedByAgentId;
/** @type {string} */
LockedTimestamp;
/** @type {string} */
Initials;
/** @type {string} */
ContactCategoryName;
/** @type {boolean} */
SMSOptIn;
}
export class FactFinderSheet {
/** @param {{FactFinderSheetId?:number,ContactId?:number,EmploymentYears?:string,PastOccupations?:string,ClientGrossMthlyIncome?:number,ClientNetMthlyIncome?:number,HouseholdGrossMthlyIncome?:number,HouseholdNetMthlyIncome?:number,EstimatedExpenses?:number,DiscretionaryIncome?:number,DesiredRetirementIncome?:number,RetirementGoals?:string,EmergencyFundMthlyContrib?:number,EmergencyFundBalance?:number,EmergencyFundComplete?:boolean,WorkStatus?:string,UnusedSickDays?:number,UnusedSickHours?:number,ContractBaseServPerYrDays?:number,ContractBaseServPerYrHours?:number,DaysPerWeek?:number,HoursPerWeek?:number,MonthsPerYear?:number,NumPreTaxChecksPerYr?:number,YearsWithOtherDistricts?:number,PrimaryLifeInsurance?:boolean,PLICarrier?:string,PLIFaceAmount?:number,PLIIssueDate?:string,PLIPremium?:number,PLIType?:string,PLITypeOf?:string,PLICashValue?:number,SpouseLifeInsurance?:boolean,SLICarrier?:string,SLIFaceAmount?:number,SLIIssueDate?:string,SLIPremium?:number,SLIType?:string,SLITypeOf?:string,SLICashValue?:number,PrimaryLTCInsurance?:boolean,PLTCPremium?:number,PrimaryDisabilityInsurance?:boolean,PDIPremium?:number,SpouseLTCInsurance?:boolean,SLTCPremium?:number,SpouseDisabilityInsurance?:boolean,SDIPremium?:number,HasRetirementSavings?:boolean,HasPriorEmploymentRetirementSavings?:boolean,HasDistributionPlan?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
FactFinderSheetId;
/** @type {number} */
ContactId;
/** @type {string} */
EmploymentYears;
/** @type {string} */
PastOccupations;
/** @type {?number} */
ClientGrossMthlyIncome;
/** @type {?number} */
ClientNetMthlyIncome;
/** @type {?number} */
HouseholdGrossMthlyIncome;
/** @type {?number} */
HouseholdNetMthlyIncome;
/** @type {?number} */
EstimatedExpenses;
/** @type {?number} */
DiscretionaryIncome;
/** @type {?number} */
DesiredRetirementIncome;
/** @type {string} */
RetirementGoals;
/** @type {?number} */
EmergencyFundMthlyContrib;
/** @type {?number} */
EmergencyFundBalance;
/** @type {?boolean} */
EmergencyFundComplete;
/** @type {string} */
WorkStatus;
/** @type {?number} */
UnusedSickDays;
/** @type {?number} */
UnusedSickHours;
/** @type {?number} */
ContractBaseServPerYrDays;
/** @type {?number} */
ContractBaseServPerYrHours;
/** @type {?number} */
DaysPerWeek;
/** @type {?number} */
HoursPerWeek;
/** @type {?number} */
MonthsPerYear;
/** @type {?number} */
NumPreTaxChecksPerYr;
/** @type {?number} */
YearsWithOtherDistricts;
/** @type {?boolean} */
PrimaryLifeInsurance;
/** @type {string} */
PLICarrier;
/** @type {?number} */
PLIFaceAmount;
/** @type {?string} */
PLIIssueDate;
/** @type {?number} */
PLIPremium;
/** @type {string} */
PLIType;
/** @type {string} */
PLITypeOf;
/** @type {?number} */
PLICashValue;
/** @type {?boolean} */
SpouseLifeInsurance;
/** @type {string} */
SLICarrier;
/** @type {?number} */
SLIFaceAmount;
/** @type {?string} */
SLIIssueDate;
/** @type {?number} */
SLIPremium;
/** @type {string} */
SLIType;
/** @type {string} */
SLITypeOf;
/** @type {?number} */
SLICashValue;
/** @type {?boolean} */
PrimaryLTCInsurance;
/** @type {?number} */
PLTCPremium;
/** @type {?boolean} */
PrimaryDisabilityInsurance;
/** @type {?number} */
PDIPremium;
/** @type {?boolean} */
SpouseLTCInsurance;
/** @type {?number} */
SLTCPremium;
/** @type {?boolean} */
SpouseDisabilityInsurance;
/** @type {?number} */
SDIPremium;
/** @type {?boolean} */
HasRetirementSavings;
/** @type {?boolean} */
HasPriorEmploymentRetirementSavings;
/** @type {?boolean} */
HasDistributionPlan;
}
export class ContactSpouse {
/** @param {{ContactSpouseId?:number,ContactId?:number,Name?:string,DOB?:string,Cell?:string,Employer?:string,Years?:number,Position?:string,Email?:string,PastOccupations?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactSpouseId;
/** @type {number} */
ContactId;
/** @type {string} */
Name;
/** @type {?string} */
DOB;
/** @type {string} */
Cell;
/** @type {string} */
Employer;
/** @type {?number} */
Years;
/** @type {string} */
Position;
/** @type {string} */
Email;
/** @type {string} */
PastOccupations;
}
export class ContactChild {
/** @param {{ContactChildId?:number,ContactId?:number,Name?:string,DOB?:string,Fund?:string,Contribution?:number,Balance?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactChildId;
/** @type {number} */
ContactId;
/** @type {string} */
Name;
/** @type {?string} */
DOB;
/** @type {string} */
Fund;
/** @type {?number} */
Contribution;
/** @type {?number} */
Balance;
}
export class ContactRetirementIncome {
/** @param {{ContactRetirementIncomeId?:number,ContactId?:number,AccountOwner?:string,AccountType?:string,Carrier?:string,TotalValue?:number,SurrValue?:number,DateOfIssue?:string,Fees?:number,PolicyNum?:string,Contrib?:number,EmpNotes?:string,TaxCode?:string,SurrCharge?:number,ThirdPrtyPprwrkOK?:boolean,AddlFormsReqd?:boolean,OriginalFormsReqd?:boolean,SignatureGuarReqd?:boolean,FaxAccepted?:boolean,FaxNumber?:string,MailingAddr?:string,MailingCity?:string,MailingState?:string,MailingZip?:string,HasOutstandingLoans?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactRetirementIncomeId;
/** @type {number} */
ContactId;
/** @type {string} */
AccountOwner;
/** @type {string} */
AccountType;
/** @type {string} */
Carrier;
/** @type {?number} */
TotalValue;
/** @type {?number} */
SurrValue;
/** @type {?string} */
DateOfIssue;
/** @type {?number} */
Fees;
/** @type {string} */
PolicyNum;
/** @type {?number} */
Contrib;
/** @type {string} */
EmpNotes;
/** @type {string} */
TaxCode;
/** @type {?number} */
SurrCharge;
/** @type {?boolean} */
ThirdPrtyPprwrkOK;
/** @type {?boolean} */
AddlFormsReqd;
/** @type {?boolean} */
OriginalFormsReqd;
/** @type {?boolean} */
SignatureGuarReqd;
/** @type {?boolean} */
FaxAccepted;
/** @type {string} */
FaxNumber;
/** @type {string} */
MailingAddr;
/** @type {string} */
MailingCity;
/** @type {string} */
MailingState;
/** @type {string} */
MailingZip;
/** @type {?boolean} */
HasOutstandingLoans;
}
export class ContactExpense {
/** @param {{ContactExpenseId?:number,ContactId?:number,ExpenseType?:string,Description?:string,Balance?:number,InterestRate?:number,MinimumPayment?:number,MonthlyPayment?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactExpenseId;
/** @type {number} */
ContactId;
/** @type {string} */
ExpenseType;
/** @type {string} */
Description;
/** @type {?number} */
Balance;
/** @type {?number} */
InterestRate;
/** @type {?number} */
MinimumPayment;
/** @type {?number} */
MonthlyPayment;
}
export class ContactClientReferral {
/** @param {{ContactClientReferralId?:number,ContactId?:number,Name?:string,Campus?:string,Room?:string,Phone?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactClientReferralId;
/** @type {number} */
ContactId;
/** @type {string} */
Name;
/** @type {string} */
Campus;
/** @type {string} */
Room;
/** @type {string} */
Phone;
}
export class ContactLTAInfo {
/** @param {{ContactLTAInfoId?:number,ContactId?:number,PlanType?:string,Company?:string,Contribution?:number,Balance?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactLTAInfoId;
/** @type {number} */
ContactId;
/** @type {string} */
PlanType;
/** @type {string} */
Company;
/** @type {?number} */
Contribution;
/** @type {?number} */
Balance;
}
export class ContactPension {
/** @param {{ContactPensionId?:number,ContactId?:number,PensionSystem?:string,PensionStartDate?:string,ServiceCredit?:number,ServiceCreditAsOfDate?:string,DesiredRetirementDate?:string,DesiredRetirementAge?:number,SpousalBenefitDesired?:boolean,FormulaPercent?:number,FormulaAt?:number,DefinedBenefitBalance?:number,DefinedBenefitSpouseBalance?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactPensionId;
/** @type {number} */
ContactId;
/** @type {string} */
PensionSystem;
/** @type {?string} */
PensionStartDate;
/** @type {?number} */
ServiceCredit;
/** @type {?string} */
ServiceCreditAsOfDate;
/** @type {?string} */
DesiredRetirementDate;
/** @type {number} */
DesiredRetirementAge;
/** @type {?boolean} */
SpousalBenefitDesired;
/** @type {?number} */
FormulaPercent;
/** @type {?number} */
FormulaAt;
/** @type {?number} */
DefinedBenefitBalance;
/** @type {?number} */
DefinedBenefitSpouseBalance;
}
export class FactFinderSheetExtended {
/** @param {{Contact?:Contact,FactFinderSheet?:FactFinderSheet,Spouse?:ContactSpouse,Children?:ContactChild[],IncomeSources?:ContactRetirementIncome[],AdditionalNotes?:string,Expenses?:ContactExpense[],Referrals?:ContactClientReferral[],LTAInfo?:ContactLTAInfo[],Pensions?:ContactPension[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Contact} */
Contact;
/** @type {FactFinderSheet} */
FactFinderSheet;
/** @type {ContactSpouse} */
Spouse;
/** @type {ContactChild[]} */
Children = [];
/** @type {ContactRetirementIncome[]} */
IncomeSources = [];
/** @type {string} */
AdditionalNotes;
/** @type {ContactExpense[]} */
Expenses = [];
/** @type {ContactClientReferral[]} */
Referrals = [];
/** @type {ContactLTAInfo[]} */
LTAInfo = [];
/** @type {ContactPension[]} */
Pensions = [];
}
export class FactFinderRequest {
/** @param {{FactFinderSheet?:FactFinderSheetExtended,DataEntry?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {FactFinderSheetExtended} */
FactFinderSheet;
/** @type {boolean} */
DataEntry;
}
JavaScript FactFinderRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/FactFinder HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
FactFinderSheet:
{
Contact:
{
ContactId: 0,
ContactType: 0,
FirstName: String,
LastName: String,
Name: String,
Role: String,
Title: String,
EmailWork: String,
EmailPersonal: String,
District: String,
DistrictID: 0,
School: String,
SchoolID: 0,
State: String,
StateName: String,
StateID: 0,
CountyID: 0,
County: String,
Phone: String,
Department: String,
Flow: String,
LastContact: 0001-01-01,
DoNotContact: False,
Active: False,
AgentId: 0,
PhoneAlt: String,
PeraContactId: 0,
RoomNumber: String,
SourceTypeId: 0,
SourceTypeDesc: String,
SourceNote: String,
ContactStatusId: 0,
ContactStatusDesc: String,
SSN: String,
DateOfBirth: 0001-01-01,
Deleted: False,
IsShared: False,
address_line1: String,
address_city: String,
address_state: String,
address_zip: String,
DeletedBy: String,
DeletedDateTimeUtc: 0001-01-01,
HasNBC: False,
HasFactFinderSheet: False,
MiddleInitial: String,
Tags: String,
DateCreated: 0001-01-01,
PhoneLabel: String,
AltPhoneLabel: String,
Carriers: String,
ContactImage: String,
CompanyAffiliation: String,
AdditionalInformation: String,
HasGiftCard: False,
ContactCategory: 0,
WritingAgentId: 0,
WritingAgentName: String,
MaritalStatus: String,
TotalDebtAmount: 0,
NumberOfDebtAccounts: 0,
FactFinderCodeId: 0,
BusinessName: String,
DBA: String,
ContactGUID: 00000000000000000000000000000000,
ProjectEndDate: 0001-01-01,
Rate: 0,
JobID: 0,
JobName: String,
JobCount: 0,
Locked: False,
LockedByAgentId: 0,
LockedTimestamp: 0001-01-01,
Initials: String,
ContactCategoryName: String,
SMSOptIn: False
},
FactFinderSheet:
{
FactFinderSheetId: 0,
ContactId: 0,
EmploymentYears: String,
PastOccupations: String,
ClientGrossMthlyIncome: 0,
ClientNetMthlyIncome: 0,
HouseholdGrossMthlyIncome: 0,
HouseholdNetMthlyIncome: 0,
EstimatedExpenses: 0,
DiscretionaryIncome: 0,
DesiredRetirementIncome: 0,
RetirementGoals: String,
EmergencyFundMthlyContrib: 0,
EmergencyFundBalance: 0,
EmergencyFundComplete: False,
WorkStatus: String,
UnusedSickDays: 0,
UnusedSickHours: 0,
ContractBaseServPerYrDays: 0,
ContractBaseServPerYrHours: 0,
DaysPerWeek: 0,
HoursPerWeek: 0,
MonthsPerYear: 0,
NumPreTaxChecksPerYr: 0,
YearsWithOtherDistricts: 0,
PrimaryLifeInsurance: False,
PLICarrier: String,
PLIFaceAmount: 0,
PLIIssueDate: 0001-01-01,
PLIPremium: 0,
PLIType: String,
PLITypeOf: String,
PLICashValue: 0,
SpouseLifeInsurance: False,
SLICarrier: String,
SLIFaceAmount: 0,
SLIIssueDate: 0001-01-01,
SLIPremium: 0,
SLIType: String,
SLITypeOf: String,
SLICashValue: 0,
PrimaryLTCInsurance: False,
PLTCPremium: 0,
PrimaryDisabilityInsurance: False,
PDIPremium: 0,
SpouseLTCInsurance: False,
SLTCPremium: 0,
SpouseDisabilityInsurance: False,
SDIPremium: 0,
HasRetirementSavings: False,
HasPriorEmploymentRetirementSavings: False,
HasDistributionPlan: False
},
Spouse:
{
ContactSpouseId: 0,
ContactId: 0,
Name: String,
DOB: 0001-01-01,
Cell: String,
Employer: String,
Years: 0,
Position: String,
Email: String,
PastOccupations: String
},
Children:
[
{
ContactChildId: 0,
ContactId: 0,
Name: String,
DOB: 0001-01-01,
Fund: String,
Contribution: 0,
Balance: 0
}
],
IncomeSources:
[
{
ContactRetirementIncomeId: 0,
ContactId: 0,
AccountOwner: String,
AccountType: String,
Carrier: String,
TotalValue: 0,
SurrValue: 0,
DateOfIssue: 0001-01-01,
Fees: 0,
PolicyNum: String,
Contrib: 0,
EmpNotes: String,
TaxCode: String,
SurrCharge: 0,
ThirdPrtyPprwrkOK: False,
AddlFormsReqd: False,
OriginalFormsReqd: False,
SignatureGuarReqd: False,
FaxAccepted: False,
FaxNumber: String,
MailingAddr: String,
MailingCity: String,
MailingState: String,
MailingZip: String,
HasOutstandingLoans: False
}
],
AdditionalNotes: String,
Expenses:
[
{
ContactExpenseId: 0,
ContactId: 0,
ExpenseType: String,
Description: String,
Balance: 0,
InterestRate: 0,
MinimumPayment: 0,
MonthlyPayment: 0
}
],
Referrals:
[
{
ContactClientReferralId: 0,
ContactId: 0,
Name: String,
Campus: String,
Room: String,
Phone: String
}
],
LTAInfo:
[
{
ContactLTAInfoId: 0,
ContactId: 0,
PlanType: String,
Company: String,
Contribution: 0,
Balance: 0
}
],
Pensions:
[
{
ContactPensionId: 0,
ContactId: 0,
PensionSystem: String,
PensionStartDate: 0001-01-01,
ServiceCredit: 0,
ServiceCreditAsOfDate: 0001-01-01,
DesiredRetirementDate: 0001-01-01,
DesiredRetirementAge: 0,
SpousalBenefitDesired: False,
FormulaPercent: 0,
FormulaAt: 0,
DefinedBenefitBalance: 0,
DefinedBenefitSpouseBalance: 0
}
]
},
DataEntry: False
}