| Requires any of the roles: | Agent, Administrator, Agent, Administrator |
| POST,PUT,OPTIONS | /v1/FactFinder |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class Contact implements IConvertible
{
int? ContactId;
int? ContactType;
String? FirstName;
String? LastName;
String? Name;
String? Role;
String? Title;
String? EmailWork;
String? EmailPersonal;
String? District;
int? DistrictID;
String? School;
int? SchoolID;
String? State;
String? StateName;
int? StateID;
int? CountyID;
String? County;
String? Phone;
String? Department;
String? Flow;
DateTime? LastContact;
bool? DoNotContact;
bool? Active;
int? AgentId;
String? PhoneAlt;
int? PeraContactId;
String? RoomNumber;
int? SourceTypeId;
String? SourceTypeDesc;
String? SourceNote;
int? ContactStatusId;
String? ContactStatusDesc;
String? SSN;
DateTime? DateOfBirth;
bool? Deleted;
bool? IsShared;
String? address_line1;
String? address_city;
String? address_state;
String? address_zip;
String? DeletedBy;
DateTime? DeletedDateTimeUtc;
bool? HasNBC;
bool? HasFactFinderSheet;
String? MiddleInitial;
String? Tags;
DateTime? DateCreated;
String? PhoneLabel;
String? AltPhoneLabel;
String? Carriers;
String? ContactImage;
String? CompanyAffiliation;
String? AdditionalInformation;
bool? HasGiftCard;
int? ContactCategory;
int? WritingAgentId;
String? WritingAgentName;
String? MaritalStatus;
double? TotalDebtAmount;
int? NumberOfDebtAccounts;
int? FactFinderCodeId;
String? BusinessName;
String? DBA;
String? ContactGUID;
DateTime? ProjectEndDate;
int? Rate;
int? JobID;
String? JobName;
int? JobCount;
bool? Locked;
int? LockedByAgentId;
DateTime? LockedTimestamp;
String? Initials;
String? ContactCategoryName;
bool? SMSOptIn;
Contact({this.ContactId,this.ContactType,this.FirstName,this.LastName,this.Name,this.Role,this.Title,this.EmailWork,this.EmailPersonal,this.District,this.DistrictID,this.School,this.SchoolID,this.State,this.StateName,this.StateID,this.CountyID,this.County,this.Phone,this.Department,this.Flow,this.LastContact,this.DoNotContact,this.Active,this.AgentId,this.PhoneAlt,this.PeraContactId,this.RoomNumber,this.SourceTypeId,this.SourceTypeDesc,this.SourceNote,this.ContactStatusId,this.ContactStatusDesc,this.SSN,this.DateOfBirth,this.Deleted,this.IsShared,this.address_line1,this.address_city,this.address_state,this.address_zip,this.DeletedBy,this.DeletedDateTimeUtc,this.HasNBC,this.HasFactFinderSheet,this.MiddleInitial,this.Tags,this.DateCreated,this.PhoneLabel,this.AltPhoneLabel,this.Carriers,this.ContactImage,this.CompanyAffiliation,this.AdditionalInformation,this.HasGiftCard,this.ContactCategory,this.WritingAgentId,this.WritingAgentName,this.MaritalStatus,this.TotalDebtAmount,this.NumberOfDebtAccounts,this.FactFinderCodeId,this.BusinessName,this.DBA,this.ContactGUID,this.ProjectEndDate,this.Rate,this.JobID,this.JobName,this.JobCount,this.Locked,this.LockedByAgentId,this.LockedTimestamp,this.Initials,this.ContactCategoryName,this.SMSOptIn});
Contact.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactId = json['ContactId'];
ContactType = json['ContactType'];
FirstName = json['FirstName'];
LastName = json['LastName'];
Name = json['Name'];
Role = json['Role'];
Title = json['Title'];
EmailWork = json['EmailWork'];
EmailPersonal = json['EmailPersonal'];
District = json['District'];
DistrictID = json['DistrictID'];
School = json['School'];
SchoolID = json['SchoolID'];
State = json['State'];
StateName = json['StateName'];
StateID = json['StateID'];
CountyID = json['CountyID'];
County = json['County'];
Phone = json['Phone'];
Department = json['Department'];
Flow = json['Flow'];
LastContact = JsonConverters.fromJson(json['LastContact'],'DateTime',context!);
DoNotContact = json['DoNotContact'];
Active = json['Active'];
AgentId = json['AgentId'];
PhoneAlt = json['PhoneAlt'];
PeraContactId = json['PeraContactId'];
RoomNumber = json['RoomNumber'];
SourceTypeId = json['SourceTypeId'];
SourceTypeDesc = json['SourceTypeDesc'];
SourceNote = json['SourceNote'];
ContactStatusId = json['ContactStatusId'];
ContactStatusDesc = json['ContactStatusDesc'];
SSN = json['SSN'];
DateOfBirth = JsonConverters.fromJson(json['DateOfBirth'],'DateTime',context!);
Deleted = json['Deleted'];
IsShared = json['IsShared'];
address_line1 = json['address_line1'];
address_city = json['address_city'];
address_state = json['address_state'];
address_zip = json['address_zip'];
DeletedBy = json['DeletedBy'];
DeletedDateTimeUtc = JsonConverters.fromJson(json['DeletedDateTimeUtc'],'DateTime',context!);
HasNBC = json['HasNBC'];
HasFactFinderSheet = json['HasFactFinderSheet'];
MiddleInitial = json['MiddleInitial'];
Tags = json['Tags'];
DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!);
PhoneLabel = json['PhoneLabel'];
AltPhoneLabel = json['AltPhoneLabel'];
Carriers = json['Carriers'];
ContactImage = json['ContactImage'];
CompanyAffiliation = json['CompanyAffiliation'];
AdditionalInformation = json['AdditionalInformation'];
HasGiftCard = json['HasGiftCard'];
ContactCategory = json['ContactCategory'];
WritingAgentId = json['WritingAgentId'];
WritingAgentName = json['WritingAgentName'];
MaritalStatus = json['MaritalStatus'];
TotalDebtAmount = JsonConverters.toDouble(json['TotalDebtAmount']);
NumberOfDebtAccounts = json['NumberOfDebtAccounts'];
FactFinderCodeId = json['FactFinderCodeId'];
BusinessName = json['BusinessName'];
DBA = json['DBA'];
ContactGUID = json['ContactGUID'];
ProjectEndDate = JsonConverters.fromJson(json['ProjectEndDate'],'DateTime',context!);
Rate = json['Rate'];
JobID = json['JobID'];
JobName = json['JobName'];
JobCount = json['JobCount'];
Locked = json['Locked'];
LockedByAgentId = json['LockedByAgentId'];
LockedTimestamp = JsonConverters.fromJson(json['LockedTimestamp'],'DateTime',context!);
Initials = json['Initials'];
ContactCategoryName = json['ContactCategoryName'];
SMSOptIn = json['SMSOptIn'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactId': ContactId,
'ContactType': ContactType,
'FirstName': FirstName,
'LastName': LastName,
'Name': Name,
'Role': Role,
'Title': Title,
'EmailWork': EmailWork,
'EmailPersonal': EmailPersonal,
'District': District,
'DistrictID': DistrictID,
'School': School,
'SchoolID': SchoolID,
'State': State,
'StateName': StateName,
'StateID': StateID,
'CountyID': CountyID,
'County': County,
'Phone': Phone,
'Department': Department,
'Flow': Flow,
'LastContact': JsonConverters.toJson(LastContact,'DateTime',context!),
'DoNotContact': DoNotContact,
'Active': Active,
'AgentId': AgentId,
'PhoneAlt': PhoneAlt,
'PeraContactId': PeraContactId,
'RoomNumber': RoomNumber,
'SourceTypeId': SourceTypeId,
'SourceTypeDesc': SourceTypeDesc,
'SourceNote': SourceNote,
'ContactStatusId': ContactStatusId,
'ContactStatusDesc': ContactStatusDesc,
'SSN': SSN,
'DateOfBirth': JsonConverters.toJson(DateOfBirth,'DateTime',context!),
'Deleted': Deleted,
'IsShared': IsShared,
'address_line1': address_line1,
'address_city': address_city,
'address_state': address_state,
'address_zip': address_zip,
'DeletedBy': DeletedBy,
'DeletedDateTimeUtc': JsonConverters.toJson(DeletedDateTimeUtc,'DateTime',context!),
'HasNBC': HasNBC,
'HasFactFinderSheet': HasFactFinderSheet,
'MiddleInitial': MiddleInitial,
'Tags': Tags,
'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!),
'PhoneLabel': PhoneLabel,
'AltPhoneLabel': AltPhoneLabel,
'Carriers': Carriers,
'ContactImage': ContactImage,
'CompanyAffiliation': CompanyAffiliation,
'AdditionalInformation': AdditionalInformation,
'HasGiftCard': HasGiftCard,
'ContactCategory': ContactCategory,
'WritingAgentId': WritingAgentId,
'WritingAgentName': WritingAgentName,
'MaritalStatus': MaritalStatus,
'TotalDebtAmount': TotalDebtAmount,
'NumberOfDebtAccounts': NumberOfDebtAccounts,
'FactFinderCodeId': FactFinderCodeId,
'BusinessName': BusinessName,
'DBA': DBA,
'ContactGUID': ContactGUID,
'ProjectEndDate': JsonConverters.toJson(ProjectEndDate,'DateTime',context!),
'Rate': Rate,
'JobID': JobID,
'JobName': JobName,
'JobCount': JobCount,
'Locked': Locked,
'LockedByAgentId': LockedByAgentId,
'LockedTimestamp': JsonConverters.toJson(LockedTimestamp,'DateTime',context!),
'Initials': Initials,
'ContactCategoryName': ContactCategoryName,
'SMSOptIn': SMSOptIn
};
getTypeName() => "Contact";
TypeContext? context = _ctx;
}
class FactFinderSheet implements IConvertible
{
int? FactFinderSheetId;
int? ContactId;
String? EmploymentYears;
String? PastOccupations;
double? ClientGrossMthlyIncome;
double? ClientNetMthlyIncome;
double? HouseholdGrossMthlyIncome;
double? HouseholdNetMthlyIncome;
double? EstimatedExpenses;
double? DiscretionaryIncome;
double? DesiredRetirementIncome;
String? RetirementGoals;
double? EmergencyFundMthlyContrib;
double? EmergencyFundBalance;
bool? EmergencyFundComplete;
String? WorkStatus;
double? UnusedSickDays;
double? UnusedSickHours;
double? ContractBaseServPerYrDays;
double? ContractBaseServPerYrHours;
double? DaysPerWeek;
double? HoursPerWeek;
double? MonthsPerYear;
int? NumPreTaxChecksPerYr;
double? YearsWithOtherDistricts;
bool? PrimaryLifeInsurance;
String? PLICarrier;
double? PLIFaceAmount;
DateTime? PLIIssueDate;
double? PLIPremium;
String? PLIType;
String? PLITypeOf;
double? PLICashValue;
bool? SpouseLifeInsurance;
String? SLICarrier;
double? SLIFaceAmount;
DateTime? SLIIssueDate;
double? SLIPremium;
String? SLIType;
String? SLITypeOf;
double? SLICashValue;
bool? PrimaryLTCInsurance;
double? PLTCPremium;
bool? PrimaryDisabilityInsurance;
double? PDIPremium;
bool? SpouseLTCInsurance;
double? SLTCPremium;
bool? SpouseDisabilityInsurance;
double? SDIPremium;
bool? HasRetirementSavings;
bool? HasPriorEmploymentRetirementSavings;
bool? HasDistributionPlan;
FactFinderSheet({this.FactFinderSheetId,this.ContactId,this.EmploymentYears,this.PastOccupations,this.ClientGrossMthlyIncome,this.ClientNetMthlyIncome,this.HouseholdGrossMthlyIncome,this.HouseholdNetMthlyIncome,this.EstimatedExpenses,this.DiscretionaryIncome,this.DesiredRetirementIncome,this.RetirementGoals,this.EmergencyFundMthlyContrib,this.EmergencyFundBalance,this.EmergencyFundComplete,this.WorkStatus,this.UnusedSickDays,this.UnusedSickHours,this.ContractBaseServPerYrDays,this.ContractBaseServPerYrHours,this.DaysPerWeek,this.HoursPerWeek,this.MonthsPerYear,this.NumPreTaxChecksPerYr,this.YearsWithOtherDistricts,this.PrimaryLifeInsurance,this.PLICarrier,this.PLIFaceAmount,this.PLIIssueDate,this.PLIPremium,this.PLIType,this.PLITypeOf,this.PLICashValue,this.SpouseLifeInsurance,this.SLICarrier,this.SLIFaceAmount,this.SLIIssueDate,this.SLIPremium,this.SLIType,this.SLITypeOf,this.SLICashValue,this.PrimaryLTCInsurance,this.PLTCPremium,this.PrimaryDisabilityInsurance,this.PDIPremium,this.SpouseLTCInsurance,this.SLTCPremium,this.SpouseDisabilityInsurance,this.SDIPremium,this.HasRetirementSavings,this.HasPriorEmploymentRetirementSavings,this.HasDistributionPlan});
FactFinderSheet.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
FactFinderSheetId = json['FactFinderSheetId'];
ContactId = json['ContactId'];
EmploymentYears = json['EmploymentYears'];
PastOccupations = json['PastOccupations'];
ClientGrossMthlyIncome = JsonConverters.toDouble(json['ClientGrossMthlyIncome']);
ClientNetMthlyIncome = JsonConverters.toDouble(json['ClientNetMthlyIncome']);
HouseholdGrossMthlyIncome = JsonConverters.toDouble(json['HouseholdGrossMthlyIncome']);
HouseholdNetMthlyIncome = JsonConverters.toDouble(json['HouseholdNetMthlyIncome']);
EstimatedExpenses = JsonConverters.toDouble(json['EstimatedExpenses']);
DiscretionaryIncome = JsonConverters.toDouble(json['DiscretionaryIncome']);
DesiredRetirementIncome = JsonConverters.toDouble(json['DesiredRetirementIncome']);
RetirementGoals = json['RetirementGoals'];
EmergencyFundMthlyContrib = JsonConverters.toDouble(json['EmergencyFundMthlyContrib']);
EmergencyFundBalance = JsonConverters.toDouble(json['EmergencyFundBalance']);
EmergencyFundComplete = json['EmergencyFundComplete'];
WorkStatus = json['WorkStatus'];
UnusedSickDays = JsonConverters.toDouble(json['UnusedSickDays']);
UnusedSickHours = JsonConverters.toDouble(json['UnusedSickHours']);
ContractBaseServPerYrDays = JsonConverters.toDouble(json['ContractBaseServPerYrDays']);
ContractBaseServPerYrHours = JsonConverters.toDouble(json['ContractBaseServPerYrHours']);
DaysPerWeek = JsonConverters.toDouble(json['DaysPerWeek']);
HoursPerWeek = JsonConverters.toDouble(json['HoursPerWeek']);
MonthsPerYear = JsonConverters.toDouble(json['MonthsPerYear']);
NumPreTaxChecksPerYr = json['NumPreTaxChecksPerYr'];
YearsWithOtherDistricts = JsonConverters.toDouble(json['YearsWithOtherDistricts']);
PrimaryLifeInsurance = json['PrimaryLifeInsurance'];
PLICarrier = json['PLICarrier'];
PLIFaceAmount = JsonConverters.toDouble(json['PLIFaceAmount']);
PLIIssueDate = JsonConverters.fromJson(json['PLIIssueDate'],'DateTime',context!);
PLIPremium = JsonConverters.toDouble(json['PLIPremium']);
PLIType = json['PLIType'];
PLITypeOf = json['PLITypeOf'];
PLICashValue = JsonConverters.toDouble(json['PLICashValue']);
SpouseLifeInsurance = json['SpouseLifeInsurance'];
SLICarrier = json['SLICarrier'];
SLIFaceAmount = JsonConverters.toDouble(json['SLIFaceAmount']);
SLIIssueDate = JsonConverters.fromJson(json['SLIIssueDate'],'DateTime',context!);
SLIPremium = JsonConverters.toDouble(json['SLIPremium']);
SLIType = json['SLIType'];
SLITypeOf = json['SLITypeOf'];
SLICashValue = JsonConverters.toDouble(json['SLICashValue']);
PrimaryLTCInsurance = json['PrimaryLTCInsurance'];
PLTCPremium = JsonConverters.toDouble(json['PLTCPremium']);
PrimaryDisabilityInsurance = json['PrimaryDisabilityInsurance'];
PDIPremium = JsonConverters.toDouble(json['PDIPremium']);
SpouseLTCInsurance = json['SpouseLTCInsurance'];
SLTCPremium = JsonConverters.toDouble(json['SLTCPremium']);
SpouseDisabilityInsurance = json['SpouseDisabilityInsurance'];
SDIPremium = JsonConverters.toDouble(json['SDIPremium']);
HasRetirementSavings = json['HasRetirementSavings'];
HasPriorEmploymentRetirementSavings = json['HasPriorEmploymentRetirementSavings'];
HasDistributionPlan = json['HasDistributionPlan'];
return this;
}
Map<String, dynamic> toJson() => {
'FactFinderSheetId': FactFinderSheetId,
'ContactId': ContactId,
'EmploymentYears': EmploymentYears,
'PastOccupations': PastOccupations,
'ClientGrossMthlyIncome': ClientGrossMthlyIncome,
'ClientNetMthlyIncome': ClientNetMthlyIncome,
'HouseholdGrossMthlyIncome': HouseholdGrossMthlyIncome,
'HouseholdNetMthlyIncome': HouseholdNetMthlyIncome,
'EstimatedExpenses': EstimatedExpenses,
'DiscretionaryIncome': DiscretionaryIncome,
'DesiredRetirementIncome': DesiredRetirementIncome,
'RetirementGoals': RetirementGoals,
'EmergencyFundMthlyContrib': EmergencyFundMthlyContrib,
'EmergencyFundBalance': EmergencyFundBalance,
'EmergencyFundComplete': EmergencyFundComplete,
'WorkStatus': WorkStatus,
'UnusedSickDays': UnusedSickDays,
'UnusedSickHours': UnusedSickHours,
'ContractBaseServPerYrDays': ContractBaseServPerYrDays,
'ContractBaseServPerYrHours': ContractBaseServPerYrHours,
'DaysPerWeek': DaysPerWeek,
'HoursPerWeek': HoursPerWeek,
'MonthsPerYear': MonthsPerYear,
'NumPreTaxChecksPerYr': NumPreTaxChecksPerYr,
'YearsWithOtherDistricts': YearsWithOtherDistricts,
'PrimaryLifeInsurance': PrimaryLifeInsurance,
'PLICarrier': PLICarrier,
'PLIFaceAmount': PLIFaceAmount,
'PLIIssueDate': JsonConverters.toJson(PLIIssueDate,'DateTime',context!),
'PLIPremium': PLIPremium,
'PLIType': PLIType,
'PLITypeOf': PLITypeOf,
'PLICashValue': PLICashValue,
'SpouseLifeInsurance': SpouseLifeInsurance,
'SLICarrier': SLICarrier,
'SLIFaceAmount': SLIFaceAmount,
'SLIIssueDate': JsonConverters.toJson(SLIIssueDate,'DateTime',context!),
'SLIPremium': SLIPremium,
'SLIType': SLIType,
'SLITypeOf': SLITypeOf,
'SLICashValue': SLICashValue,
'PrimaryLTCInsurance': PrimaryLTCInsurance,
'PLTCPremium': PLTCPremium,
'PrimaryDisabilityInsurance': PrimaryDisabilityInsurance,
'PDIPremium': PDIPremium,
'SpouseLTCInsurance': SpouseLTCInsurance,
'SLTCPremium': SLTCPremium,
'SpouseDisabilityInsurance': SpouseDisabilityInsurance,
'SDIPremium': SDIPremium,
'HasRetirementSavings': HasRetirementSavings,
'HasPriorEmploymentRetirementSavings': HasPriorEmploymentRetirementSavings,
'HasDistributionPlan': HasDistributionPlan
};
getTypeName() => "FactFinderSheet";
TypeContext? context = _ctx;
}
class ContactSpouse implements IConvertible
{
int? ContactSpouseId;
int? ContactId;
String? Name;
DateTime? DOB;
String? Cell;
String? Employer;
double? Years;
String? Position;
String? Email;
String? PastOccupations;
ContactSpouse({this.ContactSpouseId,this.ContactId,this.Name,this.DOB,this.Cell,this.Employer,this.Years,this.Position,this.Email,this.PastOccupations});
ContactSpouse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactSpouseId = json['ContactSpouseId'];
ContactId = json['ContactId'];
Name = json['Name'];
DOB = JsonConverters.fromJson(json['DOB'],'DateTime',context!);
Cell = json['Cell'];
Employer = json['Employer'];
Years = JsonConverters.toDouble(json['Years']);
Position = json['Position'];
Email = json['Email'];
PastOccupations = json['PastOccupations'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactSpouseId': ContactSpouseId,
'ContactId': ContactId,
'Name': Name,
'DOB': JsonConverters.toJson(DOB,'DateTime',context!),
'Cell': Cell,
'Employer': Employer,
'Years': Years,
'Position': Position,
'Email': Email,
'PastOccupations': PastOccupations
};
getTypeName() => "ContactSpouse";
TypeContext? context = _ctx;
}
class ContactChild implements IConvertible
{
int? ContactChildId;
int? ContactId;
String? Name;
DateTime? DOB;
String? Fund;
double? Contribution;
double? Balance;
ContactChild({this.ContactChildId,this.ContactId,this.Name,this.DOB,this.Fund,this.Contribution,this.Balance});
ContactChild.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactChildId = json['ContactChildId'];
ContactId = json['ContactId'];
Name = json['Name'];
DOB = JsonConverters.fromJson(json['DOB'],'DateTime',context!);
Fund = json['Fund'];
Contribution = JsonConverters.toDouble(json['Contribution']);
Balance = JsonConverters.toDouble(json['Balance']);
return this;
}
Map<String, dynamic> toJson() => {
'ContactChildId': ContactChildId,
'ContactId': ContactId,
'Name': Name,
'DOB': JsonConverters.toJson(DOB,'DateTime',context!),
'Fund': Fund,
'Contribution': Contribution,
'Balance': Balance
};
getTypeName() => "ContactChild";
TypeContext? context = _ctx;
}
class ContactRetirementIncome implements IConvertible
{
int? ContactRetirementIncomeId;
int? ContactId;
String? AccountOwner;
String? AccountType;
String? Carrier;
double? TotalValue;
double? SurrValue;
DateTime? DateOfIssue;
double? Fees;
String? PolicyNum;
double? Contrib;
String? EmpNotes;
String? TaxCode;
double? SurrCharge;
bool? ThirdPrtyPprwrkOK;
bool? AddlFormsReqd;
bool? OriginalFormsReqd;
bool? SignatureGuarReqd;
bool? FaxAccepted;
String? FaxNumber;
String? MailingAddr;
String? MailingCity;
String? MailingState;
String? MailingZip;
bool? HasOutstandingLoans;
ContactRetirementIncome({this.ContactRetirementIncomeId,this.ContactId,this.AccountOwner,this.AccountType,this.Carrier,this.TotalValue,this.SurrValue,this.DateOfIssue,this.Fees,this.PolicyNum,this.Contrib,this.EmpNotes,this.TaxCode,this.SurrCharge,this.ThirdPrtyPprwrkOK,this.AddlFormsReqd,this.OriginalFormsReqd,this.SignatureGuarReqd,this.FaxAccepted,this.FaxNumber,this.MailingAddr,this.MailingCity,this.MailingState,this.MailingZip,this.HasOutstandingLoans});
ContactRetirementIncome.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactRetirementIncomeId = json['ContactRetirementIncomeId'];
ContactId = json['ContactId'];
AccountOwner = json['AccountOwner'];
AccountType = json['AccountType'];
Carrier = json['Carrier'];
TotalValue = JsonConverters.toDouble(json['TotalValue']);
SurrValue = JsonConverters.toDouble(json['SurrValue']);
DateOfIssue = JsonConverters.fromJson(json['DateOfIssue'],'DateTime',context!);
Fees = JsonConverters.toDouble(json['Fees']);
PolicyNum = json['PolicyNum'];
Contrib = JsonConverters.toDouble(json['Contrib']);
EmpNotes = json['EmpNotes'];
TaxCode = json['TaxCode'];
SurrCharge = JsonConverters.toDouble(json['SurrCharge']);
ThirdPrtyPprwrkOK = json['ThirdPrtyPprwrkOK'];
AddlFormsReqd = json['AddlFormsReqd'];
OriginalFormsReqd = json['OriginalFormsReqd'];
SignatureGuarReqd = json['SignatureGuarReqd'];
FaxAccepted = json['FaxAccepted'];
FaxNumber = json['FaxNumber'];
MailingAddr = json['MailingAddr'];
MailingCity = json['MailingCity'];
MailingState = json['MailingState'];
MailingZip = json['MailingZip'];
HasOutstandingLoans = json['HasOutstandingLoans'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactRetirementIncomeId': ContactRetirementIncomeId,
'ContactId': ContactId,
'AccountOwner': AccountOwner,
'AccountType': AccountType,
'Carrier': Carrier,
'TotalValue': TotalValue,
'SurrValue': SurrValue,
'DateOfIssue': JsonConverters.toJson(DateOfIssue,'DateTime',context!),
'Fees': Fees,
'PolicyNum': PolicyNum,
'Contrib': Contrib,
'EmpNotes': EmpNotes,
'TaxCode': TaxCode,
'SurrCharge': SurrCharge,
'ThirdPrtyPprwrkOK': ThirdPrtyPprwrkOK,
'AddlFormsReqd': AddlFormsReqd,
'OriginalFormsReqd': OriginalFormsReqd,
'SignatureGuarReqd': SignatureGuarReqd,
'FaxAccepted': FaxAccepted,
'FaxNumber': FaxNumber,
'MailingAddr': MailingAddr,
'MailingCity': MailingCity,
'MailingState': MailingState,
'MailingZip': MailingZip,
'HasOutstandingLoans': HasOutstandingLoans
};
getTypeName() => "ContactRetirementIncome";
TypeContext? context = _ctx;
}
class ContactExpense implements IConvertible
{
int? ContactExpenseId;
int? ContactId;
String? ExpenseType;
String? Description;
double? Balance;
double? InterestRate;
double? MinimumPayment;
double? MonthlyPayment;
ContactExpense({this.ContactExpenseId,this.ContactId,this.ExpenseType,this.Description,this.Balance,this.InterestRate,this.MinimumPayment,this.MonthlyPayment});
ContactExpense.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactExpenseId = json['ContactExpenseId'];
ContactId = json['ContactId'];
ExpenseType = json['ExpenseType'];
Description = json['Description'];
Balance = JsonConverters.toDouble(json['Balance']);
InterestRate = JsonConverters.toDouble(json['InterestRate']);
MinimumPayment = JsonConverters.toDouble(json['MinimumPayment']);
MonthlyPayment = JsonConverters.toDouble(json['MonthlyPayment']);
return this;
}
Map<String, dynamic> toJson() => {
'ContactExpenseId': ContactExpenseId,
'ContactId': ContactId,
'ExpenseType': ExpenseType,
'Description': Description,
'Balance': Balance,
'InterestRate': InterestRate,
'MinimumPayment': MinimumPayment,
'MonthlyPayment': MonthlyPayment
};
getTypeName() => "ContactExpense";
TypeContext? context = _ctx;
}
class ContactClientReferral implements IConvertible
{
int? ContactClientReferralId;
int? ContactId;
String? Name;
String? Campus;
String? Room;
String? Phone;
ContactClientReferral({this.ContactClientReferralId,this.ContactId,this.Name,this.Campus,this.Room,this.Phone});
ContactClientReferral.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactClientReferralId = json['ContactClientReferralId'];
ContactId = json['ContactId'];
Name = json['Name'];
Campus = json['Campus'];
Room = json['Room'];
Phone = json['Phone'];
return this;
}
Map<String, dynamic> toJson() => {
'ContactClientReferralId': ContactClientReferralId,
'ContactId': ContactId,
'Name': Name,
'Campus': Campus,
'Room': Room,
'Phone': Phone
};
getTypeName() => "ContactClientReferral";
TypeContext? context = _ctx;
}
class ContactLTAInfo implements IConvertible
{
int? ContactLTAInfoId;
int? ContactId;
String? PlanType;
String? Company;
double? Contribution;
double? Balance;
ContactLTAInfo({this.ContactLTAInfoId,this.ContactId,this.PlanType,this.Company,this.Contribution,this.Balance});
ContactLTAInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactLTAInfoId = json['ContactLTAInfoId'];
ContactId = json['ContactId'];
PlanType = json['PlanType'];
Company = json['Company'];
Contribution = JsonConverters.toDouble(json['Contribution']);
Balance = JsonConverters.toDouble(json['Balance']);
return this;
}
Map<String, dynamic> toJson() => {
'ContactLTAInfoId': ContactLTAInfoId,
'ContactId': ContactId,
'PlanType': PlanType,
'Company': Company,
'Contribution': Contribution,
'Balance': Balance
};
getTypeName() => "ContactLTAInfo";
TypeContext? context = _ctx;
}
class ContactPension implements IConvertible
{
int? ContactPensionId;
int? ContactId;
String? PensionSystem;
DateTime? PensionStartDate;
double? ServiceCredit;
DateTime? ServiceCreditAsOfDate;
DateTime? DesiredRetirementDate;
int? DesiredRetirementAge;
bool? SpousalBenefitDesired;
double? FormulaPercent;
double? FormulaAt;
double? DefinedBenefitBalance;
double? DefinedBenefitSpouseBalance;
ContactPension({this.ContactPensionId,this.ContactId,this.PensionSystem,this.PensionStartDate,this.ServiceCredit,this.ServiceCreditAsOfDate,this.DesiredRetirementDate,this.DesiredRetirementAge,this.SpousalBenefitDesired,this.FormulaPercent,this.FormulaAt,this.DefinedBenefitBalance,this.DefinedBenefitSpouseBalance});
ContactPension.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ContactPensionId = json['ContactPensionId'];
ContactId = json['ContactId'];
PensionSystem = json['PensionSystem'];
PensionStartDate = JsonConverters.fromJson(json['PensionStartDate'],'DateTime',context!);
ServiceCredit = JsonConverters.toDouble(json['ServiceCredit']);
ServiceCreditAsOfDate = JsonConverters.fromJson(json['ServiceCreditAsOfDate'],'DateTime',context!);
DesiredRetirementDate = JsonConverters.fromJson(json['DesiredRetirementDate'],'DateTime',context!);
DesiredRetirementAge = json['DesiredRetirementAge'];
SpousalBenefitDesired = json['SpousalBenefitDesired'];
FormulaPercent = JsonConverters.toDouble(json['FormulaPercent']);
FormulaAt = JsonConverters.toDouble(json['FormulaAt']);
DefinedBenefitBalance = JsonConverters.toDouble(json['DefinedBenefitBalance']);
DefinedBenefitSpouseBalance = JsonConverters.toDouble(json['DefinedBenefitSpouseBalance']);
return this;
}
Map<String, dynamic> toJson() => {
'ContactPensionId': ContactPensionId,
'ContactId': ContactId,
'PensionSystem': PensionSystem,
'PensionStartDate': JsonConverters.toJson(PensionStartDate,'DateTime',context!),
'ServiceCredit': ServiceCredit,
'ServiceCreditAsOfDate': JsonConverters.toJson(ServiceCreditAsOfDate,'DateTime',context!),
'DesiredRetirementDate': JsonConverters.toJson(DesiredRetirementDate,'DateTime',context!),
'DesiredRetirementAge': DesiredRetirementAge,
'SpousalBenefitDesired': SpousalBenefitDesired,
'FormulaPercent': FormulaPercent,
'FormulaAt': FormulaAt,
'DefinedBenefitBalance': DefinedBenefitBalance,
'DefinedBenefitSpouseBalance': DefinedBenefitSpouseBalance
};
getTypeName() => "ContactPension";
TypeContext? context = _ctx;
}
class FactFinderSheetExtended implements IConvertible
{
Contact? Contact;
FactFinderSheet? FactFinderSheet;
ContactSpouse? Spouse;
List<ContactChild>? Children = [];
List<ContactRetirementIncome>? IncomeSources = [];
String? AdditionalNotes;
List<ContactExpense>? Expenses = [];
List<ContactClientReferral>? Referrals = [];
List<ContactLTAInfo>? LTAInfo = [];
List<ContactPension>? Pensions = [];
FactFinderSheetExtended({this.Contact,this.FactFinderSheet,this.Spouse,this.Children,this.IncomeSources,this.AdditionalNotes,this.Expenses,this.Referrals,this.LTAInfo,this.Pensions});
FactFinderSheetExtended.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Contact = JsonConverters.fromJson(json['Contact'],'Contact',context!);
FactFinderSheet = JsonConverters.fromJson(json['FactFinderSheet'],'FactFinderSheet',context!);
Spouse = JsonConverters.fromJson(json['Spouse'],'ContactSpouse',context!);
Children = JsonConverters.fromJson(json['Children'],'List<ContactChild>',context!);
IncomeSources = JsonConverters.fromJson(json['IncomeSources'],'List<ContactRetirementIncome>',context!);
AdditionalNotes = json['AdditionalNotes'];
Expenses = JsonConverters.fromJson(json['Expenses'],'List<ContactExpense>',context!);
Referrals = JsonConverters.fromJson(json['Referrals'],'List<ContactClientReferral>',context!);
LTAInfo = JsonConverters.fromJson(json['LTAInfo'],'List<ContactLTAInfo>',context!);
Pensions = JsonConverters.fromJson(json['Pensions'],'List<ContactPension>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Contact': JsonConverters.toJson(Contact,'Contact',context!),
'FactFinderSheet': JsonConverters.toJson(FactFinderSheet,'FactFinderSheet',context!),
'Spouse': JsonConverters.toJson(Spouse,'ContactSpouse',context!),
'Children': JsonConverters.toJson(Children,'List<ContactChild>',context!),
'IncomeSources': JsonConverters.toJson(IncomeSources,'List<ContactRetirementIncome>',context!),
'AdditionalNotes': AdditionalNotes,
'Expenses': JsonConverters.toJson(Expenses,'List<ContactExpense>',context!),
'Referrals': JsonConverters.toJson(Referrals,'List<ContactClientReferral>',context!),
'LTAInfo': JsonConverters.toJson(LTAInfo,'List<ContactLTAInfo>',context!),
'Pensions': JsonConverters.toJson(Pensions,'List<ContactPension>',context!)
};
getTypeName() => "FactFinderSheetExtended";
TypeContext? context = _ctx;
}
class FactFinderRequest implements IConvertible
{
FactFinderSheetExtended? FactFinderSheet;
bool? DataEntry;
FactFinderRequest({this.FactFinderSheet,this.DataEntry});
FactFinderRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
FactFinderSheet = JsonConverters.fromJson(json['FactFinderSheet'],'FactFinderSheetExtended',context!);
DataEntry = json['DataEntry'];
return this;
}
Map<String, dynamic> toJson() => {
'FactFinderSheet': JsonConverters.toJson(FactFinderSheet,'FactFinderSheetExtended',context!),
'DataEntry': DataEntry
};
getTypeName() => "FactFinderRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'Contact': TypeInfo(TypeOf.Class, create:() => Contact()),
'FactFinderSheet': TypeInfo(TypeOf.Class, create:() => FactFinderSheet()),
'ContactSpouse': TypeInfo(TypeOf.Class, create:() => ContactSpouse()),
'ContactChild': TypeInfo(TypeOf.Class, create:() => ContactChild()),
'ContactRetirementIncome': TypeInfo(TypeOf.Class, create:() => ContactRetirementIncome()),
'ContactExpense': TypeInfo(TypeOf.Class, create:() => ContactExpense()),
'ContactClientReferral': TypeInfo(TypeOf.Class, create:() => ContactClientReferral()),
'ContactLTAInfo': TypeInfo(TypeOf.Class, create:() => ContactLTAInfo()),
'ContactPension': TypeInfo(TypeOf.Class, create:() => ContactPension()),
'FactFinderSheetExtended': TypeInfo(TypeOf.Class, create:() => FactFinderSheetExtended()),
'List<ContactChild>': TypeInfo(TypeOf.Class, create:() => <ContactChild>[]),
'List<ContactRetirementIncome>': TypeInfo(TypeOf.Class, create:() => <ContactRetirementIncome>[]),
'List<ContactExpense>': TypeInfo(TypeOf.Class, create:() => <ContactExpense>[]),
'List<ContactClientReferral>': TypeInfo(TypeOf.Class, create:() => <ContactClientReferral>[]),
'List<ContactLTAInfo>': TypeInfo(TypeOf.Class, create:() => <ContactLTAInfo>[]),
'List<ContactPension>': TypeInfo(TypeOf.Class, create:() => <ContactPension>[]),
'FactFinderRequest': TypeInfo(TypeOf.Class, create:() => FactFinderRequest()),
});
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
}