Schema Name: fpml-pretrade-processes-5-10.xsd
Target Namespace: http://www.fpml.org/FpML-5/pretrade
Collapse XSD Schema Code:

<!-- 
== Copyright (c) 2002-2018 All rights reserved. 
== Financial Products Markup Language is subject to the FpML public license. 
== A copy of this license is available at http://www.fpml.org/license/license.html
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns="http://www.fpml.org/FpML-5/pretrade" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:fpml-annotation="http://www.fpml.org/annotation" targetNamespace="http://www.fpml.org/FpML-5/pretrade" ecore:documentRoot="FpML" ecore:nsPrefix="pre" ecore:package="org.fpml.pretrade" version="$Revision: 12897 $" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="fpml-business-events-5-10.xsd" />
  <xsd:complexType name="CreditApprovalModel">
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="creditApprovalModelScheme" type="NonEmptyURI" default="http://www.fpml.org/coding-scheme/credit-approval-model" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitReport">
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element name="creditLimitInformation" type="CreditLimitInformation" minOccurs="0" maxOccurs="unbounded" />
          <xsd:group ref="PartiesAndAccounts.model" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitResponse">
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element name="response" type="SetCreditLimitResponseEnum" minOccurs="0" />
          <xsd:element name="reason" type="CreditLimitCheckReason" minOccurs="0" />
          <xsd:group ref="PartiesAndAccounts.model" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitCheckReason">
    <xsd:choice>
      <xsd:sequence>
        <xsd:element name="reasonCode" type="CreditLimitCheckReasonCode">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">reason codes for credit limit check messages</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="description" type="String" minOccurs="0" />
      </xsd:sequence>
      <xsd:element name="description" type="String">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">free form description of the reason</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitCheckReasonCode">
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="creditLimitCheckReasonScheme" type="NonEmptyURI" default="http://www.fpml.org/coding-scheme/credit-limit-check-reason" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitExtended">
    <xsd:complexContent>
      <xsd:extension base="CreditLimit">
        <xsd:sequence>
          <xsd:element name="rfqRevalidation" type="xsd:boolean" minOccurs="0" />
          <xsd:element name="orderRevalidation" type="xsd:boolean" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="CreditLimitInformationExtended">
    <xsd:sequence>
      <xsd:element name="partyInformation" type="PartyTradeInformation" minOccurs="0" />
      <xsd:element name="limitModel" type="LimitModelEnum" minOccurs="0" />
      <xsd:element name="creditLimit" type="CreditLimitExtended" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CreditRiskLimit">
    <xsd:sequence>
      <xsd:choice minOccurs="0">
        <xsd:element name="fullApproval" type="xsd:boolean" />
        <xsd:sequence>
          <xsd:element name="requestedNotionalAmount" type="Money" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Specifies the fixed amount requested expressed as notional amount.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="approvedNotionalAmount" type="Money" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">(partial approval) Specifies the fixed amount approved expressed as notional amount.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:sequence>
          <xsd:element name="requestedNumberOfOptions" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">(partial approval) Specifies the fixed amount approved expressed as number of options.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="approvedNumberOfOptions" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">(partial approval) Specifies the fixed amount approved expressed as number of options.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:sequence>
          <xsd:element name="requestedNumberOfUnits" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">(partial approval) Specifies the fixed amount approved expressed as number of units.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="approvedNumberOfUnits" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">(partial approval) Specifies the fixed amount approved expressed as number of units.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:choice>
      <xsd:element name="reason" type="CreditLimitCheckReason" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="limitExpiryTimeStamp" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="creditLimitReference" type="CreditLimitReference" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="originalRequestDetails" type="OriginalRequestDetails" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CreditRiskLimitRefused">
    <xsd:sequence>
      <xsd:element name="limitRefused" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="reason" type="CreditLimitCheckReason" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="limitExpiryTimeStamp" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="creditLimitReference" type="CreditLimitReference" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="originalRequestDetails" type="OriginalRequestDetails" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="LimitCheckApproved">
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element name="creditRiskLimit" type="CreditRiskLimit" minOccurs="0" />
          <xsd:group ref="PartiesAndAccounts.model" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="LimitCheckRefused">
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element name="creditRiskLimit" type="CreditRiskLimitRefused" minOccurs="0" />
          <xsd:group ref="PartiesAndAccounts.model" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="OrderBookId">
    <xsd:simpleContent>
      <xsd:extension base="Scheme">
        <xsd:attribute name="orderBookIdScheme" type="NonEmptyURI" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="OrderFill">
    <xsd:sequence>
      <xsd:element name="orderId" type="NormalizedString" minOccurs="0" />
      <xsd:element name="fillId" type="NormalizedString" minOccurs="0" />
      <xsd:element name="size" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="price" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="executionDateTime" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="counterpartyReference" type="PartyReference" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderPrice">
    <xsd:sequence>
      <xsd:element name="value" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="additionalValue" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="stopValue" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="peggedValue" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="indicativeAuctionValue" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="indicativeAuctionVolume" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="priceUnits" type="PriceQuoteUnits" minOccurs="0" />
      <xsd:element name="priceMultiplier" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="priceCurrency" type="Currency" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderPriority">
    <xsd:sequence>
      <xsd:element name="priorityChangeTimestamp" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="prioritySize" type="xsd:decimal" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderProductSummary">
    <xsd:sequence>
      <xsd:element name="productId" type="ProductId" minOccurs="0" />
      <xsd:element name="expirationDate" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="terminationDate" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="leg2Currency" type="Currency" minOccurs="0" />
      <xsd:element name="underlyingInstrumentId" type="InstrumentId" minOccurs="0" />
      <xsd:element name="optionType" type="OptionTypeEnum" minOccurs="0" />
      <xsd:element name="strike" type="OrderStrike" minOccurs="0" />
      <xsd:element name="quantityCurrency" type="Currency" minOccurs="0" />
      <xsd:element name="quantityUnit" type="QuantityUnit" minOccurs="0" />
      <xsd:element name="exerciseStyle" type="ExerciseStyleEnum" minOccurs="0" />
      <xsd:element name="settlementType" type="SettlementTypeEnum" minOccurs="0" />
      <xsd:element name="upfrontPayment" type="OrderUpfrontPayment" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderRoles">
    <xsd:sequence>
      <xsd:element name="orderingPartyReference" type="PartyReference" minOccurs="0" />
      <xsd:element name="quotingPartyReference" type="PartyReference" minOccurs="0" />
      <xsd:element name="quotingPartySide" type="BuySellEnum" minOccurs="0" />
      <xsd:element name="tradingVenuePartyReference" type="PartyReference" minOccurs="0" />
      <xsd:element name="clientPartyReference" type="PartyReference" minOccurs="0" />
      <xsd:element name="arrangingPersonReference" type="PersonReference" minOccurs="0" />
      <xsd:element name="investmentDeciderReference" type="PersonReference" minOccurs="0" />
      <xsd:element name="executionDeciderReference" type="PersonReference" minOccurs="0" />
      <xsd:element name="nonExecutingBrokerReference" type="PartyReference" minOccurs="0" />
      <xsd:element name="tradingCapacity" type="String" minOccurs="0" />
      <xsd:element name="liquidityProvision" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="tradingWaiver" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="passiveOrder" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="passiveOrAggressive" type="PassiveOrAggressiveEnum" minOccurs="0" />
      <xsd:element name="selfExecutionPrevented" type="xsd:boolean" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderReport">
    <xsd:sequence>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element name="requesterOrderId" type="NormalizedString" />
          <xsd:element name="orderId" type="NormalizedString" minOccurs="0" />
        </xsd:sequence>
        <xsd:element name="orderId" type="NormalizedString" />
      </xsd:choice>
      <xsd:element name="receiverOrderId" type="NormalizedString" minOccurs="0" />
      <xsd:element name="strategyId" type="NormalizedString" minOccurs="0" />
      <xsd:element name="submittedTime" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="receivedTime" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="roles" type="OrderRoles" minOccurs="0" />
      <xsd:element name="directElectronicAccess" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="isAggregated" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="additionalInfo" type="String" minOccurs="0" />
      <xsd:element name="orderBookId" type="OrderBookId" minOccurs="0" />
      <xsd:element name="instrumentId" type="InstrumentId" minOccurs="0" />
      <xsd:element name="order" type="String" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">echo back the order (placeholder type for now)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="orderClassification" type="String" minOccurs="0" />
      <xsd:element name="validity" type="OrderValidity" minOccurs="0" />
      <xsd:element name="tradingPhases" type="NormalizedString" minOccurs="0" />
<!-- type needs to be defined -->
      <xsd:element name="priority" type="OrderPriority" minOccurs="0" />
      <xsd:element name="productSummary" type="OrderProductSummary" minOccurs="0" />
      <xsd:element name="price" type="OrderPrice" minOccurs="0" />
      <xsd:element name="status" type="OrderStatusEnum" minOccurs="0" />
      <xsd:element name="statusCode" type="String" minOccurs="0" />
      <xsd:element name="shortSale" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="routingStrategy" type="String" minOccurs="0" />
      <xsd:sequence>
        <xsd:element name="reason" type="Reason" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Reason for a rejected quote</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="counterofferQuote" type="String" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Supply a counter-offer quote, e.g. if order is rejected / DUMMY placeholder.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
      <xsd:sequence>
        <xsd:element name="totalSize" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Number of units of the product being ordered.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="displayedSize" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Number of units of the product being displayed.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="minimumTotalFillSize" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Mimimum size that can be filled in total</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="minimumSingleFillSize" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Minimum size that can be filled in a single fill.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="minimumOnFirstFillOnly" type="xsd:boolean" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Does minimum execution size apply only to first fill?</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fills" type="xsd:integer" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Number of fills so far.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="filledSize" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Number of units of the product filled so far</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="remainingSize" type="xsd:decimal" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Number of units of the product remaining to be filled</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="fill" type="OrderFill" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Info about the fills</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:choice minOccurs="0">
          <xsd:element name="trade" type="Trade">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">trade description.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="tradeIdentifier" type="TradeIdentifier" maxOccurs="unbounded" />
          <xsd:element name="tradePackage" type="TradePackage" />
        </xsd:choice>
        <xsd:element name="creditLimitReference" type="CreditLimitReference" minOccurs="0" maxOccurs="unbounded" />
      </xsd:sequence>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderStatus">
    <xsd:sequence>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element name="requesterOrderId" type="NormalizedString" />
          <xsd:element name="orderId" type="NormalizedString" minOccurs="0" />
        </xsd:sequence>
        <xsd:element name="orderId" type="NormalizedString" />
      </xsd:choice>
      <xsd:element name="submittedTime" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="order" type="String" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">echo back the order (placeholder type for now)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="status" type="OrderStatusEnum" minOccurs="0" />
      <xsd:choice minOccurs="0">
        <xsd:sequence>
          <xsd:element name="reason" type="Reason" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Reason for a rejected quote</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="counterofferQuote" type="String" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Supply a counter-offer quote, e.g. if order is rejected / DUMMY placeholder.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <xsd:sequence>
          <xsd:element name="totalSize" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Number of units of the product being ordered.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fills" type="xsd:integer" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Number of fills so far.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="filledSize" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Number of units of the product filled so far</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="remainingSize" type="xsd:decimal" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Number of units of the product remaining to be filled</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="fill" type="OrderFill" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Info about the fills</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:choice minOccurs="0">
            <xsd:element name="trade" type="Trade">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">trade description.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="tradeIdentifier" type="TradeIdentifier" maxOccurs="unbounded" />
            <xsd:element name="tradePackage" type="TradePackage" />
          </xsd:choice>
          <xsd:element name="creditLimitReference" type="CreditLimitReference" minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderStatusNotification">
    <xsd:complexContent>
      <xsd:extension base="NotificationMessage">
        <xsd:sequence>
          <xsd:element name="orderStatus" type="OrderStatus" minOccurs="0" maxOccurs="unbounded" />
          <xsd:group ref="PartiesAndAccounts.model" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="OrderStatusReport">
    <xsd:complexContent>
      <xsd:extension base="CorrectableRequestMessage">
        <xsd:sequence>
          <xsd:element name="orderStatus" type="OrderReport" minOccurs="0" maxOccurs="unbounded" />
          <xsd:group ref="PartiesAndAccounts.model" minOccurs="0" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="OrderStrike">
    <xsd:sequence>
      <xsd:element name="price" type="xsd:decimal" minOccurs="0" />
      <xsd:element name="currency" type="Currency" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderUpfrontPayment">
    <xsd:sequence>
      <xsd:element name="basisPointValue" type="xsd:decimal" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderValidity">
    <xsd:sequence>
      <xsd:element name="validityType" type="String" minOccurs="0" />
      <xsd:element name="validityPeriod" type="xsd:dateTime" minOccurs="0" />
      <xsd:element name="restriction" type="String" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OriginalRequestDetails">
    <xsd:sequence>
      <xsd:element name="requestingPartyReference" type="PartyReference" minOccurs="0" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="Deprecated in favor of existing onBehalfOf element." />
      <xsd:element name="creditApprovalRequestType" type="CreditApprovalRequestTypeEnum" minOccurs="0" />
      <xsd:element name="creditApprovalModel" type="CreditApprovalModel" minOccurs="0" />
      <xsd:choice minOccurs="0">
        <xsd:element name="originalTrade" type="Trade">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Fully describes the original trade (prior to the exercise).</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="tradeIdentifier" type="TradeIdentifier" maxOccurs="unbounded" />
        <xsd:element name="originalPackage" type="TradePackage">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">Fully describes the original trade package (prior to the exercise).</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="packageIdentifier" type="IssuerTradeId" />
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="RequestLimitCheck">
    <xsd:complexContent>
      <xsd:extension base="CorrectableRequestMessage2">
        <xsd:sequence>
          <xsd:element name="requestingPartyReference" type="PartyReference" minOccurs="0" fpml-annotation:deprecated="true" fpml-annotation:deprecatedReason="Deprecated in favor of existing onBehalfOf element." />
          <xsd:element name="creditApprovalRequestType" type="CreditApprovalRequestTypeEnum" minOccurs="0" />
          <xsd:element name="creditApprovalModel" type="CreditApprovalModel" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Code to indicate the credit approval model e.g., PushToPing, PushToStop, Plus1ToStop, Plus1ToPing, Ping.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:group ref="TradingEvents.model" minOccurs="0" />
          <xsd:sequence>
            <xsd:element name="quote" type="BasicQuotation" minOccurs="0" maxOccurs="unbounded" />
          </xsd:sequence>
          <xsd:group ref="PartiesAndAccounts.model" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="RestoreCredit">
    <xsd:complexContent>
      <xsd:extension base="NonCorrectableRequestMessage">
        <xsd:sequence>
          <xsd:element name="reason" type="CreditLimitCheckReason" minOccurs="0" />
          <xsd:element name="creditLimitInformation" type="CreditLimitInformationExtended" minOccurs="0" maxOccurs="unbounded" />
          <xsd:group ref="PartiesAndAccounts.model" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="SetCreditLimit">
    <xsd:complexContent>
      <xsd:extension base="NonCorrectableRequestMessage">
        <xsd:sequence>
          <xsd:element name="creditLimitInformation" type="CreditLimitInformationExtended" minOccurs="0" maxOccurs="unbounded" />
          <xsd:group ref="PartiesAndAccounts.model" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:complexType name="SuspendCredit">
    <xsd:complexContent>
      <xsd:extension base="NonCorrectableRequestMessage">
        <xsd:sequence>
          <xsd:group ref="PartyAndAccountReferences.model" />
          <xsd:element name="creditLimit" type="CreditLimitBase" minOccurs="0" maxOccurs="unbounded" />
          <xsd:element name="reason" type="CreditLimitCheckReason" minOccurs="0" />
          <xsd:group ref="PartiesAndAccounts.model" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
<!-- ***************************************************************** -->
<!-- Request Limit Check / Messages                                    -->
<!-- ***************************************************************** -->
  <xsd:element name="requestLimitCheck" type="RequestLimitCheck" />
  <xsd:element name="limitCheckApproved" type="LimitCheckApproved" />
  <xsd:element name="limitCheckRefused" type="LimitCheckRefused" />
  <xsd:element name="creditLimitReport" type="CreditLimitReport" />
  <xsd:element name="creditLimitException" type="Exception" />
  <xsd:element name="setCreditLimit" type="SetCreditLimit" />
  <xsd:element name="creditLimitResponse" type="CreditLimitResponse" />
  <xsd:element name="suspendCredit" type="SuspendCredit" />
  <xsd:element name="restoreCredit" type="RestoreCredit" />
  <xsd:element name="orderStatusNotification" type="OrderStatusNotification" />
  <xsd:element name="orderStatusReport" type="OrderStatusReport" />
<!-- Other existing messages used: serviceNotification -->
</xsd:schema>

Collapse ComplexTypes:
Collapse Elements: