| Requires any of the roles: | Agent, Administrator, Agent, Administrator |
| 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(){}
}
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
}