<?xml version="1.0" encoding="UTF-8"?>
<!-- Product version : 6.20.205 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://deutsche-boerse.de/m7-re"
        xmlns="http://deutsche-boerse.de/m7-re" elementFormDefault="qualified">

    <xs:include schemaLocation="x90_reports_common_structs.xsd"/>

    <xs:element name="tc820">
        <xs:complexType>
            <xs:annotation>
                <xs:documentation>TC820 Daily Open Otc Maintenance</xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="rptHdr" type="rptHdrType" />
                <xs:element name="tc820Grp" type="tc820GrpType" minOccurs="0" maxOccurs="unbounded" >
                    <xs:annotation>
                        <xs:documentation>
                            Conditions: present only if an order was modified on *rptPrntEffDat*
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="tc820GrpType">
        <xs:complexContent>
            <xs:extension base="grpType">
                <xs:sequence>
                    <xs:element name="tc820KeyGrp" type="tc820KeyGrpType" />
                    <xs:element name="tc820Grp1" type="tc820Grp1Type" minOccurs="1" maxOccurs="unbounded" />
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="tc820Grp1Type">
        <xs:sequence>
            <xs:element name="tc820KeyGrp1" type="tc820KeyGrp1Type" />
            <xs:element name="tc820Grp2" type="tc820Grp2Type" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tc820Grp2Type">
        <xs:sequence>
            <xs:element name="tc820KeyGrp2" type="tc820KeyGrp2Type" />
            <xs:element name="tc820Rec" type="tc820RecType" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tc820KeyGrpType">
        <xs:sequence>
            <xs:element name="membExcIdCod" type="membExcIdCodType" minOccurs="1" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
                        The "Member ID" of the order owner. If contained in the tag *ctpyMembPartIdCod*, the field contains the "Member ID" of the order owner counterparty.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tc820KeyGrp1Type">
        <xs:sequence>
            <xs:element name="partIdCod" type="partIdCodType" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tc820KeyGrp2Type">
        <xs:sequence>
            <xs:element name="instTitl" type="instTitlType" />
            <xs:element name="product" type="product" minOccurs="1" maxOccurs="1" />
            <xs:element name="currTypCod" type="currTypCodType" minOccurs="1" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
Currency Type Code contains the currency in which the product is traded.

Valid values: A valid ISO code
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tc820RecType">
        <xs:sequence>
            <xs:element name="mktArea" type="mktAreaType" minOccurs="1" maxOccurs="1" />
            <xs:element name="tso" type="tsoType" minOccurs="1" maxOccurs="1" />
            <xs:element name="balGrp" type="balGrpType" minOccurs="1" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
                        Balancing Group for which the order was entered.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="clgHseCode" type="clgHseCodeType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="clgAcctId" type="clgAcctIdType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="aggressorIndicator" type="aggressorIndicatorType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="tranTim" type="tranTimType" minOccurs="1" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
The transaction timestamp. The exact time when the trade execution or modification was performed.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="tranTypCod" type="actnCodType" minOccurs="1" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
The transaction type code describes the maintenance action performed on an OTC order.

**A** - Add

**C** - Change

**D** - Delete

**H** - Hibernation (deactivation)

**M** - Full match

**X** - System deletion (order expiration)
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="otcTrdTim" type="otcTrdTimType" minOccurs="0" maxOccurs="1" />
            <xs:element name="tranIdNo" type="tranIdNoType" minOccurs="1" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
An "Order ID" of an OTC order
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ordrBuyCod" type="ordrBuyCodType" minOccurs="1" maxOccurs="1" />
            <xs:element name="acctTypCodGrp" type="acctTypCodGrpType" minOccurs="1" maxOccurs="1" />
            <xs:element name="ordrQty" type="ordrQtyType" minOccurs="1" maxOccurs="1" />
            <xs:element name="ordrExePrc" type="ordrExePrcType" minOccurs="1" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
                        The limit price and execution price of the OTC order (OTC orders are always matched at the initial limit price).
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ordrValCode" type="ordrValCodeType" minOccurs="1" maxOccurs="1" />
            <xs:element name="valDat" type="valDatType" minOccurs="0" maxOccurs="1" />
            <xs:element name="ctpyMembPartIdCod" type="ctpyMembPartIdCodType" />
            <xs:element name="stlDate" type="stlDateType" minOccurs="1" maxOccurs="1" />
            <xs:element name="setlmCod1" type="setlmCod1Type" minOccurs="1" maxOccurs="1" />
            <xs:element name="text" type="textType" minOccurs="0" maxOccurs="1" />
            <xs:element name="membExcIdCodOboMs" type="membExcIdCodOboMsType" minOccurs="0" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
The "Member ID" of the user who performed a maintenance action on behalf of the order owner. For orders created by M7 as a result of AOT, it is the "Member ID" of the order owner before the AOT has been performed.

Conditions: Present if the maintenance step was performed by an admin or a trader user that performed an on behalf action
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="partIdCodOboMs" type="partIdCodOboMsType" minOccurs="0" maxOccurs="1" >
                <xs:annotation>
                    <xs:documentation>
The "User Code" of the user who performed a maintenance action on behalf of the order owner. For orders created by M7 as a result of AOT it is the string "SYSTEM".

Conditions: Present if the maintenance step was performed by an admin or a trader user that performed an on behalf action
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

</xs:schema>
