from dateutil import parser
from q2_cores import data_helpers
[docs]
def mock_demo_info_response_with_cif():
response = """
<VBTPReply xmlns="http://schemas.fidelityinfoservices.com/webservices/miser/vbtp">
<ContinuationFlag>N</ContinuationFlag>
<NumAccounts>005</NumAccounts>
<LastCIFNbr/>
<LastApplCode/>
<LastAcctNbr/>
<LastATMCard/>
<CIFNbr>{customer_cif}</CIFNbr>
<NameAddrCode1>1</NameAddrCode1>
<NameAddrLine1>{first_name} {middle_name} {last_name}</NameAddrLine1>
<NameAddrCode2>4</NameAddrCode2>
<NameAddrLine2>{address_1}</NameAddrLine2>
<NameAddrCode3/>
<NameAddrLine3/>
<NameAddrCode4>6</NameAddrCode4>
<NameAddrLine4>{city} {state_abbrev} {zipcode}</NameAddrLine4>
<NameAddrCode5/>
<NameAddrLine5/>
<Comment1/>
<Comment2/>
<CustTypeCode>P</CustTypeCode>
<HomePhone>{home_phone}</HomePhone>
<BusPhone>{work_phone}</BusPhone>
<OrigBranch>017</OrigBranch>
<OpenReason>00</OpenReason>
<TaxID>{social_security_number}</TaxID>
<BirthDate>{dob}</BirthDate>
<EmpCode>0</EmpCode>
<DateOpen>070204</DateOpen>
<HouseholdNbr>0000000000</HouseholdNbr>
<CreditReport/>
<MaidenName>MILLS</MaidenName>
<LockCode1>00</LockCode1>
<LockCode2>00</LockCode2>
<WarnCode1>00</WarnCode1>
<WarnCode2>00</WarnCode2>
<Email>{email}</Email>
<ScreenName/>
<FaxNbr>0000000000</FaxNbr>
<LangPref/>
<OwnRentInd/>
<IncomeLevel>00</IncomeLevel>
<NbrDep>00</NbrDep>
<DLExpDate>{drivers_license_exp}</DLExpDate>
<DLState>{drivers_license_state}</DLState>
<DLNbr>{drivers_license_num}</DLNbr>
<PrivacyInd>N</PrivacyInd>
<LockFlag>00</LockFlag>
<WarnFlag>00</WarnFlag>
<BusPhoneExt>{work_phone_ext}</BusPhoneExt>
<FirstName>{first_name}</FirstName>
<MiddleName>{middle_name}</MiddleName>
<LastName>{last_name}</LastName>
<CellPhone>{cell_phone}</CellPhone>
<ForeignPrefixCellPhone>000000</ForeignPrefixCellPhone>
<ForeignPrefixFax>000000</ForeignPrefixFax>
<ForeignPrefixHomePhone>000000</ForeignPrefixHomePhone>
<ForeignPrefixBusPhone>000000</ForeignPrefixBusPhone>
<Accounts>
<Account>
<ApplCode>SV</ApplCode>
<AcctNbr>091363133729</AcctNbr>
<RelCode>PRI</RelCode>
<AcctType>01</AcctType>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal>0000000100.00</AcctBal>
<AvailBal>0000000095.00</AvailBal>
<IntRate>000.00000</IntRate>
<MaturityDate/>
<LastActivityDate>041817</LastActivityDate>
<AcctStatus>1</AcctStatus>
<KICode/>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags/>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt>0000000000.00</YTDInt>
<PrevYearYTDInt>0000000000.00</PrevYearYTDInt>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag>0</EmpFlag>
<TransferFlag>0</TransferFlag>
<RegDLimitFlag>0</RegDLimitFlag>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig>0</MultipleSig>
<OrigBranch>027</OrigBranch>
<DirectDepositFlag/>
<TranAcctInd/>
<RetirementFlag>0</RetirementFlag>
<CompoundedInt>0000000000.00</CompoundedInt>
<LastDepositAmt>0000000100.00</LastDepositAmt>
<LastDepositDate>041817</LastDepositDate>
<LastIntAmt>0000000000.00</LastIntAmt>
<LastIntDate>000000</LastIntDate>
<UnColAmt1Day/>
<UnColAmtRemain/>
<NbrClearChecks/>
<YTDIntPenalty>0000000000.00</YTDIntPenalty>
<PrevYearYTDIntPenalty>0000000000.00</PrevYearYTDIntPenalty>
<AvailBal/>
<PINOffset>000000</PINOffset>
<PrevStmtDate/>
<GraceDays>10</GraceDays>
<MinReqBal>0000000005.00</MinReqBal>
<NbrTranPOS>000</NbrTranPOS>
<NbrPreAuthTfr>00</NbrPreAuthTfr>
<NbrClrCheck>0000</NbrClrCheck>
<ATMODInd>0</ATMODInd>
<ATMODConfirmDate>000000</ATMODConfirmDate>
<ATMODPostDate>000000</ATMODPostDate>
<DBCODInd>0</DBCODInd>
<DBCODConfirmDate>000000</DBCODConfirmDate>
<DBCODPostDate>000000</DBCODPostDate>
<AcctClass>00</AcctClass>
<APYCalc>00.000</APYCalc>
<APYECalc>00.000</APYECalc>
<LastStmtBal>0000000000.00</LastStmtBal>
<RetPlanNbr>0000000000</RetPlanNbr>
</Account>
<Account>
<ApplCode>ND</ApplCode>
<AcctNbr>571802545590</AcctNbr>
<RelCode>PRI</RelCode>
<AcctType>07</AcctType>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal>0000000291.26</AcctBal>
<AvailBal>0000000291.26</AvailBal>
<IntRate>000.00000</IntRate>
<MaturityDate/>
<LastActivityDate>041917</LastActivityDate>
<AcctStatus>1</AcctStatus>
<KICode>A</KICode>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags/>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt>0000000000.00</YTDInt>
<PrevYearYTDInt>0000000000.00</PrevYearYTDInt>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag>0</EmpFlag>
<TransferFlag>0</TransferFlag>
<RegDLimitFlag>0</RegDLimitFlag>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig>0</MultipleSig>
<OrigBranch>027</OrigBranch>
<DirectDepositFlag/>
<TranAcctInd/>
<RetirementFlag/>
<CompoundedInt/>
<LastDepositAmt>0000000300.00</LastDepositAmt>
<LastDepositDate>041817</LastDepositDate>
<LastIntAmt>0000000000.00</LastIntAmt>
<LastIntDate>000000</LastIntDate>
<UnColAmt1Day>0000000000.00</UnColAmt1Day>
<UnColAmtRemain>0000000000.00</UnColAmtRemain>
<NbrClearChecks>0000</NbrClearChecks>
<YTDIntPenalty/>
<PrevYearYTDIntPenalty/>
<AvailBal>0000000000.00</AvailBal>
<PINOffset>000000</PINOffset>
<PrevStmtDate/>
<GraceDays/>
<MinReqBal/>
<NbrTranPOS>000</NbrTranPOS>
<NbrPreAuthTfr>00</NbrPreAuthTfr>
<NbrClrCheck>0000</NbrClrCheck>
<ATMODInd>0</ATMODInd>
<ATMODConfirmDate>000000</ATMODConfirmDate>
<ATMODPostDate>000000</ATMODPostDate>
<DBCODInd>0</DBCODInd>
<DBCODConfirmDate>000000</DBCODConfirmDate>
<DBCODPostDate>000000</DBCODPostDate>
<AcctClass>00</AcctClass>
<APYCalc>00.000</APYCalc>
<APYECalc>00.000</APYECalc>
<LastStmtBal>0000000000.00</LastStmtBal>
<RetPlanNbr/>
</Account>
<Account>
<ApplCode>EC</ApplCode>
<AcctNbr>999999999999</AcctNbr>
<RelCode/>
<AcctType/>
<AudioAccess/>
<RIBAccess/>
<CIBAccess/>
<AcctBal/>
<AvailBal/>
<IntRate/>
<MaturityDate/>
<LastActivityDate/>
<AcctStatus/>
<KICode/>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags/>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt/>
<PrevYearYTDInt/>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag/>
<TransferFlag/>
<RegDLimitFlag/>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig/>
<OrigBranch/>
<ApplCode>00</ApplCode>
<AcctNbr>000000000000</AcctNbr>
<CardType>01</CardType>
<CardClass>01</CardClass>
<ProdCode>20</ProdCode>
<ExpDate>1503</ExpDate>
<LastUsed>122713</LastUsed>
<LastFM>122713</LastFM>
<LastOrder>042213</LastOrder>
<StatusInd>C</StatusInd>
<FlagHotDate>000000</FlagHotDate>
<RestCode>0</RestCode>
<PriAcctNbr>4399110901237238 008</PriAcctNbr>
<EffDate>1304</EffDate>
</Account>
<Account>
<ApplCode>EC</ApplCode>
<AcctNbr>999999999999</AcctNbr>
<RelCode/>
<AcctType/>
<AudioAccess/>
<RIBAccess/>
<CIBAccess/>
<AcctBal/>
<AvailBal/>
<IntRate/>
<MaturityDate/>
<LastActivityDate/>
<AcctStatus/>
<KICode/>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags/>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt/>
<PrevYearYTDInt/>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag/>
<TransferFlag/>
<RegDLimitFlag/>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig/>
<OrigBranch/>
<ApplCode>10</ApplCode>
<AcctNbr>075351560018</AcctNbr>
<CardType>01</CardType>
<CardClass>01</CardClass>
<ProdCode>20</ProdCode>
<ExpDate>1711</ExpDate>
<LastUsed>041717</LastUsed>
<LastFM>010314</LastFM>
<LastOrder>111515</LastOrder>
<StatusInd/>
<FlagHotDate>000000</FlagHotDate>
<RestCode>0</RestCode>
<PriAcctNbr>4399110901326577 007</PriAcctNbr>
<EffDate>1512</EffDate>
</Account>
<Account>
<ApplCode>EC</ApplCode>
<AcctNbr>999999999999</AcctNbr>
<RelCode/>
<AcctType/>
<AudioAccess/>
<RIBAccess/>
<CIBAccess/>
<AcctBal/>
<AvailBal/>
<IntRate/>
<MaturityDate/>
<LastActivityDate/>
<AcctStatus/>
<KICode/>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags/>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt/>
<PrevYearYTDInt/>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag/>
<TransferFlag/>
<RegDLimitFlag/>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig/>
<OrigBranch/>
<ApplCode>10</ApplCode>
<AcctNbr>571802545590</AcctNbr>
<CardType>01</CardType>
<CardClass>02</CardClass>
<ProdCode>20</ProdCode>
<ExpDate>2004</ExpDate>
<LastUsed>041817</LastUsed>
<LastFM>041817</LastFM>
<LastOrder>000000</LastOrder>
<StatusInd/>
<FlagHotDate>000000</FlagHotDate>
<RestCode>0</RestCode>
<PriAcctNbr>4399110901783868 008</PriAcctNbr>
<EffDate>1704</EffDate>
</Account>
</Accounts>
<AcctTitles>
<Title>
<AcctTitle/>
</Title>
</AcctTitles>
</VBTPReply>
""".format(
customer_cif=data_helpers.CUSTOMER_CIF,
last_name=data_helpers.LASTNAME,
first_name=data_helpers.FIRSTNAME,
middle_name=data_helpers.MIDDLENAME,
address_1=data_helpers.ADDRESS1,
city=data_helpers.CITY,
state_abbrev=data_helpers.STATEABBRV,
zipcode=data_helpers.ZIP,
work_phone=data_helpers.WORKPHONE,
work_phone_ext=data_helpers.WORKEXTENSION,
home_phone=data_helpers.HOMEPHONE,
cell_phone=data_helpers.CELLPHONE,
email=data_helpers.EMAIL,
social_security_number=data_helpers.SOCIALSECURITY,
dob=parser.parse(data_helpers.DOB).strftime("%Y%m%d"),
drivers_license_exp=data_helpers.DRIVERSLICENSEEXP,
drivers_license_state=data_helpers.DRIVERSLICENSESTATEABBREV,
drivers_license_num=data_helpers.DRIVERSLICENSENUM,
)
return data_helpers.normalize_xml_str(response)
[docs]
def mock_demo_info_bad_phones_response_with_cif():
response = """
<VBTPReply xmlns="http://schemas.fidelityinfoservices.com/webservices/miser/vbtp">
<ContinuationFlag>N</ContinuationFlag>
<NumAccounts>005</NumAccounts>
<LastCIFNbr/>
<LastApplCode/>
<LastAcctNbr/>
<LastATMCard/>
<CIFNbr>{customer_cif}</CIFNbr>
<NameAddrCode1>1</NameAddrCode1>
<NameAddrLine1>{first_name} {middle_name} {last_name}</NameAddrLine1>
<NameAddrCode2>4</NameAddrCode2>
<NameAddrLine2>{address_1}</NameAddrLine2>
<NameAddrCode3/>
<NameAddrLine3/>
<NameAddrCode4>6</NameAddrCode4>
<NameAddrLine4>{city} {state_abbrev} {zipcode}</NameAddrLine4>
<NameAddrCode5/>
<NameAddrLine5/>
<Comment1/>
<Comment2/>
<CustTypeCode>P</CustTypeCode>
<HomePhone>0000000000</HomePhone>
<BusPhone>{work_phone}</BusPhone>
<OrigBranch>017</OrigBranch>
<OpenReason>00</OpenReason>
<TaxID>{social_security_number}</TaxID>
<BirthDate>{dob}</BirthDate>
<EmpCode>0</EmpCode>
<DateOpen>070204</DateOpen>
<HouseholdNbr>0000000000</HouseholdNbr>
<CreditReport/>
<MaidenName>MILLS</MaidenName>
<LockCode1>00</LockCode1>
<LockCode2>00</LockCode2>
<WarnCode1>00</WarnCode1>
<WarnCode2>00</WarnCode2>
<Email>{email}</Email>
<ScreenName/>
<FaxNbr>0000000000</FaxNbr>
<LangPref/>
<OwnRentInd/>
<IncomeLevel>00</IncomeLevel>
<NbrDep>00</NbrDep>
<DLExpDate>{drivers_license_exp}</DLExpDate>
<DLState>{drivers_license_state}</DLState>
<DLNbr>{drivers_license_num}</DLNbr>
<PrivacyInd>N</PrivacyInd>
<LockFlag>00</LockFlag>
<WarnFlag>00</WarnFlag>
<FirstName>{first_name}</FirstName>
<MiddleName>{middle_name}</MiddleName>
<LastName>{last_name}</LastName>
<CellPhone>0000000000</CellPhone>
<ForeignPrefixCellPhone>000000</ForeignPrefixCellPhone>
<ForeignPrefixFax>000000</ForeignPrefixFax>
<ForeignPrefixHomePhone>000000</ForeignPrefixHomePhone>
<ForeignPrefixBusPhone>000000</ForeignPrefixBusPhone>
</VBTPReply>
""".format(
customer_cif=data_helpers.CUSTOMER_CIF,
last_name=data_helpers.LASTNAME,
first_name=data_helpers.FIRSTNAME,
middle_name=data_helpers.MIDDLENAME,
address_1=data_helpers.ADDRESS1,
city=data_helpers.CITY,
state_abbrev=data_helpers.STATEABBRV,
zipcode=data_helpers.ZIP,
work_phone=data_helpers.WORKPHONE,
email=data_helpers.EMAIL,
social_security_number=data_helpers.SOCIALSECURITY,
dob=parser.parse(data_helpers.DOB).strftime("%Y%m%d"),
drivers_license_exp=data_helpers.DRIVERSLICENSEEXP,
drivers_license_state=data_helpers.DRIVERSLICENSESTATEABBREV,
drivers_license_num=data_helpers.DRIVERSLICENSENUM,
)
return data_helpers.normalize_xml_str(response)
[docs]
def mock_demo_info_response_with_ssn():
response = """
<VBTPReply xmlns="http://schemas.fidelityinfoservices.com/webservices/miser/vbtp">
<ContinuationFlag>Y</ContinuationFlag>
<NumAccounts>030</NumAccounts>
<LastCIFNbr>000000070006</LastCIFNbr>
<LastApplCode>00</LastApplCode>
<LastAcctNbr>000700060100</LastAcctNbr>
<LastATMCard/>
<CIFNbr>{customer_cif}</CIFNbr>
<NameAddrCode1>2</NameAddrCode1>
<NameAddrLine1>{first_name} {middle_name} {last_name}</NameAddrLine1>
<NameAddrCode2>4</NameAddrCode2>
<NameAddrLine2>{address_1}</NameAddrLine2>
<NameAddrCode3/>
<NameAddrLine3/>
<NameAddrCode4>6</NameAddrCode4>
<NameAddrLine4>{city} {state_abbrev} {zipcode}</NameAddrLine4>
<NameAddrCode5/>
<NameAddrLine5/>
<Comment1/>
<Comment2/>
<CustTypeCode>C</CustTypeCode>
<HomePhone>{home_phone}</HomePhone>
<BusPhone>{work_phone}</BusPhone>
<OrigBranch>017</OrigBranch>
<OpenReason>00</OpenReason>
<TaxID>{social_security_number}</TaxID>
<BirthDate>{dob}</BirthDate>
<EmpCode>0</EmpCode>
<DateOpen>070204</DateOpen>
<HouseholdNbr>0000000000</HouseholdNbr>
<CreditReport/>
<MaidenName>MILLS</MaidenName>
<LockCode1>00</LockCode1>
<LockCode2>00</LockCode2>
<WarnCode1>00</WarnCode1>
<WarnCode2>00</WarnCode2>
<Email>{email}</Email>
<ScreenName/>
<FaxNbr>0000000000</FaxNbr>
<LangPref/>
<OwnRentInd/>
<IncomeLevel>00</IncomeLevel>
<NbrDep>00</NbrDep>
<DLExpDate>{drivers_license_exp}</DLExpDate>
<DLState>{drivers_license_state}</DLState>
<DLNbr>{drivers_license_num}</DLNbr>
<PrivacyInd>N</PrivacyInd>
<LockFlag>00</LockFlag>
<WarnFlag>00</WarnFlag>
<BusPhoneExt>{work_phone_ext}</BusPhoneExt>
<FirstName>{first_name}</FirstName>
<MiddleName>{middle_name}</MiddleName>
<LastName>{last_name}</LastName>
<CellPhone>{cell_phone}</CellPhone>
<ForeignPrefixCellPhone>000000</ForeignPrefixCellPhone>
<ForeignPrefixFax>000000</ForeignPrefixFax>
<ForeignPrefixHomePhone>000000</ForeignPrefixHomePhone>
<ForeignPrefixBusPhone>000000</ForeignPrefixBusPhone>
<Accounts>
<Account>
<ApplCode>SV</ApplCode>
<AcctNbr>000700050100</AcctNbr>
<RelCode>SOL</RelCode>
<AcctType>01</AcctType>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal>0000000005.00</AcctBal>
<AvailBal>0000000000.00</AvailBal>
<IntRate>000.00000</IntRate>
<MaturityDate/>
<LastActivityDate>051116</LastActivityDate>
<AcctStatus>1</AcctStatus>
<KICode>A</KICode>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags>W</WarnFlags>
<OtherFlags>O</OtherFlags>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt>0000000000.00</YTDInt>
<PrevYearYTDInt>0000000000.00</PrevYearYTDInt>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag>0</EmpFlag>
<TransferFlag>1</TransferFlag>
<RegDLimitFlag>0</RegDLimitFlag>
<PendVBTPTransferFlag/>
<LastStmtDate>033117</LastStmtDate>
<MultipleSig>0</MultipleSig>
<OrigBranch>022</OrigBranch>
<DirectDepositFlag/>
<TranAcctInd>1</TranAcctInd>
<RetirementFlag>0</RetirementFlag>
<CompoundedInt>0000000000.00</CompoundedInt>
<LastDepositAmt>0000000002.00</LastDepositAmt>
<LastDepositDate>020916</LastDepositDate>
<LastIntAmt>0000000000.00</LastIntAmt>
<LastIntDate>000000</LastIntDate>
<UnColAmt1Day/>
<UnColAmtRemain/>
<NbrClearChecks/>
<YTDIntPenalty>0000000000.00</YTDIntPenalty>
<PrevYearYTDIntPenalty>0000000000.00</PrevYearYTDIntPenalty>
<AvailBal/>
<PINOffset>000000</PINOffset>
<PrevStmtDate>022817</PrevStmtDate>
<GraceDays>10</GraceDays>
<MinReqBal>0000000005.00</MinReqBal>
<NbrTranPOS>000</NbrTranPOS>
<NbrPreAuthTfr>00</NbrPreAuthTfr>
<NbrClrCheck>0000</NbrClrCheck>
<ATMODInd>0</ATMODInd>
<ATMODConfirmDate>000000</ATMODConfirmDate>
<ATMODPostDate>000000</ATMODPostDate>
<DBCODInd>0</DBCODInd>
<DBCODConfirmDate>000000</DBCODConfirmDate>
<DBCODPostDate>000000</DBCODPostDate>
<AcctClass>00</AcctClass>
<APYCalc>00.000</APYCalc>
<APYECalc>00.000</APYECalc>
<LastStmtBal>0000000005.00</LastStmtBal>
<RetPlanNbr>0000000000</RetPlanNbr>
</Account>
<Account>
<ApplCode>SV</ApplCode>
<AcctNbr>000700050101</AcctNbr>
<RelCode>SOL</RelCode>
<AcctType>01</AcctType>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal>0000000001.70</AcctBal>
<AvailBal>0000000000.00</AvailBal>
<IntRate>000.00000</IntRate>
<MaturityDate/>
<LastActivityDate>061413</LastActivityDate>
<AcctStatus>1</AcctStatus>
<KICode/>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags>W</WarnFlags>
<OtherFlags>O</OtherFlags>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt>0000000000.00</YTDInt>
<PrevYearYTDInt>0000000000.00</PrevYearYTDInt>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag>0</EmpFlag>
<TransferFlag>1</TransferFlag>
<RegDLimitFlag>0</RegDLimitFlag>
<PendVBTPTransferFlag/>
<LastStmtDate>033117</LastStmtDate>
<MultipleSig>0</MultipleSig>
<OrigBranch>022</OrigBranch>
<DirectDepositFlag/>
<TranAcctInd>1</TranAcctInd>
<RetirementFlag>0</RetirementFlag>
<CompoundedInt>0000000000.00</CompoundedInt>
<LastDepositAmt>0000000000.01</LastDepositAmt>
<LastDepositDate>061413</LastDepositDate>
<LastIntAmt>0000000000.00</LastIntAmt>
<LastIntDate>000000</LastIntDate>
<UnColAmt1Day/>
<UnColAmtRemain/>
<NbrClearChecks/>
<YTDIntPenalty>0000000000.00</YTDIntPenalty>
<PrevYearYTDIntPenalty>0000000000.00</PrevYearYTDIntPenalty>
<AvailBal/>
<PINOffset>000000</PINOffset>
<PrevStmtDate>022817</PrevStmtDate>
<GraceDays>10</GraceDays>
<MinReqBal>0000000005.00</MinReqBal>
<NbrTranPOS>000</NbrTranPOS>
<NbrPreAuthTfr>00</NbrPreAuthTfr>
<NbrClrCheck>0000</NbrClrCheck>
<ATMODInd>0</ATMODInd>
<ATMODConfirmDate>000000</ATMODConfirmDate>
<ATMODPostDate>000000</ATMODPostDate>
<DBCODInd>0</DBCODInd>
<DBCODConfirmDate>000000</DBCODConfirmDate>
<DBCODPostDate>000000</DBCODPostDate>
<AcctClass>00</AcctClass>
<APYCalc>00.000</APYCalc>
<APYECalc>00.000</APYECalc>
<LastStmtBal>0000000001.70</LastStmtBal>
<RetPlanNbr>0000000000</RetPlanNbr>
</Account>
<Account>
<ApplCode>ND</ApplCode>
<AcctNbr>000000700054</AcctNbr>
<RelCode>PRI</RelCode>
<AcctType>18</AcctType>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal>0000000009.69</AcctBal>
<AvailBal>0000000009.69</AvailBal>
<IntRate>000.00050</IntRate>
<MaturityDate/>
<LastActivityDate>112216</LastActivityDate>
<AcctStatus>1</AcctStatus>
<KICode>A</KICode>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags>W</WarnFlags>
<OtherFlags>O</OtherFlags>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt>0000000000.00</YTDInt>
<PrevYearYTDInt>0000000000.00</PrevYearYTDInt>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag>0</EmpFlag>
<TransferFlag>1</TransferFlag>
<RegDLimitFlag>0</RegDLimitFlag>
<PendVBTPTransferFlag/>
<LastStmtDate>033117</LastStmtDate>
<MultipleSig>0</MultipleSig>
<OrigBranch>022</OrigBranch>
<DirectDepositFlag/>
<TranAcctInd>1</TranAcctInd>
<RetirementFlag/>
<CompoundedInt/>
<LastDepositAmt>0000000694.80</LastDepositAmt>
<LastDepositDate>080216</LastDepositDate>
<LastIntAmt>0000000000.00</LastIntAmt>
<LastIntDate>000000</LastIntDate>
<UnColAmt1Day>0000000000.00</UnColAmt1Day>
<UnColAmtRemain>0000000000.00</UnColAmtRemain>
<NbrClearChecks>0000</NbrClearChecks>
<YTDIntPenalty/>
<PrevYearYTDIntPenalty/>
<AvailBal>0000003250.00</AvailBal>
<PINOffset>000000</PINOffset>
<PrevStmtDate>022817</PrevStmtDate>
<GraceDays/>
<MinReqBal/>
<NbrTranPOS>000</NbrTranPOS>
<NbrPreAuthTfr>00</NbrPreAuthTfr>
<NbrClrCheck>0000</NbrClrCheck>
<ATMODInd>0</ATMODInd>
<ATMODConfirmDate>000000</ATMODConfirmDate>
<ATMODPostDate>100812</ATMODPostDate>
<DBCODInd>0</DBCODInd>
<DBCODConfirmDate>000000</DBCODConfirmDate>
<DBCODPostDate>100812</DBCODPostDate>
<AcctClass>00</AcctClass>
<APYCalc>00.050</APYCalc>
<APYECalc>00.000</APYECalc>
<LastStmtBal>0000000009.69</LastStmtBal>
<RetPlanNbr/>
</Account>
<Account>
<ApplCode>ND</ApplCode>
<AcctNbr>000700050700</AcctNbr>
<RelCode>SOL</RelCode>
<AcctType>07</AcctType>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal>0000000100.04</AcctBal>
<AvailBal>0000000100.04</AvailBal>
<IntRate>000.00000</IntRate>
<MaturityDate/>
<LastActivityDate>032817</LastActivityDate>
<AcctStatus>1</AcctStatus>
<KICode>A</KICode>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags>W</WarnFlags>
<OtherFlags>O</OtherFlags>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt>0000000000.00</YTDInt>
<PrevYearYTDInt>0000000000.00</PrevYearYTDInt>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag>0</EmpFlag>
<TransferFlag>1</TransferFlag>
<RegDLimitFlag>0</RegDLimitFlag>
<PendVBTPTransferFlag/>
<LastStmtDate>033117</LastStmtDate>
<MultipleSig>0</MultipleSig>
<OrigBranch>022</OrigBranch>
<DirectDepositFlag/>
<TranAcctInd>1</TranAcctInd>
<RetirementFlag/>
<CompoundedInt/>
<LastDepositAmt>0000000100.00</LastDepositAmt>
<LastDepositDate>032817</LastDepositDate>
<LastIntAmt>0000000000.00</LastIntAmt>
<LastIntDate>000000</LastIntDate>
<UnColAmt1Day>0000000000.00</UnColAmt1Day>
<UnColAmtRemain>0000000000.00</UnColAmtRemain>
<NbrClearChecks>0000</NbrClearChecks>
<YTDIntPenalty/>
<PrevYearYTDIntPenalty/>
<AvailBal>0000000000.00</AvailBal>
<PINOffset>000000</PINOffset>
<PrevStmtDate>022817</PrevStmtDate>
<GraceDays/>
<MinReqBal/>
<NbrTranPOS>000</NbrTranPOS>
<NbrPreAuthTfr>00</NbrPreAuthTfr>
<NbrClrCheck>0000</NbrClrCheck>
<ATMODInd>1</ATMODInd>
<ATMODConfirmDate>050416</ATMODConfirmDate>
<ATMODPostDate>050416</ATMODPostDate>
<DBCODInd>1</DBCODInd>
<DBCODConfirmDate>050416</DBCODConfirmDate>
<DBCODPostDate>050416</DBCODPostDate>
<AcctClass>00</AcctClass>
<APYCalc>00.000</APYCalc>
<APYECalc>00.000</APYECalc>
<LastStmtBal>0000000100.04</LastStmtBal>
<RetPlanNbr/>
</Account>
<Account>
<ApplCode>ND</ApplCode>
<AcctNbr>000700051000</AcctNbr>
<RelCode>PRI</RelCode>
<AcctType>10</AcctType>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal>0000000004.21</AcctBal>
<AvailBal>0000000004.21</AvailBal>
<IntRate>000.00000</IntRate>
<MaturityDate/>
<LastActivityDate>112216</LastActivityDate>
<AcctStatus>1</AcctStatus>
<KICode>A</KICode>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags>W</WarnFlags>
<OtherFlags>O</OtherFlags>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt>0000000000.00</YTDInt>
<PrevYearYTDInt>0000000000.00</PrevYearYTDInt>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag>0</EmpFlag>
<TransferFlag>1</TransferFlag>
<RegDLimitFlag>0</RegDLimitFlag>
<PendVBTPTransferFlag/>
<LastStmtDate>033117</LastStmtDate>
<MultipleSig>0</MultipleSig>
<OrigBranch>022</OrigBranch>
<DirectDepositFlag/>
<TranAcctInd>1</TranAcctInd>
<RetirementFlag/>
<CompoundedInt/>
<LastDepositAmt>0000000000.01</LastDepositAmt>
<LastDepositDate>112216</LastDepositDate>
<LastIntAmt>0000000000.00</LastIntAmt>
<LastIntDate>000000</LastIntDate>
<UnColAmt1Day>0000000000.00</UnColAmt1Day>
<UnColAmtRemain>0000000000.00</UnColAmtRemain>
<NbrClearChecks>0000</NbrClearChecks>
<YTDIntPenalty/>
<PrevYearYTDIntPenalty/>
<AvailBal>0000000000.00</AvailBal>
<PINOffset>000000</PINOffset>
<PrevStmtDate>022817</PrevStmtDate>
<GraceDays/>
<MinReqBal/>
<NbrTranPOS>000</NbrTranPOS>
<NbrPreAuthTfr>00</NbrPreAuthTfr>
<NbrClrCheck>0000</NbrClrCheck>
<ATMODInd>0</ATMODInd>
<ATMODConfirmDate>000000</ATMODConfirmDate>
<ATMODPostDate>101712</ATMODPostDate>
<DBCODInd>0</DBCODInd>
<DBCODConfirmDate>000000</DBCODConfirmDate>
<DBCODPostDate>101712</DBCODPostDate>
<AcctClass>00</AcctClass>
<APYCalc>00.000</APYCalc>
<APYECalc>00.000</APYECalc>
<LastStmtBal>0000000004.21</LastStmtBal>
<RetPlanNbr/>
</Account>
<Account>
<ApplCode>ML</ApplCode>
<AcctNbr>000501700016</AcctNbr>
<RelCode>SOL</RelCode>
<AcctType>20</AcctType>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal>0000199033.27</AcctBal>
<AvailBal>0000000000.00</AvailBal>
<IntRate>000.04375</IntRate>
<MaturityDate>020148</MaturityDate>
<LastActivityDate>033117</LastActivityDate>
<AcctStatus>1</AcctStatus>
<KICode>S</KICode>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags>W</WarnFlags>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt>0000000968.89</YTDInt>
<PrevYearYTDInt>0000000000.00</PrevYearYTDInt>
<YTDTax>0000000000.00</YTDTax>
<PrevYearYTDTax>0000000000.00</PrevYearYTDTax>
<EmpFlag>0</EmpFlag>
<TransferFlag/>
<RegDLimitFlag/>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig/>
<OrigBranch>001</OrigBranch>
<RegularPayment>0000001069.40</RegularPayment>
<PaymentMethod>C</PaymentMethod>
<SkipPayment>N</SkipPayment>
<PaymentTypeFlag>0</PaymentTypeFlag>
<IntMethodFlag>1</IntMethodFlag>
<LastTranAmt>0000002000.00</LastTranAmt>
<LastMonetaryTranDate>033117</LastMonetaryTranDate>
<LastPayAmt>0000002000.00</LastPayAmt>
<LastPayDate>033117</LastPayDate>
<PayDueDate>040117</PayDueDate>
<CollectionsFlag/>
<LoanOrigDate>021017</LoanOrigDate>
<LoanMatDate>020148</LoanMatDate>
<LoanAmtDue>0000001069.40</LoanAmtDue>
<LateDays>15</LateDays>
<RunDateDueDateDiff>0012</RunDateDueDateDiff>
<EscrowBal>0000001283.34</EscrowBal>
<AccruInt/>
<AccruIntDate/>
<PaymentTypeFlag2>0</PaymentTypeFlag2>
<CreditLimitamt/>
<OverlineAmt/>
<MinDrawAmt/>
<UsedBalAmt/>
<PrinBal>0000199033.27</PrinBal>
<LateChgDue/>
<LastDisbDate/>
<DisbAmtTotal/>
</Account>
<Account>
<ApplCode>ER</ApplCode>
<AcctNbr/>
<RelCode>SOL</RelCode>
<AcctType/>
<AudioAccess>3</AudioAccess>
<RIBAccess>3</RIBAccess>
<CIBAccess>3</CIBAccess>
<AcctBal/>
<AvailBal>0000000200.00</AvailBal>
<IntRate/>
<MaturityDate/>
<LastActivityDate/>
<AcctStatus>1</AcctStatus>
<KICode/>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags/>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt/>
<PrevYearYTDInt/>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag/>
<TransferFlag/>
<RegDLimitFlag/>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig/>
<OrigBranch/>
<AcctNbr>4156860010067321</AcctNbr>
<ERAcctNbr>4156860010067321</ERAcctNbr>
<SvcNbr>997</SvcNbr>
<ProdType>03</ProdType>
<ProdDesc>VISA PLATINUM A4156860010067321</ProdDesc>
<MinPaymentDue>0000000000.00</MinPaymentDue>
<CreditLimit>0000200</CreditLimit>
<AcctBal>0000000000.00</AcctBal>
<ERAcctBal>0000000000.00</ERAcctBal>
<Memo/>
<Rate2>00000.0000000</Rate2>
<LastUpdtdate>000020116</LastUpdtdate>
<ERCode1/>
<ERAgent>00000</ERAgent>
<PaymentDueDate>020317</PaymentDueDate>
<LastPaymentAmt>00000001.00</LastPaymentAmt>
<LastPaymentDate>020116</LastPaymentDate>
<ExpDate>123112</ExpDate>
<AmtPastDue/>
<PastDueDate/>
<CorpCardHolderName/>
</Account>
<Account>
<ApplCode>EC</ApplCode>
<AcctNbr>999999999999</AcctNbr>
<RelCode/>
<AcctType/>
<AudioAccess/>
<RIBAccess/>
<CIBAccess/>
<AcctBal/>
<AvailBal/>
<IntRate/>
<MaturityDate/>
<LastActivityDate/>
<AcctStatus/>
<KICode/>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags/>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt/>
<PrevYearYTDInt/>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag/>
<TransferFlag/>
<RegDLimitFlag/>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig/>
<OrigBranch/>
<ApplCode>00</ApplCode>
<AcctNbr>000000000000</AcctNbr>
<ECApplCode>00</ECApplCode>
<ECAcctNbr>000000000000</ECAcctNbr>
<CardType>01</CardType>
<CardClass>01</CardClass>
<ProdCode>20</ProdCode>
<ExpDate>1504</ExpDate>
<LastUsed>000000</LastUsed>
<LastFM>061715</LastFM>
<LastOrder>000000</LastOrder>
<StatusInd>L</StatusInd>
<FlagHotDate>052213</FlagHotDate>
<RestCode>0</RestCode>
<PriAcctNbr>4399110901247369 009</PriAcctNbr>
<EffDate>1305</EffDate>
</Account>
<Account>
<ApplCode>EC</ApplCode>
<AcctNbr>999999999999</AcctNbr>
<RelCode/>
<AcctType/>
<AudioAccess/>
<RIBAccess/>
<CIBAccess/>
<AcctBal/>
<AvailBal/>
<IntRate/>
<MaturityDate/>
<LastActivityDate/>
<AcctStatus/>
<KICode/>
<AltNameAddr/>
<MailCode/>
<LockFlags/>
<WarnFlags/>
<OtherFlags/>
<TransferReceiptFlag/>
<TransferDonorFlag/>
<AcctDesc/>
<YTDInt/>
<PrevYearYTDInt/>
<YTDTax/>
<PrevYearYTDTax/>
<EmpFlag/>
<TransferFlag/>
<RegDLimitFlag/>
<PendVBTPTransferFlag/>
<LastStmtDate/>
<MultipleSig/>
<OrigBranch/>
<ApplCode>10</ApplCode>
<AcctNbr>000700050700</AcctNbr>
<ECApplCode>10</ECApplCode>
<ECAcctNbr>000700050700</ECAcctNbr>
<CardType>01</CardType>
<CardClass>01</CardClass>
<ProdCode>20</ProdCode>
<ExpDate>1807</ExpDate>
<LastUsed>051116</LastUsed>
<LastFM>012717</LastFM>
<LastOrder>080316</LastOrder>
<StatusInd/>
<FlagHotDate>000000</FlagHotDate>
<RestCode>0</RestCode>
<PriAcctNbr>4399110901641710 000</PriAcctNbr>
<EffDate>1608</EffDate>
</Account>
</Accounts>
<AcctTitles>
<Title>
<AcctTitle/>
</Title>
<Title>
<AcctTitle/>
</Title>
<Title>
<AcctTitle/>
</Title>
<Title>
<AcctTitle/>
</Title>
<Title>
<AcctTitle/>
</Title>
<Title>
<AcctTitle>3939 Yorkshire Ct.</AcctTitle>
</Title>
<Title>
<AcctTitle>T,UFCU</AcctTitle>
</Title>
<Title>
<AcctTitle>TEST,UFCU</AcctTitle>
</Title>
</AcctTitles>
</VBTPReply>
""".format(
customer_cif=data_helpers.CUSTOMER_CIF,
last_name=data_helpers.LASTNAME,
first_name=data_helpers.FIRSTNAME,
middle_name=data_helpers.MIDDLENAME,
address_1=data_helpers.ADDRESS1,
city=data_helpers.CITY,
state_abbrev=data_helpers.STATEABBRV,
zipcode=data_helpers.ZIP,
work_phone=data_helpers.WORKPHONE,
work_phone_ext=data_helpers.WORKEXTENSION,
home_phone=data_helpers.HOMEPHONE,
cell_phone=data_helpers.CELLPHONE,
email=data_helpers.EMAIL,
social_security_number=data_helpers.SOCIALSECURITY,
dob=parser.parse(data_helpers.DOB).strftime("%Y%m%d"),
drivers_license_exp=data_helpers.DRIVERSLICENSEEXP,
drivers_license_state=data_helpers.DRIVERSLICENSESTATEABBREV,
drivers_license_num=data_helpers.DRIVERSLICENSENUM,
)
return data_helpers.normalize_xml_str(response)