# FpML 4.2 Trial Recommendation

## 10 September 2021

## Pre-trade Component Definitions

### Version: 4.2

### This Version:

> http://www.fpml.org/spec/fpml-4-2-13-tr-6

### Latest Version:

> http://www.fpml.org/spec/fpml-4-2-13-tr-6

### Previous Version:

> https://www.fpml.org/spec/fpml-4-2-12-rec-2/

### Errata for this Version:

> http://www.fpml.org/spec/errata/fpml-4-2-13-tr-6-errata.html

Document built: Thu 09/09/2021 16:55:33.67

Copyright (c) 1999 - 2006 by INTERNATIONAL SWAPS AND DERIVATIVES ASSOCIATION, INC.
Financial Products Markup Language is subject to the FpML public license
A copy of this license is available at http://www.fpml.org/documents/license.html

The FpML specifications provided are without warranty of any kind, either expressed or implied, including, without limitation, warranties that FpML, or the FpML specifications are free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the specifications is with you. Should any of the FpML specifications prove defective in any respect, you assume the cost of any necessary servicing or repair. Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall ISDA, any of its members, or any distributor of documents or software containing any of the FpML specifications, or any supplier of any of such parties, be liable to you or any other person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages.

# Contents

  Global Simple Types
  Global Complex Types
    AcceptQuote
    QuotableFxLeg
    QuotableFxRate
    QuotablePayment
    QuotableProduct
    QuoteAcceptanceConfirmed
    QuoteAlreadyExpired
    QuoteUpdated
    RequestQuote
    RequestQuoteResponse
  Global Elements
    quotableFxSingleLeg
    quotableProduct
  Groups
  Schema Listing

# Global Simple Types

The schema does not contain any global simple types.

# Global Complex Types

## AcceptQuote

### Description:

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type ResponseMessage)

- A type refining the generic message content model to make it specific to response messages.

trade (one or more occurrences; of the type Trade)

party (one or more occurrences; of the type Party)

### Used by:

### Extension of:

- ResponseMessage

### Schema Fragment:

    <xsd:complexType name="AcceptQuote">
      <xsd:complexContent>
        <xsd:extension base="ResponseMessage">
          <xsd:sequence>
            <xsd:element name="trade" type="Trade" maxOccurs="unbounded"/>
            <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## QuotableFxLeg

### Description:

A type that represents a single exchange of one currency for another that may be quoted on. The definition allows currency amounts to be absent and does not include an exchange rate.

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type QuotableProduct)

- The abstract base class for all product definitions for pre-trade quotation

exchangedCurrency (zero or one occurrence; of the type QuotablePayment)

exchangeRate (exactly one occurrence; of the type QuotableFxRate)

nonDeliverableForward (zero or one occurrence; of the type FxCashSettlement)

- Used to describe a particular type of FX forward transaction that is settled in a single currency.

### Used by:

### Extension of:

- QuotableProduct

### Schema Fragment:

    <xsd:complexType name="QuotableFxLeg">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type that represents a single exchange of one currency for
          another that may be quoted on. The definition allows currency
          amounts to be absent and does not include an exchange rate.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="QuotableProduct">
          <xsd:sequence>
            <xsd:element name="exchangedCurrency" type="QuotablePayment" minOccurs="0"/>
            <xsd:element name="exchangeRate" type="QuotableFxRate"/>
            <xsd:element name="nonDeliverableForward" type="FxCashSettlement" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  Used to describe a particular type of FX forward
                  transaction that is settled in a single currency.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## QuotableFxRate

### Description:

### Figure:

### Contents:

quotedCurrencyPair (exactly one occurrence; of the type QuotedCurrencyPair)

### Used by:

- QuotableFxLeg/exchangeRate

### Schema Fragment:

    <xsd:complexType name="QuotableFxRate">
      <xsd:sequence>
        <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair"/>
      </xsd:sequence>
    </xsd:complexType>

## QuotablePayment

### Description:

A type for defining payments

### Figure:

### Contents:

payerPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

- A reference to the party responsible for making the payments defined by this structure.

receiverPartyReference (exactly one occurrence; of the type PartyOrAccountReference)

- A reference to the party that receives the payments corresponding to this structure.

paymentAmount (zero or one occurrence; of the type Money)

- The currency amount of the payment.

paymentDate (zero or one occurrence; of the type AdjustableDate)

- The payment date. This date is subject to adjustment in accordance with any applicable business day convention.

### Used by:

- QuotableFxLeg/exchangedCurrency

### Schema Fragment:

    <xsd:complexType name="QuotablePayment">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type for defining payments
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:group ref="PayerReceiver.model" minOccurs="0"/>
        <xsd:element name="paymentAmount" type="Money" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The currency amount of the payment.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="paymentDate" type="AdjustableDate" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The payment date. This date is subject to adjustment in
              accordance with any applicable business day convention.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## QuotableProduct

### Description:

The abstract base class for all product definitions for pre-trade quotation

### Figure:

### Contents:

productType (zero or more occurrences; of the type ProductType)

- A classification of the type of product. FpML defines a simple product categorization using a coding scheme.

productId (zero or more occurrences; of the type ProductId)

- A product reference identifier allocated by a party. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.

### Used by:

### Derived Types:

- QuotableFxLeg

### Schema Fragment:

    <xsd:complexType name="QuotableProduct" abstract="true">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          The abstract base class for all product definitions for pre-trade
          quotation
        </xsd:documentation>
      </xsd:annotation>
      <xsd:group ref="Product.model"/>
    </xsd:complexType>

## QuoteAcceptanceConfirmed

### Description:

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type ResponseMessage)

- A type refining the generic message content model to make it specific to response messages.

trade (one or more occurrences; of the type Trade)

party (one or more occurrences; of the type Party)

### Used by:

### Extension of:

- ResponseMessage

### Schema Fragment:

    <xsd:complexType name="QuoteAcceptanceConfirmed">
      <xsd:complexContent>
        <xsd:extension base="ResponseMessage">
          <xsd:sequence>
            <xsd:element name="trade" type="Trade" maxOccurs="unbounded"/>
            <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## QuoteAlreadyExpired

### Description:

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type ResponseMessage)

- A type refining the generic message content model to make it specific to response messages.

### Used by:

### Extension of:

- ResponseMessage

### Schema Fragment:

    <xsd:complexType name="QuoteAlreadyExpired">
      <xsd:complexContent>
        <xsd:extension base="ResponseMessage"/>
      </xsd:complexContent>
    </xsd:complexType>

## QuoteUpdated

### Description:

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type ResponseMessage)

- A type refining the generic message content model to make it specific to response messages.

quotableProduct (one or more occurrences; of the type QuotableProduct)

party (one or more occurrences; of the type Party)

### Used by:

### Extension of:

- ResponseMessage

### Schema Fragment:

    <xsd:complexType name="QuoteUpdated">
      <xsd:complexContent>
        <xsd:extension base="ResponseMessage">
          <xsd:sequence>
            <xsd:element ref="quotableProduct" maxOccurs="unbounded"/>
            <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## RequestQuote

### Description:

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type RequestMessage)

- A type defining the basic content of a message that requests the receiver to perform some business operation determined by the message type and its content.

quotableProduct (one or more occurrences; of the type QuotableProduct)

party (zero or more occurrences; of the type Party)

### Used by:

### Extension of:

- RequestMessage

### Schema Fragment:

    <xsd:complexType name="RequestQuote">
      <xsd:complexContent>
        <xsd:extension base="RequestMessage">
          <xsd:sequence>
            <xsd:element ref="quotableProduct" maxOccurs="unbounded"/>
            <xsd:element name="party" type="Party" minOccurs="0" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## RequestQuoteResponse

### Description:

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type ResponseMessage)

- A type refining the generic message content model to make it specific to response messages.

product (one or more occurrences; of the type Product)

- An abstract element used as a place holder for the substituting product elements.

party (one or more occurrences; of the type Party)

### Used by:

### Extension of:

- ResponseMessage

### Schema Fragment:

    <xsd:complexType name="RequestQuoteResponse">
      <xsd:complexContent>
        <xsd:extension base="ResponseMessage">
          <xsd:sequence>
            <xsd:element ref="product" maxOccurs="unbounded"/>
            <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

# Global Elements

## quotableFxSingleLeg

### Description:

### Figure:

### Contents:

Element quotableFxSingleLeg is defined by the complex type QuotableFxLeg

### Used by:

### Schema Fragment:

    <xsd:element name="quotableFxSingleLeg" type="QuotableFxLeg" substitutionGroup="quotableProduct"/>

## quotableProduct

### Description:

### Figure:

### Contents:

Element quotableProduct is defined by the complex type QuotableProduct

### Used by:

- QuoteUpdated
- RequestQuote

### Substituted by:

- quotableFxSingleLeg

### Schema Fragment:

    <xsd:element name="quotableProduct" type="QuotableProduct" abstract="true"/>

# Groups

The schema does not contain any groups.

# Full XML Schema

    <xsd:schema targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="$Revision: 898 $">
      <xsd:include schemaLocation="fpml-msg-4-2.xsd"/>
      <xsd:include schemaLocation="fpml-shared-4-2.xsd"/>
      <xsd:complexType name="AcceptQuote">
        <xsd:complexContent>
          <xsd:extension base="ResponseMessage">
            <xsd:sequence>
              <xsd:element name="trade" type="Trade" maxOccurs="unbounded"/>
              <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="QuotableFxLeg">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type that represents a single exchange of one currency for
            another that may be quoted on. The definition allows currency
            amounts to be absent and does not include an exchange rate.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="QuotableProduct">
            <xsd:sequence>
              <xsd:element name="exchangedCurrency" type="QuotablePayment" minOccurs="0"/>
              <xsd:element name="exchangeRate" type="QuotableFxRate"/>
              <xsd:element name="nonDeliverableForward" type="FxCashSettlement" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    Used to describe a particular type of FX forward
                    transaction that is settled in a single currency.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="QuotableFxRate">
        <xsd:sequence>
          <xsd:element name="quotedCurrencyPair" type="QuotedCurrencyPair"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="QuotablePayment">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type for defining payments
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:group ref="PayerReceiver.model" minOccurs="0"/>
          <xsd:element name="paymentAmount" type="Money" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The currency amount of the payment.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="paymentDate" type="AdjustableDate" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The payment date. This date is subject to adjustment in
                accordance with any applicable business day convention.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="QuotableProduct" abstract="true">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            The abstract base class for all product definitions for
            pre-trade quotation
          </xsd:documentation>
        </xsd:annotation>
        <xsd:group ref="Product.model"/>
      </xsd:complexType>
      <xsd:complexType name="QuoteAcceptanceConfirmed">
        <xsd:complexContent>
          <xsd:extension base="ResponseMessage">
            <xsd:sequence>
              <xsd:element name="trade" type="Trade" maxOccurs="unbounded"/>
              <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="QuoteAlreadyExpired">
        <xsd:complexContent>
          <xsd:extension base="ResponseMessage"/>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="QuoteUpdated">
        <xsd:complexContent>
          <xsd:extension base="ResponseMessage">
            <xsd:sequence>
              <xsd:element ref="quotableProduct" maxOccurs="unbounded"/>
              <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="RequestQuote">
        <xsd:complexContent>
          <xsd:extension base="RequestMessage">
            <xsd:sequence>
              <xsd:element ref="quotableProduct" maxOccurs="unbounded"/>
              <xsd:element name="party" type="Party" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="RequestQuoteResponse">
        <xsd:complexContent>
          <xsd:extension base="ResponseMessage">
            <xsd:sequence>
              <xsd:element ref="product" maxOccurs="unbounded"/>
              <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="quotableFxSingleLeg" type="QuotableFxLeg" substitutionGroup="quotableProduct"/>
      <xsd:element name="quotableProduct" type="QuotableProduct" abstract="true"/>
    </xsd:schema>