Trendsic Platform Service

<back to all web services

FactFinderRequest

Requires Authentication
Requires any of the roles:Agent, Administrator, Agent, Administrator
The following routes are available for this service:
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 .other suffix or ?format=other

HTTP + OTHER

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/jsonl
Content-Type: text/jsonl
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-01T00:00:00.0000000","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-01T00:00:00.0000000","Deleted":false,"IsShared":false,"address_line1":"String","address_city":"String","address_state":"String","address_zip":"String","DeletedBy":"String","DeletedDateTimeUtc":"0001-01-01T00:00:00.0000000","HasNBC":false,"HasFactFinderSheet":false,"MiddleInitial":"String","Tags":"String","DateCreated":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","Rate":0,"JobID":0,"JobName":"String","JobCount":0,"Locked":false,"LockedByAgentId":0,"LockedTimestamp":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","PLIPremium":0,"PLIType":"String","PLITypeOf":"String","PLICashValue":0,"SpouseLifeInsurance":false,"SLICarrier":"String","SLIFaceAmount":0,"SLIIssueDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","Cell":"String","Employer":"String","Years":0,"Position":"String","Email":"String","PastOccupations":"String"},"Children":[{"ContactChildId":0,"ContactId":0,"Name":"String","DOB":"0001-01-01T00:00:00.0000000","Fund":"String","Contribution":0,"Balance":0}],"IncomeSources":[{"ContactRetirementIncomeId":0,"ContactId":0,"AccountOwner":"String","AccountType":"String","Carrier":"String","TotalValue":0,"SurrValue":0,"DateOfIssue":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","ServiceCredit":0,"ServiceCreditAsOfDate":"0001-01-01T00:00:00.0000000","DesiredRetirementDate":"0001-01-01T00:00:00.0000000","DesiredRetirementAge":0,"SpousalBenefitDesired":false,"FormulaPercent":0,"FormulaAt":0,"DefinedBenefitBalance":0,"DefinedBenefitSpouseBalance":0}]},"DataEntry":false}