Trendsic Platform Service

<back to all web services

FactFinderDebtRequest

Requires Authentication
Requires any of the roles:Agent, Administrator, Agent, Administrator
The following routes are available for this service:
POST,PUT,OPTIONS/v1/FactFinderDebt
GET/v1/FactFinderDebt/{ContactId}/Validate
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class Contact implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $ContactId=0,
        /** @var int */
        public int $ContactType=0,
        /** @var string|null */
        public ?string $FirstName=null,
        /** @var string|null */
        public ?string $LastName=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Role=null,
        /** @var string|null */
        public ?string $Title=null,
        /** @var string|null */
        public ?string $EmailWork=null,
        /** @var string|null */
        public ?string $EmailPersonal=null,
        /** @var string|null */
        public ?string $District=null,
        /** @var int */
        public int $DistrictID=0,
        /** @var string|null */
        public ?string $School=null,
        /** @var int */
        public int $SchoolID=0,
        /** @var string|null */
        public ?string $State=null,
        /** @var string|null */
        public ?string $StateName=null,
        /** @var int */
        public int $StateID=0,
        /** @var int */
        public int $CountyID=0,
        /** @var string|null */
        public ?string $County=null,
        /** @var string|null */
        public ?string $Phone=null,
        /** @var string|null */
        public ?string $Department=null,
        /** @var string|null */
        public ?string $Flow=null,
        /** @var DateTime */
        public DateTime $LastContact=new DateTime(),
        /** @var bool|null */
        public ?bool $DoNotContact=null,
        /** @var bool|null */
        public ?bool $Active=null,
        /** @var int */
        public int $AgentId=0,
        /** @var string|null */
        public ?string $PhoneAlt=null,
        /** @var int */
        public int $PeraContactId=0,
        /** @var string|null */
        public ?string $RoomNumber=null,
        /** @var int */
        public int $SourceTypeId=0,
        /** @var string|null */
        public ?string $SourceTypeDesc=null,
        /** @var string|null */
        public ?string $SourceNote=null,
        /** @var int */
        public int $ContactStatusId=0,
        /** @var string|null */
        public ?string $ContactStatusDesc=null,
        /** @var string|null */
        public ?string $SSN=null,
        /** @var DateTime */
        public DateTime $DateOfBirth=new DateTime(),
        /** @var bool|null */
        public ?bool $Deleted=null,
        /** @var bool|null */
        public ?bool $IsShared=null,
        /** @var string|null */
        public ?string $address_line1=null,
        /** @var string|null */
        public ?string $address_city=null,
        /** @var string|null */
        public ?string $address_state=null,
        /** @var string|null */
        public ?string $address_zip=null,
        /** @var string|null */
        public ?string $DeletedBy=null,
        /** @var DateTime|null */
        public ?DateTime $DeletedDateTimeUtc=null,
        /** @var bool|null */
        public ?bool $HasNBC=null,
        /** @var bool|null */
        public ?bool $HasFactFinderSheet=null,
        /** @var string|null */
        public ?string $MiddleInitial=null,
        /** @var string|null */
        public ?string $Tags=null,
        /** @var DateTime */
        public DateTime $DateCreated=new DateTime(),
        /** @var string|null */
        public ?string $PhoneLabel=null,
        /** @var string|null */
        public ?string $AltPhoneLabel=null,
        /** @var string|null */
        public ?string $Carriers=null,
        /** @var string|null */
        public ?string $ContactImage=null,
        /** @var string|null */
        public ?string $CompanyAffiliation=null,
        /** @var string|null */
        public ?string $AdditionalInformation=null,
        /** @var bool|null */
        public ?bool $HasGiftCard=null,
        /** @var int */
        public int $ContactCategory=0,
        /** @var int */
        public int $WritingAgentId=0,
        /** @var string|null */
        public ?string $WritingAgentName=null,
        /** @var string|null */
        public ?string $MaritalStatus=null,
        /** @var float */
        public float $TotalDebtAmount=0.0,
        /** @var int */
        public int $NumberOfDebtAccounts=0,
        /** @var int */
        public int $FactFinderCodeId=0,
        /** @var string|null */
        public ?string $BusinessName=null,
        /** @var string|null */
        public ?string $DBA=null,
        /** @var string */
        public string $ContactGUID='',
        /** @var DateTime */
        public DateTime $ProjectEndDate=new DateTime(),
        /** @var int */
        public int $Rate=0,
        /** @var int */
        public int $JobID=0,
        /** @var string|null */
        public ?string $JobName=null,
        /** @var int */
        public int $JobCount=0,
        /** @var bool|null */
        public ?bool $Locked=null,
        /** @var int */
        public int $LockedByAgentId=0,
        /** @var DateTime */
        public DateTime $LockedTimestamp=new DateTime(),
        /** @var string|null */
        public ?string $Initials=null,
        /** @var string|null */
        public ?string $ContactCategoryName=null,
        /** @var bool|null */
        public ?bool $SMSOptIn=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['ContactType'])) $this->ContactType = $o['ContactType'];
        if (isset($o['FirstName'])) $this->FirstName = $o['FirstName'];
        if (isset($o['LastName'])) $this->LastName = $o['LastName'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Role'])) $this->Role = $o['Role'];
        if (isset($o['Title'])) $this->Title = $o['Title'];
        if (isset($o['EmailWork'])) $this->EmailWork = $o['EmailWork'];
        if (isset($o['EmailPersonal'])) $this->EmailPersonal = $o['EmailPersonal'];
        if (isset($o['District'])) $this->District = $o['District'];
        if (isset($o['DistrictID'])) $this->DistrictID = $o['DistrictID'];
        if (isset($o['School'])) $this->School = $o['School'];
        if (isset($o['SchoolID'])) $this->SchoolID = $o['SchoolID'];
        if (isset($o['State'])) $this->State = $o['State'];
        if (isset($o['StateName'])) $this->StateName = $o['StateName'];
        if (isset($o['StateID'])) $this->StateID = $o['StateID'];
        if (isset($o['CountyID'])) $this->CountyID = $o['CountyID'];
        if (isset($o['County'])) $this->County = $o['County'];
        if (isset($o['Phone'])) $this->Phone = $o['Phone'];
        if (isset($o['Department'])) $this->Department = $o['Department'];
        if (isset($o['Flow'])) $this->Flow = $o['Flow'];
        if (isset($o['LastContact'])) $this->LastContact = JsonConverters::from('DateTime', $o['LastContact']);
        if (isset($o['DoNotContact'])) $this->DoNotContact = $o['DoNotContact'];
        if (isset($o['Active'])) $this->Active = $o['Active'];
        if (isset($o['AgentId'])) $this->AgentId = $o['AgentId'];
        if (isset($o['PhoneAlt'])) $this->PhoneAlt = $o['PhoneAlt'];
        if (isset($o['PeraContactId'])) $this->PeraContactId = $o['PeraContactId'];
        if (isset($o['RoomNumber'])) $this->RoomNumber = $o['RoomNumber'];
        if (isset($o['SourceTypeId'])) $this->SourceTypeId = $o['SourceTypeId'];
        if (isset($o['SourceTypeDesc'])) $this->SourceTypeDesc = $o['SourceTypeDesc'];
        if (isset($o['SourceNote'])) $this->SourceNote = $o['SourceNote'];
        if (isset($o['ContactStatusId'])) $this->ContactStatusId = $o['ContactStatusId'];
        if (isset($o['ContactStatusDesc'])) $this->ContactStatusDesc = $o['ContactStatusDesc'];
        if (isset($o['SSN'])) $this->SSN = $o['SSN'];
        if (isset($o['DateOfBirth'])) $this->DateOfBirth = JsonConverters::from('DateTime', $o['DateOfBirth']);
        if (isset($o['Deleted'])) $this->Deleted = $o['Deleted'];
        if (isset($o['IsShared'])) $this->IsShared = $o['IsShared'];
        if (isset($o['address_line1'])) $this->address_line1 = $o['address_line1'];
        if (isset($o['address_city'])) $this->address_city = $o['address_city'];
        if (isset($o['address_state'])) $this->address_state = $o['address_state'];
        if (isset($o['address_zip'])) $this->address_zip = $o['address_zip'];
        if (isset($o['DeletedBy'])) $this->DeletedBy = $o['DeletedBy'];
        if (isset($o['DeletedDateTimeUtc'])) $this->DeletedDateTimeUtc = JsonConverters::from('DateTime', $o['DeletedDateTimeUtc']);
        if (isset($o['HasNBC'])) $this->HasNBC = $o['HasNBC'];
        if (isset($o['HasFactFinderSheet'])) $this->HasFactFinderSheet = $o['HasFactFinderSheet'];
        if (isset($o['MiddleInitial'])) $this->MiddleInitial = $o['MiddleInitial'];
        if (isset($o['Tags'])) $this->Tags = $o['Tags'];
        if (isset($o['DateCreated'])) $this->DateCreated = JsonConverters::from('DateTime', $o['DateCreated']);
        if (isset($o['PhoneLabel'])) $this->PhoneLabel = $o['PhoneLabel'];
        if (isset($o['AltPhoneLabel'])) $this->AltPhoneLabel = $o['AltPhoneLabel'];
        if (isset($o['Carriers'])) $this->Carriers = $o['Carriers'];
        if (isset($o['ContactImage'])) $this->ContactImage = $o['ContactImage'];
        if (isset($o['CompanyAffiliation'])) $this->CompanyAffiliation = $o['CompanyAffiliation'];
        if (isset($o['AdditionalInformation'])) $this->AdditionalInformation = $o['AdditionalInformation'];
        if (isset($o['HasGiftCard'])) $this->HasGiftCard = $o['HasGiftCard'];
        if (isset($o['ContactCategory'])) $this->ContactCategory = $o['ContactCategory'];
        if (isset($o['WritingAgentId'])) $this->WritingAgentId = $o['WritingAgentId'];
        if (isset($o['WritingAgentName'])) $this->WritingAgentName = $o['WritingAgentName'];
        if (isset($o['MaritalStatus'])) $this->MaritalStatus = $o['MaritalStatus'];
        if (isset($o['TotalDebtAmount'])) $this->TotalDebtAmount = $o['TotalDebtAmount'];
        if (isset($o['NumberOfDebtAccounts'])) $this->NumberOfDebtAccounts = $o['NumberOfDebtAccounts'];
        if (isset($o['FactFinderCodeId'])) $this->FactFinderCodeId = $o['FactFinderCodeId'];
        if (isset($o['BusinessName'])) $this->BusinessName = $o['BusinessName'];
        if (isset($o['DBA'])) $this->DBA = $o['DBA'];
        if (isset($o['ContactGUID'])) $this->ContactGUID = $o['ContactGUID'];
        if (isset($o['ProjectEndDate'])) $this->ProjectEndDate = JsonConverters::from('DateTime', $o['ProjectEndDate']);
        if (isset($o['Rate'])) $this->Rate = $o['Rate'];
        if (isset($o['JobID'])) $this->JobID = $o['JobID'];
        if (isset($o['JobName'])) $this->JobName = $o['JobName'];
        if (isset($o['JobCount'])) $this->JobCount = $o['JobCount'];
        if (isset($o['Locked'])) $this->Locked = $o['Locked'];
        if (isset($o['LockedByAgentId'])) $this->LockedByAgentId = $o['LockedByAgentId'];
        if (isset($o['LockedTimestamp'])) $this->LockedTimestamp = JsonConverters::from('DateTime', $o['LockedTimestamp']);
        if (isset($o['Initials'])) $this->Initials = $o['Initials'];
        if (isset($o['ContactCategoryName'])) $this->ContactCategoryName = $o['ContactCategoryName'];
        if (isset($o['SMSOptIn'])) $this->SMSOptIn = $o['SMSOptIn'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->ContactType)) $o['ContactType'] = $this->ContactType;
        if (isset($this->FirstName)) $o['FirstName'] = $this->FirstName;
        if (isset($this->LastName)) $o['LastName'] = $this->LastName;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Role)) $o['Role'] = $this->Role;
        if (isset($this->Title)) $o['Title'] = $this->Title;
        if (isset($this->EmailWork)) $o['EmailWork'] = $this->EmailWork;
        if (isset($this->EmailPersonal)) $o['EmailPersonal'] = $this->EmailPersonal;
        if (isset($this->District)) $o['District'] = $this->District;
        if (isset($this->DistrictID)) $o['DistrictID'] = $this->DistrictID;
        if (isset($this->School)) $o['School'] = $this->School;
        if (isset($this->SchoolID)) $o['SchoolID'] = $this->SchoolID;
        if (isset($this->State)) $o['State'] = $this->State;
        if (isset($this->StateName)) $o['StateName'] = $this->StateName;
        if (isset($this->StateID)) $o['StateID'] = $this->StateID;
        if (isset($this->CountyID)) $o['CountyID'] = $this->CountyID;
        if (isset($this->County)) $o['County'] = $this->County;
        if (isset($this->Phone)) $o['Phone'] = $this->Phone;
        if (isset($this->Department)) $o['Department'] = $this->Department;
        if (isset($this->Flow)) $o['Flow'] = $this->Flow;
        if (isset($this->LastContact)) $o['LastContact'] = JsonConverters::to('DateTime', $this->LastContact);
        if (isset($this->DoNotContact)) $o['DoNotContact'] = $this->DoNotContact;
        if (isset($this->Active)) $o['Active'] = $this->Active;
        if (isset($this->AgentId)) $o['AgentId'] = $this->AgentId;
        if (isset($this->PhoneAlt)) $o['PhoneAlt'] = $this->PhoneAlt;
        if (isset($this->PeraContactId)) $o['PeraContactId'] = $this->PeraContactId;
        if (isset($this->RoomNumber)) $o['RoomNumber'] = $this->RoomNumber;
        if (isset($this->SourceTypeId)) $o['SourceTypeId'] = $this->SourceTypeId;
        if (isset($this->SourceTypeDesc)) $o['SourceTypeDesc'] = $this->SourceTypeDesc;
        if (isset($this->SourceNote)) $o['SourceNote'] = $this->SourceNote;
        if (isset($this->ContactStatusId)) $o['ContactStatusId'] = $this->ContactStatusId;
        if (isset($this->ContactStatusDesc)) $o['ContactStatusDesc'] = $this->ContactStatusDesc;
        if (isset($this->SSN)) $o['SSN'] = $this->SSN;
        if (isset($this->DateOfBirth)) $o['DateOfBirth'] = JsonConverters::to('DateTime', $this->DateOfBirth);
        if (isset($this->Deleted)) $o['Deleted'] = $this->Deleted;
        if (isset($this->IsShared)) $o['IsShared'] = $this->IsShared;
        if (isset($this->address_line1)) $o['address_line1'] = $this->address_line1;
        if (isset($this->address_city)) $o['address_city'] = $this->address_city;
        if (isset($this->address_state)) $o['address_state'] = $this->address_state;
        if (isset($this->address_zip)) $o['address_zip'] = $this->address_zip;
        if (isset($this->DeletedBy)) $o['DeletedBy'] = $this->DeletedBy;
        if (isset($this->DeletedDateTimeUtc)) $o['DeletedDateTimeUtc'] = JsonConverters::to('DateTime', $this->DeletedDateTimeUtc);
        if (isset($this->HasNBC)) $o['HasNBC'] = $this->HasNBC;
        if (isset($this->HasFactFinderSheet)) $o['HasFactFinderSheet'] = $this->HasFactFinderSheet;
        if (isset($this->MiddleInitial)) $o['MiddleInitial'] = $this->MiddleInitial;
        if (isset($this->Tags)) $o['Tags'] = $this->Tags;
        if (isset($this->DateCreated)) $o['DateCreated'] = JsonConverters::to('DateTime', $this->DateCreated);
        if (isset($this->PhoneLabel)) $o['PhoneLabel'] = $this->PhoneLabel;
        if (isset($this->AltPhoneLabel)) $o['AltPhoneLabel'] = $this->AltPhoneLabel;
        if (isset($this->Carriers)) $o['Carriers'] = $this->Carriers;
        if (isset($this->ContactImage)) $o['ContactImage'] = $this->ContactImage;
        if (isset($this->CompanyAffiliation)) $o['CompanyAffiliation'] = $this->CompanyAffiliation;
        if (isset($this->AdditionalInformation)) $o['AdditionalInformation'] = $this->AdditionalInformation;
        if (isset($this->HasGiftCard)) $o['HasGiftCard'] = $this->HasGiftCard;
        if (isset($this->ContactCategory)) $o['ContactCategory'] = $this->ContactCategory;
        if (isset($this->WritingAgentId)) $o['WritingAgentId'] = $this->WritingAgentId;
        if (isset($this->WritingAgentName)) $o['WritingAgentName'] = $this->WritingAgentName;
        if (isset($this->MaritalStatus)) $o['MaritalStatus'] = $this->MaritalStatus;
        if (isset($this->TotalDebtAmount)) $o['TotalDebtAmount'] = $this->TotalDebtAmount;
        if (isset($this->NumberOfDebtAccounts)) $o['NumberOfDebtAccounts'] = $this->NumberOfDebtAccounts;
        if (isset($this->FactFinderCodeId)) $o['FactFinderCodeId'] = $this->FactFinderCodeId;
        if (isset($this->BusinessName)) $o['BusinessName'] = $this->BusinessName;
        if (isset($this->DBA)) $o['DBA'] = $this->DBA;
        if (isset($this->ContactGUID)) $o['ContactGUID'] = $this->ContactGUID;
        if (isset($this->ProjectEndDate)) $o['ProjectEndDate'] = JsonConverters::to('DateTime', $this->ProjectEndDate);
        if (isset($this->Rate)) $o['Rate'] = $this->Rate;
        if (isset($this->JobID)) $o['JobID'] = $this->JobID;
        if (isset($this->JobName)) $o['JobName'] = $this->JobName;
        if (isset($this->JobCount)) $o['JobCount'] = $this->JobCount;
        if (isset($this->Locked)) $o['Locked'] = $this->Locked;
        if (isset($this->LockedByAgentId)) $o['LockedByAgentId'] = $this->LockedByAgentId;
        if (isset($this->LockedTimestamp)) $o['LockedTimestamp'] = JsonConverters::to('DateTime', $this->LockedTimestamp);
        if (isset($this->Initials)) $o['Initials'] = $this->Initials;
        if (isset($this->ContactCategoryName)) $o['ContactCategoryName'] = $this->ContactCategoryName;
        if (isset($this->SMSOptIn)) $o['SMSOptIn'] = $this->SMSOptIn;
        return empty($o) ? new class(){} : $o;
    }
}

class FactFinderDebt implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $FactFinderDebtId=0,
        /** @var int */
        public int $ContactId=0,
        /** @var bool|null */
        public ?bool $OwnHome=null,
        /** @var float|null */
        public ?float $HomeValue=null,
        /** @var bool|null */
        public ?bool $OtherProperty=null,
        /** @var float|null */
        public ?float $OtherPropertyValue=null,
        /** @var bool|null */
        public ?bool $FirstCar=null,
        /** @var float|null */
        public ?float $FirstCarValue=null,
        /** @var bool|null */
        public ?bool $SecondCar=null,
        /** @var float|null */
        public ?float $SecondCarValue=null,
        /** @var bool|null */
        public ?bool $BoatRv=null,
        /** @var float|null */
        public ?float $BoatRvValue=null,
        /** @var bool|null */
        public ?bool $Stocks401kOther=null,
        /** @var float|null */
        public ?float $Stocks401kOtherValue=null,
        /** @var bool|null */
        public ?bool $HomeRentInsurance=null,
        /** @var float|null */
        public ?float $HomeRentInsuranceValue=null,
        /** @var bool|null */
        public ?bool $ChildAlimonySupport=null,
        /** @var float|null */
        public ?float $ChildAlimonySupportValue=null,
        /** @var bool|null */
        public ?bool $ChildcareRelated=null,
        /** @var float|null */
        public ?float $ChildcareRelatedValue=null,
        /** @var bool|null */
        public ?bool $LifeInsurance=null,
        /** @var float|null */
        public ?float $LifePolicyAmount=null,
        /** @var float|null */
        public ?float $LifeInsuranceMonthly=null,
        /** @var float|null */
        public ?float $MortgageRentExpense=null,
        /** @var float|null */
        public ?float $PropertyTaxExpense=null,
        /** @var float|null */
        public ?float $CarPaymentFirstExpense=null,
        /** @var float|null */
        public ?float $CarPaymentSecondExpense=null,
        /** @var float|null */
        public ?float $RVPaymentExpense=null,
        /** @var float|null */
        public ?float $SavingsPaymentExpense=null,
        /** @var float|null */
        public ?float $HomeInsuranceExpense=null,
        /** @var float|null */
        public ?float $GroceriesExpense=null,
        /** @var float|null */
        public ?float $EntertainmentExpense=null,
        /** @var float|null */
        public ?float $LifeInsuranceCostExpense=null,
        /** @var float|null */
        public ?float $GasElectricityExpense=null,
        /** @var float|null */
        public ?float $WaterTrashSewerExpense=null,
        /** @var float|null */
        public ?float $TelephoneCellExpense=null,
        /** @var float|null */
        public ?float $CableInternetExpense=null,
        /** @var float|null */
        public ?float $AutoExpenseGasExpense=null,
        /** @var float|null */
        public ?float $AutoInsuranceExpense=null,
        /** @var float|null */
        public ?float $MedicalExpense=null,
        /** @var float|null */
        public ?float $MiscellaneousExpense=null,
        /** @var float|null */
        public ?float $FamilyFriendLoansExpense=null,
        /** @var string|null */
        public ?string $WhatBank=null,
        /** @var bool|null */
        public ?bool $BankDebt=null,
        /** @var bool|null */
        public ?bool $CreditUnion=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['FactFinderDebtId'])) $this->FactFinderDebtId = $o['FactFinderDebtId'];
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['OwnHome'])) $this->OwnHome = $o['OwnHome'];
        if (isset($o['HomeValue'])) $this->HomeValue = $o['HomeValue'];
        if (isset($o['OtherProperty'])) $this->OtherProperty = $o['OtherProperty'];
        if (isset($o['OtherPropertyValue'])) $this->OtherPropertyValue = $o['OtherPropertyValue'];
        if (isset($o['FirstCar'])) $this->FirstCar = $o['FirstCar'];
        if (isset($o['FirstCarValue'])) $this->FirstCarValue = $o['FirstCarValue'];
        if (isset($o['SecondCar'])) $this->SecondCar = $o['SecondCar'];
        if (isset($o['SecondCarValue'])) $this->SecondCarValue = $o['SecondCarValue'];
        if (isset($o['BoatRv'])) $this->BoatRv = $o['BoatRv'];
        if (isset($o['BoatRvValue'])) $this->BoatRvValue = $o['BoatRvValue'];
        if (isset($o['Stocks401kOther'])) $this->Stocks401kOther = $o['Stocks401kOther'];
        if (isset($o['Stocks401kOtherValue'])) $this->Stocks401kOtherValue = $o['Stocks401kOtherValue'];
        if (isset($o['HomeRentInsurance'])) $this->HomeRentInsurance = $o['HomeRentInsurance'];
        if (isset($o['HomeRentInsuranceValue'])) $this->HomeRentInsuranceValue = $o['HomeRentInsuranceValue'];
        if (isset($o['ChildAlimonySupport'])) $this->ChildAlimonySupport = $o['ChildAlimonySupport'];
        if (isset($o['ChildAlimonySupportValue'])) $this->ChildAlimonySupportValue = $o['ChildAlimonySupportValue'];
        if (isset($o['ChildcareRelated'])) $this->ChildcareRelated = $o['ChildcareRelated'];
        if (isset($o['ChildcareRelatedValue'])) $this->ChildcareRelatedValue = $o['ChildcareRelatedValue'];
        if (isset($o['LifeInsurance'])) $this->LifeInsurance = $o['LifeInsurance'];
        if (isset($o['LifePolicyAmount'])) $this->LifePolicyAmount = $o['LifePolicyAmount'];
        if (isset($o['LifeInsuranceMonthly'])) $this->LifeInsuranceMonthly = $o['LifeInsuranceMonthly'];
        if (isset($o['MortgageRentExpense'])) $this->MortgageRentExpense = $o['MortgageRentExpense'];
        if (isset($o['PropertyTaxExpense'])) $this->PropertyTaxExpense = $o['PropertyTaxExpense'];
        if (isset($o['CarPaymentFirstExpense'])) $this->CarPaymentFirstExpense = $o['CarPaymentFirstExpense'];
        if (isset($o['CarPaymentSecondExpense'])) $this->CarPaymentSecondExpense = $o['CarPaymentSecondExpense'];
        if (isset($o['RVPaymentExpense'])) $this->RVPaymentExpense = $o['RVPaymentExpense'];
        if (isset($o['SavingsPaymentExpense'])) $this->SavingsPaymentExpense = $o['SavingsPaymentExpense'];
        if (isset($o['HomeInsuranceExpense'])) $this->HomeInsuranceExpense = $o['HomeInsuranceExpense'];
        if (isset($o['GroceriesExpense'])) $this->GroceriesExpense = $o['GroceriesExpense'];
        if (isset($o['EntertainmentExpense'])) $this->EntertainmentExpense = $o['EntertainmentExpense'];
        if (isset($o['LifeInsuranceCostExpense'])) $this->LifeInsuranceCostExpense = $o['LifeInsuranceCostExpense'];
        if (isset($o['GasElectricityExpense'])) $this->GasElectricityExpense = $o['GasElectricityExpense'];
        if (isset($o['WaterTrashSewerExpense'])) $this->WaterTrashSewerExpense = $o['WaterTrashSewerExpense'];
        if (isset($o['TelephoneCellExpense'])) $this->TelephoneCellExpense = $o['TelephoneCellExpense'];
        if (isset($o['CableInternetExpense'])) $this->CableInternetExpense = $o['CableInternetExpense'];
        if (isset($o['AutoExpenseGasExpense'])) $this->AutoExpenseGasExpense = $o['AutoExpenseGasExpense'];
        if (isset($o['AutoInsuranceExpense'])) $this->AutoInsuranceExpense = $o['AutoInsuranceExpense'];
        if (isset($o['MedicalExpense'])) $this->MedicalExpense = $o['MedicalExpense'];
        if (isset($o['MiscellaneousExpense'])) $this->MiscellaneousExpense = $o['MiscellaneousExpense'];
        if (isset($o['FamilyFriendLoansExpense'])) $this->FamilyFriendLoansExpense = $o['FamilyFriendLoansExpense'];
        if (isset($o['WhatBank'])) $this->WhatBank = $o['WhatBank'];
        if (isset($o['BankDebt'])) $this->BankDebt = $o['BankDebt'];
        if (isset($o['CreditUnion'])) $this->CreditUnion = $o['CreditUnion'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->FactFinderDebtId)) $o['FactFinderDebtId'] = $this->FactFinderDebtId;
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->OwnHome)) $o['OwnHome'] = $this->OwnHome;
        if (isset($this->HomeValue)) $o['HomeValue'] = $this->HomeValue;
        if (isset($this->OtherProperty)) $o['OtherProperty'] = $this->OtherProperty;
        if (isset($this->OtherPropertyValue)) $o['OtherPropertyValue'] = $this->OtherPropertyValue;
        if (isset($this->FirstCar)) $o['FirstCar'] = $this->FirstCar;
        if (isset($this->FirstCarValue)) $o['FirstCarValue'] = $this->FirstCarValue;
        if (isset($this->SecondCar)) $o['SecondCar'] = $this->SecondCar;
        if (isset($this->SecondCarValue)) $o['SecondCarValue'] = $this->SecondCarValue;
        if (isset($this->BoatRv)) $o['BoatRv'] = $this->BoatRv;
        if (isset($this->BoatRvValue)) $o['BoatRvValue'] = $this->BoatRvValue;
        if (isset($this->Stocks401kOther)) $o['Stocks401kOther'] = $this->Stocks401kOther;
        if (isset($this->Stocks401kOtherValue)) $o['Stocks401kOtherValue'] = $this->Stocks401kOtherValue;
        if (isset($this->HomeRentInsurance)) $o['HomeRentInsurance'] = $this->HomeRentInsurance;
        if (isset($this->HomeRentInsuranceValue)) $o['HomeRentInsuranceValue'] = $this->HomeRentInsuranceValue;
        if (isset($this->ChildAlimonySupport)) $o['ChildAlimonySupport'] = $this->ChildAlimonySupport;
        if (isset($this->ChildAlimonySupportValue)) $o['ChildAlimonySupportValue'] = $this->ChildAlimonySupportValue;
        if (isset($this->ChildcareRelated)) $o['ChildcareRelated'] = $this->ChildcareRelated;
        if (isset($this->ChildcareRelatedValue)) $o['ChildcareRelatedValue'] = $this->ChildcareRelatedValue;
        if (isset($this->LifeInsurance)) $o['LifeInsurance'] = $this->LifeInsurance;
        if (isset($this->LifePolicyAmount)) $o['LifePolicyAmount'] = $this->LifePolicyAmount;
        if (isset($this->LifeInsuranceMonthly)) $o['LifeInsuranceMonthly'] = $this->LifeInsuranceMonthly;
        if (isset($this->MortgageRentExpense)) $o['MortgageRentExpense'] = $this->MortgageRentExpense;
        if (isset($this->PropertyTaxExpense)) $o['PropertyTaxExpense'] = $this->PropertyTaxExpense;
        if (isset($this->CarPaymentFirstExpense)) $o['CarPaymentFirstExpense'] = $this->CarPaymentFirstExpense;
        if (isset($this->CarPaymentSecondExpense)) $o['CarPaymentSecondExpense'] = $this->CarPaymentSecondExpense;
        if (isset($this->RVPaymentExpense)) $o['RVPaymentExpense'] = $this->RVPaymentExpense;
        if (isset($this->SavingsPaymentExpense)) $o['SavingsPaymentExpense'] = $this->SavingsPaymentExpense;
        if (isset($this->HomeInsuranceExpense)) $o['HomeInsuranceExpense'] = $this->HomeInsuranceExpense;
        if (isset($this->GroceriesExpense)) $o['GroceriesExpense'] = $this->GroceriesExpense;
        if (isset($this->EntertainmentExpense)) $o['EntertainmentExpense'] = $this->EntertainmentExpense;
        if (isset($this->LifeInsuranceCostExpense)) $o['LifeInsuranceCostExpense'] = $this->LifeInsuranceCostExpense;
        if (isset($this->GasElectricityExpense)) $o['GasElectricityExpense'] = $this->GasElectricityExpense;
        if (isset($this->WaterTrashSewerExpense)) $o['WaterTrashSewerExpense'] = $this->WaterTrashSewerExpense;
        if (isset($this->TelephoneCellExpense)) $o['TelephoneCellExpense'] = $this->TelephoneCellExpense;
        if (isset($this->CableInternetExpense)) $o['CableInternetExpense'] = $this->CableInternetExpense;
        if (isset($this->AutoExpenseGasExpense)) $o['AutoExpenseGasExpense'] = $this->AutoExpenseGasExpense;
        if (isset($this->AutoInsuranceExpense)) $o['AutoInsuranceExpense'] = $this->AutoInsuranceExpense;
        if (isset($this->MedicalExpense)) $o['MedicalExpense'] = $this->MedicalExpense;
        if (isset($this->MiscellaneousExpense)) $o['MiscellaneousExpense'] = $this->MiscellaneousExpense;
        if (isset($this->FamilyFriendLoansExpense)) $o['FamilyFriendLoansExpense'] = $this->FamilyFriendLoansExpense;
        if (isset($this->WhatBank)) $o['WhatBank'] = $this->WhatBank;
        if (isset($this->BankDebt)) $o['BankDebt'] = $this->BankDebt;
        if (isset($this->CreditUnion)) $o['CreditUnion'] = $this->CreditUnion;
        return empty($o) ? new class(){} : $o;
    }
}

class ContactSpouse implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $ContactSpouseId=0,
        /** @var int */
        public int $ContactId=0,
        /** @var string|null */
        public ?string $Name=null,
        /** @var DateTime|null */
        public ?DateTime $DOB=null,
        /** @var string|null */
        public ?string $Cell=null,
        /** @var string|null */
        public ?string $Employer=null,
        /** @var float|null */
        public ?float $Years=null,
        /** @var string|null */
        public ?string $Position=null,
        /** @var string|null */
        public ?string $Email=null,
        /** @var string|null */
        public ?string $PastOccupations=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ContactSpouseId'])) $this->ContactSpouseId = $o['ContactSpouseId'];
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['DOB'])) $this->DOB = JsonConverters::from('DateTime', $o['DOB']);
        if (isset($o['Cell'])) $this->Cell = $o['Cell'];
        if (isset($o['Employer'])) $this->Employer = $o['Employer'];
        if (isset($o['Years'])) $this->Years = $o['Years'];
        if (isset($o['Position'])) $this->Position = $o['Position'];
        if (isset($o['Email'])) $this->Email = $o['Email'];
        if (isset($o['PastOccupations'])) $this->PastOccupations = $o['PastOccupations'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ContactSpouseId)) $o['ContactSpouseId'] = $this->ContactSpouseId;
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->DOB)) $o['DOB'] = JsonConverters::to('DateTime', $this->DOB);
        if (isset($this->Cell)) $o['Cell'] = $this->Cell;
        if (isset($this->Employer)) $o['Employer'] = $this->Employer;
        if (isset($this->Years)) $o['Years'] = $this->Years;
        if (isset($this->Position)) $o['Position'] = $this->Position;
        if (isset($this->Email)) $o['Email'] = $this->Email;
        if (isset($this->PastOccupations)) $o['PastOccupations'] = $this->PastOccupations;
        return empty($o) ? new class(){} : $o;
    }
}

class ContactCreditor implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $ContactCreditorId=0,
        /** @var int */
        public int $ContactId=0,
        /** @var string|null */
        public ?string $CreditorName=null,
        /** @var string|null */
        public ?string $NameOnAccount=null,
        /** @var string|null */
        public ?string $AccountNumber=null,
        /** @var float|null */
        public ?float $CurrentBalance=null,
        /** @var float|null */
        public ?float $MinimumPayment=null,
        /** @var bool|null */
        public ?bool $HasCoSigner=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ContactCreditorId'])) $this->ContactCreditorId = $o['ContactCreditorId'];
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['CreditorName'])) $this->CreditorName = $o['CreditorName'];
        if (isset($o['NameOnAccount'])) $this->NameOnAccount = $o['NameOnAccount'];
        if (isset($o['AccountNumber'])) $this->AccountNumber = $o['AccountNumber'];
        if (isset($o['CurrentBalance'])) $this->CurrentBalance = $o['CurrentBalance'];
        if (isset($o['MinimumPayment'])) $this->MinimumPayment = $o['MinimumPayment'];
        if (isset($o['HasCoSigner'])) $this->HasCoSigner = $o['HasCoSigner'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ContactCreditorId)) $o['ContactCreditorId'] = $this->ContactCreditorId;
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->CreditorName)) $o['CreditorName'] = $this->CreditorName;
        if (isset($this->NameOnAccount)) $o['NameOnAccount'] = $this->NameOnAccount;
        if (isset($this->AccountNumber)) $o['AccountNumber'] = $this->AccountNumber;
        if (isset($this->CurrentBalance)) $o['CurrentBalance'] = $this->CurrentBalance;
        if (isset($this->MinimumPayment)) $o['MinimumPayment'] = $this->MinimumPayment;
        if (isset($this->HasCoSigner)) $o['HasCoSigner'] = $this->HasCoSigner;
        return empty($o) ? new class(){} : $o;
    }
}

class FactFinderDebtExtended implements JsonSerializable
{
    public function __construct(
        /** @var Contact|null */
        public ?Contact $Contact=null,
        /** @var FactFinderDebt|null */
        public ?FactFinderDebt $FactFinderDebt=null,
        /** @var ContactSpouse|null */
        public ?ContactSpouse $Spouse=null,
        /** @var array<ContactCreditor>|null */
        public ?array $Creditors=null,
        /** @var string|null */
        public ?string $AdditionalNotes=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Contact'])) $this->Contact = JsonConverters::from('Contact', $o['Contact']);
        if (isset($o['FactFinderDebt'])) $this->FactFinderDebt = JsonConverters::from('FactFinderDebt', $o['FactFinderDebt']);
        if (isset($o['Spouse'])) $this->Spouse = JsonConverters::from('ContactSpouse', $o['Spouse']);
        if (isset($o['Creditors'])) $this->Creditors = JsonConverters::fromArray('ContactCreditor', $o['Creditors']);
        if (isset($o['AdditionalNotes'])) $this->AdditionalNotes = $o['AdditionalNotes'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Contact)) $o['Contact'] = JsonConverters::to('Contact', $this->Contact);
        if (isset($this->FactFinderDebt)) $o['FactFinderDebt'] = JsonConverters::to('FactFinderDebt', $this->FactFinderDebt);
        if (isset($this->Spouse)) $o['Spouse'] = JsonConverters::to('ContactSpouse', $this->Spouse);
        if (isset($this->Creditors)) $o['Creditors'] = JsonConverters::toArray('ContactCreditor', $this->Creditors);
        if (isset($this->AdditionalNotes)) $o['AdditionalNotes'] = $this->AdditionalNotes;
        return empty($o) ? new class(){} : $o;
    }
}

class FactFinderDebtRequest implements JsonSerializable
{
    public function __construct(
        /** @var FactFinderDebtExtended|null */
        public ?FactFinderDebtExtended $FactFinderDebt=null,
        /** @var bool|null */
        public ?bool $DataEntry=null,
        /** @var int */
        public int $ContactId=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['FactFinderDebt'])) $this->FactFinderDebt = JsonConverters::from('FactFinderDebtExtended', $o['FactFinderDebt']);
        if (isset($o['DataEntry'])) $this->DataEntry = $o['DataEntry'];
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->FactFinderDebt)) $o['FactFinderDebt'] = JsonConverters::to('FactFinderDebtExtended', $this->FactFinderDebt);
        if (isset($this->DataEntry)) $o['DataEntry'] = $this->DataEntry;
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        return empty($o) ? new class(){} : $o;
    }
}

PHP FactFinderDebtRequest 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/FactFinderDebt HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<FactFinderDebtRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <ContactId>0</ContactId>
  <DataEntry>false</DataEntry>
  <FactFinderDebt>
    <AdditionalNotes>String</AdditionalNotes>
    <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>
    <Creditors>
      <ContactCreditor>
        <AccountNumber>String</AccountNumber>
        <ContactCreditorId>0</ContactCreditorId>
        <ContactId>0</ContactId>
        <CreditorName>String</CreditorName>
        <CurrentBalance>0</CurrentBalance>
        <HasCoSigner>false</HasCoSigner>
        <MinimumPayment>0</MinimumPayment>
        <NameOnAccount>String</NameOnAccount>
      </ContactCreditor>
    </Creditors>
    <FactFinderDebt>
      <AutoExpenseGasExpense>0</AutoExpenseGasExpense>
      <AutoInsuranceExpense>0</AutoInsuranceExpense>
      <BankDebt>false</BankDebt>
      <BoatRv>false</BoatRv>
      <BoatRvValue>0</BoatRvValue>
      <CableInternetExpense>0</CableInternetExpense>
      <CarPaymentFirstExpense>0</CarPaymentFirstExpense>
      <CarPaymentSecondExpense>0</CarPaymentSecondExpense>
      <ChildAlimonySupport>false</ChildAlimonySupport>
      <ChildAlimonySupportValue>0</ChildAlimonySupportValue>
      <ChildcareRelated>false</ChildcareRelated>
      <ChildcareRelatedValue>0</ChildcareRelatedValue>
      <ContactId>0</ContactId>
      <CreditUnion>false</CreditUnion>
      <EntertainmentExpense>0</EntertainmentExpense>
      <FactFinderDebtId>0</FactFinderDebtId>
      <FamilyFriendLoansExpense>0</FamilyFriendLoansExpense>
      <FirstCar>false</FirstCar>
      <FirstCarValue>0</FirstCarValue>
      <GasElectricityExpense>0</GasElectricityExpense>
      <GroceriesExpense>0</GroceriesExpense>
      <HomeInsuranceExpense>0</HomeInsuranceExpense>
      <HomeRentInsurance>false</HomeRentInsurance>
      <HomeRentInsuranceValue>0</HomeRentInsuranceValue>
      <HomeValue>0</HomeValue>
      <LifeInsurance>false</LifeInsurance>
      <LifeInsuranceCostExpense>0</LifeInsuranceCostExpense>
      <LifeInsuranceMonthly>0</LifeInsuranceMonthly>
      <LifePolicyAmount>0</LifePolicyAmount>
      <MedicalExpense>0</MedicalExpense>
      <MiscellaneousExpense>0</MiscellaneousExpense>
      <MortgageRentExpense>0</MortgageRentExpense>
      <OtherProperty>false</OtherProperty>
      <OtherPropertyValue>0</OtherPropertyValue>
      <OwnHome>false</OwnHome>
      <PropertyTaxExpense>0</PropertyTaxExpense>
      <RVPaymentExpense>0</RVPaymentExpense>
      <SavingsPaymentExpense>0</SavingsPaymentExpense>
      <SecondCar>false</SecondCar>
      <SecondCarValue>0</SecondCarValue>
      <Stocks401kOther>false</Stocks401kOther>
      <Stocks401kOtherValue>0</Stocks401kOtherValue>
      <TelephoneCellExpense>0</TelephoneCellExpense>
      <WaterTrashSewerExpense>0</WaterTrashSewerExpense>
      <WhatBank>String</WhatBank>
    </FactFinderDebt>
    <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>
  </FactFinderDebt>
</FactFinderDebtRequest>