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
namespace CRM.AgencyPlatform.API.Internal

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type Contact() = 
        member val ContactId:Int32 = new Int32() with get,set
        member val ContactType:Int32 = new Int32() with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val Name:String = null with get,set
        member val Role:String = null with get,set
        member val Title:String = null with get,set
        member val EmailWork:String = null with get,set
        member val EmailPersonal:String = null with get,set
        member val District:String = null with get,set
        member val DistrictID:Int32 = new Int32() with get,set
        member val School:String = null with get,set
        member val SchoolID:Int64 = new Int64() with get,set
        member val State:String = null with get,set
        member val StateName:String = null with get,set
        member val StateID:Int64 = new Int64() with get,set
        member val CountyID:Int64 = new Int64() with get,set
        member val County:String = null with get,set
        member val Phone:String = null with get,set
        member val Department:String = null with get,set
        member val Flow:String = null with get,set
        member val LastContact:DateTime = new DateTime() with get,set
        member val DoNotContact:Boolean = new Boolean() with get,set
        member val Active:Boolean = new Boolean() with get,set
        member val AgentId:Int32 = new Int32() with get,set
        member val PhoneAlt:String = null with get,set
        member val PeraContactId:Int32 = new Int32() with get,set
        member val RoomNumber:String = null with get,set
        member val SourceTypeId:Int32 = new Int32() with get,set
        member val SourceTypeDesc:String = null with get,set
        member val SourceNote:String = null with get,set
        member val ContactStatusId:Int32 = new Int32() with get,set
        member val ContactStatusDesc:String = null with get,set
        member val SSN:String = null with get,set
        member val DateOfBirth:DateTime = new DateTime() with get,set
        member val Deleted:Boolean = new Boolean() with get,set
        member val IsShared:Boolean = new Boolean() with get,set
        member val address_line1:String = null with get,set
        member val address_city:String = null with get,set
        member val address_state:String = null with get,set
        member val address_zip:String = null with get,set
        member val DeletedBy:String = null with get,set
        member val DeletedDateTimeUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val HasNBC:Boolean = new Boolean() with get,set
        member val HasFactFinderSheet:Boolean = new Boolean() with get,set
        member val MiddleInitial:String = null with get,set
        member val Tags:String = null with get,set
        member val DateCreated:DateTime = new DateTime() with get,set
        member val PhoneLabel:String = null with get,set
        member val AltPhoneLabel:String = null with get,set
        member val Carriers:String = null with get,set
        member val ContactImage:String = null with get,set
        member val CompanyAffiliation:String = null with get,set
        member val AdditionalInformation:String = null with get,set
        member val HasGiftCard:Boolean = new Boolean() with get,set
        member val ContactCategory:Int32 = new Int32() with get,set
        member val WritingAgentId:Int32 = new Int32() with get,set
        member val WritingAgentName:String = null with get,set
        member val MaritalStatus:String = null with get,set
        member val TotalDebtAmount:Decimal = new Decimal() with get,set
        member val NumberOfDebtAccounts:Int32 = new Int32() with get,set
        member val FactFinderCodeId:Int32 = new Int32() with get,set
        member val BusinessName:String = null with get,set
        member val DBA:String = null with get,set
        member val ContactGUID:Guid = new Guid() with get,set
        member val ProjectEndDate:DateTime = new DateTime() with get,set
        member val Rate:Int32 = new Int32() with get,set
        member val JobID:Int32 = new Int32() with get,set
        member val JobName:String = null with get,set
        member val JobCount:Int32 = new Int32() with get,set
        member val Locked:Boolean = new Boolean() with get,set
        member val LockedByAgentId:Int32 = new Int32() with get,set
        member val LockedTimestamp:DateTime = new DateTime() with get,set
        member val Initials:String = null with get,set
        member val ContactCategoryName:String = null with get,set
        member val SMSOptIn:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type FactFinderSheet() = 
        member val FactFinderSheetId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val EmploymentYears:String = null with get,set
        member val PastOccupations:String = null with get,set
        member val ClientGrossMthlyIncome:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ClientNetMthlyIncome:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val HouseholdGrossMthlyIncome:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val HouseholdNetMthlyIncome:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val EstimatedExpenses:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val DiscretionaryIncome:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val DesiredRetirementIncome:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RetirementGoals:String = null with get,set
        member val EmergencyFundMthlyContrib:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val EmergencyFundBalance:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val EmergencyFundComplete:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val WorkStatus:String = null with get,set
        member val UnusedSickDays:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val UnusedSickHours:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ContractBaseServPerYrDays:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ContractBaseServPerYrHours:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val DaysPerWeek:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val HoursPerWeek:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val MonthsPerYear:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NumPreTaxChecksPerYr:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val YearsWithOtherDistricts:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PrimaryLifeInsurance:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PLICarrier:String = null with get,set
        member val PLIFaceAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PLIIssueDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val PLIPremium:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PLIType:String = null with get,set
        member val PLITypeOf:String = null with get,set
        member val PLICashValue:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SpouseLifeInsurance:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SLICarrier:String = null with get,set
        member val SLIFaceAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SLIIssueDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val SLIPremium:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SLIType:String = null with get,set
        member val SLITypeOf:String = null with get,set
        member val SLICashValue:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PrimaryLTCInsurance:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PLTCPremium:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PrimaryDisabilityInsurance:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PDIPremium:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SpouseLTCInsurance:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SLTCPremium:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SpouseDisabilityInsurance:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SDIPremium:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val HasRetirementSavings:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val HasPriorEmploymentRetirementSavings:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val HasDistributionPlan:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    [<AllowNullLiteral>]
    type ContactSpouse() = 
        member val ContactSpouseId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val DOB:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Cell:String = null with get,set
        member val Employer:String = null with get,set
        member val Years:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Position:String = null with get,set
        member val Email:String = null with get,set
        member val PastOccupations:String = null with get,set

    [<AllowNullLiteral>]
    type ContactChild() = 
        member val ContactChildId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val DOB:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Fund:String = null with get,set
        member val Contribution:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Balance:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type ContactRetirementIncome() = 
        member val ContactRetirementIncomeId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val AccountOwner:String = null with get,set
        member val AccountType:String = null with get,set
        member val Carrier:String = null with get,set
        member val TotalValue:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SurrValue:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val DateOfIssue:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Fees:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PolicyNum:String = null with get,set
        member val Contrib:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val EmpNotes:String = null with get,set
        member val TaxCode:String = null with get,set
        member val SurrCharge:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ThirdPrtyPprwrkOK:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val AddlFormsReqd:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val OriginalFormsReqd:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SignatureGuarReqd:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val FaxAccepted:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val FaxNumber:String = null with get,set
        member val MailingAddr:String = null with get,set
        member val MailingCity:String = null with get,set
        member val MailingState:String = null with get,set
        member val MailingZip:String = null with get,set
        member val HasOutstandingLoans:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    [<AllowNullLiteral>]
    type ContactExpense() = 
        member val ContactExpenseId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val ExpenseType:String = null with get,set
        member val Description:String = null with get,set
        member val Balance:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val InterestRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val MinimumPayment:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val MonthlyPayment:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type ContactClientReferral() = 
        member val ContactClientReferralId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Campus:String = null with get,set
        member val Room:String = null with get,set
        member val Phone:String = null with get,set

    [<AllowNullLiteral>]
    type ContactLTAInfo() = 
        member val ContactLTAInfoId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val PlanType:String = null with get,set
        member val Company:String = null with get,set
        member val Contribution:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Balance:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type ContactPension() = 
        member val ContactPensionId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val PensionSystem:String = null with get,set
        member val PensionStartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ServiceCredit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ServiceCreditAsOfDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DesiredRetirementDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DesiredRetirementAge:Int32 = new Int32() with get,set
        member val SpousalBenefitDesired:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val FormulaPercent:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val FormulaAt:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val DefinedBenefitBalance:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val DefinedBenefitSpouseBalance:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type FactFinderSheetExtended() = 
        member val Contact:Contact = null with get,set
        member val FactFinderSheet:FactFinderSheet = null with get,set
        member val Spouse:ContactSpouse = null with get,set
        member val Children:ResizeArray<ContactChild> = new ResizeArray<ContactChild>() with get,set
        member val IncomeSources:ResizeArray<ContactRetirementIncome> = new ResizeArray<ContactRetirementIncome>() with get,set
        member val AdditionalNotes:String = null with get,set
        member val Expenses:ResizeArray<ContactExpense> = new ResizeArray<ContactExpense>() with get,set
        member val Referrals:ResizeArray<ContactClientReferral> = new ResizeArray<ContactClientReferral>() with get,set
        member val LTAInfo:ResizeArray<ContactLTAInfo> = new ResizeArray<ContactLTAInfo>() with get,set
        member val Pensions:ResizeArray<ContactPension> = new ResizeArray<ContactPension>() with get,set

    [<AllowNullLiteral>]
    type FactFinderRequest() = 
        member val FactFinderSheet:FactFinderSheetExtended = null with get,set
        member val DataEntry:Boolean = new Boolean() with get,set

F# 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
}