| Requires any of the roles: | Agent, Administrator, Agent, Administrator |
| POST,PUT,OPTIONS | /v1/FactFinder |
|---|
export class Contact
{
public ContactId: number;
public ContactType: number;
public FirstName: string;
public LastName: string;
public Name: string;
public Role: string;
public Title: string;
public EmailWork: string;
public EmailPersonal: string;
public District: string;
public DistrictID: number;
public School: string;
public SchoolID: number;
public State: string;
public StateName: string;
public StateID: number;
public CountyID: number;
public County: string;
public Phone: string;
public Department: string;
public Flow: string;
public LastContact: string;
public DoNotContact: boolean;
public Active: boolean;
public AgentId: number;
public PhoneAlt: string;
public PeraContactId: number;
public RoomNumber: string;
public SourceTypeId: number;
public SourceTypeDesc: string;
public SourceNote: string;
public ContactStatusId: number;
public ContactStatusDesc: string;
public SSN: string;
public DateOfBirth: string;
public Deleted: boolean;
public IsShared: boolean;
public address_line1: string;
public address_city: string;
public address_state: string;
public address_zip: string;
public DeletedBy: string;
public DeletedDateTimeUtc?: string;
public HasNBC: boolean;
public HasFactFinderSheet: boolean;
public MiddleInitial: string;
public Tags: string;
public DateCreated: string;
public PhoneLabel: string;
public AltPhoneLabel: string;
public Carriers: string;
public ContactImage: string;
public CompanyAffiliation: string;
public AdditionalInformation: string;
public HasGiftCard: boolean;
public ContactCategory: number;
public WritingAgentId: number;
public WritingAgentName: string;
public MaritalStatus: string;
public TotalDebtAmount: number;
public NumberOfDebtAccounts: number;
public FactFinderCodeId: number;
public BusinessName: string;
public DBA: string;
public ContactGUID: string;
public ProjectEndDate: string;
public Rate: number;
public JobID: number;
public JobName: string;
public JobCount: number;
public Locked: boolean;
public LockedByAgentId: number;
public LockedTimestamp: string;
public Initials: string;
public ContactCategoryName: string;
public SMSOptIn: boolean;
public constructor(init?: Partial<Contact>) { (Object as any).assign(this, init); }
}
export class FactFinderSheet
{
public FactFinderSheetId: number;
public ContactId: number;
public EmploymentYears: string;
public PastOccupations: string;
public ClientGrossMthlyIncome?: number;
public ClientNetMthlyIncome?: number;
public HouseholdGrossMthlyIncome?: number;
public HouseholdNetMthlyIncome?: number;
public EstimatedExpenses?: number;
public DiscretionaryIncome?: number;
public DesiredRetirementIncome?: number;
public RetirementGoals: string;
public EmergencyFundMthlyContrib?: number;
public EmergencyFundBalance?: number;
public EmergencyFundComplete?: boolean;
public WorkStatus: string;
public UnusedSickDays?: number;
public UnusedSickHours?: number;
public ContractBaseServPerYrDays?: number;
public ContractBaseServPerYrHours?: number;
public DaysPerWeek?: number;
public HoursPerWeek?: number;
public MonthsPerYear?: number;
public NumPreTaxChecksPerYr?: number;
public YearsWithOtherDistricts?: number;
public PrimaryLifeInsurance?: boolean;
public PLICarrier: string;
public PLIFaceAmount?: number;
public PLIIssueDate?: string;
public PLIPremium?: number;
public PLIType: string;
public PLITypeOf: string;
public PLICashValue?: number;
public SpouseLifeInsurance?: boolean;
public SLICarrier: string;
public SLIFaceAmount?: number;
public SLIIssueDate?: string;
public SLIPremium?: number;
public SLIType: string;
public SLITypeOf: string;
public SLICashValue?: number;
public PrimaryLTCInsurance?: boolean;
public PLTCPremium?: number;
public PrimaryDisabilityInsurance?: boolean;
public PDIPremium?: number;
public SpouseLTCInsurance?: boolean;
public SLTCPremium?: number;
public SpouseDisabilityInsurance?: boolean;
public SDIPremium?: number;
public HasRetirementSavings?: boolean;
public HasPriorEmploymentRetirementSavings?: boolean;
public HasDistributionPlan?: boolean;
public constructor(init?: Partial<FactFinderSheet>) { (Object as any).assign(this, init); }
}
export class ContactSpouse
{
public ContactSpouseId: number;
public ContactId: number;
public Name: string;
public DOB?: string;
public Cell: string;
public Employer: string;
public Years?: number;
public Position: string;
public Email: string;
public PastOccupations: string;
public constructor(init?: Partial<ContactSpouse>) { (Object as any).assign(this, init); }
}
export class ContactChild
{
public ContactChildId: number;
public ContactId: number;
public Name: string;
public DOB?: string;
public Fund: string;
public Contribution?: number;
public Balance?: number;
public constructor(init?: Partial<ContactChild>) { (Object as any).assign(this, init); }
}
export class ContactRetirementIncome
{
public ContactRetirementIncomeId: number;
public ContactId: number;
public AccountOwner: string;
public AccountType: string;
public Carrier: string;
public TotalValue?: number;
public SurrValue?: number;
public DateOfIssue?: string;
public Fees?: number;
public PolicyNum: string;
public Contrib?: number;
public EmpNotes: string;
public TaxCode: string;
public SurrCharge?: number;
public ThirdPrtyPprwrkOK?: boolean;
public AddlFormsReqd?: boolean;
public OriginalFormsReqd?: boolean;
public SignatureGuarReqd?: boolean;
public FaxAccepted?: boolean;
public FaxNumber: string;
public MailingAddr: string;
public MailingCity: string;
public MailingState: string;
public MailingZip: string;
public HasOutstandingLoans?: boolean;
public constructor(init?: Partial<ContactRetirementIncome>) { (Object as any).assign(this, init); }
}
export class ContactExpense
{
public ContactExpenseId: number;
public ContactId: number;
public ExpenseType: string;
public Description: string;
public Balance?: number;
public InterestRate?: number;
public MinimumPayment?: number;
public MonthlyPayment?: number;
public constructor(init?: Partial<ContactExpense>) { (Object as any).assign(this, init); }
}
export class ContactClientReferral
{
public ContactClientReferralId: number;
public ContactId: number;
public Name: string;
public Campus: string;
public Room: string;
public Phone: string;
public constructor(init?: Partial<ContactClientReferral>) { (Object as any).assign(this, init); }
}
export class ContactLTAInfo
{
public ContactLTAInfoId: number;
public ContactId: number;
public PlanType: string;
public Company: string;
public Contribution?: number;
public Balance?: number;
public constructor(init?: Partial<ContactLTAInfo>) { (Object as any).assign(this, init); }
}
export class ContactPension
{
public ContactPensionId: number;
public ContactId: number;
public PensionSystem: string;
public PensionStartDate?: string;
public ServiceCredit?: number;
public ServiceCreditAsOfDate?: string;
public DesiredRetirementDate?: string;
public DesiredRetirementAge: number;
public SpousalBenefitDesired?: boolean;
public FormulaPercent?: number;
public FormulaAt?: number;
public DefinedBenefitBalance?: number;
public DefinedBenefitSpouseBalance?: number;
public constructor(init?: Partial<ContactPension>) { (Object as any).assign(this, init); }
}
export class FactFinderSheetExtended
{
public Contact: Contact;
public FactFinderSheet: FactFinderSheet;
public Spouse: ContactSpouse;
public Children: ContactChild[] = [];
public IncomeSources: ContactRetirementIncome[] = [];
public AdditionalNotes: string;
public Expenses: ContactExpense[] = [];
public Referrals: ContactClientReferral[] = [];
public LTAInfo: ContactLTAInfo[] = [];
public Pensions: ContactPension[] = [];
public constructor(init?: Partial<FactFinderSheetExtended>) { (Object as any).assign(this, init); }
}
export class FactFinderRequest
{
public FactFinderSheet: FactFinderSheetExtended;
public DataEntry: boolean;
public constructor(init?: Partial<FactFinderRequest>) { (Object as any).assign(this, init); }
}
TypeScript 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
}