<?xml version="1.0"?>
<sbe:messageSchema xmlns:sbe="http://fixprotocol.io/2016/sbe" xmlns:enx="http://www.euronext.com/dd" xmlns:str="http://exslt.org/strings" xmlns:ext="http://exslt.org/common" package="com.euronext.optiq.dd" id="0" version="364" semanticVersion="264.0.6" description="Optiq CTP Bonds" byteOrder="littleEndian">
  <types>
    <type name="unsigned_char" primitiveType="uint8" nullValue="255" presence="optional" minValue="0" maxValue="254"/>
    <type name="int8_t" primitiveType="int8" nullValue="-128" presence="optional" minValue="-127" maxValue="127"/>
    <type name="uint16_t" primitiveType="uint16" nullValue="65535" presence="optional" minValue="0" maxValue="65534"/>
    <type name="uint32_t" primitiveType="uint32" nullValue="4294967295" presence="optional" minValue="0" maxValue="4294967294"/>
    <type name="uint64_t" primitiveType="uint64" nullValue="18446744073709551615" presence="optional" minValue="0" maxValue="18446744073709551614"/>
    <type name="int32_t" primitiveType="int32" nullValue="-2147483648" presence="optional" minValue="-2147483647" maxValue="2147483647"/>
    <type name="int64_t" primitiveType="int64" nullValue="-9223372036854775808" presence="optional" minValue="-9223372036854775807" maxValue="9223372036854775807"/>
    <type name="time_t" primitiveType="uint64" nullValue="0" presence="optional"/>
    <!-- Auto generated list of character types -->
    <type name="char1" length="1" primitiveType="char"/>
    <type name="char2" length="2" primitiveType="char"/>
    <type name="char3" length="3" primitiveType="char"/>
    <type name="char4" length="4" primitiveType="char"/>
    <type name="char5" length="5" primitiveType="char"/>
    <type name="char6" length="6" primitiveType="char"/>
    <type name="char7" length="7" primitiveType="char"/>
    <type name="char8" length="8" primitiveType="char"/>
    <type name="char10" length="10" primitiveType="char"/>
    <type name="char11" length="11" primitiveType="char"/>
    <type name="char12" length="12" primitiveType="char"/>
    <type name="char13" length="13" primitiveType="char"/>
    <type name="char15" length="15" primitiveType="char"/>
    <type name="char16" length="16" primitiveType="char"/>
    <type name="char18" length="18" primitiveType="char"/>
    <type name="char19" length="19" primitiveType="char"/>
    <type name="char20" length="20" primitiveType="char"/>
    <type name="char22" length="22" primitiveType="char"/>
    <type name="char24" length="24" primitiveType="char"/>
    <type name="char25" length="25" primitiveType="char"/>
    <type name="char27" length="27" primitiveType="char"/>
    <type name="char28" length="28" primitiveType="char"/>
    <type name="char30" length="30" primitiveType="char"/>
    <type name="char32" length="32" primitiveType="char"/>
    <type name="char40" length="40" primitiveType="char"/>
    <type name="char50" length="50" primitiveType="char"/>
    <type name="char52" length="52" primitiveType="char"/>
    <type name="char60" length="60" primitiveType="char"/>
    <type name="char64" length="64" primitiveType="char"/>
    <type name="char66" length="66" primitiveType="char"/>
    <type name="char70" length="70" primitiveType="char"/>
    <type name="char80" length="80" primitiveType="char"/>
    <type name="char100" length="100" primitiveType="char"/>
    <type name="char102" length="102" primitiveType="char"/>
    <type name="char150" length="150" primitiveType="char"/>
    <type name="char200" length="200" primitiveType="char"/>
    <type name="char250" length="250" primitiveType="char"/>
    <type name="char255" length="255" primitiveType="char"/>
    <type name="char1000" length="1000" primitiveType="char"/>
    <type name="char65535" length="65535" primitiveType="char"/>
    <composite name="messageHeader" description="Message identifiers and length of message root">
      <type name="blockLength" primitiveType="uint16"/>
      <type name="templateId" primitiveType="uint16"/>
      <type name="schemaId" primitiveType="uint16"/>
      <type name="version" primitiveType="uint16"/>
    </composite>
    <composite name="groupSizeEncoding" description="Repeating group dimensions">
      <type name="blockLength" primitiveType="uint8"/>
      <type name="numInGroup" primitiveType="uint8" semanticType="NumInGroup"/>
    </composite>
    <composite name="groupSizeEncoding16" description="Repeating group dimensions">
      <type name="blockLength" primitiveType="uint16"/>
      <type name="numInGroup" primitiveType="uint8" semanticType="NumInGroup"/>
    </composite>
    <composite name="varDataEncoding">
      <type name="length" primitiveType="uint8" semanticType="Length"/>
      <type name="varData" primitiveType="uint8" length="0" semanticType="data"/>
    </composite>
    <composite name="varDataEncoding16">
      <type name="length" primitiveType="uint16" semanticType="Length"/>
      <type name="varData" primitiveType="uint8" length="0" semanticType="data"/>
    </composite>
  </types>
  <sbe:message name="SBEHeader" id="9997">
    <field id="1" name="blockLength" type="uint16_t"/>
    <field id="2" name="templateID" type="uint16_t"/>
    <field id="3" name="schemaID" type="uint16_t"/>
    <field id="4" name="schemaVersion" type="uint16_t"/>
  </sbe:message>
  <sbe:message name="CTPBondPostTradeTransparency" id="806" sinceVersion="363">
    <field id="1" name="tradingDateAndTime" presence="optional" type="char28"/>
    <field id="2" name="instrumentIdentificationCode" presence="optional" type="char12"/>
    <field id="3" name="price" presence="optional" type="char20"/>
    <field id="4" name="missingPrice" presence="optional" type="char4"/>
    <field id="5" name="priceCurrency" presence="optional" type="char3"/>
    <field id="6" name="priceNotation" presence="optional" type="char4"/>
    <field id="7" name="notionalAmount" presence="optional" type="char20"/>
    <field id="8" name="notionalCurrency" presence="optional" type="char3"/>
    <field id="9" name="venueOfExecution" presence="optional" type="char4"/>
    <field id="10" name="thirdCountryTradingVenueExecution" presence="optional" type="char4"/>
    <field id="11" name="dateAndTimeWhenTheDataContributorReceivedTheData" presence="optional" type="char28"/>
    <field id="12" name="dateAndTimeWhenTheDataContributorPublishedTheTransaction" presence="optional" type="char28"/>
    <field id="13" name="venueOfPublication" presence="optional" type="char4"/>
    <field id="14" name="transactionIdentificationCode" presence="optional" type="char52"/>
    <field id="15" name="flags" presence="optional" type="char100"/>
    <field id="16" name="tradingSystemType" presence="optional" type="char4"/>
    <field id="17" name="numberOfTransactions" presence="optional" type="char20"/>
  </sbe:message>
  <sbe:message name="CTPBondRegulatoryInstrumentData" id="807" sinceVersion="363">
    <field id="1" name="instrumentIdentificationCode" presence="optional" type="char12"/>
    <field id="2" name="instrumentStatusStartDateAndTime" presence="optional" type="char28"/>
    <field id="3" name="currency" presence="optional" type="char3"/>
    <field id="4" name="instrumentStatus" presence="optional" type="char4"/>
    <field id="5" name="tradingVenue" presence="optional" type="char4"/>
    <field id="6" name="tradingSystemType" presence="optional" type="char4"/>
  </sbe:message>
  <sbe:message name="CTPBondRegulatoryOrderMatchingSystemData" id="808" sinceVersion="363">
    <field id="1" name="tradingVenue" presence="optional" type="char4"/>
    <field id="2" name="tradingSystemType" presence="optional" type="char4"/>
    <field id="3" name="systemStatusStartDateAndTime" presence="optional" type="char28"/>
    <field id="4" name="tradingSystemStatus" presence="optional" type="char4"/>
  </sbe:message>
</sbe:messageSchema>