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 '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()),
});

Dart FactFinderRequest DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<FactFinderRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <DataEntry>false</DataEntry>
  <FactFinderSheet>
    <AdditionalNotes>String</AdditionalNotes>
    <Children>
      <ContactChild>
        <Balance>0</Balance>
        <ContactChildId>0</ContactChildId>
        <ContactId>0</ContactId>
        <Contribution>0</Contribution>
        <DOB>0001-01-01T00:00:00</DOB>
        <Fund>String</Fund>
        <Name>String</Name>
      </ContactChild>
    </Children>
    <Contact>
      <Active>false</Active>
      <AdditionalInformation>String</AdditionalInformation>
      <AgentId>0</AgentId>
      <AltPhoneLabel>String</AltPhoneLabel>
      <BusinessName>String</BusinessName>
      <Carriers>String</Carriers>
      <CompanyAffiliation>String</CompanyAffiliation>
      <ContactCategory>0</ContactCategory>
      <ContactCategoryName>String</ContactCategoryName>
      <ContactGUID>00000000-0000-0000-0000-000000000000</ContactGUID>
      <ContactId>0</ContactId>
      <ContactImage>String</ContactImage>
      <ContactStatusDesc>String</ContactStatusDesc>
      <ContactStatusId>0</ContactStatusId>
      <ContactType>0</ContactType>
      <County>String</County>
      <CountyID>0</CountyID>
      <DBA>String</DBA>
      <DateCreated>0001-01-01T00:00:00</DateCreated>
      <DateOfBirth>0001-01-01T00:00:00</DateOfBirth>
      <Deleted>false</Deleted>
      <DeletedBy>String</DeletedBy>
      <DeletedDateTimeUtc>0001-01-01T00:00:00</DeletedDateTimeUtc>
      <Department>String</Department>
      <District>String</District>
      <DistrictID>0</DistrictID>
      <DoNotContact>false</DoNotContact>
      <EmailPersonal>String</EmailPersonal>
      <EmailWork>String</EmailWork>
      <FactFinderCodeId>0</FactFinderCodeId>
      <FirstName>String</FirstName>
      <Flow>String</Flow>
      <HasFactFinderSheet>false</HasFactFinderSheet>
      <HasGiftCard>false</HasGiftCard>
      <HasNBC>false</HasNBC>
      <Initials>String</Initials>
      <IsShared>false</IsShared>
      <JobCount>0</JobCount>
      <JobID>0</JobID>
      <JobName>String</JobName>
      <LastContact>0001-01-01T00:00:00</LastContact>
      <LastName>String</LastName>
      <Locked>false</Locked>
      <LockedByAgentId>0</LockedByAgentId>
      <LockedTimestamp>0001-01-01T00:00:00</LockedTimestamp>
      <MaritalStatus>String</MaritalStatus>
      <MiddleInitial>String</MiddleInitial>
      <Name>String</Name>
      <NumberOfDebtAccounts>0</NumberOfDebtAccounts>
      <PeraContactId>0</PeraContactId>
      <Phone>String</Phone>
      <PhoneAlt>String</PhoneAlt>
      <PhoneLabel>String</PhoneLabel>
      <ProjectEndDate>0001-01-01T00:00:00</ProjectEndDate>
      <Rate>0</Rate>
      <Role>String</Role>
      <RoomNumber>String</RoomNumber>
      <SMSOptIn>false</SMSOptIn>
      <SSN>String</SSN>
      <School>String</School>
      <SchoolID>0</SchoolID>
      <SourceNote>String</SourceNote>
      <SourceTypeDesc>String</SourceTypeDesc>
      <SourceTypeId>0</SourceTypeId>
      <State>String</State>
      <StateID>0</StateID>
      <StateName>String</StateName>
      <Tags>String</Tags>
      <Title>String</Title>
      <TotalDebtAmount>0</TotalDebtAmount>
      <WritingAgentId>0</WritingAgentId>
      <WritingAgentName>String</WritingAgentName>
      <address_city>String</address_city>
      <address_line1>String</address_line1>
      <address_state>String</address_state>
      <address_zip>String</address_zip>
    </Contact>
    <Expenses>
      <ContactExpense>
        <Balance>0</Balance>
        <ContactExpenseId>0</ContactExpenseId>
        <ContactId>0</ContactId>
        <Description>String</Description>
        <ExpenseType>String</ExpenseType>
        <InterestRate>0</InterestRate>
        <MinimumPayment>0</MinimumPayment>
        <MonthlyPayment>0</MonthlyPayment>
      </ContactExpense>
    </Expenses>
    <FactFinderSheet>
      <ClientGrossMthlyIncome>0</ClientGrossMthlyIncome>
      <ClientNetMthlyIncome>0</ClientNetMthlyIncome>
      <ContactId>0</ContactId>
      <ContractBaseServPerYrDays>0</ContractBaseServPerYrDays>
      <ContractBaseServPerYrHours>0</ContractBaseServPerYrHours>
      <DaysPerWeek>0</DaysPerWeek>
      <DesiredRetirementIncome>0</DesiredRetirementIncome>
      <DiscretionaryIncome>0</DiscretionaryIncome>
      <EmergencyFundBalance>0</EmergencyFundBalance>
      <EmergencyFundComplete>false</EmergencyFundComplete>
      <EmergencyFundMthlyContrib>0</EmergencyFundMthlyContrib>
      <EmploymentYears>String</EmploymentYears>
      <EstimatedExpenses>0</EstimatedExpenses>
      <FactFinderSheetId>0</FactFinderSheetId>
      <HasDistributionPlan>false</HasDistributionPlan>
      <HasPriorEmploymentRetirementSavings>false</HasPriorEmploymentRetirementSavings>
      <HasRetirementSavings>false</HasRetirementSavings>
      <HoursPerWeek>0</HoursPerWeek>
      <HouseholdGrossMthlyIncome>0</HouseholdGrossMthlyIncome>
      <HouseholdNetMthlyIncome>0</HouseholdNetMthlyIncome>
      <MonthsPerYear>0</MonthsPerYear>
      <NumPreTaxChecksPerYr>0</NumPreTaxChecksPerYr>
      <PDIPremium>0</PDIPremium>
      <PLICarrier>String</PLICarrier>
      <PLICashValue>0</PLICashValue>
      <PLIFaceAmount>0</PLIFaceAmount>
      <PLIIssueDate>0001-01-01T00:00:00</PLIIssueDate>
      <PLIPremium>0</PLIPremium>
      <PLIType>String</PLIType>
      <PLITypeOf>String</PLITypeOf>
      <PLTCPremium>0</PLTCPremium>
      <PastOccupations>String</PastOccupations>
      <PrimaryDisabilityInsurance>false</PrimaryDisabilityInsurance>
      <PrimaryLTCInsurance>false</PrimaryLTCInsurance>
      <PrimaryLifeInsurance>false</PrimaryLifeInsurance>
      <RetirementGoals>String</RetirementGoals>
      <SDIPremium>0</SDIPremium>
      <SLICarrier>String</SLICarrier>
      <SLICashValue>0</SLICashValue>
      <SLIFaceAmount>0</SLIFaceAmount>
      <SLIIssueDate>0001-01-01T00:00:00</SLIIssueDate>
      <SLIPremium>0</SLIPremium>
      <SLIType>String</SLIType>
      <SLITypeOf>String</SLITypeOf>
      <SLTCPremium>0</SLTCPremium>
      <SpouseDisabilityInsurance>false</SpouseDisabilityInsurance>
      <SpouseLTCInsurance>false</SpouseLTCInsurance>
      <SpouseLifeInsurance>false</SpouseLifeInsurance>
      <UnusedSickDays>0</UnusedSickDays>
      <UnusedSickHours>0</UnusedSickHours>
      <WorkStatus>String</WorkStatus>
      <YearsWithOtherDistricts>0</YearsWithOtherDistricts>
    </FactFinderSheet>
    <IncomeSources>
      <ContactRetirementIncome>
        <AccountOwner>String</AccountOwner>
        <AccountType>String</AccountType>
        <AddlFormsReqd>false</AddlFormsReqd>
        <Carrier>String</Carrier>
        <ContactId>0</ContactId>
        <ContactRetirementIncomeId>0</ContactRetirementIncomeId>
        <Contrib>0</Contrib>
        <DateOfIssue>0001-01-01T00:00:00</DateOfIssue>
        <EmpNotes>String</EmpNotes>
        <FaxAccepted>false</FaxAccepted>
        <FaxNumber>String</FaxNumber>
        <Fees>0</Fees>
        <HasOutstandingLoans>false</HasOutstandingLoans>
        <MailingAddr>String</MailingAddr>
        <MailingCity>String</MailingCity>
        <MailingState>String</MailingState>
        <MailingZip>String</MailingZip>
        <OriginalFormsReqd>false</OriginalFormsReqd>
        <PolicyNum>String</PolicyNum>
        <SignatureGuarReqd>false</SignatureGuarReqd>
        <SurrCharge>0</SurrCharge>
        <SurrValue>0</SurrValue>
        <TaxCode>String</TaxCode>
        <ThirdPrtyPprwrkOK>false</ThirdPrtyPprwrkOK>
        <TotalValue>0</TotalValue>
      </ContactRetirementIncome>
    </IncomeSources>
    <LTAInfo>
      <ContactLTAInfo>
        <Balance>0</Balance>
        <Company>String</Company>
        <ContactId>0</ContactId>
        <ContactLTAInfoId>0</ContactLTAInfoId>
        <Contribution>0</Contribution>
        <PlanType>String</PlanType>
      </ContactLTAInfo>
    </LTAInfo>
    <Pensions>
      <ContactPension>
        <ContactId>0</ContactId>
        <ContactPensionId>0</ContactPensionId>
        <DefinedBenefitBalance>0</DefinedBenefitBalance>
        <DefinedBenefitSpouseBalance>0</DefinedBenefitSpouseBalance>
        <DesiredRetirementAge>0</DesiredRetirementAge>
        <DesiredRetirementDate>0001-01-01T00:00:00</DesiredRetirementDate>
        <FormulaAt>0</FormulaAt>
        <FormulaPercent>0</FormulaPercent>
        <PensionStartDate>0001-01-01T00:00:00</PensionStartDate>
        <PensionSystem>String</PensionSystem>
        <ServiceCredit>0</ServiceCredit>
        <ServiceCreditAsOfDate>0001-01-01T00:00:00</ServiceCreditAsOfDate>
        <SpousalBenefitDesired>false</SpousalBenefitDesired>
      </ContactPension>
    </Pensions>
    <Referrals>
      <ContactClientReferral>
        <Campus>String</Campus>
        <ContactClientReferralId>0</ContactClientReferralId>
        <ContactId>0</ContactId>
        <Name>String</Name>
        <Phone>String</Phone>
        <Room>String</Room>
      </ContactClientReferral>
    </Referrals>
    <Spouse>
      <Cell>String</Cell>
      <ContactId>0</ContactId>
      <ContactSpouseId>0</ContactSpouseId>
      <DOB>0001-01-01T00:00:00</DOB>
      <Email>String</Email>
      <Employer>String</Employer>
      <Name>String</Name>
      <PastOccupations>String</PastOccupations>
      <Position>String</Position>
      <Years>0</Years>
    </Spouse>
  </FactFinderSheet>
</FactFinderRequest>