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
import Foundation
import ServiceStack

public class FactFinderRequest : Codable
{
    public var factFinderSheet:FactFinderSheetExtended
    public var dataEntry:Bool

    required public init(){}
}

public class FactFinderSheetExtended : Codable
{
    public var contact:Contact
    public var factFinderSheet:FactFinderSheet
    public var spouse:ContactSpouse
    public var children:[ContactChild] = []
    public var incomeSources:[ContactRetirementIncome] = []
    public var additionalNotes:String
    public var expenses:[ContactExpense] = []
    public var referrals:[ContactClientReferral] = []
    public var ltaInfo:[ContactLTAInfo] = []
    public var pensions:[ContactPension] = []

    required public init(){}
}

public class Contact : Codable
{
    public var contactId:Int
    public var contactType:Int
    public var firstName:String
    public var lastName:String
    public var name:String
    public var role:String
    public var title:String
    public var emailWork:String
    public var emailPersonal:String
    public var district:String
    public var districtID:Int
    public var school:String
    public var schoolID:Int
    public var state:String
    public var stateName:String
    public var stateID:Int
    public var countyID:Int
    public var county:String
    public var phone:String
    public var department:String
    public var flow:String
    public var lastContact:Date
    public var doNotContact:Bool
    public var active:Bool
    public var agentId:Int
    public var phoneAlt:String
    public var peraContactId:Int
    public var roomNumber:String
    public var sourceTypeId:Int
    public var sourceTypeDesc:String
    public var sourceNote:String
    public var contactStatusId:Int
    public var contactStatusDesc:String
    public var ssn:String
    public var dateOfBirth:Date
    public var deleted:Bool
    public var isShared:Bool
    public var address_line1:String
    public var address_city:String
    public var address_state:String
    public var address_zip:String
    public var deletedBy:String
    public var deletedDateTimeUtc:Date?
    public var hasNBC:Bool
    public var hasFactFinderSheet:Bool
    public var middleInitial:String
    public var tags:String
    public var dateCreated:Date
    public var phoneLabel:String
    public var altPhoneLabel:String
    public var carriers:String
    public var contactImage:String
    public var companyAffiliation:String
    public var additionalInformation:String
    public var hasGiftCard:Bool
    public var contactCategory:Int
    public var writingAgentId:Int
    public var writingAgentName:String
    public var maritalStatus:String
    public var totalDebtAmount:Double
    public var numberOfDebtAccounts:Int
    public var factFinderCodeId:Int
    public var businessName:String
    public var dba:String
    public var contactGUID:String
    public var projectEndDate:Date
    public var rate:Int
    public var jobID:Int
    public var jobName:String
    public var jobCount:Int
    public var locked:Bool
    public var lockedByAgentId:Int
    public var lockedTimestamp:Date
    public var initials:String
    public var contactCategoryName:String
    public var smsOptIn:Bool

    required public init(){}
}

public class FactFinderSheet : Codable
{
    public var factFinderSheetId:Int
    public var contactId:Int
    public var employmentYears:String
    public var pastOccupations:String
    public var clientGrossMthlyIncome:Double?
    public var clientNetMthlyIncome:Double?
    public var householdGrossMthlyIncome:Double?
    public var householdNetMthlyIncome:Double?
    public var estimatedExpenses:Double?
    public var discretionaryIncome:Double?
    public var desiredRetirementIncome:Double?
    public var retirementGoals:String
    public var emergencyFundMthlyContrib:Double?
    public var emergencyFundBalance:Double?
    public var emergencyFundComplete:Bool?
    public var workStatus:String
    public var unusedSickDays:Double?
    public var unusedSickHours:Double?
    public var contractBaseServPerYrDays:Double?
    public var contractBaseServPerYrHours:Double?
    public var daysPerWeek:Double?
    public var hoursPerWeek:Double?
    public var monthsPerYear:Double?
    public var numPreTaxChecksPerYr:Int?
    public var yearsWithOtherDistricts:Double?
    public var primaryLifeInsurance:Bool?
    public var pliCarrier:String
    public var pliFaceAmount:Double?
    public var pliIssueDate:Date?
    public var pliPremium:Double?
    public var pliType:String
    public var pliTypeOf:String
    public var pliCashValue:Double?
    public var spouseLifeInsurance:Bool?
    public var sliCarrier:String
    public var sliFaceAmount:Double?
    public var sliIssueDate:Date?
    public var sliPremium:Double?
    public var sliType:String
    public var sliTypeOf:String
    public var sliCashValue:Double?
    public var primaryLTCInsurance:Bool?
    public var pltcPremium:Double?
    public var primaryDisabilityInsurance:Bool?
    public var pdiPremium:Double?
    public var spouseLTCInsurance:Bool?
    public var sltcPremium:Double?
    public var spouseDisabilityInsurance:Bool?
    public var sdiPremium:Double?
    public var hasRetirementSavings:Bool?
    public var hasPriorEmploymentRetirementSavings:Bool?
    public var hasDistributionPlan:Bool?

    required public init(){}
}

public class ContactSpouse : Codable
{
    public var contactSpouseId:Int
    public var contactId:Int
    public var name:String
    public var dob:Date?
    public var cell:String
    public var employer:String
    public var years:Double?
    public var position:String
    public var email:String
    public var pastOccupations:String

    required public init(){}
}

public class ContactChild : Codable
{
    public var contactChildId:Int
    public var contactId:Int
    public var name:String
    public var dob:Date?
    public var fund:String
    public var contribution:Double?
    public var balance:Double?

    required public init(){}
}

public class ContactRetirementIncome : Codable
{
    public var contactRetirementIncomeId:Int
    public var contactId:Int
    public var accountOwner:String
    public var accountType:String
    public var carrier:String
    public var totalValue:Double?
    public var surrValue:Double?
    public var dateOfIssue:Date?
    public var fees:Double?
    public var policyNum:String
    public var contrib:Double?
    public var empNotes:String
    public var taxCode:String
    public var surrCharge:Double?
    public var thirdPrtyPprwrkOK:Bool?
    public var addlFormsReqd:Bool?
    public var originalFormsReqd:Bool?
    public var signatureGuarReqd:Bool?
    public var faxAccepted:Bool?
    public var faxNumber:String
    public var mailingAddr:String
    public var mailingCity:String
    public var mailingState:String
    public var mailingZip:String
    public var hasOutstandingLoans:Bool?

    required public init(){}
}

public class ContactExpense : Codable
{
    public var contactExpenseId:Int
    public var contactId:Int
    public var expenseType:String
    public var Description:String
    public var balance:Double?
    public var interestRate:Double?
    public var minimumPayment:Double?
    public var monthlyPayment:Double?

    required public init(){}
}

public class ContactClientReferral : Codable
{
    public var contactClientReferralId:Int
    public var contactId:Int
    public var name:String
    public var campus:String
    public var room:String
    public var phone:String

    required public init(){}
}

public class ContactLTAInfo : Codable
{
    public var contactLTAInfoId:Int
    public var contactId:Int
    public var planType:String
    public var company:String
    public var contribution:Double?
    public var balance:Double?

    required public init(){}
}

public class ContactPension : Codable
{
    public var contactPensionId:Int
    public var contactId:Int
    public var pensionSystem:String
    public var pensionStartDate:Date?
    public var serviceCredit:Double?
    public var serviceCreditAsOfDate:Date?
    public var desiredRetirementDate:Date?
    public var desiredRetirementAge:Int
    public var spousalBenefitDesired:Bool?
    public var formulaPercent:Double?
    public var formulaAt:Double?
    public var definedBenefitBalance:Double?
    public var definedBenefitSpouseBalance:Double?

    required public init(){}
}


Swift FactFinderRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
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}