4.8 Clearing Report XML Schema

Below is an example of a Clearing Report XML schema.

Copy
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"
           version="0.4">

    <!--Simple Types-->
    <xs:simpleType name="NullOrULong">
        <xs:restriction base="xs:string">
            <xs:pattern value="\d*|\s{0}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LocalDate">
        <xs:restriction base="xs:string">
            <xs:pattern value=""/>
            <xs:maxLength value="14"/>
            <xs:pattern
                    value="([2-9]\d{3}((0[1-9]|1[012])(0[1-9]|1\d|2[0-8])|(0[13456789]|1[012])(29|30)|(0[13578]|1[02])31)|(([2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00))0229)([0-1][0-9]|[2][0-3])([0-5][0-9])([0-5][0-9])"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LocalDateUTC">
        <xs:restriction base="xs:string">
            <xs:pattern value=""/>
            <xs:maxLength value="10"/>
            <xs:pattern value="[0-9]{10}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SettlementDate">
        <xs:restriction base="xs:string">
            <xs:pattern
                    value="\s*|([2-9]\d{3}((0[1-9]|1[012])(0[1-9]|1\d|2[0-8])|(0[13456789]|1[012])(29|30)|(0[13578]|1[02])31)|(([2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00))0229)"/>
            <xs:maxLength value="8"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CycleNumber">
        <xs:restriction base="xs:string">
            <xs:maxLength value="2"/>
            <xs:enumeration value="01"/>
            <xs:enumeration value="02"/>
            <xs:enumeration value="03"/>
            <xs:enumeration value="04"/>
            <xs:enumeration value="05"/>
            <xs:enumeration value="06"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Direction">
        <xs:restriction base="xs:string">
            <xs:enumeration value="debit"/>
            <xs:enumeration value="credit"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ISOCurrencyCode">
        <xs:restriction base="xs:unsignedShort">
            <xs:enumeration value="008"/>
            <xs:enumeration value="012"/>
            <xs:enumeration value="032"/>
            <xs:enumeration value="036"/>
            <xs:enumeration value="044"/>
            <xs:enumeration value="048"/>
            <xs:enumeration value="050"/>
            <xs:enumeration value="051"/>
            <xs:enumeration value="052"/>
            <xs:enumeration value="060"/>
            <xs:enumeration value="064"/>
            <xs:enumeration value="068"/>
            <xs:enumeration value="072"/>
            <xs:enumeration value="084"/>
            <xs:enumeration value="090"/>
            <xs:enumeration value="096"/>
            <xs:enumeration value="104"/>
            <xs:enumeration value="108"/>
            <xs:enumeration value="116"/>
            <xs:enumeration value="124"/>
            <xs:enumeration value="132"/>
            <xs:enumeration value="136"/>
            <xs:enumeration value="144"/>
            <xs:enumeration value="152"/>
            <xs:enumeration value="156"/>
            <xs:enumeration value="158"/>
            <xs:enumeration value="170"/>
            <xs:enumeration value="174"/>
            <xs:enumeration value="188"/>
            <xs:enumeration value="191"/>
            <xs:enumeration value="192"/>
            <xs:enumeration value="203"/>
            <xs:enumeration value="208"/>
            <xs:enumeration value="214"/>
            <xs:enumeration value="222"/>
            <xs:enumeration value="230"/>
            <xs:enumeration value="232"/>
            <xs:enumeration value="233"/>
            <xs:enumeration value="238"/>
            <xs:enumeration value="242"/>
            <xs:enumeration value="262"/>
            <xs:enumeration value="270"/>
            <xs:enumeration value="292"/>
            <xs:enumeration value="320"/>
            <xs:enumeration value="324"/>
            <xs:enumeration value="328"/>
            <xs:enumeration value="332"/>
            <xs:enumeration value="340"/>
            <xs:enumeration value="344"/>
            <xs:enumeration value="348"/>
            <xs:enumeration value="352"/>
            <xs:enumeration value="356"/>
            <xs:enumeration value="360"/>
            <xs:enumeration value="364"/>
            <xs:enumeration value="368"/>
            <xs:enumeration value="376"/>
            <xs:enumeration value="388"/>
            <xs:enumeration value="392"/>
            <xs:enumeration value="398"/>
            <xs:enumeration value="400"/>
            <xs:enumeration value="404"/>
            <xs:enumeration value="408"/>
            <xs:enumeration value="410"/>
            <xs:enumeration value="414"/>
            <xs:enumeration value="417"/>
            <xs:enumeration value="418"/>
            <xs:enumeration value="422"/>
            <xs:enumeration value="426"/>
            <xs:enumeration value="428"/>
            <xs:enumeration value="430"/>
            <xs:enumeration value="434"/>
            <xs:enumeration value="440"/>
            <xs:enumeration value="446"/>
            <xs:enumeration value="454"/>
            <xs:enumeration value="458"/>
            <xs:enumeration value="462"/>
            <xs:enumeration value="478"/>
            <xs:enumeration value="480"/>
            <xs:enumeration value="484"/>
            <xs:enumeration value="496"/>
            <xs:enumeration value="498"/>
            <xs:enumeration value="504"/>
            <xs:enumeration value="512"/>
            <xs:enumeration value="516"/>
            <xs:enumeration value="524"/>
            <xs:enumeration value="532"/>
            <xs:enumeration value="533"/>
            <xs:enumeration value="548"/>
            <xs:enumeration value="554"/>
            <xs:enumeration value="558"/>
            <xs:enumeration value="566"/>
            <xs:enumeration value="578"/>
            <xs:enumeration value="586"/>
            <xs:enumeration value="590"/>
            <xs:enumeration value="598"/>
            <xs:enumeration value="600"/>
            <xs:enumeration value="604"/>
            <xs:enumeration value="608"/>
            <xs:enumeration value="634"/>
            <xs:enumeration value="643"/>
            <xs:enumeration value="646"/>
            <xs:enumeration value="654"/>
            <xs:enumeration value="678"/>
            <xs:enumeration value="682"/>
            <xs:enumeration value="690"/>
            <xs:enumeration value="694"/>
            <xs:enumeration value="702"/>
            <xs:enumeration value="703"/>
            <xs:enumeration value="704"/>
            <xs:enumeration value="706"/>
            <xs:enumeration value="710"/>
            <xs:enumeration value="716"/>
            <xs:enumeration value="728"/>
            <xs:enumeration value="748"/>
            <xs:enumeration value="752"/>
            <xs:enumeration value="756"/>
            <xs:enumeration value="760"/>
            <xs:enumeration value="764"/>
            <xs:enumeration value="776"/>
            <xs:enumeration value="780"/>
            <xs:enumeration value="784"/>
            <xs:enumeration value="788"/>
            <xs:enumeration value="792"/>
            <xs:enumeration value="795"/>
            <xs:enumeration value="800"/>
            <xs:enumeration value="807"/>
            <xs:enumeration value="810"/>
            <xs:enumeration value="818"/>
            <xs:enumeration value="826"/>
            <xs:enumeration value="834"/>
            <xs:enumeration value="840"/>
            <xs:enumeration value="858"/>
            <xs:enumeration value="860"/>
            <xs:enumeration value="882"/>
            <xs:enumeration value="886"/>
            <xs:enumeration value="894"/>
            <xs:enumeration value="901"/>
            <xs:enumeration value="925"/>
            <xs:enumeration value="928"/>
            <xs:enumeration value="929"/>
            <xs:enumeration value="930"/>
            <xs:enumeration value="931"/>
            <xs:enumeration value="932"/>
            <xs:enumeration value="933"/>
            <xs:enumeration value="934"/>
            <xs:enumeration value="936"/>
            <xs:enumeration value="937"/>
            <xs:enumeration value="938"/>
            <xs:enumeration value="940"/>
            <xs:enumeration value="941"/>
            <xs:enumeration value="943"/>
            <xs:enumeration value="944"/>
            <xs:enumeration value="946"/>
            <xs:enumeration value="947"/>
            <xs:enumeration value="948"/>
            <xs:enumeration value="949"/>
            <xs:enumeration value="950"/>
            <xs:enumeration value="951"/>
            <xs:enumeration value="952"/>
            <xs:enumeration value="953"/>
            <xs:enumeration value="955"/>
            <xs:enumeration value="956"/>
            <xs:enumeration value="957"/>
            <xs:enumeration value="958"/>
            <xs:enumeration value="959"/>
            <xs:enumeration value="960"/>
            <xs:enumeration value="961"/>
            <xs:enumeration value="962"/>
            <xs:enumeration value="963"/>
            <xs:enumeration value="964"/>
            <xs:enumeration value="965"/>
            <xs:enumeration value="967"/>
            <xs:enumeration value="968"/>
            <xs:enumeration value="969"/>
            <xs:enumeration value="970"/>
            <xs:enumeration value="971"/>
            <xs:enumeration value="972"/>
            <xs:enumeration value="973"/>
            <xs:enumeration value="974"/>
            <xs:enumeration value="975"/>
            <xs:enumeration value="976"/>
            <xs:enumeration value="977"/>
            <xs:enumeration value="978"/>
            <xs:enumeration value="979"/>
            <xs:enumeration value="980"/>
            <xs:enumeration value="981"/>
            <xs:enumeration value="984"/>
            <xs:enumeration value="985"/>
            <xs:enumeration value="986"/>
            <xs:enumeration value="990"/>
            <xs:enumeration value="994"/>
            <xs:enumeration value="997"/>
            <xs:enumeration value="998"/>
            <xs:enumeration value="999"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ISOCountryCode">
        <xs:restriction base="xs:string">
            <xs:maxLength value="2"/>
            <xs:enumeration value="  "/>
            <xs:enumeration value="AD"/>
            <xs:enumeration value="AE"/>
            <xs:enumeration value="AF"/>
            <xs:enumeration value="AG"/>
            <xs:enumeration value="AI"/>
            <xs:enumeration value="AL"/>
            <xs:enumeration value="AM"/>
            <xs:enumeration value="AN"/>
            <xs:enumeration value="AO"/>
            <xs:enumeration value="AQ"/>
            <xs:enumeration value="AR"/>
            <xs:enumeration value="AS"/>
            <xs:enumeration value="AT"/>
            <xs:enumeration value="AU"/>
            <xs:enumeration value="AW"/>
            <xs:enumeration value="AX"/>
            <xs:enumeration value="AZ"/>
            <xs:enumeration value="BA"/>
            <xs:enumeration value="BB"/>
            <xs:enumeration value="BD"/>
            <xs:enumeration value="BE"/>
            <xs:enumeration value="BF"/>
            <xs:enumeration value="BG"/>
            <xs:enumeration value="BH"/>
            <xs:enumeration value="BI"/>
            <xs:enumeration value="BJ"/>
            <xs:enumeration value="BL"/>
            <xs:enumeration value="BM"/>
            <xs:enumeration value="BN"/>
            <xs:enumeration value="BO"/>
            <xs:enumeration value="BQ"/>
            <xs:enumeration value="BR"/>
            <xs:enumeration value="BS"/>
            <xs:enumeration value="BT"/>
            <xs:enumeration value="BV"/>
            <xs:enumeration value="BW"/>
            <xs:enumeration value="BY"/>
            <xs:enumeration value="BZ"/>
            <xs:enumeration value="CA"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="CD"/>
            <xs:enumeration value="CF"/>
            <xs:enumeration value="CG"/>
            <xs:enumeration value="CH"/>
            <xs:enumeration value="CI"/>
            <xs:enumeration value="CK"/>
            <xs:enumeration value="CL"/>
            <xs:enumeration value="CM"/>
            <xs:enumeration value="CN"/>
            <xs:enumeration value="CO"/>
            <xs:enumeration value="CR"/>
            <xs:enumeration value="CU"/>
            <xs:enumeration value="CV"/>
            <xs:enumeration value="CW"/>
            <xs:enumeration value="CX"/>
            <xs:enumeration value="CY"/>
            <xs:enumeration value="CZ"/>
            <xs:enumeration value="DD"/>
            <xs:enumeration value="DE"/>
            <xs:enumeration value="DJ"/>
            <xs:enumeration value="DK"/>
            <xs:enumeration value="DM"/>
            <xs:enumeration value="DO"/>
            <xs:enumeration value="DZ"/>
            <xs:enumeration value="EC"/>
            <xs:enumeration value="EE"/>
            <xs:enumeration value="EG"/>
            <xs:enumeration value="EH"/>
            <xs:enumeration value="ER"/>
            <xs:enumeration value="ES"/>
            <xs:enumeration value="ET"/>
            <xs:enumeration value="FI"/>
            <xs:enumeration value="FJ"/>
            <xs:enumeration value="FK"/>
            <xs:enumeration value="FM"/>
            <xs:enumeration value="FO"/>
            <xs:enumeration value="FR"/>
            <xs:enumeration value="GA"/>
            <xs:enumeration value="GB"/>
            <xs:enumeration value="GD"/>
            <xs:enumeration value="GE"/>
            <xs:enumeration value="GF"/>
            <xs:enumeration value="GG"/>
            <xs:enumeration value="GH"/>
            <xs:enumeration value="GI"/>
            <xs:enumeration value="GL"/>
            <xs:enumeration value="GM"/>
            <xs:enumeration value="GN"/>
            <xs:enumeration value="GP"/>
            <xs:enumeration value="GQ"/>
            <xs:enumeration value="GR"/>
            <xs:enumeration value="GS"/>
            <xs:enumeration value="GT"/>
            <xs:enumeration value="GU"/>
            <xs:enumeration value="GW"/>
            <xs:enumeration value="GY"/>
            <xs:enumeration value="HK"/>
            <xs:enumeration value="HM"/>
            <xs:enumeration value="HN"/>
            <xs:enumeration value="HR"/>
            <xs:enumeration value="HT"/>
            <xs:enumeration value="HU"/>
            <xs:enumeration value="ID"/>
            <xs:enumeration value="IE"/>
            <xs:enumeration value="IL"/>
            <xs:enumeration value="IM"/>
            <xs:enumeration value="IN"/>
            <xs:enumeration value="IO"/>
            <xs:enumeration value="IQ"/>
            <xs:enumeration value="IR"/>
            <xs:enumeration value="IS"/>
            <xs:enumeration value="IT"/>
            <xs:enumeration value="JE"/>
            <xs:enumeration value="JM"/>
            <xs:enumeration value="JO"/>
            <xs:enumeration value="JP"/>
            <xs:enumeration value="JT"/>
            <xs:enumeration value="KE"/>
            <xs:enumeration value="KG"/>
            <xs:enumeration value="KH"/>
            <xs:enumeration value="KI"/>
            <xs:enumeration value="KM"/>
            <xs:enumeration value="KN"/>
            <xs:enumeration value="KP"/>
            <xs:enumeration value="KR"/>
            <xs:enumeration value="KW"/>
            <xs:enumeration value="KY"/>
            <xs:enumeration value="KZ"/>
            <xs:enumeration value="LA"/>
            <xs:enumeration value="LB"/>
            <xs:enumeration value="LC"/>
            <xs:enumeration value="LI"/>
            <xs:enumeration value="LK"/>
            <xs:enumeration value="LR"/>
            <xs:enumeration value="LS"/>
            <xs:enumeration value="LT"/>
            <xs:enumeration value="LU"/>
            <xs:enumeration value="LV"/>
            <xs:enumeration value="LY"/>
            <xs:enumeration value="MA"/>
            <xs:enumeration value="MC"/>
            <xs:enumeration value="MD"/>
            <xs:enumeration value="ME"/>
            <xs:enumeration value="MF"/>
            <xs:enumeration value="MG"/>
            <xs:enumeration value="MH"/>
            <xs:enumeration value="MI"/>
            <xs:enumeration value="MK"/>
            <xs:enumeration value="ML"/>
            <xs:enumeration value="MM"/>
            <xs:enumeration value="MN"/>
            <xs:enumeration value="MO"/>
            <xs:enumeration value="MP"/>
            <xs:enumeration value="MQ"/>
            <xs:enumeration value="MR"/>
            <xs:enumeration value="MS"/>
            <xs:enumeration value="MT"/>
            <xs:enumeration value="MU"/>
            <xs:enumeration value="MV"/>
            <xs:enumeration value="MW"/>
            <xs:enumeration value="MX"/>
            <xs:enumeration value="MY"/>
            <xs:enumeration value="MZ"/>
            <xs:enumeration value="NA"/>
            <xs:enumeration value="NC"/>
            <xs:enumeration value="NE"/>
            <xs:enumeration value="NF"/>
            <xs:enumeration value="NG"/>
            <xs:enumeration value="NI"/>
            <xs:enumeration value="NL"/>
            <xs:enumeration value="NO"/>
            <xs:enumeration value="NP"/>
            <xs:enumeration value="NR"/>
            <xs:enumeration value="NU"/>
            <xs:enumeration value="NZ"/>
            <xs:enumeration value="OM"/>
            <xs:enumeration value="PA"/>
            <xs:enumeration value="PE"/>
            <xs:enumeration value="PF"/>
            <xs:enumeration value="PG"/>
            <xs:enumeration value="PH"/>
            <xs:enumeration value="PK"/>
            <xs:enumeration value="PL"/>
            <xs:enumeration value="PM"/>
            <xs:enumeration value="PN"/>
            <xs:enumeration value="PR"/>
            <xs:enumeration value="PS"/>
            <xs:enumeration value="PT"/>
            <xs:enumeration value="PW"/>
            <xs:enumeration value="PY"/>
            <xs:enumeration value="QA"/>
            <xs:enumeration value="QZ"/>
            <xs:enumeration value="RE"/>
            <xs:enumeration value="RO"/>
            <xs:enumeration value="RS"/>
            <xs:enumeration value="RU"/>
            <xs:enumeration value="RW"/>
            <xs:enumeration value="SA"/>
            <xs:enumeration value="SB"/>
            <xs:enumeration value="SC"/>
            <xs:enumeration value="SD"/>
            <xs:enumeration value="SE"/>
            <xs:enumeration value="SG"/>
            <xs:enumeration value="SH"/>
            <xs:enumeration value="SI"/>
            <xs:enumeration value="SJ"/>
            <xs:enumeration value="SK"/>
            <xs:enumeration value="SL"/>
            <xs:enumeration value="SM"/>
            <xs:enumeration value="SN"/>
            <xs:enumeration value="SO"/>
            <xs:enumeration value="SR"/>
            <xs:enumeration value="ST"/>
            <xs:enumeration value="SV"/>
            <xs:enumeration value="SX"/>
            <xs:enumeration value="SY"/>
            <xs:enumeration value="SZ"/>
            <xs:enumeration value="TC"/>
            <xs:enumeration value="TD"/>
            <xs:enumeration value="TF"/>
            <xs:enumeration value="TG"/>
            <xs:enumeration value="TH"/>
            <xs:enumeration value="TJ"/>
            <xs:enumeration value="TK"/>
            <xs:enumeration value="TL"/>
            <xs:enumeration value="TM"/>
            <xs:enumeration value="TN"/>
            <xs:enumeration value="TO"/>
            <xs:enumeration value="TP"/>
            <xs:enumeration value="TR"/>
            <xs:enumeration value="TT"/>
            <xs:enumeration value="TV"/>
            <xs:enumeration value="TW"/>
            <xs:enumeration value="TZ"/>
            <xs:enumeration value="UA"/>
            <xs:enumeration value="UG"/>
            <xs:enumeration value="UM"/>
            <xs:enumeration value="US"/>
            <xs:enumeration value="UY"/>
            <xs:enumeration value="UZ"/>
            <xs:enumeration value="VA"/>
            <xs:enumeration value="VC"/>
            <xs:enumeration value="VE"/>
            <xs:enumeration value="VG"/>
            <xs:enumeration value="VI"/>
            <xs:enumeration value="VN"/>
            <xs:enumeration value="VU"/>
            <xs:enumeration value="WF"/>
            <xs:enumeration value="WK"/>
            <xs:enumeration value="WS"/>
            <xs:enumeration value="YE"/>
            <xs:enumeration value="YT"/>
            <xs:enumeration value="ZA"/>
            <xs:enumeration value="ZM"/>
            <xs:enumeration value="ZW"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Rate">
        <xs:restriction base="xs:decimal">
            <xs:fractionDigits value="6"/>
            <xs:minInclusive value="0"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ConversionRate">
        <xs:restriction base="xs:decimal">
            <xs:fractionDigits value="9"/>
            <xs:minInclusive value="0"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ApprCode">
        <xs:restriction base="xs:string">
            <xs:maxLength value="6"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MerchCode">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Schema">
        <xs:restriction base="xs:string">
            <xs:minLength value="4"/>
            <xs:maxLength value="4"/>
            <xs:enumeration value="CIRR"/>
            <xs:enumeration value="ECRD"/>
            <xs:enumeration value="MAES"/>
            <xs:enumeration value="CIMA"/>
            <xs:enumeration value="MCRD"/>
            <xs:enumeration value="VISA"/>
            <xs:enumeration value="PLUS"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="YesNoString">
        <xs:restriction base="xs:string">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
            <xs:enumeration value="YES"/>
            <xs:enumeration value="NO"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ARN">
        <xs:restriction base="xs:string">
            <xs:maxLength value="23"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FIID">
        <xs:restriction base="xs:string">
            <xs:maxLength value="11"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="RIID">
        <xs:restriction base="xs:string">
            <xs:maxLength value="11"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Desc">
        <xs:restriction base="xs:string">
            <xs:maxLength value="500"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MTID">
        <xs:restriction base="xs:string">
            <xs:maxLength value="4"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Function_Code_024">
        <xs:restriction base="xs:string">
            <xs:maxLength value="3"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Conversion_Rate_Reconciliation_009">
        <xs:restriction base="xs:decimal">
            <xs:totalDigits value="15"/>
            <xs:fractionDigits value="6"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Additional_Data_048">
        <xs:restriction base="xs:string">
            <xs:maxLength value="8000"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Data_Record_072">
        <xs:restriction base="xs:string">
            <xs:maxLength value="200"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DE93_Txn_Dest_ID">
        <xs:restriction base="xs:string">
            <xs:maxLength value="11"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DE94_Txn_Orig_ID">
        <xs:restriction base="xs:string">
            <xs:maxLength value="6"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="File_ID_PDS0105">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FileProcessDate">
        <xs:restriction base="xs:string">
            <xs:pattern value=""/>
            <xs:maxLength value="14"/>
            <xs:pattern
                    value="([2-9]\d{3}((0[1-9]|1[012])(0[1-9]|1\d|2[0-8])|(0[13456789]|1[012])(29|30)|(0[13578]|1[02])31)|(([2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00))0229)([0-1][0-9]|[2][0-3])([0-5][0-9])([0-5][0-9])"/>
        </xs:restriction>
    </xs:simpleType>

    <!--Complex Types-->
    <xs:complexType name="Trace">
        <xs:attribute name="auditno" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="6"/>
                </xs:restriction>
            </xs:simpleType>

        </xs:attribute>
        <xs:attribute name="origauditno" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="6"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="Retrefno" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="12"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="Card">
        <xs:attribute name="PAN" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:minLength value="15"/>
                    <xs:maxLength value="19"/>
                    <xs:pattern value="\d+"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="product" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="4"/>
                </xs:restriction>
            </xs:simpleType>

        </xs:attribute>
        <xs:attribute name="programid" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="50"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="branchcode" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="8"/>
                </xs:restriction>
            </xs:simpleType>

        </xs:attribute>
        <xs:attribute name="productid" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="8"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="Account">
        <xs:attribute name="no" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="28"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="type" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="00"/>
                    <xs:enumeration value="01"/>
                    <xs:enumeration value="02"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="TxnCode">
        <xs:attribute name="direction" type="Direction" use="required"/>
        <xs:attribute name="Type" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="6"/>
                    <xs:enumeration value="pos"/>
                    <xs:enumeration value="atm"/>
                    <xs:enumeration value="pos_cb"/>
                    <xs:enumeration value="pos_re"/>
                    <xs:enumeration value="fee"/>
                    <xs:enumeration value="tfr"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="Group" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="pos"/>
                    <xs:enumeration value="atm"/>
                    <xs:enumeration value="fee"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="ProcCode" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="6"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="Partial" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="3"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="FeeWaivedOff" type="xs:decimal" use="optional"/>
    </xs:complexType>
    <xs:complexType name="BasicAmount">
        <xs:attribute name="value" type="xs:decimal" use="required"/>
        <xs:attribute name="value2" type="xs:decimal" use="optional"/>
        <xs:attribute name="currency" type="ISOCurrencyCode" use="required"/>
    </xs:complexType>
    <xs:complexType name="ConversionRateAmount">
        <xs:complexContent>
            <xs:extension base="BasicAmount">
                <xs:attribute name="rate" type="ConversionRate" use="required"/>
                <xs:attribute name="clientfxrate" type="Rate" use="optional"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Term">
        <xs:attribute name="code" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="8"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="location" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="128"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="street" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="64"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="city" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="64"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="country" type="ISOCountryCode" use="optional"/>
        <xs:attribute name="inputcapability" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value=" "/>
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                    <xs:enumeration value="3"/>
                    <xs:enumeration value="4"/>
                    <xs:enumeration value="5"/>
                    <xs:enumeration value="6"/>
                    <xs:enumeration value="7"/>
                    <xs:enumeration value="8"/>
                    <xs:enumeration value="9"/>
                    <xs:enumeration value="10"/>
                    <xs:enumeration value="11"/>
                    <xs:enumeration value="12"/>
                    <xs:enumeration value="13"/>
                    <xs:enumeration value="14"/>
                    <xs:enumeration value="15"/>
                    <xs:enumeration value="16"/>
                    <xs:enumeration value="17"/>
                    <xs:enumeration value="18"/>
                    <xs:enumeration value="19"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="authcapability" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value=""/>
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                    <xs:enumeration value="3"/>
                    <xs:enumeration value="4"/>
                    <xs:enumeration value="5"/>
                    <xs:enumeration value="6"/>
                    <xs:enumeration value="7"/>
                    <xs:enumeration value="8"/>
                    <xs:enumeration value="9"/>
                    <xs:enumeration value="10"/>
                    <xs:enumeration value="11"/>
                    <xs:enumeration value="12"/>
                    <xs:enumeration value="13"/>
                    <xs:enumeration value="14"/>
                    <xs:enumeration value="15"/>
                    <xs:enumeration value="16"/>
                    <xs:enumeration value="17"/>
                    <xs:enumeration value="18"/>
                    <xs:enumeration value="19"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="Txn">
        <xs:attribute name="cardholderpresent" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                    <xs:enumeration value="3"/>
                    <xs:enumeration value="4"/>
                    <xs:enumeration value="5"/>
                    <xs:enumeration value="6"/>
                    <xs:enumeration value="9"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="cardpresent" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="9"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="cardinputmethod" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                    <xs:enumeration value="3"/>
                    <xs:enumeration value="4"/>
                    <xs:enumeration value="5"/>
                    <xs:enumeration value="6"/>
                    <xs:enumeration value="7"/>
                    <xs:enumeration value="C"/>
                    <xs:enumeration value="E"/>
                    <xs:enumeration value="F"/>
                    <xs:enumeration value="G"/>
                    <xs:enumeration value="M"/>
                    <xs:enumeration value="P"/>
                    <xs:enumeration value="Q"/>
                    <xs:enumeration value="V"/>
                    <xs:enumeration value="W"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="cardauthmethod" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value=""/>
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                    <xs:enumeration value="3"/>
                    <xs:enumeration value="4"/>
                    <xs:enumeration value="5"/>
                    <xs:enumeration value="6"/>
                    <xs:enumeration value="7"/>
                    <xs:enumeration value="8"/>
                    <xs:enumeration value="9"/>
                    <xs:enumeration value="A"/>
                    <xs:enumeration value="B"/>
                    <xs:enumeration value="C"/>
                    <xs:enumeration value="D"/>
                    <xs:enumeration value="E"/>
                    <xs:enumeration value="S"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="cardauthentity" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value=""/>
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                    <xs:enumeration value="3"/>
                    <xs:enumeration value="4"/>
                    <xs:enumeration value="5"/>
                    <xs:enumeration value="6"/>
                    <xs:enumeration value="7"/>
                    <xs:enumeration value="8"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="TVR" type="xs:unsignedLong" use="optional"/>
        <xs:attribute name="TTI" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="3"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>        
    </xs:complexType>
    <xs:complexType name="MsgSource">
        <xs:attribute name="value" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:decimal">
                    <xs:enumeration value="12"/>
                    <xs:enumeration value="17"/>
                    <xs:enumeration value="54"/>
                    <xs:enumeration value="66"/>
                    <xs:enumeration value="67"/>
                    <xs:enumeration value="74"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="domesticMaestro" type="YesNoString" use="required"/>
    </xs:complexType>
    <xs:complexType name="DirectionAmount">
        <xs:complexContent>
            <xs:extension base="BasicAmount">
                <xs:attribute name="direction" type="Direction" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="FeeClass">
        <xs:attribute name="interchangeTransaction" type="YesNoString" use="required"/>
        <xs:attribute name="type" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                    <xs:enumeration value="4"/>
                    <xs:enumeration value="5"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="code" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="0"/>
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="1000"/>
                    <xs:enumeration value="1010"/>
                    <xs:enumeration value="1020"/>
                    <xs:enumeration value="1030"/>
                    <xs:enumeration value="1040"/>
                    <xs:enumeration value="1060"/>
                    <xs:enumeration value="1061"/>
                    <xs:enumeration value="1062"/>
                    <xs:enumeration value="1063"/>
                    <xs:enumeration value="1100"/>
                    <xs:enumeration value="2010"/>
                    <xs:enumeration value="2011"/>
                    <xs:enumeration value="2012"/>
                    <xs:enumeration value="2013"/>
                    <xs:enumeration value="2014"/>
                    <xs:enumeration value="2015"/>
                    <xs:enumeration value="2016"/>
                    <xs:enumeration value="2110"/>
                    <xs:enumeration value="2111"/>
                    <xs:enumeration value="2112"/>
                    <xs:enumeration value="2300"/>
                    <xs:enumeration value="2301"/>
                    <xs:enumeration value="2302"/>
                    <xs:enumeration value="2303"/>
                    <xs:enumeration value="2304"/>
                    <xs:enumeration value="2306"/>
                    <xs:enumeration value="2307"/>
                    <xs:enumeration value="2308"/>
                    <xs:enumeration value="2309"/>
                    <xs:enumeration value="2310"/>
                    <xs:enumeration value="2311"/>
                    <xs:enumeration value="2312"/>
                    <xs:enumeration value="2313"/>
                    <xs:enumeration value="2314"/>
                    <xs:enumeration value="2320"/>
                    <xs:enumeration value="2401"/>
                    <xs:enumeration value="2402"/>
                    <xs:enumeration value="2441"/>
                    <xs:enumeration value="2442"/>
                    <xs:enumeration value="2443"/>
                    <xs:enumeration value="6000"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="ConversionSettlementAmt">
        <xs:attribute name="value" type="xs:decimal" use="required"/>
        <xs:attribute name="currency" type="ISOCurrencyCode" use="required"/>
        <xs:attribute name="rate" type="ConversionRate" use="required"/>
        <xs:attribute name="date" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="8"/>
                    <xs:pattern
                            value="([2-9]\d{3}((0[1-9]|1[012])(0[1-9]|1\d|2[0-8])|(0[13456789]|1[012])(29|30)|(0[13578]|1[02])31)|(([2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00))0229)"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="Classification">
        <xs:attribute name="MCC" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="4"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="Response">
        <xs:attribute name="approved" type="YesNoString" use="required"/>
        <xs:attribute name="actioncode" type="xs:string" use="optional"/>
        <xs:attribute name="responsecode" type="xs:string" use="optional"/>
        <xs:attribute name="additionaldesc" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="500"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="PartialAmount">
        <xs:complexContent>
            <xs:extension base="BasicAmount">
                <xs:attribute name="partial" type="YesNoString" use="optional"/>
                <xs:attribute name="origItemId" type="xs:unsignedInt" use="optional"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CCAAmount">
        <xs:complexContent>
            <xs:extension base="BasicAmount">
                <xs:attribute name="included" type="YesNoString" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="FXConv">
        <xs:attribute name="bookingstatus" type="xs:string" use="optional"/>
        <xs:attribute name="fxratebooked" type="xs:decimal" use="required"/>
        <xs:attribute name="providercode" type="xs:string" use="required"/>
        <xs:attribute name="fixedamountflag" type="xs:string" use="required"/>
        <xs:attribute name="settlementdate" type="SettlementDate" use="optional"/>
    </xs:complexType>
    <xs:complexType name="PaymentToken">
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="creator" type="xs:string" use="required"/>
        <xs:attribute name="expdate" type="xs:string" use="optional"/>
        <xs:attribute name="type" type="xs:string" use="required"/>
        <xs:attribute name="status" type="xs:string" use="required"/>
        <xs:attribute name="creatorstatus" type="xs:string" use="required"/>
        <xs:attribute name="wallet" type="xs:string" use="required"/>
        <xs:attribute name="devicetype" type="xs:string" use="required"/>
        <xs:attribute name="lang" type="xs:string" use="optional"/>
        <xs:attribute name="activationexpiry" type="xs:string" use="optional"/>
        <xs:attribute name="activationmethod" type="xs:string" use="optional"/>
    </xs:complexType>
    <xs:complexType name="MsgSourceCardAuthorisation">
        <xs:attribute name="value" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:decimal">
                    <xs:enumeration value="12"/>
                    <xs:enumeration value="17"/>
                    <xs:enumeration value="54"/>
                    <xs:enumeration value="62"/>
                    <xs:enumeration value="66"/>
                    <xs:enumeration value="67"/>
                    <xs:enumeration value="74"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="domesticMaestro" type="YesNoString" use="required"/>
    </xs:complexType>
    <xs:complexType name="Recon">
        <xs:attribute name="date" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern
                            value="\s*|([2-9]\d{3}((0[1-9]|1[012])(0[1-9]|1\d|2[0-8])|(0[13456789]|1[012])(29|30)|(0[13578]|1[02])31)|(([2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00))0229)"/>
                    <xs:maxLength value="8"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="cycle" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="2"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="MasterCardFeeClass">
        <xs:attribute name="interchangeTransaction" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="no"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="type" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="0"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="code" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="0"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="memberID" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="11"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="Settlement">
        <xs:attribute name="date" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern
                            value="\s*|([2-9]\d{3}((0[1-9]|1[012])(0[1-9]|1\d|2[0-8])|(0[13456789]|1[012])(29|30)|(0[13578]|1[02])31)|(([2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00))0229)"/>
                    <xs:maxLength value="8"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="cycle" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="2"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="AccountChrgBack">
        <xs:attribute name="no" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="28"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="type" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="00"/>
                    <xs:enumeration value="01"/>
                    <xs:enumeration value="02"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="SettlementAmt">
        <xs:attribute name="value" type="xs:decimal" use="required"/>
        <xs:attribute name="currency" type="ISOCurrencyCode" use="required"/>
        <xs:attribute name="rate" type="Rate" use="required"/>
        <xs:attribute name="date" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:maxLength value="8"/>
                    <xs:pattern
                            value="([2-9]\d{3}((0[1-9]|1[012])(0[1-9]|1\d|2[0-8])|(0[13456789]|1[012])(29|30)|(0[13578]|1[02])31)|(([2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00))0229)"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="RateAmount">
        <xs:complexContent>
            <xs:extension base="BasicAmount">
                <xs:attribute name="rate" type="Rate" use="required"/>
                <xs:attribute name="clientfxrate" type="Rate" use="optional"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <!--Report Content-->
    <xs:element name="Transactions">
        <xs:complexType mixed="true">
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="CardFinancial">
                    <xs:complexType mixed="true">
                        <xs:sequence>
                            <xs:element name="RecordType" minOccurs="1" maxOccurs="1" nillable="false">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:enumeration value="ADV"/>
                                        <xs:enumeration value="REV"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="FinId" type="xs:unsignedLong" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="AuthId" type="NullOrULong" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="PresentmentID" type="xs:unsignedLong" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="LocalDate" type="LocalDate" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="LocalDateUTC" type="LocalDateUTC" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="SettlementDate" type="SettlementDate" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="SchemeSettlementDate" type="SettlementDate" minOccurs="1"
                                        maxOccurs="1" nillable="false"/>
                            <xs:element name="SchemeReconciliationDate" type="SettlementDate" minOccurs="1"
                                        maxOccurs="1" nillable="false"/>
                            <xs:element name="CycleNumber" type="CycleNumber" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Card" type="Card" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Account" type="Account" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="TxnCode" type="TxnCode" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="TxnAmt" type="BasicAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="CashbackAmt" type="BasicAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="BillAmt" type="ConversionRateAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="ApprCode" type="ApprCode" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Trace" type="Trace" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="MerchCode" type="MerchCode" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Term" type="Term" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Schema" type="Schema" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Txn" type="Txn" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="MsgSource" type="MsgSource" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Fee" type="DirectionAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="FeeAmt" type="DirectionAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="FeeClass" type="FeeClass" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="SettlementAmt" type="ConversionSettlementAmt" minOccurs="1"
                                        maxOccurs="1" nillable="false"/>
                            <xs:element name="ARN" type="ARN" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="FIID" type="FIID" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="RIID" type="RIID" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="ReasonCode" type="xs:string" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Classification" type="Classification" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Response" type="Response" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="OrigTxnAmt" type="PartialAmount" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="CCAAmount" type="CCAAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="SettlementIndicator" type="xs:string" minOccurs="0" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Additional_Amt_DE54" type="xs:string" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="BSA" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
                            <xs:element name="FXConv" type="FXConv" minOccurs="0" maxOccurs="1" nillable="true"/>
                            <xs:element name="PaymentToken" type="PaymentToken" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="CardFee">
                    <xs:complexType mixed="true">
                        <xs:sequence>
                            <xs:element name="CardFeeId" type="xs:unsignedLong" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="LocalDate" type="LocalDate" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="SettlementDate" type="SettlementDate" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Card" type="Card" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Account" type="Account" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="TxId" type="xs:unsignedLong" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="TxnCode" type="TxnCode" minOccurs="0" maxOccurs="1" nillable="false"/>
                            <xs:element name="MerchCode" type="MerchCode" minOccurs="0" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="MsgSource" type="MsgSourceCardAuthorisation" minOccurs="0"
                                        maxOccurs="1" nillable="true"/>
                            <xs:element name="FeeClass" type="FeeClass" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="LoadUnloadId" type="xs:unsignedInt" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="Desc" type="Desc" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="FeeAmt" type="DirectionAmount" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="Amt" type="DirectionAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="FIID" type="FIID" minOccurs="0" maxOccurs="1" nillable="true"/>
                            <xs:element name="ReasonCode" type="xs:string" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Recon" type="Recon" minOccurs="0" maxOccurs="1" nillable="false"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="MasterCardFee">
                    <xs:complexType mixed="true">
                        <xs:sequence>
                            <xs:element name="RecordType" type="xs:string" minOccurs="1" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="MastercardFeeId" type="xs:unsignedInt" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="MTID" type="MTID" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Function_Code_024" type="Function_Code_024" minOccurs="1"
                                        maxOccurs="1" nillable="false"/>
                            <xs:element name="Conversion_Rate_Reconciliation_009"
                                        type="Conversion_Rate_Reconciliation_009" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Additional_Data_048" type="Additional_Data_048" minOccurs="1"
                                        maxOccurs="1" nillable="false"/>
                            <xs:element name="LocalDate" type="LocalDate" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="SettlementDate" type="SettlementDate" minOccurs="1" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="FeeClass" type="MasterCardFeeClass" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Desc" type="Desc" minOccurs="1" maxOccurs="1" nillable="true"/>
                            <xs:element name="FeeAmt" type="DirectionAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Amt" type="DirectionAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="ReasonCode" type="xs:string" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Data_Record_072" type="Data_Record_072" minOccurs="1" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="DE93_Txn_Dest_ID" type="DE93_Txn_Dest_ID" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="DE94_Txn_Orig_ID" type="DE94_Txn_Orig_ID" minOccurs="1" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="File_ID_PDS0105" type="File_ID_PDS0105" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="FileProcessDate" type="FileProcessDate" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Recon" type="Recon" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Settlement" type="Settlement" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="CardChrgBackRepRes">
                    <xs:complexType mixed="true">
                        <xs:sequence>
                            <xs:element name="RecordType" minOccurs="1" maxOccurs="1" nillable="false">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:enumeration value="CB"/>
                                        <xs:enumeration value="CBREV"/>
                                        <xs:enumeration value="REPRES"/>
                                        <xs:enumeration value="REPRESREV"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="ChgbackRepresId" type="xs:unsignedLong" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="LocalDate" type="LocalDate" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="SettlementDate" type="SettlementDate" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Card" type="Card" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Account" type="AccountChrgBack" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="TxnCode" type="TxnCode" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="TxnAmt" type="BasicAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="CashbackAmt" type="BasicAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="BillAmt" type="ConversionRateAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="ApprCode" type="ApprCode" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Trace" type="Trace" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="MerchCode" type="MerchCode" minOccurs="1" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="Term" type="Term" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Schema" type="Schema" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="Txn" type="Txn" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="MsgSource" type="MsgSource" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Repeat" minOccurs="1" maxOccurs="1" nillable="false">
                                <xs:simpleType>
                                    <xs:restriction base="xs:unsignedByte">
                                        <xs:enumeration value="1"/>
                                        <xs:enumeration value="2"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="SettlementAmt" type="SettlementAmt" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Fee" type="DirectionAmount" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="ARN" type="ARN" minOccurs="1" maxOccurs="1" nillable="false"/>
                            <xs:element name="FIID" type="FIID" minOccurs="0" maxOccurs="1" nillable="false"/>
                            <xs:element name="RIID" type="RIID" minOccurs="0" maxOccurs="1" nillable="false"/>
                            <xs:element name="ReasonCode" type="xs:string" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Classification" type="Classification" minOccurs="1" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="OrigTxnAmt" type="PartialAmount" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="PartialReversal" type="xs:boolean" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="SettlementCycle" type="xs:string" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="ReconciliationDate" type="xs:string" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="ReconciliationCycle" type="xs:string" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="Usage" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
                            <xs:element name="Pending_Billing_Amount" type="xs:decimal" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="SettlementIndicator" type="xs:string" minOccurs="0" maxOccurs="1"
                                        nillable="false"/>
                            <xs:element name="Additional_Amt_DE54" type="xs:string" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                            <xs:element name="ChargebackRefNum" type="xs:string" minOccurs="0" maxOccurs="1"
                                        nillable="true"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>