3497 lines
138 KiB
DTD
3497 lines
138 KiB
DTD
<!DOCTYPE OFX [
|
|
|
|
<!--#version 160 -->
|
|
|
|
<!--
|
|
$Revision: 1.2 $
|
|
$Date: 2003-02-11 22:17:31 $
|
|
|
|
Open Financial Exchange DTD
|
|
Copyright 1997, 1998, 1999 CheckFree Corp., Intuit Inc., Microsoft Corp.
|
|
All rights reserved
|
|
|
|
-->
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- ENTITIES - Extensions
|
|
This entity allows users of this DTD to add new message sets
|
|
to the DTD.
|
|
|
|
Note: Since these entities are currently empty placeholders, they appear
|
|
at the end of lists without a preceding comma or vertical bar. Once these
|
|
entities assume real values, a comma or vertical bar should be added
|
|
before each occurrence in a list.
|
|
In particular, new message set request and response aggregates should be
|
|
separated and preceded by a comma and must be optional (followed by a
|
|
question mark).
|
|
New message set profile aggregates should be separated and preceded by
|
|
vertical bars.
|
|
|
|
-->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Add extra xxxMSGSETRQVn here -->
|
|
<!ENTITY % EXTRARQMSGSETS "">
|
|
|
|
<!-- Add extra xxxMSGSETRSVn here -->
|
|
<!ENTITY % EXTRARSMSGSETS "">
|
|
|
|
<!-- Add extra XXXMSGSET here -->
|
|
<!ENTITY % EXTRAMSGSETS "">
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- ENTITIES - types
|
|
This section defines entities as 'types' for all
|
|
primitive element values. This is the only place
|
|
that #PCDATA and #Datatype should appear.
|
|
-->
|
|
<!-- ============================================================================= -->
|
|
|
|
|
|
<!-- Server ID : encoding for <TOKEN>s, <SERVERTID>s, etc -->
|
|
<!ENTITY % SRVRIDTYPE "(#PCDATA)" >
|
|
<!--#ENTITY % SRVRIDTYPE #Datatype(A-10)-->
|
|
|
|
<!-- UUID : a universal ID , up to 36 char hexadecimal -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- Also encoding for <TOKEN2>s, <SERVERTID2>s, etc -->
|
|
<!ENTITY % UUIDTYPE "(#PCDATA)" >
|
|
<!--#ENTITY % UUIDTYPE #Datatype(A-36)-->
|
|
|
|
<!-- Single character data -->
|
|
<!ENTITY % CHARTYPE "(#PCDATA)">
|
|
<!--#ENTITY % CHARTYPE #Datatype(A-1)-->
|
|
|
|
<!-- URL -->
|
|
<!ENTITY % URLTYPE "(#PCDATA)">
|
|
<!--#ENTITY % URLTYPE #Datatype(A-255)-->
|
|
|
|
<!-- URL2 was added to OFX 1.5 to handle longer URLs -->
|
|
<!ENTITY % URL2TYPE "(#PCDATA)">
|
|
<!--#ENTITY % URL2TYPE #Datatype(A-1024)-->
|
|
|
|
<!-- Integer -->
|
|
<!ENTITY % INTTYPE "(#PCDATA)">
|
|
<!--#ENTITY % INTTYPE #Datatype(I-4)-->
|
|
|
|
<!-- Rate, percentage -->
|
|
<!ENTITY % RATETYPE "(#PCDATA)">
|
|
<!--#ENTITY % RATETYPE #DataType(N-32)-->
|
|
|
|
<!-- Current Amount: Used for specifying an amount.
|
|
may be signed; comma or period for decimal point
|
|
-->
|
|
<!ENTITY % AMTTYPE "(#PCDATA)">
|
|
<!--#ENTITY % AMTTYPE #DataType(N-32)-->
|
|
|
|
<!-- Date and Time: Used for specifying
|
|
the date and time. All date-time pairs
|
|
are based on local time of the server or client.
|
|
-->
|
|
<!ENTITY % DTTMTYPE "(#PCDATA)">
|
|
<!--#ENTITY % DTTMTYPE #DataType(DATE)-->
|
|
|
|
<!-- Datatype with time only, no date -->
|
|
<!ENTITY % TMTYPE "(#PCDATA)">
|
|
<!--#ENTITY % TMTYPE #DataType(TIME)-->
|
|
|
|
<!-- Boolean : Y/N -->
|
|
<!ENTITY % BOOLTYPE "(#PCDATA)">
|
|
<!--#ENTITY % BOOLTYPE #DataType(BOOL)-->
|
|
|
|
<!-- a general purpose identifier type -->
|
|
<!ENTITY % IDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % IDTYPE #DataType(A-32)-->
|
|
|
|
<!-- a general purpose name type -->
|
|
<!ENTITY % GENNAMETYPE "(#PCDATA)">
|
|
<!--#ENTITY % GENNAMETYPE #DataType(A-32)-->
|
|
|
|
<!-- Profile data types brought from MIFST 1.0 -->
|
|
<!ENTITY % EMPTYTYPE "(#PCDATA)">
|
|
<!--#ENTITY % EMPTYTYPE #DataType(A0-0)-->
|
|
<!ENTITY % STATETYPE "(#PCDATA)">
|
|
<!--#ENTITY % STATETYPE #DataType(A-5)-->
|
|
<!ENTITY % APPIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % APPIDTYPE #DataType(A-5)-->
|
|
<!ENTITY % BANKIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % BANKIDTYPE #DataType(A-9)-->
|
|
<!ENTITY % RATINGTYPE "(#PCDATA)">
|
|
<!--#ENTITY % RATINGTYPE #DataType(A-10)-->
|
|
<!ENTITY % COUNTRYTYPE "(#PCDATA)">
|
|
<!--#ENTITY % COUNTRYTYPE #DataType(A-3)-->
|
|
<!ENTITY % ZIPTYPE "(#PCDATA)">
|
|
<!--#ENTITY % ZIPTYPE #DataType(A-11)-->
|
|
<!ENTITY % PAYEEIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % PAYEEIDTYPE #DataType(A-12)-->
|
|
<!ENTITY % CHECKNUMTYPE "(#PCDATA)">
|
|
<!--#ENTITY % CHECKNUMTYPE #DataType(A-12)-->
|
|
<!ENTITY % NONCETYPE "(#PCDATA)">
|
|
<!--#ENTITY % NONCETYPE #DataType(A-16)-->
|
|
<!ENTITY % BROKERIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % BROKERIDTYPE #DataType(A-22)-->
|
|
<!ENTITY % ACCTIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % ACCTIDTYPE #DataType(A-22)-->
|
|
<!ENTITY % TICKERTYPE "(#PCDATA)">
|
|
<!--#ENTITY % TICKERTYPE #DataType(A-32)-->
|
|
<!ENTITY % FIIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % FIIDTYPE #DataType(A-32)-->
|
|
<!ENTITY % TYPEDESCTYPE "(#PCDATA)">
|
|
<!--#ENTITY % TYPEDESCTYPE #DataType(A-32)-->
|
|
<!ENTITY % PHONETYPE "(#PCDATA)">
|
|
<!--#ENTITY % PHONETYPE #DataType(A-32)-->
|
|
<!ENTITY % ADDRESSTYPE "(#PCDATA)">
|
|
<!--#ENTITY % ADDRESSTYPE #DataType(A-32)-->
|
|
<!ENTITY % OPTIONLEVELTYPE "(#PCDATA)">
|
|
<!--#ENTITY % OPTIONLEVELTYPE #DataType(A-40)-->
|
|
<!ENTITY % SUBJECTTYPE "(#PCDATA)">
|
|
<!--#ENTITY % SUBJECTTYPE #DataType(A-60)-->
|
|
<!ENTITY % FICERTIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % FICERTIDTYPE #DataType(A-64)-->
|
|
<!ENTITY % USERKEYTYPE "(#PCDATA)">
|
|
<!--#ENTITY % USERKEYTYPE #DataType(A-64)-->
|
|
<!ENTITY % SHORTMSGTYPE "(#PCDATA)">
|
|
<!--#ENTITY % SHORTMSGTYPE #DataType(A-80)-->
|
|
<!ENTITY % SECNAMETYPE "(#PCDATA)">
|
|
<!--#ENTITY % SECNAMETYPE #DataType(A-120)-->
|
|
<!ENTITY % PASSWORDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % PASSWORDTYPE #DataType(A-171)-->
|
|
<!ENTITY % FITIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % FITIDTYPE #DataType(A-255)-->
|
|
<!ENTITY % MSGTYPE "(#PCDATA)">
|
|
<!--#ENTITY % MSGTYPE #DataType(A-255)-->
|
|
<!ENTITY % LONGMSGTYPE "(#PCDATA)">
|
|
<!--#ENTITY % LONGMSGTYPE #DataType(A-2000)-->
|
|
<!ENTITY % MEMO2TYPE "(#PCDATA)">
|
|
<!--#ENTITY % MEMO2TYPE #DataType(A-390)-->
|
|
<!ENTITY % INFOTYPE "(#PCDATA)">
|
|
<!--#ENTITY % INFOTYPE #DataType(A-360)-->
|
|
<!ENTITY % SESSCOOKIETYPE "(#PCDATA)">
|
|
<!--#ENTITY % SESSCOOKIETYPE #DataType(A-1000)-->
|
|
<!ENTITY % MSGBODYTYPE "(#PCDATA)">
|
|
<!--#ENTITY % MSGBODYTYPE #DataType(R-10000)-->
|
|
<!ENTITY % INVNOTYPE "(#PCDATA)">
|
|
<!--#ENTITY % INVNOTYPE #DataType(A-32)-->
|
|
<!ENTITY % NINSTSTYPE "(#PCDATA)">
|
|
<!--#ENTITY % NINSTSTYPE #DataType(I-3)-->
|
|
<!ENTITY % TEMPPASSTYPE "(#PCDATA)">
|
|
<!--#ENTITY % TEMPPASSTYPE #DataType(A-32)-->
|
|
<!ENTITY % DAYSPANTYPE "(#PCDATA)">
|
|
<!--#ENTITY % DAYSPANTYPE #DataType(I-3)-->
|
|
<!ENTITY % REFNUMTYPE "(#PCDATA)">
|
|
<!--#ENTITY % REFNUMTYPE #DataType(A-32)-->
|
|
<!ENTITY % MAXMINTYPE "(#PCDATA)">
|
|
<!--#ENTITY % MAXMINTYPE #DataType(I-2)-->
|
|
<!ENTITY % VERTYPE "(#PCDATA)">
|
|
<!--#ENTITY % VERTYPE #DataType(I-5)-->
|
|
<!ENTITY % SHARESPERTYPE "(#PCDATA)">
|
|
<!--#ENTITY % SHARESPERTYPE #DataType(I-5)-->
|
|
<!ENTITY % ERRORTYPE "(#PCDATA)">
|
|
<!--#ENTITY % ERRORTYPE #DataType(I-6)-->
|
|
<!ENTITY % SICTYPE "(#PCDATA)">
|
|
<!--#ENTITY % SICTYPE #DataType(I-6)-->
|
|
<!ENTITY % CUSIPTYPE "(#PCDATA)">
|
|
<!--#ENTITY % CUSIPTYPE #DataType(A-32)-->
|
|
<!ENTITY % EXTTYPE "(#PCDATA)">
|
|
<!--#ENTITY % EXTTYPE #DataType(I-10)-->
|
|
<!ENTITY % BILLREFINFOTYPE "(#PCDATA)">
|
|
<!--#ENTITY % BILLREFINFOTYPE #DataType(A-80)-->
|
|
<!ENTITY % BOOKINGTEXTTYPE "(#PCDATA)">
|
|
<!--#ENTITY % BOOKINGTEXTTYPE #DataType(A-40)-->
|
|
<!ENTITY % NAMEACCTHELDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % NAMEACCTHELDTYPE #DataType(A-96)-->
|
|
<!ENTITY % COLUMNTYPE "(#PCDATA)">
|
|
<!--#ENTITY % COLUMNTYPE #DataType(A-8)-->
|
|
<!ENTITY % TANTYPE "(#PCDATA)">
|
|
<!--#ENTITY % TANTYPE #DataType(A-80)-->
|
|
<!ENTITY % SECUIDTYPE "(#PCDATA)">
|
|
<!--#ENTITY % SECUIDTYPE #DataType(A-10)-->
|
|
<!ENTITY % EXTDPMTDSC2TYPE "(#PCDATA)">
|
|
<!--#ENTITY % EXTDPMTDSC2TYPE #DataType(A-1280)-->
|
|
|
|
<!-- Country-specific data types follow -->
|
|
|
|
<!ENTITY % ITACAUSALETYPE "(#PCDATA)">
|
|
<!--#ENTITY % ITACAUSALETYPE #DataType(I-2)-->
|
|
|
|
|
|
<!-- Enumerated data types follow-->
|
|
|
|
<!ENTITY % ASSETCLASSENUM "(#PCDATA)">
|
|
<!--#ENTITY % ASSETCLASSENUM #Enum("DOMESTICBOND", "INTLBOND","LARGESTOCK","SMALLSTOCK",
|
|
"INTLSTOCK","MONEYMRKT","OTHER")-->
|
|
<!ENTITY % CALLTYPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % CALLTYPEENUM #Enum("CALL", "PUT","PREFUND","MATURITY")-->
|
|
<!ENTITY % STOCKENUM "(#PCDATA)">
|
|
<!--#ENTITY % STOCKENUM #Enum("COMMON", "PREFERRED","CONVERTIBLE","OTHER")-->
|
|
<!ENTITY % BUYENUM "(#PCDATA)">
|
|
<!--#ENTITY % BUYENUM #Enum("BUY", "BUYTOCOVER")-->
|
|
<!ENTITY % INCOMEENUM "(#PCDATA)">
|
|
<!--#ENTITY % INCOMEENUM #Enum("CGLONG", "CGSHORT","DIV","INTEREST", "MISC")-->
|
|
<!ENTITY % OPTACTIONENUM "(#PCDATA)">
|
|
<!--#ENTITY % OPTACTIONENUM #Enum("EXERCISE", "ASSIGN","EXPIRE")-->
|
|
<!ENTITY % OPTBUYENUM "(#PCDATA)">
|
|
<!--#ENTITY % OPTBUYENUM #Enum("BUYTOOPEN", "BUYTOCLOSE")-->
|
|
<!ENTITY % OPTSELLENUM "(#PCDATA)">
|
|
<!--#ENTITY % OPTSELLENUM #Enum("SELLTOOPEN", "SELLTOCLOSE")-->
|
|
<!ENTITY % POSTYPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % POSTYPEENUM #Enum("LONG", "SHORT")-->
|
|
<!ENTITY % RELATEDENUM "(#PCDATA)">
|
|
<!--#ENTITY % RELATEDENUM #Enum("SPREAD", "STRADDLE","NONE","OTHER")-->
|
|
<!ENTITY % SECUREDENUM "(#PCDATA)">
|
|
<!--#ENTITY % SECUREDENUM #Enum("NAKED", "COVERED")-->
|
|
<!ENTITY % SELLREASONENUM "(#PCDATA)">
|
|
<!--#ENTITY % SELLREASONENUM #Enum("CALL", "MATURITY", "SELL")-->
|
|
<!ENTITY % SELLTYPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % SELLTYPEENUM #Enum("SELL", "SELLSHORT")-->
|
|
<!ENTITY % DURATIONENUM "(#PCDATA)">
|
|
<!--#ENTITY % DURATIONENUM #Enum("DAY", "GOODTILCANCEL","IMMEDIATE")-->
|
|
<!ENTITY % RESTRICTIONENUM "(#PCDATA)">
|
|
<!--#ENTITY % RESTRICTIONENUM #Enum("ALLORNONE", "MINUNITS","NONE")-->
|
|
<!ENTITY % INOUTENUM "(#PCDATA)">
|
|
<!--#ENTITY % INOUTENUM #Enum("IN", "OUT")-->
|
|
<!ENTITY % UNITTYPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % UNITTYPEENUM #Enum("SHARES", "CURRENCY")-->
|
|
<!ENTITY % SUBACCTENUM "(#PCDATA)">
|
|
<!--#ENTITY % SUBACCTENUM #Enum("CASH", "MARGIN","SHORT","OTHER")-->
|
|
<!ENTITY % OPTTYPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % OPTTYPEENUM #Enum("CALL", "PUT")-->
|
|
<!ENTITY % MFTENUM "(#PCDATA)">
|
|
<!--#ENTITY % MFTENUM #Enum("OPENEND", "CLOSEEND","OTHER")-->
|
|
<!ENTITY % DEBTENUM "(#PCDATA)">
|
|
<!--#ENTITY % DEBTENUM #Enum("COUPON","ZERO")-->
|
|
<!ENTITY % DEBTCLASSENUM "(#PCDATA)">
|
|
<!--#ENTITY % DEBTCLASSENUM #Enum("TREASURY", "MUNICIPAL","CORPORATE","OTHER")-->
|
|
<!ENTITY % EXTDPMTFORENUM "(#PCDATA)">
|
|
<!--#ENTITY % EXTDPMTFORENUM #Enum("INDIVIDUAL","BUSINESS")-->
|
|
<!ENTITY % COUPONFREQENUM "(#PCDATA)">
|
|
<!--#ENTITY % COUPONFREQENUM #Enum("MONTHLY","QUARTERLY","SEMIANNUALLY","ANUALLY","OTHER")-->
|
|
<!ENTITY % CHARTYPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % CHARTYPEENUM #Enum("ALPHAONLY","NUMERICONLY","ALPHAORNUMERIC","ALPHAANDNUMERIC")-->
|
|
<!ENTITY % BALANCEENUM "(#PCDATA)">
|
|
<!--#ENTITY % BALANCEENUM #Enum("DOLLAR","PERCENT","NUMBER")-->
|
|
<!ENTITY % ACCOUNTENUM "(#PCDATA)">
|
|
<!--#ENTITY % ACCOUNTENUM #Enum("CHECKING","SAVINGS","MONEYMRKT","CREDITLINE")-->
|
|
<!ENTITY % ACCOUNTENUM2 "(#PCDATA)">
|
|
<!--#ENTITY % ACCOUNTENUM2 #Enum("CHECKING","SAVINGS","MONEYMRKT","CREDITLINE","CMA")-->
|
|
<!ENTITY % FREQENUM "(#PCDATA)">
|
|
<!--#ENTITY % FREQENUM #Enum("WEEKLY","BIWEEKLY","TWICEMONTHLY","MONTHLY","FOURWEEKS","BIMONTHLY",
|
|
"QUARTERLY","SEMIANNUALLY","TRIANNUALLY","ANUALLY")-->
|
|
<!ENTITY % DAYSENUM "(#PCDATA)">
|
|
<!--#ENTITY % DAYSENUM #Enum("MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY",
|
|
"SATURDAY","SUNDAY")-->
|
|
<!ENTITY % CLIENTROUTINGENUM "(#PCDATA)">
|
|
<!--#ENTITY % CLIENTROUTINGENUM #Enum("NONE","SERVICE","MSGSET")-->
|
|
<!ENTITY % XFERSTATUSENUM "(#PCDATA)">
|
|
<!--#ENTITY % XFERSTATUSENUM #Enum("WILLPROCESSON","POSTEDON","NOFUNDSON", "CANCELEDON", "FAILEDON")-->
|
|
<!ENTITY % TRANSACTIONENUM "(#PCDATA)">
|
|
<!--#ENTITY % TRANSACTIONENUM #Enum("CREDIT","DEBIT","INT","DIV","FEE","SRVCHG","DEP","ATM",
|
|
"POS","XFER","CHECK","PAYMENT","CASH","DIRECTDEP","DIRECTDEBIT",
|
|
"REPEATPMT","OTHER")-->
|
|
<!ENTITY % PMTPROCESSSTATUSENUM "(#PCDATA)">
|
|
<!--#ENTITY % PMTPROCESSSTATUSENUM #Enum("WILLPROCESSON","PROCESSEDON","NOFUNDSON","FAILEDON",
|
|
"CANCELEDON")-->
|
|
<!ENTITY % USPRODUCTENUM "(#PCDATA)">
|
|
<!--#ENTITY % USPRODUCTENUM #Enum("401K","403B","IRA","KEOGH","OTHER","SARSEP","SIMPLE","NORMAL",
|
|
"TDA","TRUST","UGMA")-->
|
|
<!ENTITY % SEVERITYENUM "(#PCDATA)">
|
|
<!--#ENTITY % SEVERITYENUM #Enum("INFO","WARN","ERROR")-->
|
|
<!ENTITY % SECURITYENUM "(#PCDATA)">
|
|
<!--#ENTITY % SECURITYENUM #Enum("NONE","TYPE1")-->
|
|
<!ENTITY % SYNCENUM "(#PCDATA)">
|
|
<!--#ENTITY % SYNCENUM #Enum("FULL","LITE")-->
|
|
<!ENTITY % SERVICESTATUSENUM "(#PCDATA)">
|
|
<!--#ENTITY % SERVICESTATUSENUM #Enum("AVAIL","PEND", "ACTIVE")-->
|
|
<!ENTITY % SERVICESTATUS2ENUM "(#PCDATA)">
|
|
<!--#ENTITY % SERVICESTATUS2ENUM #Enum("AVAIL","PEND", "ACTIVE", "REJECTED")-->
|
|
<!ENTITY % SERVICEENUM "(#PCDATA)">
|
|
<!--#ENTITY % SERVICEENUM #Enum("BANKSVC","BPSVC", "INVSVC")-->
|
|
<!ENTITY % SERVICEENUM2 "(#PCDATA)">
|
|
<!--#ENTITY % SERVICEENUM2 #Enum("BANKSVC","BPSVC", "INVSVC", "PRESSVC")-->
|
|
<!ENTITY % CORRECTIVEACTENUM "(#PCDATA)">
|
|
<!--#ENTITY % CORRECTIVEACTENUM #Enum("REPLACE","DELETE")-->
|
|
<!ENTITY % CHECKSTATUSENUM "(#PCDATA)">
|
|
<!--#ENTITY % CHECKSTATUSENUM #Enum("0","1","100","101")-->
|
|
<!ENTITY % IDSCOPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % IDSCOPEENUM #Enum("GLOBAL","USER")-->
|
|
<!ENTITY % INVESTMENTACCOUNTENUM "(#PCDATA)">
|
|
<!--#ENTITY % INVESTMENTACCOUNTENUM #Enum("INDIVIDUAL","JOINT", "TRUST", "CORPORATE")-->
|
|
<!ENTITY % PWTYPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % PWTYPEENUM #Enum("FIXED","ONETIME","HWTOKEN")-->
|
|
<!ENTITY % PMTINSTRUMENTENUM "(#PCDATA)">
|
|
<!--#ENTITY % PMTINSTRUMENTENUM #Enum("CONCENTRATOR","CHECKINGACCOUNT","CREDITCARD","ECOIN")-->
|
|
|
|
<!ENTITY % LANGUAGEENUM "(#PCDATA)">
|
|
<!--#ENTITY % LANGUAGEENUM #Enum("AAR","ABK","ACE","ACH","ADA","AFA","AFH","AFR",
|
|
"AJM","AKA","AKK","ALB","ALE","ALG","AMH","ANG",
|
|
"APA","ARA","ARC","ARM","ARN","ARP","ART","ARW",
|
|
"ASM","ATH","AVA","AVE","AWA","AYM","AZE","BAD",
|
|
"BAI","BAK","BAL","BAM","BAN","BAQ","BAS","BAT",
|
|
"BEJ","BEL","BEM","BEN","BER","BHO","BIH","BIK",
|
|
"BIN","BIS","BLA","BOD","BRA","BRE","BUG","BUL",
|
|
"BUR","CAD","CAI","CAR","CAT","CAU","CEB","CEL",
|
|
"CES","CHA","CHB","CHE","CHG","CHI","CHN","CHO",
|
|
"CHR","CHU","CHV","CHY","COP","COR","COS","CPE",
|
|
"CPF","CPP","CRE","CRP","CUS","CYM","CZE","DAK",
|
|
"DAN","DEL","DEU","DIN","DOI","DRA","DUA","DUM",
|
|
"DUT","DYU","DZO","EFI","EGY","EKA","ELL","ELX",
|
|
"ENG","ENM","EPO","ESK","ESL","EST","ETH","EUS",
|
|
"EWE","EWO","FAN","FAO","FAS","FAT","FIJ","FIN",
|
|
"FIU","FON","FRA","FRE","FRM","FRO","FRY","FUL",
|
|
"GAA","GAE","GAI","GAY","GDH","GEM","GEO","GER",
|
|
"GIL","GLG","GMH","GOH","GON","GOT","GRB","GRC",
|
|
"GRE","GRN","GUJ","HAI","HAU","HAW","HEB","HER",
|
|
"HIL","HIM","HIN","HMO","HUN","HUP","HYE","IBA",
|
|
"IBO","ICE","IJO","IKU","ILE","ILO","INA","INC",
|
|
"IND","INE","IPK","IRA","IRI","IRO","ISL","ITA",
|
|
"JAV","JAW","JPN","JPR","JRB","KAA","KAB","KAC",
|
|
"KAL","KAM","KAN","KAR","KAS","KAT","KAU","KAW",
|
|
"KAZ","KHA","KHI","KHM","KHO","KIK","KIN","KIR",
|
|
"KOK","KON","KOR","KPE","KRO","KRU","KUA","KUR",
|
|
"KUS","KUT","LAD","LAH","LAM","LAO","LAP","LAT",
|
|
"LAV","LIN","LIT","LOL","LOZ","LUB","LUG","LUI",
|
|
"LUN","LUO","MAC","MAD","MAG","MAH","MAI","MAK",
|
|
"MAL","MAN","MAO","MAP","MAR","MAS","MAX","MAY",
|
|
"MEN","MIC","MIN","MIS","MKE","MKH","MLG","MLT",
|
|
"MNI","MNO","MOH","MOL","MON","MOS","MRI","MSA",
|
|
"MUL","MUN","MUS","MWR","MYA","MYN","NAH","NAI",
|
|
"NAU","NAV","NDE","NLD","NDO","NEP","NEW","NIC",
|
|
"NIU","NON","NOR","NSO","NUB","NYA","NYM","NYN",
|
|
"NYO","NZI","OCI","OJI","ORI","ORM","OSA","OSS",
|
|
"OTA","OTO","PAA","PAG","PAL","PAM","PAN","PAP",
|
|
"PAU","PEO","PER","PLI","POL","PON","POR","PRA",
|
|
"PRO","PUS","QUE","RAJ","RAR","ROA","ROH","ROM",
|
|
"RON","RUM","RUN","RUS","SAD","SAG","SAI","SAL",
|
|
"SAM","SAN","SCO","SCR","SEL","SEM","SHN","SID",
|
|
"SIN","SIO","SIT","SLA","SLK","SLO","SLV","SMO",
|
|
"SNA","SND","SOG","SOM","SON","SOT","SPA","SQI",
|
|
"SRR","SSA","SSW","SUK","SUN","SUS","SUX","SVE",
|
|
"SWA","SWE","SYR","TAH","TAM","TAT","TEL","TEM",
|
|
"TER","TGK","TGL","THA","TIB","TIG","TIR","TIV",
|
|
"TLI","TOG","TON","TRU","TSI","TSN","TSO","TUK",
|
|
"TUM","TUR","TUT","TWI","UGA","UIG","UKR","UMB",
|
|
"UND","URD","UZB","VAI","VEN","VIE","VOL","VOT",
|
|
"WAK","WAL","WAR","WAS","WEL","WEN","WOL","XHO",
|
|
"YAO","YAP","YID","YOR","ZAP","ZEN","ZHA","ZHO",
|
|
"ZUL","ZUN")-->
|
|
|
|
<!ENTITY % CURRENCYENUM "(#PCDATA)">
|
|
<!--#ENTITY % CURRENCYENUM #Enum("ADP","AED","AFA","ALL","ANG","AOK","ARA","ATS","AUD",
|
|
"AWG","BBD","BDT","BEF","BGL","BHD","BIF","BMD","BND",
|
|
"BOB","BRC","BSD","BTN","BUK","BWP","BZD","CAD","CHF",
|
|
"CLF","CLP","CNY","COP","CRC","CSK","CUP","CVE","CYP",
|
|
"DDM","DEM","DJF","DKK","DOP","DZD","ECS","EGP","ESP",
|
|
"ETB","EUR","FIM","FJD","FKP","FRF","GBP","GHC","GIP","GMD",
|
|
"GNF","GRD","GTQ","GWP","GYD","HKD","HNL","HTG","HUF",
|
|
"IDR","IEP","ILS","INR","IQD","IRR","ISK","ITL","JMD",
|
|
"JOD","JPY","KES","KHR","KMF","KPW","KRW","KWD","KYD",
|
|
"LAK","LBP","LKR","LRD","LSL","LUF","LYD","MAD","MGF",
|
|
"MNT","MOP","MRO","MTL","MUR","MVR","MWK","MXP","MYR",
|
|
"MZM","NGN","NIC","NLG","NOK","NPR","NZD","OMR","PAB",
|
|
"PEI","PGK","PHP","PKR","PLZ","PTE","PYG","QAR","ROL",
|
|
"RWF","SAR","SBD","SCR","SDP","SEK","SGD","SHP","SLL",
|
|
"SOS","SRG","STD","SUR","SVC","SYP","SZL","THB","TND",
|
|
"TOP","TPE","TRL","TTD","TWD","TZS","UGS","USD","UYP",
|
|
"VEB","VND","VUV","WST","YDD","YER","YUD","ZAR","ZMK",
|
|
"ZRZ","ZWD")-->
|
|
|
|
<!-- OFX 1.6: Add PAYEEMODPENDING to BILLPAYMSGSETV2. -->
|
|
<!ENTITY % PAYEEMODENUM "(#PCDATA)">
|
|
<!--#ENTITY % PAYEEMODENUM #Enum("NEVER", "IFREQUESTED")-->
|
|
|
|
<!-- OFX 1.6: Add these tags to PRESLISTRQ. -->
|
|
<!ENTITY % BILLTYPEENUM "(#PCDATA)">
|
|
<!--#ENTITY % BILLTYPEENUM #Enum("BILL", "STATEMENT", "NOTICE")-->
|
|
<!ENTITY % BILLSTATUSCODEENUM "(#PCDATA)">
|
|
<!--#ENTITY % BILLSTATUSCODEENUM #Enum("NEW", "DELIVERED", "VIEWED", "RETIRED",
|
|
"WITHDRAWN", "UNDELIVERABLE")-->
|
|
<!ENTITY % BILLPMTSTATUSCODEENUM "(#PCDATA)">
|
|
<!--#ENTITY % BILLPMTSTATUSCODEENUM #Enum("NONE", "SCHEDULED", "PROCESSED", "POSTED",
|
|
"PAIDOUTOFBAND", "AUTOPAY", "CANCELLED",
|
|
"UNPAYABLE")-->
|
|
|
|
<!-- OFX 1.6: New STATUSMODBY tag for the new BILLSTATUS and BILLPMTSATUS. -->
|
|
<!ENTITY % STATUSMODBYENUM "(#PCDATA)">
|
|
<!--#ENTITY % STATUSMODBYENUM #Enum("CUSTOMER", "CUSTAGENT", "BILLPUBLISHER",
|
|
"BILLPUBLISHERSR", "PMTPROVIDER",
|
|
"PMTPROVIDERSR", "BILLER", "BILLERSR")-->
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- ENTITIES - special characters
|
|
This section defines special characters defined in Chapter 2
|
|
-->
|
|
<!-- ============================================================================= -->
|
|
<!-- ampersand -->
|
|
<!ENTITY amp CDATA "&">
|
|
|
|
<!-- greater than -->
|
|
<!ENTITY gt CDATA ">">
|
|
|
|
<!-- less than -->
|
|
<!ENTITY lt CDATA "<">
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- ENTITIES - macros
|
|
This section defines macros used in one or more modules
|
|
where a new level of aggregation was not desired but
|
|
common structure is present
|
|
-->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Sync macros: all sync requests/responses have same form, but
|
|
have own name. Although we could use the multiple-element syntax and put
|
|
them all here, we'd rather keep service-specific names in the service files.
|
|
Thus, we have a macro here that is trivially referenced in each service module -->
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED TOKEN2 -->
|
|
<!ENTITY % SYNCRQMACRO "((TOKEN | TOKEN2 | TOKENONLY | REFRESH )
|
|
, REJECTIFMISSING)" >
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED SYNCERROR -->
|
|
<!-- ADDED TOKEN2 -->
|
|
<!ENTITY % SYNCRSMACRO "((TOKEN | TOKEN2), LOSTSYNC?, SYNCERROR?)">
|
|
|
|
<!-- Transaction Macro: all transaction requests have same form
|
|
but own name. Didn't want to create a new sub-aggregate
|
|
to hold these elements so use a macro to incorporate them
|
|
into each XXXTRNRQ and XXXTRNRS -->
|
|
<!ENTITY % TRNRQMACRO "(TRNUID , CLTCOOKIE?, TAN?)">
|
|
<!ENTITY % TRNRSMACRO "(TRNUID , STATUS , CLTCOOKIE?)">
|
|
|
|
<!-- Account from and account info: if you add a new service and it adds
|
|
a specific account from or account info aggregate, add it here so it will be
|
|
known to aggregates such as the account info request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED PRESACCTFROM -->
|
|
<!ENTITY % ACCTFROMMACRO "(BANKACCTFROM | CCACCTFROM | INVACCTFROM| PRESACCTFROM)">
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED PRESACCTTO -->
|
|
<!ENTITY % ACCTTOMACRO "(BANKACCTTO | CCACCTTO | INVACCTTO | PRESACCTTO)">
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED PRESACCTINFO -->
|
|
<!ENTITY % ACCTINFOMACRO "(BANKACCTINFO | CCACCTINFO | BPACCTINFO | INVACCTINFO | PRESACCTINFO)">
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Signon Message set -->
|
|
<!-- Different from most: only one sonrq and at most one
|
|
pin change allowed -->
|
|
<!ELEMENT (SIGNONMSGSRQV1, SIGNONMSGSRQV2) - - (SONRQ , PINCHTRNRQ?, CHALLENGETRNRQ?)>
|
|
<!ELEMENT (SIGNONMSGSRSV1, SIGNONMSGSRSV2) - - (SONRS , PINCHTRNRS?, CHALLENGETRNRS?)>
|
|
|
|
<!-- Signon message set profile entry -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. OFX 1.5.1 servers are compatible with
|
|
OFX 1.0.2 clients if they comply. -->
|
|
<!ELEMENT SIGNONMSGSET - - (SIGNONMSGSETV1, SIGNONMSGSETV2?)>
|
|
<!ELEMENT (SIGNONMSGSETV1, SIGNONMSGSETV2) - - (MSGSETCORE)>
|
|
|
|
|
|
<!-- Transactions -->
|
|
<!ELEMENT PINCHTRNRQ - - (%TRNRQMACRO , PINCHRQ)>
|
|
<!ELEMENT CHALLENGETRNRQ - - (%TRNRQMACRO , CHALLENGERQ)>
|
|
<!ELEMENT PINCHTRNRS - - (%TRNRSMACRO , PINCHRS?)>
|
|
<!ELEMENT CHALLENGETRNRS - - (%TRNRSMACRO , CHALLENGERS?)>
|
|
|
|
|
|
<!-- Signon Request and Response -->
|
|
|
|
<!-- Signon Request version 2 adds country and onetimepass for non-US -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED ONETIMEPASS, COUNTRY -->
|
|
<!-- COUNTRY was originally named COUNTSYS, until it was noticed that its data type is
|
|
the same as that for country names in addresses. Since both are based on the ISO
|
|
code for countries, the element name was changed in the signon -->
|
|
<!ELEMENT SONRQ - - (DTCLIENT , ((USERID , USERPASS, ONETIMEPASS?) | USERKEY),
|
|
GENUSERKEY? , LANGUAGE, COUNTRY? , FI? , SESSCOOKIE? , APPID , APPVER)>
|
|
<!--#ELEMENT SONRQ #Link(ONETIMEPASS,SIGNONMSGSRQV2)-->
|
|
<!--#ELEMENT SONRQ #Link(COUNTRY,SIGNONMSGSRQV2)-->
|
|
|
|
<!ELEMENT FI - - (ORG , FID?)>
|
|
<!ELEMENT ORG - o %GENNAMETYPE>
|
|
<!ELEMENT FID - o %FIIDTYPE>
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- ONETIMEPASS, A-32 -->
|
|
<!ELEMENT ONETIMEPASS - o %TEMPPASSTYPE>
|
|
<!ELEMENT SESSCOOKIE - o %SESSCOOKIETYPE>
|
|
|
|
<!-- Signon Response version 2 adds country for non-US -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED COUNTRY -->
|
|
<!ELEMENT SONRS - - (STATUS , DTSERVER , USERKEY? ,
|
|
TSKEYEXPIRE? , LANGUAGE, COUNTRY? ,
|
|
DTPROFUP? , DTACCTUP? , FI?, SESSCOOKIE?)>
|
|
<!--#ELEMENT SONRS #Link(COUNTRY,SIGNONMSGSRSV2)-->
|
|
|
|
<!-- PIN Change request and response -->
|
|
|
|
<!ELEMENT PINCHRQ - - (USERID , NEWUSERPASS)>
|
|
|
|
<!ELEMENT PINCHRS - - (USERID , DTCHANGED?)>
|
|
|
|
<!ELEMENT NEWUSERPASS - o %PASSWORDTYPE>
|
|
<!ELEMENT DTCHANGED - o %DTTMTYPE>
|
|
|
|
<!-- Challenge request and response -->
|
|
|
|
<!ELEMENT CHALLENGERQ - - (USERID, FICERTID?)>
|
|
|
|
<!ELEMENT CHALLENGERS - - (USERID , NONCE, FICERTID)>
|
|
|
|
<!ELEMENT NONCE - o %NONCETYPE>
|
|
<!ELEMENT FICERTID - o %FICERTIDTYPE>
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Message Entries for Message Sets -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- OFX 1.6 correction of ordinance within profile. OFX 1.5.1 servers are compatible with
|
|
OFX 1.0.2 clients if they comply. -->
|
|
<!ELEMENT BANKMSGSET - - (BANKMSGSETV1, BANKMSGSETV2*)>
|
|
<!ELEMENT CREDITCARDMSGSET - - (CREDITCARDMSGSETV1, CREDITCARDMSGSETV2*)>
|
|
<!ELEMENT INTERXFERMSGSET - - (INTERXFERMSGSETV1, INTERXFERMSGSETV2*)>
|
|
<!ELEMENT WIREXFERMSGSET - - (WIREXFERMSGSETV1, WIREXFERMSGSETV2*)>
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Message Set Profile Data -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Banking Message Set -->
|
|
<!ELEMENT BANKMSGSETV1 - -
|
|
(MSGSETCORE , INVALIDACCTTYPE* , CLOSINGAVAIL , XFERPROF? ,
|
|
STPCHKPROF? , EMAILPROF)>
|
|
|
|
<!ELEMENT BANKMSGSETV2 - -
|
|
(MSGSETCORE , INVALIDACCTTYPE2* , CLOSINGAVAIL , XFERPROF? ,
|
|
STPCHKPROF? , EMAILPROF)>
|
|
|
|
<!-- Credit Card Message Set -->
|
|
<!ELEMENT (CREDITCARDMSGSETV1, CREDITCARDMSGSETV2) - - (MSGSETCORE , CLOSINGAVAIL)>
|
|
|
|
<!-- Interbank Transfer Message Set -->
|
|
<!ELEMENT INTERXFERMSGSETV1 - -
|
|
(MSGSETCORE , XFERPROF, CANBILLPAY, CANCELWND , DOMXFERFEE ,
|
|
INTLXFERFEE)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED CANMULTI -->
|
|
<!ELEMENT INTERXFERMSGSETV2 - -
|
|
(MSGSETCORE , XFERPROF, CANBILLPAY, CANCELWND , DOMXFERFEE ,
|
|
INTLXFERFEE, CANMULTI)>
|
|
|
|
<!-- Wire Transfer Message Set -->
|
|
<!ELEMENT (WIREXFERMSGSETV1, WIREXFERMSGSETV2) - -
|
|
(MSGSETCORE , PROCDAYSOFF* , PROCENDTM , CANSCHED , DOMXFERFEE ,
|
|
INTLXFERFEE)>
|
|
|
|
|
|
<!ELEMENT XFERPROF - - (PROCDAYSOFF* , PROCENDTM , CANSCHED , CANRECUR , CANMODXFERS ,
|
|
CANMODMDLS , MODELWND, DAYSWITH, DFLTDAYSTOPAY, NEEDTANTRANSFER?, SUPPORTDTAVAIL?)>
|
|
<!--#ELEMENT XFERPROF #Link(NEEDTANTRANSFER,PROFMSGSRSV2)-->
|
|
<!--#ELEMENT XFERPROF #Link(SUPPORTDTAVAIL,PROFMSGSRSV2)-->
|
|
|
|
|
|
<!ELEMENT STPCHKPROF - - (PROCDAYSOFF* , PROCENDTM , CANUSERANGE , CANUSEDESC, STPCHKFEE)>
|
|
|
|
<!ELEMENT EMAILPROF - - (CANEMAIL , CANNOTIFY)>
|
|
|
|
|
|
<!-- Can schedule transfers -->
|
|
<!ELEMENT CANSCHED - o %BOOLTYPE>
|
|
|
|
<!-- Can modify pending transfers -->
|
|
<!ELEMENT CANMODXFERS - o %BOOLTYPE>
|
|
|
|
<!-- Can use description to stop a check -->
|
|
<!ELEMENT CANUSEDESC - o %BOOLTYPE>
|
|
|
|
<!-- Can use range to stop checks -->
|
|
<!ELEMENT CANUSERANGE - o %BOOLTYPE>
|
|
|
|
<!-- Default stop check fee -->
|
|
<!ELEMENT STPCHKFEE - o %AMTTYPE>
|
|
|
|
<!-- Can handle email -->
|
|
<!ELEMENT CANEMAIL - o %BOOLTYPE>
|
|
|
|
<!-- Can send notifications -->
|
|
<!ELEMENT CANNOTIFY - o %BOOLTYPE>
|
|
|
|
<!-- Unsupported account types -->
|
|
<!ELEMENT INVALIDACCTTYPE - o %ACCOUNTENUM>
|
|
|
|
<!-- Unsupported account types -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- Use INVALIDACCTTYPE2 -->
|
|
<!ELEMENT INVALIDACCTTYPE2 - o %ACCOUNTENUM2>
|
|
|
|
<!-- Can return closing statement info -->
|
|
<!ELEMENT CLOSINGAVAIL - o %BOOLTYPE>
|
|
|
|
<!-- Can use interbank transfers for bill pay -->
|
|
<!ELEMENT CANBILLPAY - o %BOOLTYPE>
|
|
|
|
<!-- Number of days after which a transfer is processed that it can be canceled -->
|
|
<!ELEMENT CANCELWND - o %DAYSPANTYPE>
|
|
|
|
<!-- Fee for sending a domestic transfer transfer -->
|
|
<!ELEMENT DOMXFERFEE - o %AMTTYPE>
|
|
|
|
<!-- Fee for sending an international transfer -->
|
|
<!ELEMENT INTLXFERFEE - o %AMTTYPE>
|
|
|
|
<!-- Can Provider do MULTIINTER -->
|
|
<!ELEMENT CANMULTI - o %BOOLTYPE>
|
|
|
|
<!-- If Y, TAN is required for funds xfer -->
|
|
<!ELEMENT NEEDTANTRANSFER - o %BOOLTYPE>
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Message Sets -->
|
|
<!-- ============================================================================= -->
|
|
|
|
|
|
<!-- Banking Messages Request Sets and their contained TRN requests -->
|
|
<!ELEMENT (BANKMSGSRQV1, BANKMSGSRQV2) - -
|
|
((STMTTRNRQ | STMTENDTRNRQ | INTRATRNRQ | RECINTRATRNRQ |
|
|
STPCHKTRNRQ | BANKMAILTRNRQ | BANKMAILSYNCRQ |
|
|
STPCHKSYNCRQ | INTRASYNCRQ | RECINTRASYNCRQ)+) >
|
|
<!ELEMENT (CREDITCARDMSGSRQV1, CREDITCARDMSGSRQV2) - -
|
|
((CCSTMTTRNRQ | CCSTMTENDTRNRQ)+)>
|
|
<!ELEMENT (WIREXFERMSGSRQV1, WIREXFERMSGSRQV2) - -
|
|
((WIRETRNRQ | WIRESYNCRQ)+)>
|
|
<!ELEMENT INTERXFERMSGSRQV1 - - ((INTERTRNRQ | RECINTERTRNRQ | INTERSYNCRQ | RECINTERSYNCRQ)+)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED MULTIINTERTRNRQ -->
|
|
<!ELEMENT INTERXFERMSGSRQV2 - - ((INTERTRNRQ | RECINTERTRNRQ | INTERSYNCRQ | RECINTERSYNCRQ | MULTIINTERTRNRQ)+)>
|
|
|
|
<!-- Banking Message Set -->
|
|
<!ELEMENT STMTTRNRQ - - (%TRNRQMACRO , STMTRQ)>
|
|
<!ELEMENT STMTENDTRNRQ - - (%TRNRQMACRO , STMTENDRQ)>
|
|
<!ELEMENT STPCHKTRNRQ - - (%TRNRQMACRO , STPCHKRQ)>
|
|
<!ELEMENT INTRATRNRQ - - (%TRNRQMACRO , (INTRARQ | INTRAMODRQ | INTRACANRQ))>
|
|
<!ELEMENT RECINTRATRNRQ - - (%TRNRQMACRO , (RECINTRARQ | RECINTRAMODRQ | RECINTRACANRQ))>
|
|
<!ELEMENT BANKMAILTRNRQ - - (%TRNRQMACRO , BANKMAILRQ)>
|
|
|
|
<!-- Credit Card Message Set -->
|
|
<!ELEMENT CCSTMTTRNRQ - - (%TRNRQMACRO , CCSTMTRQ)>
|
|
<!ELEMENT CCSTMTENDTRNRQ - - (%TRNRQMACRO , CCSTMTENDRQ)>
|
|
|
|
<!-- Interbank Transfer Message Set -->
|
|
<!ELEMENT INTERTRNRQ - - (%TRNRQMACRO , (INTERRQ | INTERMODRQ | INTERCANRQ))>
|
|
<!ELEMENT RECINTERTRNRQ - - (%TRNRQMACRO , (RECINTERRQ | RECINTERMODRQ | RECINTERCANRQ))>
|
|
<!-- OFX 1.5 -->
|
|
<!-- New Aggregate -->
|
|
<!ELEMENT MULTIINTERTRNRQ - - (%TRNRQMACRO , INTERRQ+)>
|
|
|
|
<!-- Wire Transfer Message Set -->
|
|
<!ELEMENT WIRETRNRQ - - (%TRNRQMACRO , (WIRERQ | WIRECANRQ))>
|
|
|
|
<!-- Banking Messages Response Sets and their contained TRN responses -->
|
|
<!ELEMENT (BANKMSGSRSV1, BANKMSGSRSV2) - -
|
|
((STMTTRNRS | STMTENDTRNRS | INTRATRNRS | RECINTRATRNRS |
|
|
STPCHKTRNRS | BANKMAILTRNRS | BANKMAILSYNCRS |
|
|
STPCHKSYNCRS | INTRASYNCRS | RECINTRASYNCRS)+)>
|
|
<!ELEMENT (CREDITCARDMSGSRSV1, CREDITCARDMSGSRSV2) - -
|
|
((CCSTMTTRNRS | CCSTMTENDTRNRS)+)>
|
|
<!ELEMENT (WIREXFERMSGSRSV1, WIREXFERMSGSRSV2) - -
|
|
((WIRETRNRS | WIRESYNCRS)+)>
|
|
<!ELEMENT INTERXFERMSGSRSV1 - - ((INTERTRNRS | RECINTERTRNRS | INTERSYNCRS | RECINTERSYNCRS)+)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED MULTIINTERTRNRS -->
|
|
<!ELEMENT INTERXFERMSGSRSV2 - - ((INTERTRNRS | RECINTERTRNRS | INTERSYNCRS | RECINTERSYNCRS | MULTIINTERTRNRS)+)>
|
|
|
|
<!-- Banking TRN responses -->
|
|
|
|
<!-- Banking Message Set -->
|
|
<!ELEMENT STMTTRNRS - - (%TRNRSMACRO , STMTRS?)>
|
|
<!ELEMENT STMTENDTRNRS - - (%TRNRSMACRO , STMTENDRS?)>
|
|
<!ELEMENT STPCHKTRNRS - - (%TRNRSMACRO , STPCHKRS?)>
|
|
<!ELEMENT INTRATRNRS - - (%TRNRSMACRO , (INTRARS | INTRAMODRS | INTRACANRS)?)>
|
|
<!ELEMENT RECINTRATRNRS - - (%TRNRSMACRO , (RECINTRARS | RECINTRAMODRS | RECINTRACANRS)?)>
|
|
<!ELEMENT BANKMAILTRNRS - - (%TRNRSMACRO , (BANKMAILRS | CHKMAILRS | DEPMAILRS)?)>
|
|
|
|
<!-- Credit Card Message Set -->
|
|
<!ELEMENT CCSTMTTRNRS - - (%TRNRSMACRO , CCSTMTRS?)>
|
|
<!ELEMENT CCSTMTENDTRNRS - - (%TRNRSMACRO , CCSTMTENDRS?)>
|
|
|
|
<!-- Interbank Transfer Message Set -->
|
|
|
|
<!ELEMENT INTERTRNRS - - (%TRNRSMACRO , (INTERRS | INTERMODRS | INTERCANRS)?)>
|
|
<!ELEMENT RECINTERTRNRS - - (%TRNRSMACRO , (RECINTERRS | RECINTERMODRS | RECINTERCANRS)?)>
|
|
<!-- OFX 1.6 correction. All previous DTD versions required one or more INTERRS
|
|
aggregates, preventing normal error handling. -->
|
|
<!ELEMENT MULTIINTERTRNRS - - (%TRNRSMACRO , INTERRS*)>
|
|
|
|
<!-- Wire Transfer Message Set -->
|
|
<!ELEMENT WIRETRNRS - - (%TRNRSMACRO , (WIRERS | WIRECANRS)?)>
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Requests -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- statement request -->
|
|
<!ELEMENT STMTRQ - - (BANKACCTFROM , INCTRAN?)>
|
|
|
|
<!-- credit card statement request -->
|
|
<!ELEMENT CCSTMTRQ - - (CCACCTFROM , INCTRAN?)>
|
|
|
|
<!-- closing statement request request -->
|
|
<!ELEMENT STMTENDRQ - - (BANKACCTFROM , DTSTART? , DTEND?)>
|
|
|
|
<!-- credit card closing statement request -->
|
|
<!ELEMENT CCSTMTENDRQ - - (CCACCTFROM , DTSTART? , DTEND?)>
|
|
|
|
<!-- stop check request -->
|
|
<!ELEMENT STPCHKRQ - - (BANKACCTFROM , (CHKRANGE|CHKDESC))>
|
|
|
|
|
|
<!-- intrabank transfer request -->
|
|
<!ELEMENT INTRARQ - - (XFERINFO)>
|
|
|
|
|
|
<!-- intrabank transfer modification request -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTRAMODRQ - - ((SRVRTID|SRVRTID2), XFERINFO)>
|
|
<!--#ELEMENT INTRAMODRQ #Link(SRVRTID,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT INTRAMODRQ #Link(SRVRTID2,BANKMSGSRQV2)-->
|
|
|
|
|
|
<!-- intrabank transfer cancellation request -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTRACANRQ - - (SRVRTID|SRVRTID2)>
|
|
<!--#ELEMENT INTRACANRQ #Link(SRVRTID,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT INTRACANRQ #Link(SRVRTID2,BANKMSGSRQV2)-->
|
|
|
|
|
|
<!-- interbank transfer request -->
|
|
<!ELEMENT INTERRQ - - (XFERINFO)>
|
|
|
|
|
|
<!-- interbank transfer modification request -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTERMODRQ - - ((SRVRTID|SRVRTID2) , XFERINFO )>
|
|
<!--#ELEMENT INTERMODRQ #Link(SRVRTID,INTERXFERMSGSRQV1)-->
|
|
<!--#ELEMENT INTERMODRQ #Link(SRVRTID2,INTERXFERMSGSRQV2)-->
|
|
|
|
|
|
<!-- interbank transfer cancellation request -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTERCANRQ - - (SRVRTID|SRVRTID2)>
|
|
<!--#ELEMENT INTERCANRQ #Link(SRVRTID,INTERXFERMSGSRQV1)-->
|
|
<!--#ELEMENT INTERCANRQ #Link(SRVRTID2,INTERXFERMSGSRQV2)-->
|
|
|
|
|
|
<!-- wire transfer request -->
|
|
<!ELEMENT WIRERQ - - (BANKACCTFROM , WIREBENEFICIARY , WIREDESTBANK? , TRNAMT , DTDUE? , PAYINSTRUCT?)>
|
|
|
|
|
|
<!-- wire transfer cancellation request -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT WIRECANRQ - - (SRVRTID|SRVRTID2)>
|
|
<!--#ELEMENT WIRECANRQ #Link(SRVRTID,WIREXFERMSGSRQV1)-->
|
|
<!--#ELEMENT WIRECANRQ #Link(SRVRTID2,WIREXFERMSGSRQV2)-->
|
|
|
|
|
|
<!-- recurring intra transfer request -->
|
|
<!ELEMENT RECINTRARQ - - (RECURRINST , (INTRARQ | XFERINFO) )>
|
|
<!--#ELEMENT RECINTRARQ #Link(INTRARQ,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTRARQ #Link(XFERINFO,BANKMSGSRQV2)-->
|
|
|
|
<!-- recurring intra transfer modification request -->
|
|
<!ELEMENT RECINTRAMODRQ - - ((RECSRVRTID | RECSRVRTID2), RECURRINST , (INTRARQ | XFERINFO), MODPENDING)>
|
|
<!--#ELEMENT RECINTRAMODRQ #Link(RECSRVRTID,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTRAMODRQ #Link(RECSRVRTID2,BANKMSGSRQV2)-->
|
|
<!--#ELEMENT RECINTRAMODRQ #Link(INTRARQ,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTRAMODRQ #Link(XFERINFO,BANKMSGSRQV2)-->
|
|
|
|
<!-- recurring intra transfer cancellation request -->
|
|
<!ELEMENT RECINTRACANRQ - - ((RECSRVRTID | RECSRVRTID2), CANPENDING)>
|
|
<!--#ELEMENT RECINTRACANRQ #Link(RECSRVRTID,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTRACANRQ #Link(RECSRVRTID2,BANKMSGSRQV2)-->
|
|
|
|
|
|
<!-- recurring inter transfer request -->
|
|
<!ELEMENT RECINTERRQ - - (RECURRINST , (INTERRQ | XFERINFO) )>
|
|
<!--#ELEMENT RECINTERRQ #Link(INTERRQ,INTERXFERMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTERRQ #Link(XFERINFO, INTERXFERMSGSRQV2)-->
|
|
|
|
<!-- recurring inter transfer modification request -->
|
|
<!ELEMENT RECINTERMODRQ - - ((RECSRVRTID | RECSRVRTID2), RECURRINST , (INTERRQ | XFERINFO), MODPENDING)>
|
|
<!--#ELEMENT RECINTERMODRQ #Link(RECSRVRTID, INTERXFERMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTERMODRQ #Link(RECSRVRTID2, INTERXFERMSGSRQV2)-->
|
|
<!--#ELEMENT RECINTERMODRQ #Link(INTERRQ,INTERXFERMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTERMODRQ #Link(XFERINFO, INTERXFERMSGSRQV2)-->
|
|
|
|
<!-- recurring inter transfer cancellation request -->
|
|
<!ELEMENT RECINTERCANRQ - - ((RECSRVRTID | RECSRVRTID2), CANPENDING)>
|
|
<!--#ELEMENT RECINTERCANRQ #Link(RECSRVRTID, INTERXFERMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTERCANRQ #Link(RECSRVRTID2, INTERXFERMSGSRQV2)-->
|
|
|
|
|
|
|
|
|
|
<!-- bank mail request -->
|
|
<!ELEMENT BANKMAILRQ - - ((BANKACCTFROM | CCACCTFROM) , MAIL)>
|
|
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Synchronization -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- stop check synchronization request -->
|
|
<!ELEMENT STPCHKSYNCRQ - - (%SYNCRQMACRO , BANKACCTFROM, STPCHKTRNRQ*)>
|
|
<!--#ELEMENT STPCHKSYNCRQ #Link(TOKEN,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT STPCHKSYNCRQ #Link(TOKEN2,BANKMSGSRQV2)-->
|
|
|
|
|
|
<!-- intrabank transfer sychronization request, v2 adds ccacctfrom -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!ELEMENT INTRASYNCRQ - - (%SYNCRQMACRO , (BANKACCTFROM | CCACCTFROM), INTRATRNRQ*)>
|
|
<!--#ELEMENT INTRASYNCRQ #Link(CCACCTFROM,BANKMSGSRQV2)-->
|
|
<!--#ELEMENT INTRASYNCRQ #Link(TOKEN,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT INTRASYNCRQ #Link(TOKEN2,BANKMSGSRQV2)-->
|
|
|
|
|
|
<!-- interbank transfer synchronization request, v2 adds ccacctfrom -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!-- FROM INTERTRNRQ to (INTERTRNRQ | MULTIINTERTRNRQ) -->
|
|
<!ELEMENT INTERSYNCRQ - - (%SYNCRQMACRO , (BANKACCTFROM | CCACCTFROM), (INTERTRNRQ | MULTIINTERTRNRQ)*)>
|
|
<!--#ELEMENT INTERSYNCRQ #Link(CCACCTFROM,INTERXFERMSGSRQV2)-->
|
|
<!--#ELEMENT INTERSYNCRQ #Link(MULTIINTERTRNRQ,INTERXFERMSGSRQV2)-->
|
|
<!--#ELEMENT INTERSYNCRQ #Link(TOKEN,INTERXFERMSGSRQV1)-->
|
|
<!--#ELEMENT INTERSYNCRQ #Link(TOKEN2,INTERXFERMSGSRQV2)-->
|
|
|
|
<!-- wire transfer synchronization request -->
|
|
<!ELEMENT WIRESYNCRQ - - (%SYNCRQMACRO , BANKACCTFROM, WIRETRNRQ*)>
|
|
<!--#ELEMENT WIRESYNCRQ #Link(TOKEN,WIREXFERMSGSRQV1)-->
|
|
<!--#ELEMENT WIRESYNCRQ #Link(TOKEN2,WIREXFERMSGSRQV2)-->
|
|
|
|
|
|
<!--
|
|
recurring intra transfer synchronization request,
|
|
for transactions <RECINTRARQ>,<RECINTRAMODRQ>, and/or <RECINTRACANRQ>
|
|
v2 adds ccacctfrom
|
|
-->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!ELEMENT RECINTRASYNCRQ - - (%SYNCRQMACRO, (BANKACCTFROM | CCACCTFROM), RECINTRATRNRQ*)>
|
|
<!--#ELEMENT RECINTRASYNCRQ #Link(CCACCTFROM,BANKMSGSRQV2)-->
|
|
<!--#ELEMENT RECINTRASYNCRQ #Link(TOKEN,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTRASYNCRQ #Link(TOKEN2,BANKMSGSRQV2)-->
|
|
|
|
<!--
|
|
recurring inter transfer synchronization request,
|
|
for transactions <RECINTERRQ>,<RECINTERMODRQ>, and/or <RECINTERCANRQ>
|
|
v2 adds ccacctfrom
|
|
-->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!ELEMENT RECINTERSYNCRQ - - (%SYNCRQMACRO, (BANKACCTFROM | CCACCTFROM), RECINTERTRNRQ*)>
|
|
<!--#ELEMENT RECINTERSYNCRQ #Link(CCACCTFROM,INTERXFERMSGSRQV2)-->
|
|
<!--#ELEMENT RECINTERSYNCRQ #Link(TOKEN,INTERXFERMSGSRQV1)-->
|
|
<!--#ELEMENT RECINTERSYNCRQ #Link(TOKEN2,INTERXFERMSGSRQV2)-->
|
|
|
|
<!-- bank mail synchronization request -->
|
|
<!ELEMENT BANKMAILSYNCRQ - - (%SYNCRQMACRO , INCIMAGES, USEHTML, (BANKACCTFROM | CCACCTFROM), BANKMAILTRNRQ*)>
|
|
<!--#ELEMENT BANKMAILSYNCRQ #Link(TOKEN,BANKMSGSRQV1)-->
|
|
<!--#ELEMENT BANKMAILSYNCRQ #Link(TOKEN2,BANKMSGSRQV2)-->
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Responses -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- statement response -->
|
|
<!ELEMENT STMTRS - - (CURDEF , BANKACCTFROM , BANKTRANLIST? , LEDGERBAL , AVAILBAL? , MKTGINFO?)>
|
|
|
|
<!-- credit card statement response -->
|
|
<!ELEMENT CCSTMTRS - - (CURDEF , CCACCTFROM , BANKTRANLIST? , LEDGERBAL , AVAILBAL? , MKTGINFO?)>
|
|
|
|
<!-- closing info response -->
|
|
<!ELEMENT STMTENDRS - - (CURDEF , BANKACCTFROM , CLOSING*)>
|
|
|
|
<!-- credit card closing info response -->
|
|
<!ELEMENT CCSTMTENDRS - - (CURDEF , CCACCTFROM , CCCLOSING*)>
|
|
|
|
<!-- stop check response -->
|
|
<!ELEMENT STPCHKRS - - (CURDEF , BANKACCTFROM , STPCHKNUM+,
|
|
FEE, FEEMSG)>
|
|
|
|
|
|
<!-- intrabank transfer response -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTRARS - - (CURDEF , (SRVRTID | SRVRTID2), XFERINFO , (DTXFERPRJ|DTPOSTED)? , (RECSRVRTID | RECSRVRTID2)?, XFERPRCSTS?)>
|
|
<!--#ELEMENT INTRARS #Link(SRVRTID,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT INTRARS #Link(SRVRTID2,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT INTRARS #Link(RECSRVRTID,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT INTRARS #Link(RECSRVRTID2,BANKMSGSRSV2)-->
|
|
|
|
<!-- intrabank transfer modification response -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTRAMODRS - - ((SRVRTID | SRVRTID2), XFERINFO , XFERPRCSTS?)>
|
|
<!--#ELEMENT INTRAMODRS #Link(SRVRTID,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT INTRAMODRS #Link(SRVRTID2,BANKMSGSRSV2)-->
|
|
|
|
<!-- intrabank transfer transfer cancellation response -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTRACANRS - - (SRVRTID|SRVRTID2)>
|
|
<!--#ELEMENT INTRACANRS #Link(SRVRTID,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT INTRACANRS #Link(SRVRTID2,BANKMSGSRSV2)-->
|
|
|
|
|
|
<!-- interbank transfer response -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTERRS - - (CURDEF , (SRVRTID | SRVRTID2), XFERINFO,
|
|
(DTXFERPRJ|DTPOSTED)? , REFNUM? , (RECSRVRTID | RECSRVRTID2)?, XFERPRCSTS?)>
|
|
<!--#ELEMENT INTERRS #Link(SRVRTID,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT INTERRS #Link(SRVRTID2,INTERXFERMSGSRSV2)-->
|
|
<!--#ELEMENT INTERRS #Link(RECSRVRTID,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT INTERRS #Link(RECSRVRTID2,INTERXFERMSGSRSV2)-->
|
|
|
|
<!-- interbank transfer modification response -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTERMODRS - - ((SRVRTID | SRVRTID2), XFERINFO, XFERPRCSTS?)>
|
|
<!--#ELEMENT INTERMODRS #Link(SRVRTID,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT INTERMODRS #Link(SRVRTID2,INTERXFERMSGSRSV2)-->
|
|
|
|
|
|
<!-- interbank transfer cancellation request -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT INTERCANRS - - (SRVRTID|SRVRTID2)>
|
|
<!--#ELEMENT INTERCANRS #Link(SRVRTID,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT INTERCANRS #Link(SRVRTID2,INTERXFERMSGSRSV2)-->
|
|
|
|
|
|
<!-- wire transfer response -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT WIRERS - - (CURDEF , (SRVRTID | SRVRTID2), BANKACCTFROM , WIREBENEFICIARY ,
|
|
WIREDESTBANK? , TRNAMT , DTDUE? , PAYINSTRUCT? , (DTXFERPRJ|DTPOSTED)? , FEE? , CONFMSG?)>
|
|
<!--#ELEMENT WIRERS #Link(SRVRTID,WIREXFERMSGSRSV1)-->
|
|
<!--#ELEMENT WIRERS #Link(SRVRTID2,WIREXFERMSGSRSV2)-->
|
|
|
|
|
|
<!-- wire transfer cancellation request -->
|
|
<!-- version 2 uses SRVRTID2, version 1 SRVRTID -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT WIRECANRS - - (SRVRTID|SRVRTID2)>
|
|
<!--#ELEMENT WIRECANRS #Link(SRVRTID,WIREXFERMSGSRSV1)-->
|
|
<!--#ELEMENT WIRECANRS #Link(SRVRTID2,WIREXFERMSGSRSV2)-->
|
|
|
|
|
|
<!-- recurring intra transfer response -->
|
|
<!ELEMENT RECINTRARS - - ((RECSRVRTID | RECSRVRTID2), RECURRINST , (INTRARS | XFERINFO) )>
|
|
<!--#ELEMENT RECINTRARS #Link(RECSRVRTID,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTRARS #Link(RECSRVRTID2,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT RECINTRARS #Link(INTRARS,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTRARS #Link(XFERINFO,BANKMSGSRSV2)-->
|
|
|
|
<!-- recurring intra transfer modification request -->
|
|
<!ELEMENT RECINTRAMODRS - - ((RECSRVRTID | RECSRVRTID2), RECURRINST , (INTRARS | XFERINFO) , MODPENDING)>
|
|
<!--#ELEMENT RECINTRAMODRS #Link(RECSRVRTID,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTRAMODRS #Link(RECSRVRTID2,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT RECINTRAMODRS #Link(INTRARS,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTRAMODRS #Link(XFERINFO,BANKMSGSRSV2)-->
|
|
|
|
<!-- recurring intra transfer cancellation response -->
|
|
<!ELEMENT RECINTRACANRS - - ((RECSRVRTID | RECSRVRTID2), CANPENDING)>
|
|
<!--#ELEMENT RECINTRACANRS #Link(RECSRVRTID,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTRACANRS #Link(RECSRVRTID2,BANKMSGSRSV2)-->
|
|
|
|
|
|
<!-- recurring inter transfer response -->
|
|
<!ELEMENT RECINTERRS - - ((RECSRVRTID | RECSRVRTID2), RECURRINST , (INTERRS | XFERINFO) )>
|
|
<!--#ELEMENT RECINTERRS #Link(RECSRVRTID,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTERRS #Link(RECSRVRTID2,INTERXFERMSGSRSV2)-->
|
|
<!--#ELEMENT RECINTERRS #Link(INTERRS,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTERRS #Link(XFERINFO,INTERXFERMSGSRSV2)-->
|
|
|
|
<!-- recurring inter transfer modification request -->
|
|
<!ELEMENT RECINTERMODRS - - ((RECSRVRTID | RECSRVRTID2), RECURRINST , (INTERRS | XFERINFO) , MODPENDING)>
|
|
<!--#ELEMENT RECINTERMODRS #Link(RECSRVRTID,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTERMODRS #Link(RECSRVRTID2,INTERXFERMSGSRSV2)-->
|
|
<!--#ELEMENT RECINTERMODRS #Link(INTERRS,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTERMODRS #Link(XFERINFO,INTERXFERMSGSRSV2)-->
|
|
|
|
<!-- recurring inter transfer cancellation response -->
|
|
<!ELEMENT RECINTERCANRS - - ((RECSRVRTID | RECSRVRTID2), CANPENDING)>
|
|
<!--#ELEMENT RECINTERCANRS #Link(RECSRVRTID,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTERCANRS #Link(RECSRVRTID2,INTERXFERMSGSRSV2)-->
|
|
|
|
|
|
<!-- bank mail response -->
|
|
<!ELEMENT BANKMAILRS - - ((BANKACCTFROM | CCACCTFROM) , MAIL)>
|
|
|
|
<!-- returned check mail response -->
|
|
<!ELEMENT CHKMAILRS - - (BANKACCTFROM , MAIL , CHECKNUM , TRNAMT? , DTUSER? , FEE?)>
|
|
|
|
<!-- returned deposit mail response -->
|
|
<!ELEMENT DEPMAILRS - - (BANKACCTFROM , MAIL , TRNAMT , DTUSER? , FEE?)>
|
|
|
|
<!-- stop check synchronization request -->
|
|
<!ELEMENT STPCHKSYNCRS - - (%SYNCRSMACRO , BANKACCTFROM, STPCHKTRNRS*)>
|
|
<!--#ELEMENT STPCHKSYNCRS #Link(TOKEN,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT STPCHKSYNCRS #Link(TOKEN2,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT STPCHKSYNCRS #Link(SYNCERROR,BANKMSGSRSV2)-->
|
|
|
|
<!-- intrabank transfer synchronization request, v2 adds ccacctfrom -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!ELEMENT INTRASYNCRS - - (%SYNCRSMACRO , (BANKACCTFROM | CCACCTFROM), INTRATRNRS*)>
|
|
<!--#ELEMENT INTRASYNCRS #Link(CCACCTFROM,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT INTRASYNCRS #Link(TOKEN,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT INTRASYNCRS #Link(TOKEN2,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT INTRASYNCRS #Link(SYNCERROR,BANKMSGSRSV2)-->
|
|
|
|
<!-- interbank transfer synchronization request, v2 adds ccacctfrom -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!-- FROM INTERTRNRS to (INTERTRNRS | MULTIINTERTRNRS) -->
|
|
<!ELEMENT INTERSYNCRS - - (%SYNCRSMACRO , (BANKACCTFROM | CCACCTFROM), (INTERTRNRS | MULTIINTERTRNRS)*)>
|
|
<!--#ELEMENT INTERSYNCRS #Link(CCACCTFROM,INTERXFERMSGSRSV2)-->
|
|
<!--#ELEMENT INTERSYNCRS #Link(TOKEN,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT INTERSYNCRS #Link(TOKEN2,INTERXFERMSGSRSV2)-->
|
|
<!--#ELEMENT INTERSYNCRS #Link(SYNCERROR,INTERXFERMSGSRSV2)-->
|
|
|
|
<!-- wire transfer synchronization request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!ELEMENT WIRESYNCRS - - (%SYNCRSMACRO , BANKACCTFROM, WIRETRNRS*)>
|
|
<!--#ELEMENT WIRESYNCRS #Link(TOKEN,WIREXFERMSGSRSV1)-->
|
|
<!--#ELEMENT WIRESYNCRS #Link(TOKEN2,WIREXFERMSGSRSV2)-->
|
|
<!--#ELEMENT WIRESYNCRS #Link(SYNCERROR,WIREXFERMSGSRSV2)-->
|
|
|
|
<!--
|
|
recurring intra transfer synchronization request,
|
|
for transactions <RECINTRARS>,<RECINTRARS>, and/or <RECINTRACANRS>
|
|
v2 adds ccacctfrom
|
|
-->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!ELEMENT RECINTRASYNCRS - - (%SYNCRSMACRO , (BANKACCTFROM | CCACCTFROM), RECINTRATRNRS*)>
|
|
<!--#ELEMENT RECINTRASYNCRS #Link(CCACCTFROM,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT RECINTRASYNCRS #Link(TOKEN,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTRASYNCRS #Link(TOKEN2,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT RECINTRASYNCRS #Link(SYNCERROR,BANKMSGSRSV2)-->
|
|
|
|
<!--
|
|
recurring inter transfer synchronization request,
|
|
for transactions <RECINTERRS>,<RECINTERRS>, and/or <RECINTERCANRS>
|
|
v2 adds ccacctfrom
|
|
-->
|
|
<!-- OFX 1.5 -->
|
|
<!-- FROM BANKACCTFROM to (BANKACCTFROM | CCACCTFROM) -->
|
|
<!ELEMENT RECINTERSYNCRS - - (%SYNCRSMACRO , (BANKACCTFROM | CCACCTFROM), RECINTERTRNRS*)>
|
|
<!--#ELEMENT RECINTERSYNCRS #Link(CCACCTFROM,INTERXFERMSGSRSV2)-->
|
|
<!--#ELEMENT RECINTERSYNCRS #Link(TOKEN,INTERXFERMSGSRSV1)-->
|
|
<!--#ELEMENT RECINTERSYNCRS #Link(TOKEN2,INTERXFERMSGSRSV2)-->
|
|
<!--#ELEMENT RECINTERSYNCRS #Link(SYNCERROR,INTERXFERMSGSRSV2)-->
|
|
|
|
<!-- BANK MAIL synchronization request -->
|
|
<!ELEMENT BANKMAILSYNCRS - - (%SYNCRSMACRO , (BANKACCTFROM | CCACCTFROM), BANKMAILTRNRS*)>
|
|
<!--#ELEMENT BANKMAILSYNCRS #Link(TOKEN,BANKMSGSRSV1)-->
|
|
<!--#ELEMENT BANKMAILSYNCRS #Link(TOKEN2,BANKMSGSRSV2)-->
|
|
<!--#ELEMENT BANKMAILSYNCRS #Link(SYNCERROR,BANKMSGSRSV2)-->
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Aggregates -->
|
|
<!-- ============================================================================= -->
|
|
|
|
|
|
|
|
<!-- BANKACCTINFO CCACCTINFO -->
|
|
<!ELEMENT BANKACCTINFO - - (BANKACCTFROM ,
|
|
SUPTXDL, XFERSRC, XFERDEST, (SVCSTATUS|SVCSTATUS2), REASON?)>
|
|
<!--#ELEMENT BANKACCTINFO #Link(SVCSTATUS,SIGNUPMSGSRSV1)-->
|
|
<!--#ELEMENT BANKACCTINFO #Link(SVCSTATUS2,SIGNUPMSGSRSV2)-->
|
|
<!--#ELEMENT BANKACCTINFO #Link(REASON,SIGNUPMSGSRSV2)-->
|
|
<!ELEMENT CCACCTINFO - - (CCACCTFROM ,
|
|
SUPTXDL, XFERSRC, XFERDEST, (SVCSTATUS|SVCSTATUS2), REASON?)>
|
|
<!--#ELEMENT CCACCTINFO #Link(SVCSTATUS,SIGNUPMSGSRSV1)-->
|
|
<!--#ELEMENT CCACCTINFO #Link(SVCSTATUS2,SIGNUPMSGSRSV2)-->
|
|
<!--#ELEMENT CCACCTINFO #Link(REASON,SIGNUPMSGSRSV2)-->
|
|
|
|
<!ELEMENT SUPTXDL - o %BOOLTYPE>
|
|
<!ELEMENT XFERSRC - o %BOOLTYPE>
|
|
<!ELEMENT XFERDEST - o %BOOLTYPE>
|
|
|
|
<!--
|
|
statement transaction data
|
|
-->
|
|
<!ELEMENT BANKTRANLIST - - (DTSTART , DTEND , STMTTRN*)>
|
|
|
|
|
|
<!--
|
|
Ledger balance
|
|
-->
|
|
<!ELEMENT LEDGERBAL - - (BALAMT , DTASOF)>
|
|
|
|
|
|
<!--
|
|
Available balance
|
|
-->
|
|
<!ELEMENT AVAILBAL - - (BALAMT , DTASOF)>
|
|
|
|
|
|
|
|
|
|
<!--
|
|
credit card statement information
|
|
-->
|
|
<!ELEMENT CCCLOSING - - (FITID , DTOPEN? , DTCLOSE , DTNEXT? ,
|
|
BALOPEN? , BALCLOSE ,
|
|
DTPMTDUE? , MINPMTDUE? ,
|
|
FINCHG? , PAYANDCREDIT? , PURANDADV? , DEBADJ? , CREDITLIMIT? ,
|
|
DTPOSTSTART , DTPOSTEND , MKTGINFO? ,
|
|
(CURRENCY | ORIGCURRENCY)? )>
|
|
|
|
<!--
|
|
non-Credit Card account types
|
|
-->
|
|
<!ELEMENT CLOSING - - (FITID , DTOPEN? , DTCLOSE , DTNEXT? ,
|
|
BALOPEN? , BALCLOSE , BALMIN? ,
|
|
DEPANDCREDIT? , CHKANDDEB? , TOTALFEES? , TOTALINT? ,
|
|
DTPOSTSTART , DTPOSTEND , MKTGINFO? ,
|
|
(CURRENCY | ORIGCURRENCY)? )>
|
|
|
|
|
|
<!-- Opening statement date -->
|
|
<!ELEMENT DTOPEN - o %DTTMTYPE>
|
|
|
|
|
|
<!-- Closing statement date -->
|
|
<!ELEMENT DTCLOSE - o %DTTMTYPE>
|
|
|
|
|
|
<!-- Closing date of next statement -->
|
|
<!ELEMENT DTNEXT - o %DTTMTYPE>
|
|
|
|
|
|
<!-- Opening statement balance -->
|
|
<!ELEMENT BALOPEN - o %AMTTYPE>
|
|
|
|
|
|
<!-- Closing statement balance -->
|
|
<!ELEMENT BALCLOSE - o %AMTTYPE>
|
|
|
|
|
|
<!-- Payment due date -->
|
|
<!ELEMENT DTPMTDUE - o %DTTMTYPE>
|
|
|
|
<!-- Minimum amount due -->
|
|
<!ELEMENT MINPMTDUE - o %AMTTYPE>
|
|
|
|
|
|
<!-- Finance charges -->
|
|
<!ELEMENT FINCHG - o %AMTTYPE>
|
|
|
|
|
|
<!-- Total of payments and credits -->
|
|
<!ELEMENT PAYANDCREDIT - o %AMTTYPE>
|
|
|
|
|
|
<!-- Total of purchases and cash advance -->
|
|
<!ELEMENT PURANDADV - o %AMTTYPE>
|
|
|
|
|
|
<!-- Debit adjustments -->
|
|
<!ELEMENT DEBADJ - o %AMTTYPE>
|
|
|
|
|
|
<!-- Current credit limit -->
|
|
<!ELEMENT CREDITLIMIT - o %AMTTYPE>
|
|
|
|
|
|
<!-- Minimum balance in statement period -->
|
|
<!ELEMENT BALMIN - o %AMTTYPE>
|
|
|
|
|
|
<!-- Total of deposits and credits -->
|
|
<!ELEMENT DEPANDCREDIT - o %AMTTYPE>
|
|
|
|
|
|
<!-- Total of checks and debits -->
|
|
<!ELEMENT CHKANDDEB - o %AMTTYPE>
|
|
|
|
<!-- Total fees -->
|
|
<!ELEMENT TOTALFEES - o %AMTTYPE>
|
|
|
|
<!-- Total interest -->
|
|
<!ELEMENT TOTALINT - o %AMTTYPE>
|
|
|
|
<!-- Start date for posted transactions -->
|
|
<!ELEMENT DTPOSTSTART - o %DTTMTYPE>
|
|
|
|
<!-- End date for posted transactions -->
|
|
<!ELEMENT DTPOSTEND - o %DTTMTYPE>
|
|
|
|
<!-- statement transaction aggregate -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PAYEE to (PAYEE | PAYEE2) -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!-- CHANGE MEMO to (MEMO | MEMO2) -->
|
|
<!-- CHANGE PAYEEID to (PAYEEID | PAYEEID2) -->
|
|
<!-- OFX 1.6: Added SPNAME and allowed it only when SRVRTID[2] is there too. -->
|
|
<!ELEMENT STMTTRN - - (TRNTYPE , DTPOSTED , DTUSER? , DTAVAIL? , TRNAMT , FITID ,
|
|
(CORRECTFITID , CORRECTACTION)? ,
|
|
( SPNAME?, (SRVRTID | SRVRTID2) )?, CHECKNUM? , REFNUM? ,
|
|
SIC? , (PAYEEID | PAYEEID2)? , (NAME | (PAYEE | PAYEE2))?,
|
|
(BANKACCTTO | CCACCTTO)?,
|
|
(MEMO | MEMO2)? , (CURRENCY | ORIGCURRENCY)?)>
|
|
<!--#ELEMENT STMTTRN #Link(SRVRTID,(BANKMSGSRQV1|BANKMSGSRSV1))-->
|
|
<!--#ELEMENT STMTTRN #Link(SRVRTID2,(BANKMSGSRQV2|BANKMSGSRSV2))-->
|
|
<!--#ELEMENT STMTTRN #Link(PAYEE,(BANKMSGSRQV1|BANKMSGSRSV1))-->
|
|
<!--#ELEMENT STMTTRN #Link(PAYEE2,(BANKMSGSRQV2|BANKMSGSRSV2))-->
|
|
<!--#ELEMENT STMTTRN #Link(MEMO,(BANKMSGSRQV1|BANKMSGSRSV1))-->
|
|
<!--#ELEMENT STMTTRN #Link(MEMO2,(BANKMSGSRQV2|BANKMSGSRSV2))-->
|
|
<!--#ELEMENT STMTTRN #Link(PAYEEID,(BANKMSGSRQV1|BANKMSGSRSV1))-->
|
|
<!--#ELEMENT STMTTRN #Link(PAYEEID2,(BANKMSGSRQV2|BANKMSGSRSV2))-->
|
|
|
|
<!-- Status of request -->
|
|
<!ELEMENT TRNTYPE - o %TRANSACTIONENUM>
|
|
|
|
|
|
<!-- Date transaction was posted to account -->
|
|
<!ELEMENT DTPOSTED - o %DTTMTYPE>
|
|
|
|
|
|
<!-- Date user initiated transaction, if known -->
|
|
<!ELEMENT DTUSER - o %DTTMTYPE>
|
|
|
|
<!-- Standard Industrial Code -->
|
|
<!ELEMENT SIC - o %SICTYPE>
|
|
|
|
|
|
<!-- Check range aggregate. -->
|
|
<!ELEMENT CHKRANGE - - (CHKNUMSTART , CHKNUMEND?)>
|
|
|
|
|
|
<!-- Check description aggregate. -->
|
|
<!ELEMENT CHKDESC - - (NAME , CHECKNUM? , DTUSER? , TRNAMT?)>
|
|
|
|
|
|
<!-- Start check number -->
|
|
<!ELEMENT CHKNUMSTART - o %CHECKNUMTYPE>
|
|
|
|
|
|
<!-- Ending check number to cancel -->
|
|
<!ELEMENT CHKNUMEND - o %CHECKNUMTYPE>
|
|
|
|
<!-- Reference number -->
|
|
<!ELEMENT REFNUM - o %REFNUMTYPE>
|
|
|
|
<!-- stopped check item -->
|
|
<!ELEMENT STPCHKNUM - - (CHECKNUM , NAME? , DTUSER? , TRNAMT? ,
|
|
CHKSTATUS , CHKERROR? , (CURRENCY | ORIGCURRENCY)?)>
|
|
|
|
<!-- Status code for individual stop check request -->
|
|
<!ELEMENT CHKSTATUS - o %CHECKSTATUSENUM>
|
|
|
|
<!-- Further textual error explanation -->
|
|
<!ELEMENT CHKERROR - o %MSGTYPE>
|
|
|
|
<!-- Transfer information aggregate -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED DTAVAIL -->
|
|
<!ELEMENT XFERINFO - - ((BANKACCTFROM | CCACCTFROM) , (BANKACCTTO | CCACCTTO) , TRNAMT , DTDUE?, DTAVAIL?, MEMO2?)>
|
|
<!--#ELEMENT XFERINFO #Link(DTAVAIL,(BANKMSGSRQV2|BANKMSGSRSV2|CREDITCARDMSGSRQV2|CREDITCARDMSGSRSV2))-->
|
|
<!--#ELEMENT XFERINFO #Link(MEMO2,(BANKMSGSRQV2|BANKMSGSRSV2|CREDITCARDMSGSRQV2|CREDITCARDMSGSRSV2))-->
|
|
|
|
<!-- Transfer processing status -->
|
|
<!ELEMENT XFERPRCSTS - - (XFERPRCCODE , DTXFERPRC)>
|
|
|
|
<!-- Transfers processing date; enum for processing date interpretation -->
|
|
<!ELEMENT XFERPRCCODE - o %XFERSTATUSENUM>
|
|
|
|
<!-- Date transfer is expected to be processed -->
|
|
<!ELEMENT DTXFERPRC - o %DTTMTYPE>
|
|
|
|
<!-- Date transaction is projected for posting to account -->
|
|
<!ELEMENT DTXFERPRJ - o %DTTMTYPE>
|
|
|
|
<!-- Beneficiary of a wire transfer -- >
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE MEMO to (MEMO | MEMO2) -->
|
|
<!ELEMENT WIREBENEFICIARY - - (NAME , BANKACCTTO , (MEMO | MEMO2)?)>
|
|
<!--#ELEMENT WIREBENEFICIARY #Link(MEMO,(WIREXFERMSGSRQV1|WIREXFERMSGSRSV1))-->
|
|
<!--#ELEMENT WIREBENEFICIARY #Link(MEMO2,(WIREXFERMSGSRQV2|WIREXFERMSGSRSV2))-->
|
|
|
|
<!-- Beneficiary's bank for a wire transfer -- >
|
|
<!ELEMENT WIREDESTBANK - - (EXTBANKDESC)>
|
|
|
|
<!-- Extended description of a bank for a wire transfer -- >
|
|
<!ELEMENT EXTBANKDESC - - (NAME , BANKID , (ADDR1,(ADDR2,ADDR3?)?) , CITY , STATE , POSTALCODE , COUNTRY? , PHONE?)>
|
|
|
|
<!-- Payment instructions for a wire transfer -->
|
|
<!ELEMENT PAYINSTRUCT - o %MSGTYPE>
|
|
|
|
<!-- Fee assessed for the transfer -->
|
|
<!ELEMENT FEE - o %AMTTYPE>
|
|
|
|
<!-- Description of fee -->
|
|
<!ELEMENT FEEMSG - o %SHORTMSGTYPE>
|
|
|
|
<!-- Transfer confirmation message -->
|
|
<!ELEMENT CONFMSG - o %MSGTYPE>
|
|
|
|
|
|
<!-- Message Set Wrappers and Profile -->
|
|
|
|
<!ELEMENT (BILLPAYMSGSRQV1,BILLPAYMSGSRQV2) - - ((PAYEETRNRQ | PAYEESYNCRQ)*,
|
|
( PMTTRNRQ | RECPMTTRNRQ | PMTINQTRNRQ | PMTMAILTRNRQ |
|
|
PMTSYNCRQ | RECPMTSYNCRQ | PMTMAILSYNCRQ)*)>
|
|
|
|
<!ELEMENT (BILLPAYMSGSRSV1,BILLPAYMSGSRSV2) - - ((PAYEETRNRS | PAYEESYNCRS)*,
|
|
( PMTTRNRS | RECPMTTRNRS | PMTINQTRNRS | PMTMAILTRNRS |
|
|
PMTSYNCRS | RECPMTSYNCRS | PMTMAILSYNCRS)*)>
|
|
|
|
<!-- -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. OFX 1.5.1 servers are compatible with
|
|
OFX 1.0.2 clients if they comply. -->
|
|
<!ELEMENT BILLPAYMSGSET - - (BILLPAYMSGSETV1, BILLPAYMSGSETV2*)>
|
|
|
|
<!ELEMENT BILLPAYMSGSETV1 - - (MSGSETCORE,
|
|
DAYSWITH, DFLTDAYSTOPAY,
|
|
XFERDAYSWITH, XFERDFLTDAYSTOPAY,
|
|
PROCDAYSOFF*, PROCENDTM,
|
|
MODELWND, POSTPROCWND, STSVIAMODS,
|
|
PMTBYADDR, PMTBYXFER, PMTBYPAYEEID,
|
|
CANADDPAYEE, HASEXTDPMT,
|
|
CANMODPMTS, CANMODMDLS, DIFFFIRSTPMT,
|
|
DIFFLASTPMT)>
|
|
|
|
<!-- OFX 1.6: Add CANMOTO and PAYEEMODPENDING. -->
|
|
<!ELEMENT BILLPAYMSGSETV2 - - (MSGSETCORE,
|
|
DAYSWITH, DFLTDAYSTOPAY,
|
|
XFERDAYSWITH, XFERDFLTDAYSTOPAY,
|
|
PROCDAYSOFF*, PROCENDTM,
|
|
MODELWND, POSTPROCWND, STSVIAMODS,
|
|
PMTBYADDR, PMTBYXFER, PMTBYPAYEEID,
|
|
CANADDPAYEE, HASEXTDPMT, HASRECEXTDPMT,
|
|
CANMODPMTS, CANMODMDLS, DIFFFIRSTPMT,
|
|
DIFFLASTPMT, NEEDTANPMT, NEEDTANPAYEE,
|
|
SUPPORTDTAVAIL, CANMOTO?, PAYEEMODPENDING? )>
|
|
|
|
<!ELEMENT DAYSWITH - o %DAYSPANTYPE> <!-- number of days before the processing date that funds are withdrawn -->
|
|
<!ELEMENT DFLTDAYSTOPAY - o %DAYSPANTYPE> <!-- the default number of days to pay -->
|
|
<!ELEMENT XFERDAYSWITH - o %DAYSPANTYPE> <!-- number of days before the processing date that funds are withdrawn for xfers-->
|
|
<!ELEMENT XFERDFLTDAYSTOPAY - o %DAYSPANTYPE> <!-- the default number of days to pay for transfers-->
|
|
<!ELEMENT POSTPROCWND - o %DAYSPANTYPE> <!-- the number of days after a transaction is processed that it is acessible
|
|
for status inquiries -->
|
|
<!ELEMENT STSVIAMODS - o %BOOLTYPE> <!-- server supports communication of server-initiated payment status changes
|
|
via the PMTMODRS -->
|
|
<!ELEMENT PMTBYADDR - o %BOOLTYPE> <!-- the payment provider supports payments to payees identified by billing
|
|
address, i.e. the PAYEE aggregate -->
|
|
<!ELEMENT PMTBYXFER - o %BOOLTYPE> <!-- can pay by transfers -->
|
|
<!ELEMENT PMTBYPAYEEID - o %BOOLTYPE> <!-- can pay by user supplied payee IDs -->
|
|
<!ELEMENT CANADDPAYEE - o %BOOLTYPE> <!-- user can add payees if no, the user is restricted to payees added to the
|
|
users payee list by the payment system -->
|
|
<!ELEMENT HASEXTDPMT - o %BOOLTYPE> <!-- supports the EXTDPMT business payment aggregate -->
|
|
<!ELEMENT HASRECEXTDPMT - o %BOOLTYPE> <!-- supports the RECEXTDPMT business payment aggregate -->
|
|
<!ELEMENT CANMODPMTS - o %BOOLTYPE> <!-- permit modifications to payments, i.e. PMTMODRQ -->
|
|
<!ELEMENT DIFFFIRSTPMT - o %BOOLTYPE> <!-- support for specifying a different amount for the first payment
|
|
generated by a model -->
|
|
<!ELEMENT DIFFLASTPMT - o %BOOLTYPE> <!-- support for specifying a different amount for the last payment generated
|
|
by a model -->
|
|
<!ELEMENT NEEDTANPMT - o %BOOLTYPE> <!-- need TAN for payment requests (should be N in US) -->
|
|
<!ELEMENT NEEDTANPAYEE - o %BOOLTYPE> <!-- need TAN for payee requests (should be N in US) -->
|
|
|
|
<!-- OFX 1.6: Add CANMOTO and PAYEEMODPENDING. -->
|
|
<!ELEMENT CANMOTO - o %BOOLTYPE> <!-- Support for <CCMOTOACCT>. -->
|
|
<!ELEMENT PAYEEMODPENDING - o %PAYEEMODENUM> <!-- Support for <MODPENDING> in
|
|
<PAYEEMODRQ>. -->
|
|
|
|
<!-- Transactions -->
|
|
|
|
|
|
<!ELEMENT PMTTRNRQ - - (%TRNRQMACRO, (PMTRQ | PMTMODRQ | PMTCANCRQ))>
|
|
<!ELEMENT RECPMTTRNRQ - - (%TRNRQMACRO, (RECPMTRQ | RECPMTMODRQ | RECPMTCANCRQ))>
|
|
<!ELEMENT PAYEETRNRQ - - (%TRNRQMACRO, (PAYEERQ | PAYEEMODRQ | PAYEEDELRQ))>
|
|
<!ELEMENT PMTINQTRNRQ - - (%TRNRQMACRO, PMTINQRQ)>
|
|
<!ELEMENT PMTMAILTRNRQ - - (%TRNRQMACRO, PMTMAILRQ)>
|
|
|
|
<!ELEMENT PMTTRNRS - - (%TRNRSMACRO, (PMTRS | PMTMODRS | PMTCANCRS)?)>
|
|
<!ELEMENT RECPMTTRNRS - - (%TRNRSMACRO, (RECPMTRS | RECPMTMODRS | RECPMTCANCRS)?)>
|
|
<!ELEMENT PAYEETRNRS - - (%TRNRSMACRO, (PAYEERS | PAYEEMODRS | PAYEEDELRS)?)>
|
|
<!ELEMENT PMTINQTRNRS - - (%TRNRSMACRO, PMTINQRS?)>
|
|
<!ELEMENT PMTMAILTRNRS - - (%TRNRSMACRO, PMTMAILRS?)>
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Requests -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- payment request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT PMTRQ - - ((PMTINFO | PMTINFO2))>
|
|
<!--#ELEMENT PMTRQ #Link(PMTINFO,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTRQ #Link(PMTINFO2,BILLPAYMSGSRQV2)-->
|
|
|
|
<!-- modification request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT PMTMODRQ - - ((SRVRTID | SRVRTID2), (PMTINFO | PMTINFO2))>
|
|
<!--#ELEMENT PMTMODRQ #Link(SRVRTID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTMODRQ #Link(SRVRTID2,BILLPAYMSGSRQV2)-->
|
|
<!--#ELEMENT PMTMODRQ #Link(PMTINFO,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTMODRQ #Link(PMTINFO2,BILLPAYMSGSRQV2)-->
|
|
|
|
|
|
<!-- cancellation request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!ELEMENT PMTCANCRQ - - ((SRVRTID | SRVRTID2))>
|
|
<!--#ELEMENT PMTCANCRQ #Link(SRVRTID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTCANCRQ #Link(SRVRTID2,BILLPAYMSGSRQV2)-->
|
|
|
|
|
|
<!-- recurring payment request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT RECPMTRQ - - (RECURRINST, (PMTINFO | PMTINFO2), INITIALAMT?, FINALAMT?)>
|
|
<!--#ELEMENT RECPMTRQ #Link(PMTINFO,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT RECPMTRQ #Link(PMTINFO2,BILLPAYMSGSRQV2)-->
|
|
|
|
|
|
<!-- modification request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE RECSRVRTID to (RECSRVRTID | RECSRVRTID2) -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT RECPMTMODRQ - - ((RECSRVRTID | RECSRVRTID2), RECURRINST, (PMTINFO | PMTINFO2),
|
|
INITIALAMT?, FINALAMT?, MODPENDING)>
|
|
<!--#ELEMENT RECPMTMODRQ #Link(RECSRVRTID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT RECPMTMODRQ #Link(RECSRVRTID2,BILLPAYMSGSRQV2)-->
|
|
<!--#ELEMENT RECPMTMODRQ #Link(PMTINFO,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT RECPMTMODRQ #Link(PMTINFO2,BILLPAYMSGSRQV2)-->
|
|
|
|
|
|
<!-- cancellation request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE RECSRVRTID to (RECSRVRTID | RECSRVRTID2) -->
|
|
<!ELEMENT RECPMTCANCRQ - - ((RECSRVRTID | RECSRVRTID2), CANPENDING)>
|
|
<!--#ELEMENT RECPMTCANCRQ #Link(RECSRVRTID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT RECPMTCANCRQ #Link(RECSRVRTID2,BILLPAYMSGSRQV2)-->
|
|
|
|
<!-- payment status inquiry request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!ELEMENT PMTINQRQ - - ((SRVRTID | SRVRTID2))>
|
|
<!--#ELEMENT PMTINQRQ #Link(SRVRTID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTINQRQ #Link(SRVRTID2,BILLPAYMSGSRQV2)-->
|
|
|
|
|
|
<!-- payee request : add a payee to the payee list -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PAYEE to (PAYEE | PAYEE2) -->
|
|
<!-- CHANGE PAYEE to (PAYEEID | PAYEEID2) -->
|
|
<!ELEMENT PAYEERQ - - ((PAYEEID | PAYEEID2 | ((PAYEE | PAYEE2), BANKACCTTO?)), PAYACCT*)>
|
|
<!--#ELEMENT PAYEERQ #Link(PAYEE,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PAYEERQ #Link(PAYEE2,BILLPAYMSGSRQV2)-->
|
|
<!--#ELEMENT PAYEERQ #Link(PAYEEID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PAYEERQ #Link(PAYEEID2,BILLPAYMSGSRQV2)-->
|
|
|
|
<!-- payee modification request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PAYEE to (PAYEE | PAYEE2) -->
|
|
<!-- CHANGE PAYEELSTID to (PAYEELSTID | PAYEELSTID2) -->
|
|
<!-- OFX 1.6: Add MODPENDING. -->
|
|
<!ELEMENT PAYEEMODRQ - - ((PAYEELSTID | PAYEELSTID2),
|
|
((PAYEE | PAYEE2), BANKACCTTO?)?, PAYACCT*,
|
|
MODPENDING? )>
|
|
<!--#ELEMENT PAYEEMODRQ #Link(PAYEELSTID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PAYEEMODRQ #Link(PAYEELSTID2,BILLPAYMSGSRQV2)-->
|
|
<!--#ELEMENT PAYEEMODRQ #Link(PAYEE,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PAYEEMODRQ #Link(PAYEE2,BILLPAYMSGSRQV2)-->
|
|
<!--#ELEMENT PAYEEMODRQ #Link( MODPENDING, BILLPAYMSGSRQV2 )-->
|
|
|
|
<!-- payee deletion request -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PAYEELSTID to (PAYEELSTID | PAYEELSTID2) -->
|
|
<!ELEMENT PAYEEDELRQ - - ((PAYEELSTID | PAYEELSTID2))>
|
|
<!--#ELEMENT PAYEEDELRQ #Link(PAYEELSTID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PAYEEDELRQ #Link(PAYEELSTID2,BILLPAYMSGSRQV2)-->
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Responses -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- payment response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PAYEELSTID to (PAYEELSTID | PAYEELSTID2) -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT PMTRS - - ((SRVRTID | SRVRTID2), (PAYEELSTID | PAYEELSTID2), CURDEF, (PMTINFO | PMTINFO2), EXTDPAYEE?,
|
|
CHECKNUM?, PMTPRCSTS, (RECSRVRTID | RECSRVRTID2)?)>
|
|
<!--#ELEMENT PMTRS #Link(SRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTRS #Link(SRVRTID2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PMTRS #Link(PMTINFO,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTRS #Link(PMTINFO2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PMTRS #Link(PAYEELSTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTRS #Link(PAYEELSTID2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PMTRS #Link(RECSRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTRS #Link(RECSRVRTID2,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- payment modification response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT PMTMODRS - - ((SRVRTID | SRVRTID2), (PMTINFO | PMTINFO2), PMTPRCSTS?)>
|
|
<!--#ELEMENT PMTMODRS #Link(SRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTMODRS #Link(SRVRTID2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PMTMODRS #Link(PMTINFO,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTMODRS #Link(PMTINFO2,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- payment cancellation response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!ELEMENT PMTCANCRS - - (SRVRTID | SRVRTID2)>
|
|
<!--#ELEMENT PMTCANCRS #Link(SRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTCANCRS #Link(SRVRTID2,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- recurring payment response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE RECSRVRTID to (RECSRVRTID | RECSRVRTID2) -->
|
|
<!-- CHANGE PAYEELSTID to (PAYEELSTID | PAYEELSTID2) -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT RECPMTRS - - ((RECSRVRTID | RECSRVRTID2), (PAYEELSTID | PAYEELSTID2), CURDEF, RECURRINST,
|
|
(PMTINFO | PMTINFO2), INITIALAMT?, FINALAMT?, EXTDPAYEE?)>
|
|
<!--#ELEMENT RECPMTRS #Link(RECSRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT RECPMTRS #Link(RECSRVRTID2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT RECPMTRS #Link(PAYEELSTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT RECPMTRS #Link(PAYEELSTID2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT RECPMTRS #Link(PMTINFO,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT RECPMTRS #Link(PMTINFO2,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- modification response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE RECSRVRTID to (RECSRVRTID | RECSRVRTID2) -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT RECPMTMODRS - - ((RECSRVRTID | RECSRVRTID2), RECURRINST, (PMTINFO | PMTINFO2),
|
|
INITIALAMT?, FINALAMT?, MODPENDING)>
|
|
<!--#ELEMENT RECPMTMODRS #Link(RECSRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT RECPMTMODRS #Link(RECSRVRTID2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT RECPMTMODRS #Link(PMTINFO,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT RECPMTMODRS #Link(PMTINFO2,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- recurring payment modification response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE RECSRVRTID to (RECSRVRTID | RECSRVRTID2) -->
|
|
<!ELEMENT RECPMTCANCRS - - ((RECSRVRTID | RECSRVRTID2), CANPENDING)>
|
|
<!--#ELEMENT RECPMTCANCRS #Link(RECSRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT RECPMTCANCRS #Link(RECSRVRTID2,BILLPAYMSGSRSV2)-->
|
|
|
|
<!-- payment status inquiry response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!ELEMENT PMTINQRS - - ((SRVRTID | SRVRTID2), PMTPRCSTS, CHECKNUM?)>
|
|
<!--#ELEMENT PMTINQRS #Link(SRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTINQRS #Link(SRVRTID2,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- payee response : add a payee to the payee list -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PAYEE to (PAYEELSTID | PAYEELSTID2) -->
|
|
<!-- CHANGE PAYEE to (PAYEE | PAYEE2) -->
|
|
<!ELEMENT PAYEERS - - ((PAYEELSTID | PAYEELSTID2), ((PAYEE | PAYEE2), BANKACCTTO?)?, EXTDPAYEE?, PAYACCT*)>
|
|
<!--#ELEMENT PAYEERS #Link(PAYEELSTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PAYEERS #Link(PAYEELSTID2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PAYEERS #Link(PAYEE,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PAYEERS #Link(PAYEE2,BILLPAYMSGSRSV2)-->
|
|
|
|
<!-- payee modification response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PAYEE to (PAYEELSTID | PAYEELSTID2) -->
|
|
<!-- CHANGE PAYEE to (PAYEE | PAYEE2) -->
|
|
<!-- OFX 1.6: Add MODPENDING. -->
|
|
<!ELEMENT PAYEEMODRS - - ((PAYEELSTID | PAYEELSTID2),
|
|
((PAYEE | PAYEE2), BANKACCTTO?)?, PAYACCT*, EXTDPAYEE?,
|
|
MODPENDING? )>
|
|
<!--#ELEMENT PAYEEMODRS #Link(PAYEELSTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PAYEEMODRS #Link(PAYEELSTID2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PAYEEMODRS #Link(PAYEE,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PAYEEMODRS #Link(PAYEE2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PAYEEMODRS #Link( MODPENDING, BILLPAYMSGSRSV2 )-->
|
|
|
|
<!-- payee deletion response -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE PAYEE to (PAYEELSTID | PAYEELSTID2) -->
|
|
<!ELEMENT PAYEEDELRS - - ((PAYEELSTID | PAYEELSTID2))>
|
|
<!--#ELEMENT PAYEEDELRS #Link(PAYEELSTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PAYEEDELRS #Link(PAYEELSTID2,BILLPAYMSGSRSV2)-->
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Aggregates -->
|
|
<!-- ============================================================================= -->
|
|
|
|
|
|
<!-- BPACCTINFO -->
|
|
<!ELEMENT BPACCTINFO - - (BANKACCTFROM, (SVCSTATUS|SVCSTATUS2), REASON?)>
|
|
<!--#ELEMENT BPACCTINFO #Link(SVCSTATUS,SIGNUPMSGSRSV1)-->
|
|
<!--#ELEMENT BPACCTINFO #Link(SVCSTATUS2,SIGNUPMSGSRSV2)-->
|
|
<!--#ELEMENT BPACCTINFO #Link(REASON,SIGNUPMSGSRSV2)-->
|
|
|
|
<!-- Payment information aggregate -->
|
|
<!ELEMENT PMTINFO - - (BANKACCTFROM, TRNAMT,
|
|
(PAYEEID|PAYEE), PAYEELSTID?, BANKACCTTO?,
|
|
EXTDPMT*, PAYACCT, DTDUE,
|
|
MEMO?, BILLREFINFO?)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED PMTTYPE -->
|
|
<!-- CHANGE PAYEEID | PAYEE to being optional -->
|
|
<!-- CHANGE PAYACCT to being optional -->
|
|
<!-- ADD DTAVAIL, ITA.CAUSALE, PMTFOR, BOOKINGTEXT -->
|
|
<!-- CHANGE PAYEE to PAYEE2 -->
|
|
<!-- CHANGE MEMO to MEMO2 -->
|
|
<!-- CHANGE PAYEEID to PAYEEID2 -->
|
|
<!-- CHANGE PAYEELSTID to PAYEELSTID2 -->
|
|
<!-- OFX 1.6: Changed BANKACCTFROM to ( BANKACCTFROM | CCMOTOACCT ).
|
|
Added SPNAME and BILLID. -->
|
|
<!ELEMENT PMTINFO2 - - (PMTTYPE?, ( BANKACCTFROM | CCMOTOACCT ), TRNAMT,
|
|
(PAYEELSTID2 | ((PAYEEID2 | PAYEE2), PAYEELSTID2?)),
|
|
BANKACCTTO?, EXTDPMT?, PAYACCT?, DTDUE,
|
|
DTAVAIL?, ITA.CAUSALE?, PMTFOR?, BOOKINGTEXT?,
|
|
MEMO2?, BILLREFINFO?,
|
|
( SPNAME?, BILLID )? )>
|
|
|
|
<!-- Some non-US fields from pmtinfo -->
|
|
<!ELEMENT PMTTYPE - o %TYPEDESCTYPE>
|
|
<!ELEMENT PMTFOR - o %GENNAMETYPE>
|
|
<!ELEMENT ITA.CAUSALE - o %ITACAUSALETYPE>
|
|
<!ELEMENT BOOKINGTEXT - o %BOOKINGTEXTTYPE>
|
|
|
|
<!-- OFX 1.6: Add CCMOTOACCT aggregate. -->
|
|
<!ELEMENT CCMOTOACCT - - ( CCACCTFROM, DTEXPIRE, BRAND?, NAMEACCTHELD?,
|
|
( ADDR1, (ADDR2, ADDR3? )? )?, CITY?, STATE?,
|
|
POSTALCODE?, COUNTRY? ) >
|
|
|
|
<!-- Payment processing status -->
|
|
<!ELEMENT PMTPRCSTS - - (PMTPRCCODE, DTPMTPRC)>
|
|
|
|
<!-- Payment processing date; enum for processing date interpretation -->
|
|
<!ELEMENT PMTPRCCODE - o %PMTPROCESSSTATUSENUM>
|
|
|
|
<!-- Payment processing date; Interpretation depends on <PMTPRCCODE> -->
|
|
<!ELEMENT DTPMTPRC - o %DTTMTYPE>
|
|
|
|
<!-- billing reference info -->
|
|
<!ELEMENT BILLREFINFO - o %BILLREFINFOTYPE>
|
|
|
|
<!-- Extended Payment aggregate -->
|
|
<!-- Either extdpmtdsc or extdpmtinv, or both, but at least one required -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE EXTDPMTCHK to (EXTDPMTCHK | EXTPMTCHK2) -->
|
|
<!ELEMENT EXTDPMT - - (EXTDPMTFOR?, (EXTDPMTCHK|EXTDPMTCHK2)?,
|
|
(((EXTDPMTDSC | EXTDPMTDSC2), EXTDPMTINV?) | EXTDPMTINV))>
|
|
<!--#ELEMENT EXTDPMT #Link(EXTDPMTCHK,(BILLPAYMSGSRQV1|BILLPAYMSGSRSV1))-->
|
|
<!--#ELEMENT EXTDPMT #Link(EXTDPMTCHK2,(BILLPAYMSGSRQV2|BILLPAYMSGSRSV2))-->
|
|
<!--#ELEMENT EXTDPMT #Link(EXTDPMTDSC,(BILLPAYMSGSRQV1|BILLPAYMSGSRSV1))-->
|
|
<!--#ELEMENT EXTDPMT #Link(EXTDPMTDSC2,(BILLPAYMSGSRQV2|BILLPAYMSGSRSV2))-->
|
|
|
|
|
|
<!ELEMENT EXTDPMTINV - - (INVOICE+|INVOICE2+)>
|
|
<!--#ELEMENT EXTDPMTINV #Link(INVOICE,(BILLPAYMSGSRQV1|BILLPAYMSGSRSV1))-->
|
|
<!--#ELEMENT EXTDPMTINV #Link(INVOICE2,(BILLPAYMSGSRQV2|BILLPAYMSGSRSV2))-->
|
|
|
|
<!ELEMENT INVOICE - - (INVNO, INVTOTALAMT, INVPAIDAMT,
|
|
INVDATE, INVDESC, DISCOUNT?,
|
|
ADJUSTMENT?, LINEITEM*)>
|
|
<!ELEMENT INVOICE2 - - (INVNO, INVTOTALAMT, INVPAIDAMT,
|
|
INVDATE, INVDESC, DISCOUNT2?,
|
|
ADJUSTMENT*, LINEITEM*)>
|
|
|
|
<!ELEMENT DISCOUNT - - (DSCRATE, DSCAMT, DSCDATE?, DSCDESC)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE DSCRATE, DSCAMT to (DSCRATE | DSCAMT) -->
|
|
<!ELEMENT DISCOUNT2 - - ((DSCRATE | DSCAMT), DSCDATE?, DSCDESC)>
|
|
|
|
<!ELEMENT ADJUSTMENT - - (ADJNO?, ADJDESC, ADJAMT, ADJDATE?)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED LITMCODE -->
|
|
<!ELEMENT LINEITEM - - (LITMAMT, LITMDESC, LITMCODE?)>
|
|
<!--#ELEMENT LINEITEM #Link(LITMCODE,(BILLPAYMSGSRQV2|BILLPAYMSGSRSV2|PRESDLVMSGSRSV1))-->
|
|
|
|
<!ELEMENT EXTDPMTFOR - o %EXTDPMTFORENUM>
|
|
<!ELEMENT EXTDPMTCHK - o %EXTTYPE>
|
|
<!ELEMENT EXTDPMTCHK2 - o %CHECKNUMTYPE>
|
|
<!-- OFX 1.6 correction to make OFX 1.5 clients and servers compatible with OFX 1.0.2
|
|
servers and clients. End tag for this element required in all versions of OFX. -->
|
|
<!ELEMENT EXTDPMTDSC - - %MSGTYPE>
|
|
<!ELEMENT EXTDPMTDSC2 - o %EXTDPMTDSC2TYPE>
|
|
<!ELEMENT INVNO - o %INVNOTYPE>
|
|
<!ELEMENT INVTOTALAMT - o %AMTTYPE>
|
|
<!ELEMENT INVPAIDAMT - o %AMTTYPE>
|
|
<!ELEMENT INVDATE - o %DTTMTYPE>
|
|
<!ELEMENT INVDESC - o %SHORTMSGTYPE>
|
|
<!ELEMENT DSCRATE - o %RATETYPE>
|
|
<!ELEMENT DSCAMT - o %AMTTYPE>
|
|
<!ELEMENT DSCDATE - o %DTTMTYPE>
|
|
<!ELEMENT DSCDESC - o %SHORTMSGTYPE>
|
|
<!ELEMENT ADJNO - o %INVNOTYPE>
|
|
<!ELEMENT ADJDESC - o %SHORTMSGTYPE>
|
|
<!ELEMENT ADJAMT - o %AMTTYPE>
|
|
<!ELEMENT ADJDATE - o %DTTMTYPE>
|
|
<!ELEMENT LITMCODE - o %IDTYPE>
|
|
<!ELEMENT LITMAMT - o %AMTTYPE>
|
|
<!ELEMENT LITMDESC - o %SHORTMSGTYPE>
|
|
|
|
<!-- Initial Amount -->
|
|
<!ELEMENT INITIALAMT - o %AMTTYPE>
|
|
|
|
<!-- Final Amount -->
|
|
<!ELEMENT FINALAMT - o %AMTTYPE>
|
|
|
|
<!-- standard payee -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- Changed PAYEEID to (PAYEEID | PAYEEID2) -->
|
|
<!ELEMENT EXTDPAYEE - - ( ((PAYEEID | PAYEEID2), IDSCOPE, NAME)?, DAYSTOPAY)>
|
|
<!-- #ELEMENT EXTDPAYEE #Link (PAYEEID, (BILLPAYMSGSRQV1|BILLPAYMSGSRSV1)) -->
|
|
<!-- #ELEMENT EXTDPAYEE #Link (PAYEEID2, (BILLPAYMSGSRQV2|BILLPAYMSGSRSV2)) -->
|
|
|
|
<!-- Server-assigned standard payee ID -->
|
|
<!ELEMENT PAYEEID - o %PAYEEIDTYPE>
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- Server-assigned standard payee ID -->
|
|
<!ELEMENT PAYEEID2 - o %UUIDTYPE>
|
|
|
|
<!-- Payee ID scope enumeration ; currently one of {GLOBAL,USER} -->
|
|
<!ELEMENT IDSCOPE - o %IDSCOPEENUM>
|
|
|
|
<!-- Minimum number of days needed to process -->
|
|
<!ELEMENT DAYSTOPAY - o %DAYSPANTYPE>
|
|
|
|
<!-- Check number -->
|
|
<!ELEMENT CHECKNUM - o %CHECKNUMTYPE>
|
|
|
|
<!-- Payee aggregate, version 2 makes things optional for non-usa, still required in usa -->
|
|
<!ELEMENT PAYEE - - (NAME, (ADDR1,(ADDR2,ADDR3?)?), CITY, STATE, POSTALCODE, COUNTRY?, PHONE)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE all required tags except NAME to being optional -->
|
|
<!ELEMENT PAYEE2 - - (NAME, (ADDR1,(ADDR2,ADDR3?)?)?, CITY?, STATE?, POSTALCODE?, COUNTRY?, PHONE?)>
|
|
|
|
<!-- Server-assigned payee list ID -->
|
|
<!ELEMENT PAYEELSTID - o %PAYEEIDTYPE>
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- Server-assigned payee list ID -->
|
|
<!ELEMENT PAYEELSTID2 - o %UUIDTYPE>
|
|
|
|
<!--
|
|
synchronization request messages
|
|
-->
|
|
|
|
<!-- payment synchronization request -->
|
|
<!ELEMENT PMTSYNCRQ - - (%SYNCRQMACRO, BANKACCTFROM, PMTTRNRQ*)>
|
|
<!--#ELEMENT PMTSYNCRQ #Link(TOKEN, BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTSYNCRQ #Link(TOKEN2,BILLPAYMSGSRQV2)-->
|
|
|
|
|
|
<!-- recurring payment synchronization request -->
|
|
<!ELEMENT RECPMTSYNCRQ - - (%SYNCRQMACRO, BANKACCTFROM, RECPMTTRNRQ*)>
|
|
<!--#ELEMENT RECPMTSYNCRQ #Link(TOKEN,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT RECPMTSYNCRQ #Link(TOKEN2,BILLPAYMSGSRQV2)-->
|
|
|
|
<!-- payee list synchronization request -->
|
|
<!ELEMENT PAYEESYNCRQ - - (%SYNCRQMACRO, PAYEETRNRQ*)>
|
|
<!--#ELEMENT PAYEESYNCRQ #Link(TOKEN,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PAYEESYNCRQ #Link(TOKEN2,BILLPAYMSGSRQV2)-->
|
|
|
|
|
|
<!-- bill pay mail sync request -->
|
|
<!ELEMENT PMTMAILSYNCRQ - - (%SYNCRQMACRO, INCIMAGES, USEHTML, PMTMAILTRNRQ*)>
|
|
<!--#ELEMENT PMTMAILSYNCRQ #Link(TOKEN,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTMAILSYNCRQ #Link(TOKEN2,BILLPAYMSGSRQV2)-->
|
|
|
|
|
|
<!--
|
|
synchronization response messages
|
|
-->
|
|
|
|
<!-- payment synchronization response -->
|
|
<!ELEMENT PMTSYNCRS - - (%SYNCRSMACRO, BANKACCTFROM, PMTTRNRS*)>
|
|
<!--#ELEMENT PMTSYNCRS #Link(TOKEN,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTSYNCRS #Link(TOKEN2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PMTSYNCRS #Link(SYNCERROR,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- recurring payment synchronization response -->
|
|
<!ELEMENT RECPMTSYNCRS - - (%SYNCRSMACRO, BANKACCTFROM, RECPMTTRNRS*)>
|
|
<!--#ELEMENT RECPMTSYNCRS #Link(TOKEN,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT RECPMTSYNCRS #Link(TOKEN2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT RECPMTSYNCRS #Link(SYNCERROR,BILLPAYMSGSRSV2)-->
|
|
|
|
<!-- payee list synchronization response -->
|
|
<!ELEMENT PAYEESYNCRS - - (%SYNCRSMACRO, PAYEETRNRS*)>
|
|
<!--#ELEMENT PAYEESYNCRS #Link(TOKEN,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PAYEESYNCRS #Link(TOKEN2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PAYEESYNCRS #Link(SYNCERROR,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- bill pay mail sync response -->
|
|
<!ELEMENT PMTMAILSYNCRS - - (%SYNCRSMACRO, PMTMAILTRNRS*)>
|
|
<!--#ELEMENT PMTMAILSYNCRS #Link(TOKEN,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTMAILSYNCRS #Link(TOKEN2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PMTMAILSYNCRS #Link(SYNCERROR,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!--
|
|
Payment mail messages
|
|
-->
|
|
|
|
<!-- payment inquiry mail message -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT PMTMAILRQ - - (MAIL,((SRVRTID | SRVRTID2),(PMTINFO | PMTINFO2))?)>
|
|
<!--#ELEMENT PMTMAILRQ #Link(SRVRTID,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTMAILRQ #Link(SRVRTID2,BILLPAYMSGSRQV2)-->
|
|
<!--#ELEMENT PMTMAILRQ #Link(PMTINFO,BILLPAYMSGSRQV1)-->
|
|
<!--#ELEMENT PMTMAILRQ #Link(PMTINFO2,BILLPAYMSGSRQV2)-->
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
|
|
<!ELEMENT PMTMAILRS - - (MAIL,((SRVRTID | SRVRTID2),(PMTINFO | PMTINFO2))?)>
|
|
<!--#ELEMENT PMTMAILRS #Link(PMTINFO,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTMAILRS #Link(PMTINFO2,BILLPAYMSGSRSV2)-->
|
|
<!--#ELEMENT PMTMAILRS #Link(SRVRTID,BILLPAYMSGSRSV1)-->
|
|
<!--#ELEMENT PMTMAILRS #Link(SRVRTID2,BILLPAYMSGSRSV2)-->
|
|
|
|
|
|
<!-- Message Sets -->
|
|
|
|
<!-- OFX 1.6: V1 and V2 sign up message set wrappers are no longer identical. -->
|
|
<!ELEMENT SIGNUPMSGSRQV1 - -
|
|
((ENROLLTRNRQ | ACCTINFOTRNRQ |
|
|
CHGUSERINFOTRNRQ | CHGUSERINFOSYNCRQ |
|
|
ACCTTRNRQ | ACCTSYNCRQ)+ )>
|
|
<!ELEMENT SIGNUPMSGSRSV1 - -
|
|
((ENROLLTRNRS | ACCTINFOTRNRS |
|
|
CHGUSERINFOTRNRS | CHGUSERINFOSYNCRS |
|
|
ACCTTRNRS | ACCTSYNCRS)+ )>
|
|
|
|
<!-- OFX 1.6: Added USERID to SIGNUPMSGSRQV2 and SIGNUPMSGSRSV2. -->
|
|
<!ELEMENT SIGNUPMSGSRQV2 - -
|
|
( USERID?, (ENROLLTRNRQ | ACCTINFOTRNRQ |
|
|
CHGUSERINFOTRNRQ | CHGUSERINFOSYNCRQ |
|
|
ACCTTRNRQ | ACCTSYNCRQ)+ )>
|
|
<!ELEMENT SIGNUPMSGSRSV2 - -
|
|
( USERID?, (ENROLLTRNRS | ACCTINFOTRNRS |
|
|
CHGUSERINFOTRNRS | CHGUSERINFOSYNCRS |
|
|
ACCTTRNRS | ACCTSYNCRS)+ )>
|
|
|
|
<!-- Profile entry for message set -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. OFX 1.5.1 servers are compatible with
|
|
OFX 1.0.2 clients if they comply. -->
|
|
<!ELEMENT SIGNUPMSGSET - - (SIGNUPMSGSETV1, SIGNUPMSGSETV2*)>
|
|
<!ELEMENT SIGNUPMSGSETV1 - -
|
|
(MSGSETCORE ,
|
|
(CLIENTENROLL | WEBENROLL | OTHERENROLL),
|
|
CHGUSERINFO, AVAILACCTS, CLIENTACTREQ)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED PREAUTH -->
|
|
<!-- OFX 1.6: Added CANSUPPORTUSERID. -->
|
|
<!ELEMENT SIGNUPMSGSETV2 - -
|
|
(MSGSETCORE ,
|
|
(CLIENTENROLL | WEBENROLL | OTHERENROLL),
|
|
CHGUSERINFO, AVAILACCTS, CLIENTACTREQ, PREAUTH,
|
|
CANSUPPORTUSERID?)>
|
|
|
|
<!ELEMENT CLIENTENROLL - - (ACCTREQUIRED)>
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE URL TO (URL|URL2) -->
|
|
<!ELEMENT WEBENROLL - - ((URL|URL2))>
|
|
<!--#ELEMENT WEBENROLL #Link(URL,(SIGNUPMSGSRQV1|SIGNUPMSGSRSV1))-->
|
|
<!--#ELEMENT WEBENROLL #Link(URL2,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE MESSAGE TO (MESSAGE|MESSAGE2) -->
|
|
<!ELEMENT OTHERENROLL - - ((MESSAGE|MESSAGE2))>
|
|
<!--#ELEMENT OTHERENROLL #Link(MESSAGE,(SIGNUPMSGSRQV1|SIGNUPMSGSRSV1))-->
|
|
<!--#ELEMENT OTHERENROLL #Link(MESSAGE2,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
|
|
|
|
<!ELEMENT ACCTREQUIRED - o %BOOLTYPE>
|
|
<!ELEMENT CHGUSERINFO - o %BOOLTYPE>
|
|
<!ELEMENT AVAILACCTS - o %BOOLTYPE>
|
|
<!ELEMENT CLIENTACTREQ - o %BOOLTYPE>
|
|
<!ELEMENT PREAUTH - o %BOOLTYPE>
|
|
<!ELEMENT CANSUPPORTUSERID - o %BOOLTYPE>
|
|
|
|
<!-- Transactions -->
|
|
|
|
<!ELEMENT ENROLLTRNRQ - - (%TRNRQMACRO , ENROLLRQ)>
|
|
<!ELEMENT ENROLLTRNRS - - (%TRNRSMACRO , ENROLLRS?)>
|
|
<!ELEMENT ACCTINFOTRNRQ - - (%TRNRQMACRO , ACCTINFORQ)>
|
|
<!ELEMENT ACCTTRNRQ - - (%TRNRQMACRO , ACCTRQ)>
|
|
<!ELEMENT ACCTINFOTRNRS - - (%TRNRSMACRO , ACCTINFORS?)>
|
|
<!ELEMENT ACCTTRNRS - - (%TRNRSMACRO , ACCTRS?)>
|
|
<!ELEMENT CHGUSERINFOTRNRQ - - (%TRNRQMACRO, CHGUSERINFORQ)>
|
|
<!ELEMENT CHGUSERINFOTRNRS - - (%TRNRSMACRO, CHGUSERINFORS?)>
|
|
|
|
<!-- ================== -->
|
|
<!-- Enrollment -->
|
|
<!-- ================== -->
|
|
|
|
<!ELEMENT ENROLLRQ - - (FIRSTNAME , MIDDLENAME ,
|
|
LASTNAME , (ADDR1,(ADDR2,ADDR3?)?) ,
|
|
CITY , STATE , POSTALCODE ,
|
|
COUNTRY , DAYPHONE , EVEPHONE ,
|
|
EMAIL , USERID? , TAXID ,
|
|
SECURITYNAME , DATEBIRTH ,
|
|
(%ACCTFROMMACRO)? )>
|
|
|
|
<!-- most above name / addr elements in ofxmain.dtd -->
|
|
|
|
<!ELEMENT TAXID - o %IDTYPE>
|
|
<!ELEMENT SECURITYNAME - o %GENNAMETYPE>
|
|
<!ELEMENT DATEBIRTH - o %DTTMTYPE>
|
|
|
|
<!ELEMENT ENROLLRS - - (TEMPPASS? , USERID? , DTEXPIRE?)>
|
|
<!-- NOTE: could constrain DTEXPIRE -->
|
|
|
|
<!ELEMENT TEMPPASS - o %TEMPPASSTYPE>
|
|
<!ELEMENT DTEXPIRE - o %DTTMTYPE>
|
|
|
|
<!-- Change User Info -->
|
|
|
|
<!-- CHGUSERINFORQ/RS Version 2 adds userid -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED USERID -->
|
|
<!ELEMENT CHGUSERINFORQ - - (USERID?, FIRSTNAME?, MIDDLENAME?, LASTNAME?,
|
|
(ADDR1,(ADDR2,ADDR3?)?)?,
|
|
CITY?, STATE?, POSTALCODE?, COUNTRY?,
|
|
DAYPHONE?, EVEPHONE?, EMAIL?)>
|
|
<!--#ELEMENT CHGUSERINFORQ #Link(USERID,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED USERID -->
|
|
<!ELEMENT CHGUSERINFORS - - (USERID?, FIRSTNAME?, MIDDLENAME?, LASTNAME?,
|
|
(ADDR1,(ADDR2,ADDR3?)?)?,
|
|
CITY?, STATE?, POSTALCODE?, COUNTRY?,
|
|
DAYPHONE?, EVEPHONE?, EMAIL?,
|
|
DTINFOCHG)>
|
|
<!--#ELEMENT CHGUSERINFORS #Link(USERID,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
|
|
|
|
|
|
<!ELEMENT DTINFOCHG - o %DTTMTYPE>
|
|
|
|
<!ELEMENT CHGUSERINFOSYNCRQ - - (%SYNCRQMACRO , CHGUSERINFOTRNRQ*)>
|
|
<!--#ELEMENT CHGUSERINFOSYNCRQ #Link(TOKEN,SIGNUPMSGSRQV1)-->
|
|
<!--#ELEMENT CHGUSERINFOSYNCRQ #Link(TOKEN2,SIGNUPMSGSRQV2)-->
|
|
<!ELEMENT CHGUSERINFOSYNCRS - - (%SYNCRSMACRO , CHGUSERINFOTRNRS*)>
|
|
<!--#ELEMENT CHGUSERINFOSYNCRS #Link(TOKEN,SIGNUPMSGSRSV1)-->
|
|
<!--#ELEMENT CHGUSERINFOSYNCRS #Link(TOKEN2,SIGNUPMSGSRSV2)-->
|
|
<!--#ELEMENT CHGUSERINFOSYNCRS #Link(SYNCERROR,SIGNUPMSGSRSV2)-->
|
|
|
|
<!-- Top level request and response -->
|
|
<!-- OFX 1.6: Added SVC2 when within SIGNUPMSGSRQV2 or PRESDLVMSGSRQV1 -->
|
|
<!ELEMENT ACCTINFORQ - - (DTACCTUP, SVC2*)>
|
|
<!-- #ELEMENT ACCTINFORQ #Link( SVC2,( SIGNUPMSGSRQV2 | PRESDLVMSGSRSV1 )) -->
|
|
<!ELEMENT ACCTINFORS - - (DTACCTUP , ACCTINFO*)>
|
|
|
|
<!-- Account Info aggregate
|
|
Note: this refers to a macro in ofxmain that
|
|
list all of the account info aggregates
|
|
-->
|
|
<!ELEMENT ACCTINFO - - (DESC? , PHONE? ,
|
|
(%ACCTINFOMACRO)+ )>
|
|
|
|
<!-- Service status - should be included as part of
|
|
the ACCTINFOMACRO aggregates. Values
|
|
are AVAIL, PEND, ACTIVE -->
|
|
<!ELEMENT SVCSTATUS - o %SERVICESTATUSENUM>
|
|
<!ELEMENT SVCSTATUS2 - o %SERVICESTATUS2ENUM>
|
|
<!-- -----------------
|
|
Service Activation
|
|
----------------- -->
|
|
|
|
|
|
<!-- version 2 ACCTRQ/ACCTRS uses SVC2, version 1 uses SVC -->
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT ACCTRQ - - ((SVCADD | SVCCHG | SVCDEL) ,
|
|
(SVC | SVC2))>
|
|
<!--#ELEMENT ACCTRQ #Link(SVC,SIGNUPMSGSRQV1)-->
|
|
<!--#ELEMENT ACCTRQ #Link(SVC2,SIGNUPMSGSRQV2)-->
|
|
<!ELEMENT ACCTRS - - ((SVCADD | SVCCHG | SVCDEL) ,
|
|
(SVC | SVC2), (SVCSTATUS|SVCSTATUS2), REASON?)>
|
|
<!--#ELEMENT ACCTRS #Link(SVC,SIGNUPMSGSRSV1)-->
|
|
<!--#ELEMENT ACCTRS #Link(SVC2,SIGNUPMSGSRSV2)-->
|
|
<!--#ELEMENT ACCTRS #Link(SVCSTATUS,SIGNUPMSGSRSV1)-->
|
|
<!--#ELEMENT ACCTRS #Link(SVCSTATUS2,SIGNUPMSGSRSV2)-->
|
|
<!--#ELEMENT ACCTRS #Link(REASON,SIGNUPMSGSRSV2)-->
|
|
|
|
<!-- SVCADD Version 1 has no preauthtoken, version 2 does have preauthtoken -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED PREAUTHTOKEN -->
|
|
<!ELEMENT SVCADD - - (%ACCTTOMACRO , PREAUTHTOKEN?)>
|
|
<!--#ELEMENT SVCADD #Link(PREAUTHTOKEN,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
|
|
<!ELEMENT SVCDEL - - (%ACCTFROMMACRO)>
|
|
<!ELEMENT SVCCHG - - (%ACCTFROMMACRO , %ACCTTOMACRO)>
|
|
|
|
<!ELEMENT SVC - o %SERVICEENUM>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED SVC2 to support bill presentment -->
|
|
<!ELEMENT SVC2 - o %SERVICEENUM2>
|
|
|
|
<!-- Synchronization -->
|
|
|
|
<!ELEMENT ACCTSYNCRQ - - (%SYNCRQMACRO , ACCTTRNRQ*)>
|
|
<!--#ELEMENT ACCTSYNCRQ #Link(TOKEN,SIGNUPMSGSRQV1)-->
|
|
<!--#ELEMENT ACCTSYNCRQ #Link(TOKEN2,SIGNUPMSGSRQV2)-->
|
|
<!ELEMENT ACCTSYNCRS - - (%SYNCRSMACRO , ACCTTRNRS*)>
|
|
<!--#ELEMENT ACCTSYNCRS #Link(TOKEN,SIGNUPMSGSRSV1)-->
|
|
<!--#ELEMENT ACCTSYNCRS #Link(TOKEN2,SIGNUPMSGSRSV2)-->
|
|
<!--#ELEMENT ACCTSYNCRS #Link(SYNCERROR,SIGNUPMSGSRSV2)-->
|
|
<!ELEMENT PREAUTHTOKEN - o %IDTYPE>
|
|
|
|
|
|
|
|
|
|
<!-- Investment Message Set -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. OFX 1.5.1 servers are compatible with
|
|
OFX 1.0.2 clients if they comply. -->
|
|
<!ELEMENT INVSTMTMSGSET - - (INVSTMTMSGSETV1, INVSTMTMSGSETV2*) >
|
|
|
|
<!-- Investment Message Set: Version 1 and 2-->
|
|
<!ELEMENT (INVSTMTMSGSETV1, INVSTMTMSGSETV2) - - (MSGSETCORE , TRANDNLD , OODNLD , POSDNLD , BALDNLD, CANEMAIL) >
|
|
|
|
<!-- Investment Statement Messages -->
|
|
|
|
<!ELEMENT (INVSTMTMSGSRQV1, INVSTMTMSGSRQV2) - -
|
|
((INVSTMTTRNRQ | INVMAILTRNRQ | INVMAILSYNCRQ)+) >
|
|
|
|
<!ELEMENT (INVSTMTMSGSRSV1, INVSTMTMSGSRSV2) - -
|
|
((INVSTMTTRNRS | INVMAILTRNRS | INVMAILSYNCRS)+) >
|
|
|
|
<!-- Security List Messages -->
|
|
<!ELEMENT (SECLISTMSGSRQV1, SECLISTMSGSRQV2) - - (SECLISTTRNRQ+) >
|
|
|
|
<!ELEMENT (SECLISTMSGSRSV1, SECLISTMSGSRSV2) - - (SECLISTTRNRS* , SECLIST?) >
|
|
|
|
<!-- **** SECURITIES *** -->
|
|
|
|
<!-- Security List Transaction Request/Response -->
|
|
<!ELEMENT SECLISTTRNRQ - - (%TRNRQMACRO , SECLISTRQ) >
|
|
|
|
<!ELEMENT SECLISTTRNRS - - (%TRNRSMACRO , SECLISTRS?) >
|
|
|
|
<!-- Security List Request/Response -->
|
|
<!ELEMENT SECLISTRQ - - (SECRQ+)>
|
|
|
|
<!ELEMENT SECRQ - - (SECID | TICKER | FIID) >
|
|
|
|
<!ELEMENT SECLISTRS - - %EMPTYTYPE >
|
|
|
|
<!-- Security Ticker Symbol -->
|
|
<!ELEMENT TICKER - O %TICKERTYPE >
|
|
|
|
<!-- Financial Institution ID for the Security -->
|
|
<!ELEMENT FIID - O %FIIDTYPE >
|
|
|
|
<!-- ** Security Identifier ** -->
|
|
<!ELEMENT SECID - - (UNIQUEID , UNIQUEIDTYPE) >
|
|
|
|
<!-- Unique ID for the Security -->
|
|
<!ELEMENT UNIQUEID - O %CUSIPTYPE >
|
|
|
|
<!-- Standard used for Unique ID currently only CUSIP -->
|
|
<!ELEMENT UNIQUEIDTYPE - O %SECUIDTYPE >
|
|
|
|
<!-- *** Security Information *** -->
|
|
|
|
<!-- Security List -->
|
|
<!ELEMENT SECLIST - - ((MFINFO | STOCKINFO | OPTINFO | DEBTINFO |
|
|
OTHERINFO)*) >
|
|
|
|
<!-- ** Info all security types have in common ** -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE MEMO to (MEMO | MEMO2) -->
|
|
<!ELEMENT SECINFO - - (SECID , SECNAME , TICKER? , FIID? ,
|
|
RATING? , UNITPRICE? , DTASOF? ,
|
|
CURRENCY? , (MEMO | MEMO2)?) >
|
|
<!--#ELEMENT SECINFO #Link(MEMO,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
|
|
<!--#ELEMENT SECINFO #Link(MEMO2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
|
|
<!ELEMENT SECNAME - O %SECNAMETYPE>
|
|
|
|
<!-- Rating for Security -->
|
|
<!ELEMENT RATING - O %RATINGTYPE >
|
|
|
|
<!-- Unitprice for Security -->
|
|
<!ELEMENT UNITPRICE - O %AMTTYPE >
|
|
|
|
<!-- *** Debt Information *** -->
|
|
<!ELEMENT DEBTINFO - - (SECINFO , PARVALUE , DEBTTYPE , DEBTCLASS? ,
|
|
COUPONRT? , DTCOUPON? , COUPONFREQ? , CALLPRICE? ,
|
|
YIELDTOCALL? , DTCALL? , CALLTYPE? , YIELDTOMAT? ,
|
|
DTMAT? , ASSETCLASS? , FIASSETCLASS?) >
|
|
|
|
<!ELEMENT PARVALUE - O %AMTTYPE >
|
|
|
|
<!ELEMENT DEBTTYPE - O %DEBTENUM >
|
|
|
|
<!ELEMENT DEBTCLASS - O %DEBTCLASSENUM >
|
|
|
|
<!ELEMENT COUPONRT - O %RATETYPE >
|
|
|
|
<!ELEMENT DTCOUPON - O %DTTMTYPE >
|
|
|
|
<!ELEMENT COUPONFREQ - O %COUPONFREQENUM >
|
|
|
|
<!ELEMENT CALLPRICE - O %AMTTYPE >
|
|
|
|
<!ELEMENT YIELDTOCALL - O %RATETYPE >
|
|
|
|
<!ELEMENT DTCALL - O %DTTMTYPE >
|
|
|
|
<!ELEMENT CALLTYPE - O %CALLTYPEENUM >
|
|
|
|
<!ELEMENT YIELDTOMAT - O %RATETYPE >
|
|
|
|
<!ELEMENT DTMAT - O %DTTMTYPE >
|
|
|
|
<!-- Asset Class for Security -->
|
|
<!ELEMENT ASSETCLASS - O %ASSETCLASSENUM >
|
|
|
|
<!-- FI's Asset Class for Security -->
|
|
<!ELEMENT FIASSETCLASS - O %GENNAMETYPE >
|
|
|
|
<!-- *** Mutual Fund Information *** -->
|
|
<!ELEMENT MFINFO - - (SECINFO , MFTYPE? , YIELD? , DTYIELDASOF? ,
|
|
MFASSETCLASS? , FIMFASSETCLASS?) >
|
|
|
|
<!ELEMENT MFTYPE - O %MFTENUM >
|
|
|
|
<!ELEMENT YIELD - O %RATETYPE >
|
|
|
|
<!ELEMENT DTYIELDASOF - O %DTTMTYPE >
|
|
|
|
<!-- Asset Class for Mutual Funds -->
|
|
<!ELEMENT MFASSETCLASS - - (PORTION+) >
|
|
|
|
<!-- Asset Class Portion -->
|
|
<!ELEMENT PORTION - - (ASSETCLASS , PERCENT) >
|
|
|
|
<!ELEMENT PERCENT - O %RATETYPE >
|
|
|
|
<!-- FI's Asset Class for Mutual Funds -->
|
|
<!ELEMENT FIMFASSETCLASS - - (FIPORTION+) >
|
|
|
|
<!-- FI's Asset Class Portion -->
|
|
<!ELEMENT FIPORTION - - (FIASSETCLASS , PERCENT) >
|
|
|
|
<!-- *** Option Information *** -->
|
|
<!ELEMENT OPTINFO - - (SECINFO , OPTTYPE , STRIKEPRICE , DTEXPIRE ,
|
|
SHPERCTRCT , SECID? , ASSETCLASS? , FIASSETCLASS?) >
|
|
|
|
<!ELEMENT OPTTYPE - O %OPTTYPEENUM >
|
|
|
|
<!ELEMENT STRIKEPRICE - O %AMTTYPE >
|
|
|
|
<!-- Number of shares per contract -->
|
|
<!ELEMENT SHPERCTRCT - O %SHARESPERTYPE >
|
|
|
|
<!-- *** Other Security Type Information *** -->
|
|
<!ELEMENT OTHERINFO - - (SECINFO , TYPEDESC?, ASSETCLASS? , FIASSETCLASS?) >
|
|
|
|
<!ELEMENT TYPEDESC - O %TYPEDESCTYPE >
|
|
|
|
|
|
<!-- *** Stock Information *** -->
|
|
<!ELEMENT STOCKINFO - - (SECINFO , STOCKTYPE? , YIELD? , DTYIELDASOF? ,
|
|
ASSETCLASS? , FIASSETCLASS?) >
|
|
|
|
<!ELEMENT STOCKTYPE - O %STOCKENUM >
|
|
|
|
|
|
<!-- ***** Investment Accounts ****** -->
|
|
|
|
<!-- Investment Account From -->
|
|
<!ELEMENT INVACCTFROM - - (BROKERID , ACCTID) >
|
|
|
|
<!-- Investment Account To -->
|
|
<!ELEMENT INVACCTTO - - (BROKERID , ACCTID) >
|
|
|
|
<!ELEMENT BROKERID - O %BROKERIDTYPE >
|
|
|
|
<!-- ** Investment Account Information ** -->
|
|
<!ELEMENT INVACCTINFO - - (INVACCTFROM , USPRODUCTTYPE , CHECKING ,
|
|
(SVCSTATUS | SVCSTATUS2), REASON?, INVACCTTYPE? , OPTIONLEVEL?) >
|
|
<!--#ELEMENT INVACCTINFO #Link(SVCSTATUS,SIGNUPMSGSRSV1)-->
|
|
<!--#ELEMENT INVACCTINFO #Link(SVCSTATUS2,SIGNUPMSGSRSV2)-->
|
|
<!--#ELEMENT INVACCTINFO #Link(REASON,SIGNUPMSGSRSV2)-->
|
|
|
|
<!ELEMENT USPRODUCTTYPE - O %USPRODUCTENUM >
|
|
|
|
<!ELEMENT CHECKING - O %BOOLTYPE >
|
|
|
|
<!ELEMENT INVACCTTYPE - O %INVESTMENTACCOUNTENUM >
|
|
|
|
<!ELEMENT OPTIONLEVEL - O %OPTIONLEVELTYPE >
|
|
|
|
|
|
<!-- ****** INVESTMENT STATEMENT DOWNLOAD ****** -->
|
|
|
|
<!-- Investment Statement Transaction Request/Response -->
|
|
<!ELEMENT INVSTMTTRNRQ - - (%TRNRQMACRO , INVSTMTRQ) >
|
|
|
|
<!ELEMENT INVSTMTTRNRS - - (%TRNRSMACRO , INVSTMTRS?) >
|
|
|
|
<!-- *** Investment Statement Request *** -->
|
|
<!ELEMENT INVSTMTRQ - - (INVACCTFROM , INCTRAN , INCOO , INCPOS ,
|
|
INCBAL) >
|
|
|
|
<!-- ** Include Transactions ** -->
|
|
<!ELEMENT INCTRAN - - (DTSTART? , DTEND? , INCLUDE) >
|
|
|
|
<!-- ** Include Open Orders ** -->
|
|
<!ELEMENT INCOO - O %BOOLTYPE >
|
|
|
|
<!-- ** Include Positions ** -->
|
|
<!ELEMENT INCPOS - - (DTASOF? , INCLUDE) >
|
|
|
|
<!-- Include Balances -->
|
|
<!ELEMENT INCBAL - O %BOOLTYPE >
|
|
|
|
|
|
<!-- *** Investment Statement Response *** -->
|
|
<!ELEMENT INVSTMTRS - - (DTASOF , CURDEF , INVACCTFROM , INVTRANLIST? ,
|
|
INVPOSLIST? , INVBAL? , INVOOLIST? , MKTGINFO?) >
|
|
|
|
<!-- Marketing Mesage -->
|
|
<!ELEMENT MKTVAL - O %AMTTYPE >
|
|
|
|
<!-- ** Transaction List ** -->
|
|
<!ELEMENT INVTRANLIST - - (DTSTART , DTEND , (BUYDEBT | BUYMF | BUYOPT | BUYOTHER |
|
|
BUYSTOCK | CLOSUREOPT | INCOME | INVEXPENSE | JRNLFUND |
|
|
JRNLSEC | MARGININTEREST | REINVEST | RETOFCAP| SELLDEBT |
|
|
SELLMF | SELLOPT | SELLOTHER | SELLSTOCK |
|
|
SPLIT | TRANSFER)* , INVBANKTRAN*) >
|
|
|
|
<!-- ** Investment Banking Transaction ** -->
|
|
<!ELEMENT INVBANKTRAN - - (STMTTRN , SUBACCTFUND) >
|
|
|
|
<!-- ** Transaction fields common to many types of transactions ** -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!-- CHANGE MEMO to (MEMO | MEMO2) -->
|
|
<!ELEMENT INVTRAN - - (FITID , (SRVRTID | SRVRTID2)? , DTTRADE , DTSETTLE? , (MEMO | MEMO2)?) >
|
|
<!--#ELEMENT INVTRAN #Link(SRVRTID,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
|
|
<!--#ELEMENT INVTRAN #Link(SRVRTID2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
<!--#ELEMENT INVTRAN #Link(MEMO,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
|
|
<!--#ELEMENT INVTRAN #Link(MEMO2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
|
|
<!-- Trade Date -->
|
|
<!ELEMENT DTTRADE - O %DTTMTYPE >
|
|
|
|
<!-- Settlement Date -->
|
|
<!ELEMENT DTSETTLE - O %DTTMTYPE >
|
|
|
|
<!-- ** Transaction fields common to BUY types of transactions ** -->
|
|
<!-- version 2 adds reversalfees, reversalfitid -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED REVERSALFEES, REVERSALFITID -->
|
|
<!ELEMENT INVBUY - - (INVTRAN , SECID , UNITS , UNITPRICE , MARKUP? ,
|
|
COMMISSION? , TAXES? , FEES? , LOAD? , TOTAL , REVERSALFEES?, REVERSALFITID?, CURRENCY? ,
|
|
ORIGCURRENCY? , SUBACCTSEC , SUBACCTFUND) >
|
|
<!--#ELEMENT INVBUY #Link(REVERSALFEES,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
<!--#ELEMENT INVBUY #Link(REVERSALFITID,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
|
|
<!ELEMENT UNITS - O %AMTTYPE >
|
|
|
|
<!ELEMENT MARKUP - O %AMTTYPE >
|
|
|
|
<!ELEMENT COMMISSION - O %AMTTYPE >
|
|
|
|
<!ELEMENT TAXES - O %AMTTYPE >
|
|
|
|
<!ELEMENT FEES - O %AMTTYPE >
|
|
|
|
<!ELEMENT LOAD - O %AMTTYPE >
|
|
|
|
<!ELEMENT TOTAL - O %AMTTYPE >
|
|
|
|
<!-- Sub-account for the security -->
|
|
<!ELEMENT SUBACCTSEC - O %SUBACCTENUM >
|
|
|
|
<!-- Sub-account for the funds involved in the trade: CASH, SHORT, MARGIN, OTHER -->
|
|
<!ELEMENT SUBACCTFUND - O %SUBACCTENUM >
|
|
|
|
<!-- ** Transaction fields common to SELL types of transactions ** -->
|
|
<!-- version 2 adds reversalfees, reversalfitid -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED REVERSALFEES, REVERSALFITID -->
|
|
<!ELEMENT INVSELL - - (INVTRAN , SECID , UNITS , UNITPRICE , MARKDOWN? ,
|
|
COMMISSION? , TAXES? , FEES? , LOAD? , WITHHOLDING? ,
|
|
TAXEXEMPT? , TOTAL , REVERSALFEES?, REVERSALFITID?, GAIN? , CURRENCY? , ORIGCURRENCY? ,
|
|
SUBACCTSEC , SUBACCTFUND) >
|
|
<!--#ELEMENT INVSELL #Link(REVERSALFEES,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
<!--#ELEMENT INVSELL #Link(REVERSALFITID,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
|
|
<!ELEMENT MARKDOWN - O %AMTTYPE >
|
|
|
|
<!ELEMENT WITHHOLDING - O %AMTTYPE >
|
|
|
|
<!ELEMENT GAIN - O %AMTTYPE >
|
|
|
|
<!-- ** Buy Debt Transaction ** -->
|
|
<!ELEMENT BUYDEBT - - (INVBUY , ACCRDINT?) >
|
|
|
|
<!ELEMENT ACCRDINT - O %AMTTYPE >
|
|
|
|
<!-- ** Buy Mutual Fund Transaction ** -->
|
|
<!ELEMENT BUYMF - - (INVBUY , BUYTYPE , RELFITID?) >
|
|
|
|
<!-- Buy Type -->
|
|
<!ELEMENT BUYTYPE - O %BUYENUM >
|
|
|
|
<!-- Related Transaction ID -->
|
|
<!ELEMENT RELFITID - O %FITIDTYPE >
|
|
|
|
<!-- ** Buy Option Transaction ** -->
|
|
<!ELEMENT BUYOPT - - (INVBUY , OPTBUYTYPE , SHPERCTRCT) >
|
|
|
|
<!-- Option Buy Type -->
|
|
<!ELEMENT OPTBUYTYPE - O %OPTBUYENUM >
|
|
|
|
<!-- ** Buy Other Transaction ** -->
|
|
<!ELEMENT BUYOTHER - - (INVBUY, BUYTYPE?) >
|
|
<!--#ELEMENT BUYOTHER #Link(BUYTYPE, INVSTMTMSGSRSV2)-->
|
|
|
|
<!-- ** Buy Stock Transaction ** -->
|
|
<!ELEMENT BUYSTOCK - - (INVBUY , BUYTYPE) >
|
|
|
|
<!-- ** Closure of Option Transaction ** -->
|
|
<!ELEMENT CLOSUREOPT - - (INVTRAN , SECID , OPTACTION , UNITS , SHPERCTRCT ,
|
|
SUBACCTSEC , RELFITID? , GAIN?) >
|
|
|
|
<!-- Closure of option action -->
|
|
<!ELEMENT OPTACTION - O %OPTACTIONENUM >
|
|
|
|
<!-- **Income Transaction ** -->
|
|
<!ELEMENT INCOME - - (INVTRAN , SECID , INCOMETYPE , TOTAL , SUBACCTSEC ,
|
|
SUBACCTFUND , TAXEXEMPT? , WITHHOLDING? ,CURRENCY? ,
|
|
ORIGCURRENCY? ) >
|
|
|
|
<!-- Type of Income -->
|
|
<!ELEMENT INCOMETYPE - O %INCOMEENUM >
|
|
|
|
<!ELEMENT TAXEXEMPT - O %BOOLTYPE >
|
|
|
|
<!-- ** Investment Related Expense Transaction ** -->
|
|
<!ELEMENT INVEXPENSE - - (INVTRAN , SECID , TOTAL , SUBACCTSEC ,
|
|
SUBACCTFUND , CURRENCY? , ORIGCURRENCY?) >
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- Added REVERSALFEES -->
|
|
<!-- Fees charged for investment reversal -->
|
|
<!ELEMENT REVERSALFEES - O %AMTTYPE >
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- Added REVERSALFITID -->
|
|
<!-- FITID of transaction to be reversed -->
|
|
<!ELEMENT REVERSALFITID - O %FITIDTYPE >
|
|
|
|
<!-- ** Journaling of Funds between sub-accounts Transaction ** -->
|
|
<!ELEMENT JRNLFUND - - (INVTRAN , SUBACCTTO , SUBACCTFROM , TOTAL) >
|
|
|
|
<!ELEMENT SUBACCTTO - O %SUBACCTENUM >
|
|
|
|
<!ELEMENT SUBACCTFROM - O %SUBACCTENUM >
|
|
|
|
<!-- ** Journaling of Security between sub-accounts Transaction ** -->
|
|
<!ELEMENT JRNLSEC - - (INVTRAN , SECID, SUBACCTTO , SUBACCTFROM , UNITS) >
|
|
|
|
<!-- ** Margin Interest Transaction ** -->
|
|
<!ELEMENT MARGININTEREST - - (INVTRAN , TOTAL , SUBACCTFUND , CURRENCY? ,
|
|
ORIGCURRENCY?) >
|
|
|
|
<!-- ** Reinvest Transaction ** -->
|
|
<!ELEMENT REINVEST - - (INVTRAN , SECID , INCOMETYPE , TOTAL , SUBACCTSEC ,
|
|
UNITS , UNITPRICE , COMMISSION? , TAXES? , FEES? , LOAD? ,
|
|
TAXEXEMPT? , CURRENCY? , ORIGCURRENCY?) >
|
|
|
|
<!-- ** Return Of Capital Transaction ** -->
|
|
<!ELEMENT RETOFCAP - - (INVTRAN , SECID , TOTAL , SUBACCTSEC ,
|
|
SUBACCTFUND , CURRENCY? , ORIGCURRENCY?) >
|
|
|
|
<!-- ** Sell Debt Transaction ** -->
|
|
<!ELEMENT SELLDEBT - - (INVSELL , SELLREASON , ACCRDINT?) >
|
|
|
|
<!-- Reason Sell of Debt generated -->
|
|
<!ELEMENT SELLREASON - O %SELLREASONENUM >
|
|
|
|
<!-- ** Sell Mutual Fund Transaction ** -->
|
|
<!ELEMENT SELLMF - - (INVSELL , SELLTYPE , AVGCOSTBASIS? , RELFITID?) >
|
|
|
|
<!-- Sell Type -->
|
|
<!ELEMENT SELLTYPE - O %SELLTYPEENUM >
|
|
|
|
<!-- Average cost basis -->
|
|
<!ELEMENT AVGCOSTBASIS - O %AMTTYPE >
|
|
|
|
<!-- ** Sell Option Transaction ** -->
|
|
<!ELEMENT SELLOPT - - (INVSELL , OPTSELLTYPE , SHPERCTRCT ,
|
|
RELFITID? , RELTYPE?, SECURED?) >
|
|
|
|
<!-- Option Sell Type -->
|
|
<!ELEMENT OPTSELLTYPE - O %OPTSELLENUM >
|
|
|
|
<!-- Related option transaction type -->
|
|
<!ELEMENT RELTYPE - O %RELATEDENUM >
|
|
|
|
<!-- How the option is secured -->
|
|
<!ELEMENT SECURED - O %SECUREDENUM >
|
|
|
|
<!-- ** Sell Other Transaction ** -->
|
|
<!ELEMENT SELLOTHER - - (INVSELL, SELLTYPE?) >
|
|
<!--#ELEMENT SELLOTHER #Link(SELLTYPE, INVSTMTMSGSRSV2)-->
|
|
|
|
<!-- ** Sell Stock Transaction ** -->
|
|
<!ELEMENT SELLSTOCK - - (INVSELL , SELLTYPE) >
|
|
|
|
<!-- ** Split Transaction ** -->
|
|
<!ELEMENT SPLIT - - (INVTRAN , SECID , SUBACCTSEC ,
|
|
OLDUNITS , NEWUNITS , NUMERATOR , DENOMINATOR ,
|
|
CURRENCY? , ORIGCURRENCY? , FRACCASH? , SUBACCTFUND?) >
|
|
|
|
<!ELEMENT OLDUNITS - O %AMTTYPE >
|
|
|
|
<!ELEMENT NEWUNITS - O %AMTTYPE >
|
|
|
|
<!ELEMENT NUMERATOR - O %AMTTYPE >
|
|
|
|
<!ELEMENT DENOMINATOR - O %AMTTYPE >
|
|
|
|
<!-- Amount of cash recieved from fractional shares -->
|
|
<!ELEMENT FRACCASH - O %AMTTYPE >
|
|
|
|
<!-- ** Transfer Transaction ** -->
|
|
<!ELEMENT TRANSFER - - (INVTRAN, SECID , SUBACCTSEC , UNITS ,
|
|
TFERACTION , POSTYPE , INVACCTFROM?,
|
|
AVGCOSTBASIS?, UNITPRICE?, DTPURCHASE?) >
|
|
<!-- Transfer action -->
|
|
<!ELEMENT TFERACTION - O %INOUTENUM >
|
|
|
|
<!ELEMENT DTPURCHASE - o %DTTMTYPE>
|
|
|
|
<!-- ***** Open Orders List ***** -->
|
|
<!ELEMENT INVOOLIST - - ((OOBUYDEBT | OOBUYMF | OOBUYOPT | OOBUYOTHER |
|
|
OOBUYSTOCK | OOSELLDEBT | OOSELLMF | OOSELLOPT |
|
|
OOSELLOTHER | OOSELLSTOCK | OOSWITCHMF)*) >
|
|
|
|
<!-- ** Open Order fields common to all open orders ** -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
|
|
<!-- CHANGE MEMO to (MEMO | MEMO2) -->
|
|
<!ELEMENT OO - - (FITID , (SRVRTID | SRVRTID2)? , SECID , DTPLACED , UNITS , SUBACCT ,
|
|
DURATION , RESTRICTION , MINUNITS? , LIMITPRICE? ,
|
|
STOPPRICE? , (MEMO | MEMO2)? , CURRENCY?) >
|
|
<!--#ELEMENT OO #Link(SRVRTID,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
|
|
<!--#ELEMENT OO #Link(SRVRTID2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
<!--#ELEMENT OO #Link(MEMO,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
|
|
<!--#ELEMENT OO #Link(MEMO2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
|
|
<!ELEMENT DTPLACED - O %DTTMTYPE >
|
|
|
|
<!ELEMENT SUBACCT - O %SUBACCTENUM >
|
|
|
|
<!ELEMENT DURATION - O %DURATIONENUM >
|
|
|
|
<!ELEMENT RESTRICTION - O %RESTRICTIONENUM >
|
|
|
|
<!ELEMENT MINUNITS - O %AMTTYPE >
|
|
|
|
<!ELEMENT LIMITPRICE - O %AMTTYPE >
|
|
|
|
<!ELEMENT STOPPRICE - O %AMTTYPE >
|
|
|
|
<!-- ** Buy Debt Open Order ** -->
|
|
<!ELEMENT OOBUYDEBT - - (OO , AUCTION , DTAUCTION?) >
|
|
|
|
<!ELEMENT AUCTION - O %BOOLTYPE >
|
|
|
|
<!ELEMENT DTAUCTION - O %DTTMTYPE >
|
|
|
|
<!-- ** Buy Mutual Fund Open Order ** -->
|
|
<!ELEMENT OOBUYMF - - (OO , BUYTYPE , UNITTYPE) >
|
|
|
|
<!-- Type of units: SHARES or CURRENCY -->
|
|
<!ELEMENT UNITTYPE - O %UNITTYPEENUM >
|
|
|
|
<!-- ** Buy Option Open Order ** -->
|
|
<!ELEMENT OOBUYOPT - - (OO , OPTBUYTYPE) >
|
|
|
|
<!-- ** Buy Other Open Order ** -->
|
|
<!ELEMENT OOBUYOTHER - - (OO , UNITTYPE) >
|
|
|
|
<!-- ** Buy Stock Open Order ** -->
|
|
<!ELEMENT OOBUYSTOCK - - (OO , BUYTYPE) >
|
|
|
|
<!-- ** Sell Debt Open Order ** -->
|
|
<!ELEMENT OOSELLDEBT - - (OO) >
|
|
|
|
<!-- ** Sell Mutual Fund Open Order ** -->
|
|
<!ELEMENT OOSELLMF - - (OO , SELLTYPE , UNITTYPE , SELLALL) >
|
|
|
|
<!ELEMENT SELLALL - O %BOOLTYPE >
|
|
|
|
<!-- ** Sell Option Open Order ** -->
|
|
<!ELEMENT OOSELLOPT - - (OO , OPTSELLTYPE) >
|
|
|
|
<!-- ** Sell Other Security Type Open Order ** -->
|
|
<!ELEMENT OOSELLOTHER - - (OO , UNITTYPE) >
|
|
|
|
<!-- ** Sell Stock Open Order ** -->
|
|
<!ELEMENT OOSELLSTOCK - - (OO , SELLTYPE) >
|
|
|
|
<!-- ** Switch Mutual Fund Open Order ** -->
|
|
<!ELEMENT OOSWITCHMF - - (OO , SECID , UNITTYPE , SWITCHALL) >
|
|
|
|
<!ELEMENT SWITCHALL - O %BOOLTYPE >
|
|
|
|
|
|
<!-- ***** Position List ***** -->
|
|
<!ELEMENT INVPOSLIST - - ((POSMF | POSSTOCK | POSDEBT| POSOPT |
|
|
POSOTHER)*) >
|
|
|
|
<!-- Position fields common to and types of positions -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE MEMO to (MEMO | MEMO2) -->
|
|
<!ELEMENT INVPOS - - (SECID , HELDINACCT , POSTYPE , UNITS , UNITPRICE ,
|
|
MKTVAL , DTPRICEASOF , CURRENCY? , (MEMO | MEMO2)?) >
|
|
<!--#ELEMENT INVPOS #Link(MEMO,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
|
|
<!--#ELEMENT INVPOS #Link(MEMO2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
|
|
|
|
<!-- Which sub-account the position is held in: CASH, MARGIN, SHORT, OTHER -->
|
|
<!ELEMENT HELDINACCT - O %SUBACCTENUM >
|
|
|
|
<!-- Position Type: SHORT, LONG -->
|
|
<!ELEMENT POSTYPE - O %POSTYPEENUM >
|
|
|
|
<!ELEMENT DTPRICEASOF - O %DTTMTYPE >
|
|
|
|
<!-- ** Debt Position ** -->
|
|
<!ELEMENT POSDEBT - - (INVPOS) >
|
|
|
|
<!-- ** Mutual Fund Position ** -->
|
|
<!ELEMENT POSMF - - (INVPOS , UNITSSTREET? , UNITSUSER? , REINVDIV? ,
|
|
REINVCG?) >
|
|
|
|
<!ELEMENT UNITSSTREET - O %AMTTYPE >
|
|
|
|
<!ELEMENT UNITSUSER - O %AMTTYPE >
|
|
|
|
<!ELEMENT REINVDIV - O %BOOLTYPE >
|
|
|
|
<!ELEMENT REINVCG - O %BOOLTYPE >
|
|
|
|
<!-- ** Option Position ** -->
|
|
<!ELEMENT POSOPT - - (INVPOS , SECURED?) >
|
|
|
|
<!-- ** Other Security Type Position ** -->
|
|
<!ELEMENT POSOTHER - - (INVPOS) >
|
|
|
|
<!-- ** Stock Position ** -->
|
|
<!ELEMENT POSSTOCK - - (INVPOS , UNITSSTREET? , UNITSUSER? , REINVDIV?) >
|
|
|
|
|
|
<!-- ** Balances ** -->
|
|
<!ELEMENT INVBAL - - (AVAILCASH , MARGINBALANCE , SHORTBALANCE ,
|
|
BUYPOWER? , BALLIST?) >
|
|
|
|
<!ELEMENT MARGINBALANCE - O %AMTTYPE >
|
|
|
|
<!ELEMENT SHORTBALANCE - O %AMTTYPE >
|
|
|
|
<!ELEMENT AVAILCASH - O %AMTTYPE >
|
|
|
|
<!ELEMENT BUYPOWER - O %AMTTYPE >
|
|
|
|
<!ELEMENT BALLIST - - (BAL*) >
|
|
|
|
<!-- **** Investment Statement Message Set *** -->
|
|
|
|
<!-- FI supports download of transactions -->
|
|
<!ELEMENT TRANDNLD - O %BOOLTYPE >
|
|
|
|
<!-- FI supports download of open orders -->
|
|
<!ELEMENT OODNLD - O %BOOLTYPE >
|
|
|
|
<!-- FI supports download of positions -->
|
|
<!ELEMENT POSDNLD - O %BOOLTYPE >
|
|
|
|
<!-- FI supports download of balances -->
|
|
<!ELEMENT BALDNLD - O %BOOLTYPE >
|
|
|
|
<!-- **** Security List Message Set *** -->
|
|
|
|
<!-- Security List message Set -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. OFX 1.5.1 servers are compatible with
|
|
OFX 1.0.2 clients if they comply. -->
|
|
<!ELEMENT SECLISTMSGSET - - (SECLISTMSGSETV1, SECLISTMSGSETV2*) >
|
|
|
|
<!-- Investment Message Set: Version 1 and 2 -->
|
|
<!ELEMENT (SECLISTMSGSETV1, SECLISTMSGSETV2) - - (MSGSETCORE , SECLISTRQDNLD) >
|
|
|
|
<!-- FI supports SECLISTRQ -->
|
|
<!ELEMENT SECLISTRQDNLD - O %BOOLTYPE >
|
|
|
|
<!-- INVESTMENT EMAIL -->
|
|
<!ELEMENT INVMAILTRNRQ - - (%TRNRQMACRO, INVMAILRQ)>
|
|
<!ELEMENT INVMAILTRNRS - - (%TRNRSMACRO, INVMAILRS?)>
|
|
<!ELEMENT INVMAILSYNCRQ - - (%SYNCRQMACRO, INCIMAGES, USEHTML, INVACCTFROM, INVMAILTRNRQ*)>
|
|
<!--#ELEMENT INVMAILSYNCRQ #Link(TOKEN,INVSTMTMSGSRQV1)-->
|
|
<!--#ELEMENT INVMAILSYNCRQ #Link(TOKEN2,INVSTMTMSGSRQV2)-->
|
|
<!ELEMENT INVMAILSYNCRS - - (%SYNCRSMACRO, INVACCTFROM, INVMAILTRNRS*)>
|
|
<!--#ELEMENT INVMAILSYNCRS #Link(TOKEN,INVSTMTMSGSRSV1)-->
|
|
<!--#ELEMENT INVMAILSYNCRS #Link(TOKEN2,INVSTMTMSGSRSV2)-->
|
|
<!--#ELEMENT INVMAILSYNCRS #Link(SYNCERROR,INVSTMTMSGSRSV2)-->
|
|
|
|
<!ELEMENT INVMAILRQ - - (INVACCTFROM, MAIL)>
|
|
<!ELEMENT INVMAILRS - - (INVACCTFROM, MAIL)>
|
|
|
|
<!-- Message sets -->
|
|
<!ELEMENT (EMAILMSGSRQV1, EMAILMSGSRQV2) - - ((MAILTRNRQ | MAILSYNCRQ | GETMIMETRNRQ)+ )>
|
|
<!ELEMENT (EMAILMSGSRSV1, EMAILMSGSRSV2) - - ((MAILTRNRS | MAILSYNCRS | GETMIMETRNRS)+ )>
|
|
|
|
<!-- Profile entry for message set -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. OFX 1.5.1 servers are compatible with
|
|
OFX 1.0.2 clients if they comply. -->
|
|
<!ELEMENT EMAILMSGSET - - (EMAILMSGSETV1, EMAILMSGSETV2*)>
|
|
<!ELEMENT (EMAILMSGSETV1, EMAILMSGSETV2) - - (MSGSETCORE , MAILSUP , GETMIMESUP)>
|
|
<!ELEMENT MAILSUP - o %BOOLTYPE>
|
|
<!ELEMENT GETMIMESUP - o %BOOLTYPE>
|
|
|
|
<!-- Email Transactions -->
|
|
|
|
<!ELEMENT MAILTRNRQ - - (%TRNRQMACRO , MAILRQ)>
|
|
<!ELEMENT MAILTRNRS - - (%TRNRSMACRO , MAILRS?)>
|
|
<!ELEMENT GETMIMETRNRQ - - (%TRNRQMACRO , GETMIMERQ)>
|
|
<!ELEMENT GETMIMETRNRS - - (%TRNRSMACRO , GETMIMERS?)>
|
|
|
|
<!-- Email Request -->
|
|
|
|
<!ELEMENT MAILRQ - - (MAIL)>
|
|
<!ELEMENT MAIL - - (USERID , DTCREATED , FROM , TO ,
|
|
SUBJECT , MSGBODY , INCIMAGES ,
|
|
USEHTML)>
|
|
|
|
<!ELEMENT DTCREATED - o %DTTMTYPE>
|
|
<!ELEMENT FROM - o %GENNAMETYPE>
|
|
<!ELEMENT TO - o %GENNAMETYPE>
|
|
<!ELEMENT SUBJECT - o %SUBJECTTYPE>
|
|
<!ELEMENT USEHTML - o %BOOLTYPE>
|
|
|
|
<!ELEMENT MSGBODY - - %MSGBODYTYPE>
|
|
|
|
<!-- Email Response -->
|
|
|
|
<!ELEMENT MAILRS - - (MAIL)>
|
|
|
|
<!-- Email sync -->
|
|
|
|
<!ELEMENT MAILSYNCRQ - - (%SYNCRQMACRO , INCIMAGES, USEHTML, MAILTRNRQ*)>
|
|
<!--#ELEMENT MAILSYNCRQ #Link(TOKEN,EMAILMSGSRQV1)-->
|
|
<!--#ELEMENT MAILSYNCRQ #Link(TOKEN2,EMAILMSGSRQV2)-->
|
|
<!ELEMENT MAILSYNCRS - - (%SYNCRSMACRO , MAILTRNRS*)>
|
|
<!--#ELEMENT MAILSYNCRS #Link(TOKEN,EMAILMSGSRSV1)-->
|
|
<!--#ELEMENT MAILSYNCRS #Link(TOKEN2,EMAILMSGSRSV2)-->
|
|
<!--#ELEMENT MAILSYNCRS #Link(SYNCERROR,EMAILMSGSRSV2)-->
|
|
|
|
<!-- HTML GET -->
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGE URL TO (URL|URL2) -->
|
|
<!ELEMENT GETMIMERQ - - ((URL|URL2))>
|
|
<!--#ELEMENT GETMIMERQ #Link(URL,EMAILMSGSRQV1)-->
|
|
<!--#ELEMENT GETMIMERQ #Link(URL2,EMAILMSGSRQV2)-->
|
|
<!ELEMENT GETMIMERS - - ((URL|URL2))>
|
|
<!--#ELEMENT GETMIMERS #Link(URL,EMAILMSGSRSV1)-->
|
|
<!--#ELEMENT GETMIMERS #Link(URL2,EMAILMSGSRSV2)-->
|
|
|
|
<!-- BILL PRESENTMENT -->
|
|
|
|
<!-- Profile entry for message set -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. Allows for multiple Biller Directory
|
|
services within an FI. -->
|
|
<!ELEMENT PRESDIRMSGSET - - (PRESDIRMSGSETV1+)>
|
|
<!ELEMENT PRESDIRMSGSETV1 - - (MSGSETCORE, PRESDIRPROF?)>
|
|
|
|
<!ELEMENT PRESDIRPROF - - (PROCDAYSOFF*, CANSUPPORTIMAGES, PROCENDTM)>
|
|
|
|
|
|
<!-- No synchronization in this module -->
|
|
|
|
<!-- ================== -->
|
|
<!-- DIRECTORY MESSAGES -->
|
|
<!-- ================== -->
|
|
|
|
<!-- FIND BILLER -->
|
|
|
|
<!-- Find Biller Message set -->
|
|
<!ELEMENT PRESDIRMSGSRQV1 - - (FINDBILLERTRNRQ)>
|
|
<!ELEMENT PRESDIRMSGSRSV1 - - (FINDBILLERTRNRS)>
|
|
|
|
<!-- Find Biller Transactions -->
|
|
|
|
<!ELEMENT FINDBILLERTRNRQ - - (%TRNRQMACRO, FINDBILLERRQ)>
|
|
<!ELEMENT FINDBILLERTRNRS - - (%TRNRSMACRO, FINDBILLERRS?)>
|
|
|
|
|
|
|
|
<!-- Find Biller Request and Response -->
|
|
|
|
<!ELEMENT FINDBILLERRQ - - (DTUPDATE? , BILLERID?, NAME?, ADDR1?,
|
|
ADDR2? , ADDR3? , CITY?, STATE?,
|
|
POSTALCODE? , COUNTRY? , SIC? ,
|
|
CONSUPOSTALCODE?,INCIMAGES)>
|
|
|
|
|
|
<!ELEMENT FINDBILLERRS - - (DTUPDATE ,BILLERINFO*)>
|
|
|
|
<!ELEMENT BILLERINFO - - (BILLPUB, BILLERID, NAME, ADDR1,
|
|
ADDR2? , ADDR3? , CITY, STATE,
|
|
POSTALCODE ,COUNTRY ,SIC ,PHONE ,
|
|
PAYMENTINSTRUMENTS?, ACCTFORMAT?,
|
|
ACCTEDITMASK?, HELPMESSAGE?, RESTRICT?, LOGO?,
|
|
VALIDATE?, BILLERINFOURL?)>
|
|
|
|
<!ELEMENT PAYMENTINSTRUMENTS - - (PAYMENTINSTRUMENT+)>
|
|
<!ELEMENT PAYMENTINSTRUMENT - - (PMTINSTRUMENTTYPE, BRAND?)>
|
|
<!ELEMENT DTUPDATE - o %DTTMTYPE>
|
|
<!ELEMENT CONSUPOSTALCODE - o %ZIPTYPE>
|
|
<!ELEMENT BILLPUB - o %GENNAMETYPE>
|
|
<!ELEMENT BILLERID - o %IDTYPE>
|
|
<!ELEMENT ACCTFORMAT - o %MSGTYPE>
|
|
<!ELEMENT ACCTEDITMASK - o %MSGTYPE>
|
|
<!ELEMENT HELPMESSAGE - o %MSGTYPE>
|
|
<!ELEMENT RESTRICT - o %MSGTYPE>
|
|
<!ELEMENT VALIDATE - o %URL2TYPE>
|
|
<!ELEMENT BILLERINFOURL - o %URL2TYPE>
|
|
<!ELEMENT LOGO - o %URL2TYPE>
|
|
|
|
|
|
<!-- ================== -->
|
|
<!-- SIGNUP MESSAGES -->
|
|
<!-- ================== -->
|
|
|
|
<!-- ENROLL SAME AS STANDARD OFX ENROLL-->
|
|
|
|
<!-- ACTIVATION SAME AS STANDARD OFX -->
|
|
|
|
<!-- OFX 1.6: Add BUSNAMEACCTHELD. -->
|
|
<!ELEMENT PRESNAMEADDRESS - - (NAMEACCTHELD?, BUSNAMEACCTHELD?, ADDR1?, ADDR2?,
|
|
ADDR3?, CITY?, STATE?, POSTALCODE?, COUNTRY?,
|
|
DAYPHONE?, EVEPHONE?)>
|
|
|
|
<!-- ACCOUNT INFO SAME AS STANDARD OFX EXCEPT FOR GROUP Messages-->
|
|
|
|
<!ELEMENT NAMEACCTHELD - o %NAMEACCTHELDTYPE>
|
|
<!ELEMENT BUSNAMEACCTHELD - o %NAMEACCTHELDTYPE>
|
|
|
|
<!-- ====================== -->
|
|
<!-- BILL DELIVERY MESSAGES -->
|
|
<!-- ====================== -->
|
|
|
|
<!-- Bill Delivery -->
|
|
|
|
<!-- Bill Delivery Message set -->
|
|
<!-- Profile entry for message set -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. Allows for multiple Bill Presentment
|
|
services within an FI. -->
|
|
<!ELEMENT PRESDLVMSGSET - - (PRESDLVMSGSETV1+)>
|
|
<!ELEMENT PRESDLVMSGSETV1 - - (MSGSETCORE, PRESDLVPROF?, EMAILPROF)>
|
|
|
|
<!ELEMENT PRESDLVPROF - - (CANSUPPORTGROUPID, PROCDAYSOFF*, CANSUPPORTIMAGES, PROCENDTM, CANUPDATEPRESNAMEADDRESS)>
|
|
|
|
|
|
<!-- No synchronization in this module -->
|
|
|
|
<!-- OFX 1.6 addition of BILLSTATUSMODTRNRQ and BILLSTATUSMODTRNRS. -->
|
|
<!ELEMENT PRESDLVMSGSRQV1 - - ((PRESLISTTRNRQ
|
|
|PRESGRPACCTINFOTRNRQ
|
|
|PRESDETAILTRNRQ
|
|
|BILLTBLSTRUCTTRNRQ
|
|
|PRESNOTIFYTRNRQ
|
|
|BILLSTATUSMODTRNRQ
|
|
|PRESMAILSYNCRQ
|
|
|PRESMAILTRNRQ)+
|
|
)>
|
|
<!ELEMENT PRESDLVMSGSRSV1 - - ((PRESLISTTRNRS
|
|
|PRESGRPACCTINFOTRNRS
|
|
|PRESDETAILTRNRS
|
|
|BILLTBLSTRUCTTRNRS
|
|
|PRESNOTIFYTRNRS
|
|
|BILLSTATUSMODTRNRS
|
|
|PRESMAILSYNCRS
|
|
|PRESMAILTRNRS)+
|
|
)>
|
|
|
|
<!-- Account Info Group Transactions -->
|
|
<!ELEMENT PRESGRPACCTINFOTRNRQ - - (%TRNRQMACRO, (USERID | GROUPID)?, ACCTINFORQ)>
|
|
<!ELEMENT PRESGRPACCTINFOTRNRS - - (%TRNRSMACRO, ACCTINFORS?)>
|
|
|
|
<!ELEMENT PRESACCTINFO - - (PRESACCTFROM, SVCSTATUS2, REASON?)>
|
|
|
|
<!-- OFX 1.6: Add BILLERNAME, SPNAME, PAYEEID2 and PAYEELSTID2. -->
|
|
<!ELEMENT ( PRESACCTFROM, PRESACCTTO ) - -
|
|
( BILLPUB, BILLERID, BILLERNAME?, ACCTID, PRESNAMEADDRESS?,
|
|
USERID?, ( SPNAME?, ((PAYEEID2, PAYEELSTID2?) | PAYEELSTID2 ))?)>
|
|
|
|
<!ELEMENT GROUPID - o %IDTYPE>
|
|
<!ELEMENT REASON - o %MSGTYPE>
|
|
<!ELEMENT PMTINSTRUMENTTYPE - o %PMTINSTRUMENTENUM>
|
|
<!ELEMENT BRAND - o %GENNAMETYPE>
|
|
<!ELEMENT BILLERNAME - o %GENNAMETYPE>
|
|
|
|
<!-- Bill Delivery Transactions -->
|
|
<!ELEMENT PRESLISTTRNRQ - - (%TRNRQMACRO, (USERID|GROUPID)?, PRESLISTRQ)>
|
|
<!ELEMENT PRESLISTTRNRS - - (%TRNRSMACRO, PRESLISTRS?)>
|
|
|
|
<!ELEMENT PRESNOTIFYTRNRQ - - (%TRNRQMACRO, PRESNOTIFYRQ)>
|
|
<!ELEMENT PRESNOTIFYTRNRS - - (%TRNRSMACRO, PRESNOTIFYRS?)>
|
|
|
|
<!-- OFX 1.6 addition of BILLSTATUSMODTRNRQ and BILLSTATUSMODTRNRS. -->
|
|
<!ELEMENT BILLSTATUSMODTRNRQ - - (%TRNRQMACRO, BILLSTATUSMODRQ)>
|
|
<!ELEMENT BILLSTATUSMODTRNRS - - (%TRNRSMACRO, BILLSTATUSMODRS?)>
|
|
|
|
<!-- OFX 1.6 addition of several new tags to PRESLISTRQ.
|
|
See "New tags in PRESLISTRQ", below. -->
|
|
<!ELEMENT PRESLISTRQ - - (BILLPUB, DTSTART?, DTEND?, DTDUEBY?, BILLERID?,
|
|
BILLID?, BILLTYPE*, BILLSTATUSCODE*,
|
|
BILLPMTSTATUSCODE*, NOTIFYWILLING, INCLUDEDETAIL,
|
|
INCLUDEBILLSTATUS?, INCLUDEBILLPMTSTATUS?,
|
|
INCLUDESTATUSHIST?, INCLUDECOUNTS?, INCLUDESUMMARY?)>
|
|
|
|
<!-- New tags in PRESLISTRQ for OFX 1.6. BILLERID was also added. -->
|
|
<!ELEMENT DTDUEBY - o %DTTMTYPE>
|
|
<!ELEMENT BILLTYPE - o %BILLTYPEENUM>
|
|
<!ELEMENT BILLSTATUSCODE - o %BILLSTATUSCODEENUM>
|
|
<!ELEMENT BILLPMTSTATUSCODE - o %BILLPMTSTATUSCODEENUM>
|
|
<!ELEMENT INCLUDEBILLSTATUS - o %BOOLTYPE>
|
|
<!ELEMENT INCLUDEBILLPMTSTATUS - o %BOOLTYPE>
|
|
<!ELEMENT INCLUDESTATUSHIST - o %BOOLTYPE>
|
|
<!ELEMENT INCLUDECOUNTS - o %BOOLTYPE>
|
|
<!ELEMENT INCLUDESUMMARY - o %BOOLTYPE>
|
|
|
|
<!-- OFX 1.6 addition of the PRESCOUNTS aggregate to PRESLISTRS -->
|
|
<!ELEMENT PRESLISTRS - - (BILLPUB, USERID, DTSTART, DTEND,
|
|
PRESLIST?, PRESCOUNTS?)>
|
|
|
|
<!ELEMENT PRESCOUNTS - - (BILLSTATUSCOUNTS*, BILLPMTSTATUSCOUNTS*)>
|
|
<!ELEMENT BILLSTATUSCOUNTS - - (BILLSTATUSCODE, COUNT)>
|
|
<!ELEMENT BILLPMTSTATUSCOUNTS - - (BILLPMTSTATUSCODE, COUNT)>
|
|
<!ELEMENT COUNT - o %IDTYPE>
|
|
|
|
<!ELEMENT PRESLIST - - (PRESBILLINFO*)>
|
|
|
|
<!-- OFX 1.6 addition of BILLTYPE, BILLSTATUS and BILLPMTSTATUS to PRESBILLINFO. -->
|
|
<!ELEMENT PRESBILLINFO - - (BILLID, PRESACCTFROM, PAYEEID2?, BILLREFINFO?, AMTDUE,
|
|
MINAMTDUE?, DTPMTDUE, DTBILL, DTOPEN?, DTCLOSE?,
|
|
PREVBAL?, ACTIVITY?, ACCTBAL?, INVOICE2?, NOTIFYDESIRED,
|
|
BILLTYPE?, BILLSTATUS*, BILLPMTSTATUS*,
|
|
STMNTIMAGE?, (DETAILAVAILABLE|BILLDETAILTABLE))>
|
|
|
|
<!ELEMENT BILLSTATUS - - (BILLSTATUSCODE, DTEFF, STATUSMODBY?)>
|
|
<!ELEMENT BILLPMTSTATUS - - (SRVRTID2?, BILLPMTSTATUSCODE, DTEFF, STATUSMODBY?)>
|
|
<!ELEMENT DTEFF - o %DTTMTYPE>
|
|
<!ELEMENT STATUSMODBY - o %STATUSMODBYENUM>
|
|
|
|
<!-- OFX 1.6 addition of BILLSTATUSMODRQ and BILLSTATUSMODRS. -->
|
|
<!ELEMENT BILLSTATUSMODRQ - - (BILLID?, BILLSTATUS?, BILLPMTSTATUS?)>
|
|
<!ELEMENT BILLSTATUSMODRS - - (BILLID?, BILLSTATUS?, BILLPMTSTATUS?)>
|
|
|
|
<!-- OFX 1.6 correction of ordinance for PREFETCHURL element.
|
|
This version (optional and repeating versus optional) matches the
|
|
intent and wording of the specification. -->
|
|
<!ELEMENT STMNTIMAGE - - ( IMAGEURL, PREFETCHURL*, DTEXPIRE? )>
|
|
|
|
<!ELEMENT PRESDETAILTRNRQ - - (%TRNRQMACRO, PRESDETAILRQ)>
|
|
<!ELEMENT PRESDETAILRQ - - (BILLID, BILLDETAILTABLETYPE?)>
|
|
<!ELEMENT PRESDETAILTRNRS - - (%TRNRSMACRO, PRESDETAILRS?)>
|
|
<!ELEMENT PRESDETAILRS - - (PRESDETAIL*)>
|
|
|
|
<!ELEMENT PRESDETAIL - - (BILLID, PRESACCTFROM?, BILLDETAILTABLE*)>
|
|
|
|
<!ELEMENT BILLDETAILTABLE - - (TABLENAME, BILLDETAILTABLETYPE, BILLDETAILROW*)>
|
|
|
|
<!ELEMENT BILLDETAILROW - - (C|N)*>
|
|
|
|
<!ELEMENT BILLTBLSTRUCTTRNRQ - - (%TRNRQMACRO, BILLTBLSTRUCTRQ)>
|
|
<!ELEMENT BILLTBLSTRUCTTRNRS - - (%TRNRSMACRO, BILLTBLSTRUCTRS?)>
|
|
|
|
<!ELEMENT BILLTBLSTRUCTRQ - - (BILLID, BILLDETAILTABLETYPE)>
|
|
|
|
<!ELEMENT BILLTBLSTRUCTRS - - (BILLID, BILLDETAILTABLETYPE, COLDEF*)>
|
|
|
|
<!ELEMENT COLDEF - - (COLNAME, COLTYPE)>
|
|
|
|
<!ELEMENT PRESNOTIFYRQ - - (PRESDELIVERYID)>
|
|
<!-- OFX 1.6 correction. All previous DTD versions allowed zero or more identifier
|
|
aggregates. Nothing other than a single <PRESDELIVERID> has meaning. -->
|
|
<!ELEMENT PRESNOTIFYRS - - (PRESDELIVERYID)>
|
|
|
|
<!ELEMENT PRESDELIVERYID - - (PRESACCTFROM,BILLID,DTSEEN)>
|
|
|
|
|
|
<!ELEMENT NOTIFYWILLING - o %BOOLTYPE>
|
|
<!ELEMENT INCLUDEDETAIL - o %BOOLTYPE>
|
|
<!ELEMENT AMTDUE - o %AMTTYPE>
|
|
<!ELEMENT MINAMTDUE - o %AMTTYPE>
|
|
<!ELEMENT DTBILL - o %DTTMTYPE>
|
|
<!ELEMENT PREVBAL - o %AMTTYPE>
|
|
<!ELEMENT ACTIVITY - o %AMTTYPE>
|
|
<!ELEMENT ACCTBAL - o %AMTTYPE>
|
|
<!ELEMENT NOTIFYDESIRED - o %BOOLTYPE>
|
|
<!ELEMENT DETAILAVAILABLE - o %BOOLTYPE>
|
|
<!ELEMENT IMAGEURL - o %URL2TYPE>
|
|
<!ELEMENT PREFETCHURL - o %URL2TYPE>
|
|
<!ELEMENT TABLENAME - o %GENNAMETYPE>
|
|
<!ELEMENT BILLDETAILTABLETYPE - o %GENNAMETYPE>
|
|
<!ELEMENT C - o %MSGTYPE>
|
|
<!ELEMENT N - o %CHARTYPE>
|
|
<!ELEMENT COLNAME - o %GENNAMETYPE>
|
|
<!ELEMENT COLTYPE - o %COLUMNTYPE>
|
|
<!ELEMENT DTSEEN - o %DTTMTYPE>
|
|
<!ELEMENT BILLID - o %IDTYPE>
|
|
|
|
<!-- =============================== -->
|
|
<!-- BILL PRESENTMENT EMAIL MESSAGES -->
|
|
<!-- =============================== -->
|
|
|
|
<!-- Synchronization -->
|
|
<!ELEMENT PRESMAILSYNCRQ - - (%SYNCRQMACRO , INCIMAGES, USEHTML, PRESACCTFROM, PRESMAILTRNRQ*)>
|
|
<!--#ELEMENT PRESMAILSYNCRQ #Link(TOKEN2, PRESDLVMSGSRQV1)-->
|
|
|
|
<!ELEMENT PRESMAILSYNCRS - - (%SYNCRSMACRO , PRESACCTFROM, PRESMAILTRNRS*)>
|
|
<!--#ELEMENT PRESMAILSYNCRS #Link(TOKEN2,PRESDLVMSGSRSV1)-->
|
|
<!--#ELEMENT PRESMAILSYNCRS #Link(SYNCERROR, PRESDLVMSGSRSV1)-->
|
|
|
|
|
|
<!-- Bill Presentment Mail -->
|
|
<!ELEMENT PRESMAILTRNRQ - - (%TRNRQMACRO, PRESMAILRQ)>
|
|
<!ELEMENT PRESMAILTRNRS - - (%TRNRSMACRO, PRESMAILRS?)>
|
|
|
|
<!ELEMENT PRESMAILRQ - - (PRESACCTFROM, MAIL)>
|
|
<!ELEMENT PRESMAILRS - - (PRESACCTFROM, MAIL)>
|
|
|
|
|
|
|
|
<!-- Profile message set -->
|
|
<!ELEMENT (PROFMSGSRQV1, PROFMSGSRQV2) - - ((PROFTRNRQ)+ )>
|
|
<!ELEMENT (PROFMSGSRSV1, PROFMSGSRSV2) - - ((PROFTRNRS)+ )>
|
|
|
|
<!-- Profile entry for message set -->
|
|
<!-- OFX 1.6 correction of ordinance within profile. OFX 1.5.1 servers are compatible with
|
|
OFX 1.0.2 clients if they comply. -->
|
|
<!ELEMENT PROFMSGSET - - (PROFMSGSETV1, PROFMSGSETV2?)>
|
|
<!ELEMENT (PROFMSGSETV1, PROFMSGSETV2) - - (MSGSETCORE)>
|
|
|
|
<!-- No synchronization in this module -->
|
|
|
|
<!-- Transactions -->
|
|
<!ELEMENT PROFTRNRQ - - (%TRNRQMACRO , PROFRQ)>
|
|
<!ELEMENT PROFTRNRS - - (%TRNRSMACRO , PROFRS?)>
|
|
|
|
<!-- Messages -->
|
|
|
|
<!-- Message List -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- Moved message set list from entity section to here -->
|
|
<!-- ADDED PRESDIRMSGSET, PRESDLVMSGSET -->
|
|
<!-- OFX 1.6 correction: While entirely compatible with the previous formation
|
|
of this macro ( SIGNONMSETSET?, SIGNUPMSGSET?, ... ), this form makes the
|
|
intent more obvious. Message set profile aggregates may appear in any
|
|
order in <MSGSETLIST>.
|
|
Also, removed SIGNONMSGSET and PROFMSGSET from the macro to make them
|
|
required in <MSGSETLIST>. -->
|
|
<!ENTITY % MSGSETMACRO "
|
|
( SIGNUPMSGSET | BANKMSGSET | CREDITCARDMSGSET |
|
|
INVSTMTMSGSET | INTERXFERMSGSET | WIREXFERMSGSET |
|
|
BILLPAYMSGSET | EMAILMSGSET | SECLISTMSGSET |
|
|
PRESDIRMSGSET | PRESDLVMSGSET
|
|
%EXTRAMSGSETS
|
|
)">
|
|
|
|
<!-- OFX 1.6 correction: Disallow an empty <MSGSETLIST> by requiring one or
|
|
more occurances of the %MSGSETMACRO contents.
|
|
Also, make <SIGNONMSGSET> and <PROFMSGSET> required. -->
|
|
<!ELEMENT MSGSETLIST - - (
|
|
((( SIGNONMSGSET, (%MSGSETMACRO)+, PROFMSGSET ) |
|
|
( PROFMSGSET, (%MSGSETMACRO)+, SIGNONMSGSET )), (%MSGSETMACRO)* ) |
|
|
( (%MSGSETMACRO)+,
|
|
(( SIGNONMSGSET, (%MSGSETMACRO)*, PROFMSGSET ) |
|
|
( PROFMSGSET, (%MSGSETMACRO)*, SIGNONMSGSET )), (%MSGSETMACRO)* )
|
|
)>
|
|
|
|
<!ELEMENT PROFRQ - - (CLIENTROUTING , DTPROFUP)>
|
|
<!ELEMENT CLIENTROUTING - o %CLIENTROUTINGENUM>
|
|
|
|
<!-- version 2 adds URLGETREDIRECT -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED URLGETREDIRECT -->
|
|
<!-- CHANGE URL TO (URL|URL2) -->
|
|
<!ELEMENT PROFRS - - (MSGSETLIST , SIGNONINFOLIST , DTPROFUP,
|
|
FINAME, (ADDR1,(ADDR2,ADDR3?)?), CITY, STATE, POSTALCODE, COUNTRY,
|
|
CSPHONE?, TSPHONE?, FAXPHONE?, (URL|URL2)?, URLGETREDIRECT?, EMAIL? )>
|
|
<!--#ELEMENT PROFRS #Link(URL,PROFMSGSRSV1)-->
|
|
<!--#ELEMENT PROFRS #Link(URL2,PROFMSGSRSV2)-->
|
|
<!--#ELEMENT PROFRS #Link(URLGETREDIRECT,PROFMSGSRSV2)-->
|
|
|
|
<!ELEMENT FINAME - o %GENNAMETYPE>
|
|
<!ELEMENT CSPHONE - o %PHONETYPE>
|
|
<!ELEMENT TSPHONE - o %PHONETYPE>
|
|
<!ELEMENT FAXPHONE - o %PHONETYPE>
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED URLGETREDIRECT -->
|
|
<!ELEMENT URLGETREDIRECT - o %BOOLTYPE>
|
|
|
|
<!-- Signon realm info - version 2 adds pwtype for intl use -->
|
|
<!ELEMENT SIGNONINFOLIST - - (SIGNONINFO*)>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED PWTYPE -->
|
|
<!ELEMENT SIGNONINFO - - (SIGNONREALM , MIN , MAX ,
|
|
CHARTYPE , CASESEN ,
|
|
SPECIAL , SPACES, PINCH, CHGPINFIRST, PWTYPE?)>
|
|
<!-- OFX 1.6 correction. This element previously was incorrectly linked to
|
|
PROFMSGSETV2. -->
|
|
<!--#ELEMENT SIGNONINFO #Link(PWTYPE, PROFMSGSRSV2)-->
|
|
|
|
<!ELEMENT SIGNONREALM - o %GENNAMETYPE>
|
|
<!ELEMENT MIN - o %MAXMINTYPE>
|
|
<!ELEMENT MAX - o %MAXMINTYPE>
|
|
<!ELEMENT CHARTYPE - o %CHARTYPEENUM>
|
|
<!ELEMENT CASESEN - o %BOOLTYPE>
|
|
<!ELEMENT SPECIAL - o %BOOLTYPE>
|
|
<!ELEMENT SPACES - o %BOOLTYPE>
|
|
<!ELEMENT PINCH - o %BOOLTYPE>
|
|
<!ELEMENT CHGPINFIRST - o %BOOLTYPE>
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT PWTYPE - o %PWTYPEENUM>
|
|
|
|
<!-- Message set core info - used by all XXXMSGSETVn -->
|
|
<!-- version 2 adds COUNTRY -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED COUNTRY -->
|
|
<!-- CHANGE URL to URL+ -->
|
|
<!-- CHANGE URL TO (URL|URL2) -->
|
|
<!-- OFX 1.6: Add REFRESHSUPT element. -->
|
|
<!ELEMENT MSGSETCORE - - (VER , (URL|URL2) , OFXSEC ,
|
|
TRANSPSEC , SIGNONREALM ,
|
|
LANGUAGE+, COUNTRY*, SYNCMODE, REFRESHSUPT?,
|
|
RESPFILEER, SPNAME? )>
|
|
<!--#ELEMENT MSGSETCORE #Link(URL,(SIGNONMSGSETV1 | SIGNUPMSGSETV1 | EMAILMSGSETV1 |
|
|
BANKMSGSETV1 | CREDITCARDMSGSETV1 | INTERXFERMSGSETV1 | WIREXFERMSGSETV1 |
|
|
SECLISTMSGSETV1 | PROFMSGSETV1 | BILLPAYMSGSETV1 | INVSTMTMSGSETV1))-->
|
|
<!--#ELEMENT MSGSETCORE #Link(URL2,(SIGNONMSGSETV2 | SIGNUPMSGSETV2 | EMAILMSGSETV2 |
|
|
BANKMSGSETV2 | CREDITCARDMSGSETV2 | INTERXFERMSGSETV2 | WIREXFERMSGSETV2 |
|
|
SECLISTMSGSETV2 | PROFMSGSETV2 | BILLPAYMSGSETV2 | INVSTMTMSGSETV2 |
|
|
PRESDIRMSGSETV1 | PRESDLVMSGSETV1))-->
|
|
<!--#ELEMENT MSGSETCORE #Link(COUNTRY,(SIGNONMSGSETV2 | SIGNUPMSGSETV2 | EMAILMSGSETV2 |
|
|
BANKMSGSETV2 | CREDITCARDMSGSETV2 | INTERXFERMSGSETV2 | WIREXFERMSGSETV2 |
|
|
SECLISTMSGSETV2 | PROFMSGSETV2 | BILLPAYMSGSETV2 | INVSTMTMSGSETV2 |
|
|
PRESDIRMSGSETV1 | PRESDLVMSGSETV1))-->
|
|
|
|
<!ELEMENT VER - o %VERTYPE>
|
|
<!ELEMENT OFXSEC - o %SECURITYENUM>
|
|
<!ELEMENT TRANSPSEC - o %BOOLTYPE>
|
|
<!ELEMENT SYNCMODE - o %SYNCENUM>
|
|
<!ELEMENT REFRESHSUPT - o %BOOLTYPE>
|
|
<!ELEMENT RESPFILEER - o %BOOLTYPE>
|
|
<!ELEMENT SPNAME - o %GENNAMETYPE>
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!--
|
|
Open Financial Exchange Element Structure
|
|
This section defines common and high-level elements.
|
|
New requests and responses need to be added to the TRNRQ/TRNRS elements here
|
|
-->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Top-level -->
|
|
<!-- Add the 'meta-token' for sync requests from each
|
|
service module here -->
|
|
|
|
|
|
<!ENTITY % OFXRQMSGSETS
|
|
"(SIGNONMSGSRQV1 | SIGNONMSGSRQV2),
|
|
(SIGNUPMSGSRQV1 | SIGNUPMSGSRQV2+)?,
|
|
(BANKMSGSRQV1 | BANKMSGSRQV2)?,
|
|
(CREDITCARDMSGSRQV1 | CREDITCARDMSGSRQV2)?,
|
|
(INVSTMTMSGSRQV1 | INVSTMTMSGSRQV2)?,
|
|
(INTERXFERMSGSRQV1 | INTERXFERMSGSRQV2)?,
|
|
(WIREXFERMSGSRQV1 | WIREXFERMSGSRQV2)?,
|
|
(BILLPAYMSGSRQV1 | BILLPAYMSGSRQV2)?,
|
|
(EMAILMSGSRQV1 | EMAILMSGSRQV2)?,
|
|
(SECLISTMSGSRQV1 | SECLISTMSGSRQV2)?,
|
|
PRESDIRMSGSRQV1?,
|
|
PRESDLVMSGSRQV1?,
|
|
(PROFMSGSRQV1 | PROFMSGSRQV2)?
|
|
%EXTRARQMSGSETS">
|
|
|
|
<!ENTITY % OFXRSMSGSETS
|
|
"(SIGNONMSGSRSV1 | SIGNONMSGSRSV2),
|
|
(SIGNUPMSGSRSV1 | SIGNUPMSGSRSV2+)?,
|
|
(BANKMSGSRSV1 | BANKMSGSRSV2)?,
|
|
(CREDITCARDMSGSRSV1 | CREDITCARDMSGSRSV2)?,
|
|
(INVSTMTMSGSRSV1 | INVSTMTMSGSRSV2)?,
|
|
(INTERXFERMSGSRSV1 | INTERXFERMSGSRSV2)?,
|
|
(WIREXFERMSGSRSV1 | WIREXFERMSGSRSV2)?,
|
|
(BILLPAYMSGSRSV1 | BILLPAYMSGSRSV2)?,
|
|
(EMAILMSGSRSV1 | EMAILMSGSRSV2)?,
|
|
(SECLISTMSGSRSV1 | SECLISTMSGSRSV2)?,
|
|
PRESDIRMSGSRSV1?,
|
|
PRESDLVMSGSRSV1?,
|
|
(PROFMSGSRSV1 | PROFMSGSRSV2)?
|
|
%EXTRARSMSGSETS">
|
|
|
|
<!ELEMENT OFX - - ((%OFXRQMSGSETS) | (%OFXRSMSGSETS))>
|
|
|
|
|
|
<!-- Generic Elements and Common Aggregates -->
|
|
|
|
<!ELEMENT DTCLIENT - o %DTTMTYPE>
|
|
<!ELEMENT USERID - o %IDTYPE>
|
|
<!ELEMENT USERPASS - o %PASSWORDTYPE>
|
|
<!ELEMENT USERKEY - o %USERKEYTYPE>
|
|
<!ELEMENT GENUSERKEY - o %BOOLTYPE>
|
|
<!ELEMENT APPID - o %APPIDTYPE>
|
|
<!ELEMENT APPVER - o %INTTYPE>
|
|
<!ELEMENT DTSERVER - o %DTTMTYPE>
|
|
<!ELEMENT TSKEYEXPIRE - o %DTTMTYPE>
|
|
<!ELEMENT CLTCOOKIE - o %IDTYPE>
|
|
<!ELEMENT TAN - o %TANTYPE>
|
|
|
|
<!ELEMENT DESC - o %SHORTMSGTYPE>
|
|
<!ELEMENT PHONE - o %PHONETYPE>
|
|
|
|
|
|
<!-- general error reporting aggregate -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGED MESSAGE TO (MESSAGE | MESSAGE2) -->
|
|
<!ELEMENT STATUS - - (CODE , SEVERITY , (MESSAGE | MESSAGE2)? )>
|
|
<!--#ELEMENT STATUS #Link(MESSAGE,(SIGNONMSGSRSV1 | SIGNUPMSGSRSV1 | BANKMSGSRSV1 | CREDITCARDMSGSRSV1 | INVSTMTMSGSRSV1 | INTERXFERMSGSRSV1 | WIREXFERMSGSRSV1 | BILLPAYMSGSRSV1 | EMAILMSGSRSV1 | SECLISTMSGSRSV1 | PROFMSGSRSV1))-->
|
|
<!--#ELEMENT STATUS #Link(MESSAGE2, (SIGNONMSGSRSV2 | SIGNUPMSGSRSV2 | BANKMSGSRSV2 | CREDITCARDMSGSRSV2 | INVSTMTMSGSRSV2 | INTERXFERMSGSRSV2 | WIREXFERMSGSRSV2 | BILLPAYMSGSRSV2 | EMAILMSGSRSV2 | SECLISTMSGSRSV2 | PROFMSGSRSV2 | PRESDIRMSGSRSV1 | PRESDLVMSGSRSV1))-->
|
|
|
|
<!ELEMENT CODE - o %ERRORTYPE>
|
|
<!ELEMENT SEVERITY - o %SEVERITYENUM>
|
|
|
|
<!-- OFX 1.02 A-255 -->
|
|
<!ELEMENT MESSAGE - o %MSGTYPE>
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED MESSAGE2, A-2000 -->
|
|
<!ELEMENT MESSAGE2 - o %LONGMSGTYPE>
|
|
|
|
<!-- Balance record -->
|
|
<!ELEMENT BAL - - (NAME , DESC , BALTYPE , VALUE ,
|
|
DTASOF? , CURRENCY?)>
|
|
<!ELEMENT BALTYPE - o %BALANCEENUM>
|
|
<!ELEMENT VALUE - o %AMTTYPE>
|
|
|
|
|
|
<!--
|
|
TRNUID - a UUID that uniquely identifies transactions
|
|
-->
|
|
<!ELEMENT TRNUID - o %UUIDTYPE>
|
|
|
|
|
|
<!-- Server ID -->
|
|
<!ELEMENT SRVRTID - o %SRVRIDTYPE>
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- Server ID -->
|
|
<!ELEMENT SRVRTID2 - o %UUIDTYPE>
|
|
|
|
<!-- Transaction ID issued by financial institution.This ID is used to detect duplicate downloads -->
|
|
<!ELEMENT FITID - o %FITIDTYPE>
|
|
|
|
<!-- starting date -->
|
|
<!ELEMENT DTSTART - o %DTTMTYPE>
|
|
|
|
<!-- ending date -->
|
|
<!ELEMENT DTEND - o %DTTMTYPE>
|
|
|
|
<!ELEMENT DTPROFUP - o %DTTMTYPE>
|
|
<!ELEMENT DTACCTUP - o %DTTMTYPE>
|
|
|
|
<!-- Sync-related -->
|
|
<!ELEMENT TOKENONLY - o %BOOLTYPE>
|
|
<!ELEMENT TOKEN - o %SRVRIDTYPE>
|
|
<!-- OFX 1.5 -->
|
|
<!ELEMENT TOKEN2 - o %UUIDTYPE>
|
|
<!ELEMENT REFRESH - o %BOOLTYPE>
|
|
<!ELEMENT REJECTIFMISSING - o %BOOLTYPE>
|
|
<!ELEMENT LOSTSYNC - o %BOOLTYPE>
|
|
<!ELEMENT SYNCERROR - o %ERRORTYPE>
|
|
|
|
<!ELEMENT URL - o %URLTYPE>
|
|
<!ELEMENT URL2 - o %URL2TYPE>
|
|
<!ELEMENT INCIMAGES - o %BOOLTYPE>
|
|
|
|
|
|
<!-- Name & Address-related fields used in several messages -->
|
|
|
|
<!ELEMENT FIRSTNAME - o %GENNAMETYPE>
|
|
<!ELEMENT MIDDLENAME - o %GENNAMETYPE>
|
|
<!ELEMENT LASTNAME - o %GENNAMETYPE>
|
|
|
|
<!-- Payees address lines (1 or more) -->
|
|
<!ELEMENT ADDR1 - o %ADDRESSTYPE>
|
|
<!ELEMENT ADDR2 - o %ADDRESSTYPE>
|
|
<!ELEMENT ADDR3 - o %ADDRESSTYPE>
|
|
|
|
<!-- Payees city -->
|
|
<!ELEMENT CITY - o %ADDRESSTYPE>
|
|
|
|
<!-- Payees state -->
|
|
<!ELEMENT STATE - o %STATETYPE>
|
|
|
|
<!-- Zip code -->
|
|
<!ELEMENT POSTALCODE - o %ZIPTYPE>
|
|
|
|
<!-- Payees country -->
|
|
<!ELEMENT COUNTRY - o %COUNTRYTYPE>
|
|
|
|
<!ELEMENT DAYPHONE - o %PHONETYPE>
|
|
<!ELEMENT EVEPHONE - o %PHONETYPE>
|
|
<!ELEMENT EMAIL - o %SHORTMSGTYPE>
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Common between banking, billpay and/or investments -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Bank account -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- CHANGED ACCTTYPE TO (ACCTTYPE|ACCTTYPE2) -->
|
|
<!ELEMENT BANKACCTFROM - - (BANKID , BRANCHID? , ACCTID ,
|
|
(ACCTTYPE|ACCTTYPE2) , ACCTKEY?)>
|
|
<!--#ELEMENT BANKACCTFROM #Link(ACCTTYPE,(SIGNUPMSGSRQV1 | BANKMSGSRQV1 | INTERXFERMSGSRQV1 |
|
|
WIREXFERMSGSRQV1 | BILLPAYMSGSRQV1 | INVSTMTMSGSRQV1 |
|
|
SIGNUPMSGSRSV1 | BANKMSGSRSV1 | INTERXFERMSGSRSV1 | WIREXFERMSGSRSV1 |
|
|
BILLPAYMSGSRSV1 | INVSTMTMSGSRSV1))-->
|
|
<!--#ELEMENT BANKACCTFROM #Link(ACCTTYPE2,(SIGNUPMSGSRQV2 | BANKMSGSRQV2 | INTERXFERMSGSRQV2 |
|
|
WIREXFERMSGSRQV2 | BILLPAYMSGSRQV2 | INVSTMTMSGSRQV2 | PRESDIRMSGSRQV1 | PRESDLVMSGSRQV1 |
|
|
SIGNUPMSGSRSV2 | BANKMSGSRSV2 | INTERXFERMSGSRSV2 | WIREXFERMSGSRSV2 |
|
|
BILLPAYMSGSRSV2 | INVSTMTMSGSRSV2 | PRESDIRMSGSRSV1 | PRESDLVMSGSRSV1))-->
|
|
<!-- V2 adds extbankacctto for international only -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED EXTBANKACCTTO -->
|
|
<!-- CHANGED ACCTTYPE TO (ACCTTYPE|ACCTTYPE2) -->
|
|
<!ELEMENT BANKACCTTO - - (BANKID , BRANCHID? , ACCTID ,
|
|
(ACCTTYPE|ACCTTYPE2) , ACCTKEY?, EXTBANKACCTTO?)>
|
|
<!--#ELEMENT BANKACCTTO #Link(ACCTTYPE,(SIGNUPMSGSRQV1 | BANKMSGSRQV1 | INTERXFERMSGSRQV1 |
|
|
WIREXFERMSGSRQV1 | BILLPAYMSGSRQV1 | INVSTMTMSGSRQV1 |
|
|
SIGNUPMSGSRSV1 | BANKMSGSRSV1 | INTERXFERMSGSRSV1 | WIREXFERMSGSRSV1 |
|
|
BILLPAYMSGSRSV1 | INVSTMTMSGSRSV1))-->
|
|
<!--#ELEMENT BANKACCTTO #Link(ACCTTYPE2,(SIGNUPMSGSRQV2 | BANKMSGSRQV2 | INTERXFERMSGSRQV2 |
|
|
WIREXFERMSGSRQV2 | BILLPAYMSGSRQV2 | INVSTMTMSGSRQV2 | PRESDIRMSGSRQV1 | PRESDLVMSGSRQV1 |
|
|
SIGNUPMSGSRSV2 | BANKMSGSRSV2 | INTERXFERMSGSRSV2 | WIREXFERMSGSRSV2 |
|
|
BILLPAYMSGSRSV2 | INVSTMTMSGSRSV2 | PRESDIRMSGSRSV1 | PRESDLVMSGSRSV1))-->
|
|
<!--#ELEMENT BANKACCTTO #Link(EXTBANKACCTTO,(SIGNUPMSGSRQV2 | BANKMSGSRQV2 | INTERXFERMSGSRQV2 |
|
|
WIREXFERMSGSRQV2 | BILLPAYMSGSRQV2 | INVSTMTMSGSRQV2 | PRESDIRMSGSRQV1 | PRESDLVMSGSRQV1 |
|
|
SIGNUPMSGSRSV2 | BANKMSGSRSV2 | INTERXFERMSGSRSV2 | WIREXFERMSGSRSV2 |
|
|
BILLPAYMSGSRSV2 | INVSTMTMSGSRSV2 | PRESDIRMSGSRSV1 | PRESDLVMSGSRSV1))-->
|
|
|
|
<!-- Credit card account -->
|
|
|
|
<!ELEMENT (CCACCTFROM,CCACCTTO) - - (ACCTID , ACCTKEY?)>
|
|
|
|
<!-- extbankacctto for international only, v2 only, CHE, DEU or ITA only -->
|
|
<!-- OFX 1.5 -->
|
|
<!-- NEW Aggregate -->
|
|
<!ELEMENT EXTBANKACCTTO - - (BANKNAME?, BANKBRANCH?, BANKCITY?, BANKPOSTALCODE?, CHE.PTTACCTID?)>
|
|
<!ELEMENT BANKNAME - o %GENNAMETYPE>
|
|
<!ELEMENT BANKBRANCH - o %GENNAMETYPE>
|
|
<!ELEMENT BANKCITY - o %ADDRESSTYPE>
|
|
<!ELEMENT BANKPOSTALCODE - o %ZIPTYPE>
|
|
<!ELEMENT CHE.PTTACCTID - o %BANKIDTYPE>
|
|
|
|
<!-- Routing & transit number -->
|
|
<!ELEMENT BANKID - o %BANKIDTYPE>
|
|
|
|
<!-- Bank identifier for international banks -->
|
|
<!ELEMENT BRANCHID - o %ACCTIDTYPE>
|
|
|
|
<!-- Account number -->
|
|
<!ELEMENT ACCTID - o %ACCTIDTYPE>
|
|
|
|
<!-- Type of account. -->
|
|
<!ELEMENT ACCTTYPE - o %ACCOUNTENUM>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED ACCTTYPE2 -->
|
|
<!ELEMENT ACCTTYPE2 - o %ACCOUNTENUM2>
|
|
|
|
<!-- Checksum for international banks -->
|
|
<!ELEMENT ACCTKEY - o %ACCTIDTYPE>
|
|
|
|
<!-- User account number for a merchant -->
|
|
<!ELEMENT PAYACCT - o %IDTYPE>
|
|
|
|
<!--
|
|
If present, this is the FITID of a previously sent transaction that is corrected by this record.
|
|
This transaction replaces or deletes the transaction that it corrects.
|
|
-->
|
|
<!ELEMENT CORRECTFITID - o %FITIDTYPE>
|
|
|
|
|
|
<!--
|
|
Actions can be REPLACE or DELETE.
|
|
REPLACE replaces the transaction referenced by CORRECTFITID; DELETE deletes it.
|
|
-->
|
|
<!ELEMENT CORRECTACTION - o %CORRECTIVEACTENUM>
|
|
|
|
<!-- Payee name or description -->
|
|
<!ELEMENT NAME - o %GENNAMETYPE>
|
|
|
|
<!-- Extra information (not in <NAME>), A-255 -->
|
|
<!ELEMENT MEMO - o %MSGTYPE>
|
|
|
|
<!-- OFX 1.5 -->
|
|
<!-- NEW Type, Only used in V2 message sets -->
|
|
<!-- Extra information (not in <NAME>), A-390 -->
|
|
<!ELEMENT MEMO2 - o %MEMO2TYPE>
|
|
|
|
<!-- Marketing information -->
|
|
<!ELEMENT MKTGINFO - o %INFOTYPE>
|
|
|
|
<!-- Include flag -->
|
|
<!ELEMENT INCLUDE - o (%BOOLTYPE;) >
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Common amounts -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Balance amount -->
|
|
<!ELEMENT BALAMT - o %AMTTYPE>
|
|
|
|
<!-- Amount of transaction -->
|
|
<!ELEMENT TRNAMT - o %AMTTYPE>
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Common dates -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Date funds are available -->
|
|
<!ELEMENT DTDUE - o %DTTMTYPE>
|
|
|
|
<!-- Balance date -->
|
|
<!ELEMENT DTASOF - o %DTTMTYPE>
|
|
|
|
<!-- Value date, not used in US -->
|
|
<!ELEMENT DTAVAIL - o %DTTMTYPE>
|
|
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Recurring models and instances -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- If the response is generated by a recurring model, this ID references it -->
|
|
<!ELEMENT RECSRVRTID - o %SRVRIDTYPE>
|
|
<!-- OFX 1.5 -->
|
|
<!-- ADDED RECSRVRTID2 OF UUIDTYPE -->
|
|
<!ELEMENT RECSRVRTID2 - o %UUIDTYPE>
|
|
|
|
|
|
|
|
<!-- Recurring Instructions aggregate -->
|
|
<!ELEMENT RECURRINST - - (NINSTS?, FREQ)>
|
|
|
|
<!-- Number of instances. If this tag is omitted, the schedule is open-ended -->
|
|
<!ELEMENT NINSTS - o %NINSTSTYPE>
|
|
|
|
<!-- Frequency -->
|
|
<!ELEMENT FREQ - o %FREQENUM>
|
|
|
|
<!--
|
|
Modify pending flag, boolean
|
|
Note: if this flag is set, the server should modify pending as well as future transfers.
|
|
-->
|
|
<!ELEMENT MODPENDING - o %BOOLTYPE>
|
|
|
|
|
|
<!--
|
|
Cancel pending flag, boolean
|
|
Note: if this flag is set, the server should cancel pending as well as future transfers.
|
|
-->
|
|
<!ELEMENT CANPENDING - o %BOOLTYPE>
|
|
|
|
|
|
<!-- International -->
|
|
<!ELEMENT LANGUAGE - o %LANGUAGEENUM>
|
|
|
|
<!ELEMENT (CURRENCY, ORIGCURRENCY) - - (CURRATE , CURSYM)>
|
|
<!ELEMENT CURSYM - o %CURRENCYENUM>
|
|
<!ELEMENT CURRATE - o %RATETYPE>
|
|
<!ELEMENT CURDEF - o %CURRENCYENUM>
|
|
|
|
<!-- ============================================================================= -->
|
|
<!-- Common Profile Stuff -->
|
|
<!-- ============================================================================= -->
|
|
|
|
<!-- Recurring transfers and payments -->
|
|
|
|
<!-- Supports recurring -->
|
|
<!ELEMENT CANRECUR - o %BOOLTYPE>
|
|
|
|
<!-- Can modify recurring models -->
|
|
<!ELEMENT CANMODMDLS - o %BOOLTYPE>
|
|
|
|
<!-- Number of days prior to processing that server makes a recurring transaction available to the client -->
|
|
<!ELEMENT MODELWND - o %DAYSPANTYPE>
|
|
|
|
<!-- supports value date, dtavail (should be N in US) -->
|
|
<!ELEMENT SUPPORTDTAVAIL - o %BOOLTYPE>
|
|
|
|
<!-- Day where processing is unavailable (MONDAY, TUESDAY, etc) -->
|
|
<!ELEMENT PROCDAYSOFF - o %DAYSENUM>
|
|
|
|
<!-- Cut off time for day's processing -->
|
|
<!ELEMENT PROCENDTM - o %TMTYPE>
|
|
|
|
<!-- supports delivery of images as multi-part MIME -->
|
|
<!ELEMENT CANSUPPORTIMAGES - o %BOOLTYPE>
|
|
|
|
<!-- supports GROUPID transactions -->
|
|
<!ELEMENT CANSUPPORTGROUPID - o %BOOLTYPE>
|
|
|
|
<!-- supports updating PRESNAMEADDRESS on the server using SVCCHG in ACCTRQ -->
|
|
<!ELEMENT CANUPDATEPRESNAMEADDRESS - o %BOOLTYPE>
|
|
|
|
]>
|
|
|