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 .jsv suffix or ?format=jsv

HTTP + 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
}