<?xml version="1.0" encoding="UTF-8"?><Emapi xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="EmapiTransactions.xsd">
    <Version major="1" minor="30" micro="0" build="not released"/>
    <Customer name="rtc"/>
    <MessageTypes>
        <MessageType name="rtcGeneral" text="General Messages"/>
        <MessageType name="subscription" text="Subscription">
            <MessageType name="subscriptionEstablishment" text="Establishment"/>
            <MessageType name="subscriptionSurveillance" text="Surveillance Messages"/>
            <MessageType name="subscriptionTermination" text="Termination Messages"/>
        </MessageType>
        <MessageType name="rtcRefData" text="Reference Data Messages">
            <MessageType name="rtcRefDataExternal" text="External Members"/>
            <MessageType name="rtcRefDataInternal" text="Clearing House"/>
        </MessageType>
        <MessageType name="rtcEvents" text="Event Messages">
            <MessageType name="rtcEventsExternal" text="External Members"/>
            <MessageType name="rtcEventsInternal" text="Clearing House"/>
        </MessageType>
        <MessageType name="rtcTradeManagement" text="Trade Management Messages"/>
        <MessageType name="rtcPricing" text="Pricing Messages"/>
        <MessageType name="rtcRisk" text="Risk Messages">
            <MessageType name="rtcRiskExternal" text="External Members"/>
            <MessageType name="rtcRiskInternal" text="Clearing House"/>
        </MessageType>
        <MessageType name="rtcSettlement" text="Settlement Messages">
            <MessageType name="rtcSettlementExternal" text="External Members"/>
            <MessageType name="rtcSettlementInternal" text="Clearing House"/>
        </MessageType>
        <MessageType name="rtcPosition" text="Position Messages">
            <MessageType name="rtcPositionExternal" text="External Members"/>
            <MessageType name="rtcPositionInternal" text="Clearing House"/>
        </MessageType>
        <MessageType name="refdata" text="Reference Data">
            <MessageType name="refdataGeneral" text="General Messages">
                <MessageType name="refdataGeneralMgmt" text="General Management Messages"/>
            </MessageType>
        </MessageType>
    </MessageTypes>
    <Messages>
        <Message name="ProteusRefDataMessage" messageId="236" type="refdataGeneral" internal="true">
            <Description>Super class for all cache tap messages.</Description>
            <Field name="key" fieldNumber="1" type="String">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="isDeleted" fieldNumber="7" type="Boolean">
                <Description>Internal RefDataCache use only. If set to true, this object has been removed and is not visible to external users.</Description>
            </Field>
        </Message>
        <Message name="TaxLogonReq" messageId="63" extends="RequestMessage" returns="TaxLogonRsp" type="rtcGeneral">
            <Description>Request to the gateway to log in a member/user</Description>
            <Field name="member" fieldNumber="2" type="String" mandatory="required">
                <Description>User's member firm</Description>
            </Field>
            <Field name="user" fieldNumber="3" type="String" mandatory="required">
                <Description>Mandatory user id. The user must belong to the member.</Description>
            </Field>
            <Field name="password" fieldNumber="4" type="String" mandatory="required">
                <Description>User's password</Description>
            </Field>
            <Field name="ticket" fieldNumber="5" type="Long">
                <Description>Ticket received at pre-login</Description>
            </Field>
            <Field name="possDupSessId" fieldNumber="6" type="Integer">
                <Description>Possible duplicate session id. If two sessions (that is, users) have the same possDupSessId it means that an unacknowledged request on one of the sessions can be resent on the other with the possDup flag set and the system will be able to resolve if it is a duplicate or not. Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="majorVersion" fieldNumber="7" type="int">
                <Description>EMAPI major version. If any of the version fields is non-zero, the gateway will validate against the current EMAPI version.</Description>
            </Field>
            <Field name="minorVersion" fieldNumber="8" type="int">
                <Description>EMAPI minor version. If any of the version fields is non-zero, the gateway will validate against the current EMAPI version.</Description>
            </Field>
            <Field name="microVersion" fieldNumber="9" type="int">
                <Description>EMAPI micro version. If any of the version fields is non-zero, the gateway will validate against the current EMAPI version.</Description>
            </Field>
        </Message>
        <Message name="TaxLogonRsp" messageId="64" extends="SimpleRsp" type="rtcGeneral">
            <Description>Sent from the gateway to the client as a response to TaxLogonReq.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="reply" fieldNumber="5" type="String" extended="true">
                <Description>Generic single string reply</Description>
            </Field>
            <Field name="logonAccepted" fieldNumber="6" type="Boolean">
                <Description>Indicates whether the login was successful or not.</Description>
            </Field>
            <Field name="loginStatus" fieldNumber="7" type="int">
                <Description>Login specific status code.</Description>
            </Field>
            <Field name="isTestSystem" fieldNumber="8" type="Boolean">
                <Description>Indicates whether this system is a test system or not.</Description>
            </Field>
            <Field name="systemName" fieldNumber="9" type="String">
                <Description>The name of the system.</Description>
            </Field>
            <Field name="partitionHbtInterval" fieldNumber="10" type="Integer">
                <Description>The interval (in seconds) between partition heartbeats sent from the system. Partition heartbeats are sent out as Heartbeat events.</Description>
            </Field>
            <Field name="clientHbtInterval" fieldNumber="11" type="Integer">
                <Description>The interval (in seconds) between which clients are expected to send in heartbeats. The client should use the TaxHeartbeatReq message to send in heartbeats.</Description>
            </Field>
            <Field name="maxLostHeartbeats" fieldNumber="12" type="Integer">
                <Description>The maximum number of heartbeats to lose before the connection can be considered to be down.</Description>
            </Field>
        </Message>
        <Message name="TaxLogoutReq" messageId="65" extends="RequestMessage" returns="SimpleRsp" type="rtcGeneral">
            <Description>Request from client to gateway in end a session. A simple response is sent as response.</Description>
        </Message>
        <Message name="TaxSnapshotSubscribeReq" messageId="69" extends="RequestMessage" returns="TaxSnapshotSubscribeRsp" type="rtcGeneral">
            <Description>Request to retrieve information and/or activate subscription of future updates of the information specified</Description>
            <Field name="member" fieldNumber="2" type="String">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="user" fieldNumber="3" type="String">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="requestType" fieldNumber="4" type="int" allowedValues="SubscriptionRequestType">
                <Description>Type of subscription request</Description>
            </Field>
            <Field name="flow" fieldNumber="5" type="int" allowedValues="BroadcastFlows">
                <Description>Data flow being requested</Description>
            </Field>
            <Field name="key" fieldNumber="6" type="int">
                <Description>Selection key, identifying the data being subscribed to. In many cases, this is the subscription group.</Description>
            </Field>
            <Field name="sequenceNumber" fieldNumber="7" type="long">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="lastPollSequenceNumber" fieldNumber="8" type="Long">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
        </Message>
        <Message name="TaxSnapshotSubscribeRsp" messageId="70" extends="SimpleRsp" type="rtcGeneral">
            <Description>Response to a subscription request (TaxSnapshotSubscribeReq).</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="reply" fieldNumber="5" type="String" extended="true">
                <Description>Generic single string reply</Description>
            </Field>
            <Field name="handle" fieldNumber="6" type="int">
                <Description>Subscription handle identifying the subscription request. The handle is used when removing the subscription.</Description>
            </Field>
            <Field name="lastPublishedSeqNo" fieldNumber="7" type="Long">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
        </Message>
        <Message name="TaxRemoveSubscriptionReq" messageId="71" extends="RequestMessage" returns="SimpleRsp" type="rtcGeneral">
            <Description>Removes an active subscription. A SimpleRsp is sent as response for this request.</Description>
            <Field name="handle" fieldNumber="2" type="int">
                <Description>Subscription handle (subscription identifier) identifying the subscription request to be removed. The handle is received in the response when setting up the subscription.</Description>
            </Field>
        </Message>
        <Message name="TaxStartSnapshot" messageId="72" type="rtcGeneral">
            <Description>Message preceding a snapshot response</Description>
            <Field name="subscriptionGroup" fieldNumber="1" type="Integer">
                <Description>Group of instruments in current value response if applicable, otherwise zero.</Description>
            </Field>
            <Field name="flow" fieldNumber="2" type="int">
                <Description>The broadcast flow for the start event</Description>
            </Field>
        </Message>
        <Message name="TaxEndSnapshot" messageId="73" type="rtcGeneral">
            <Description>Message ending a snapshot response</Description>
            <Field name="code" fieldNumber="1" type="int">
                <Description>The overall status</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String">
                <Description>Complementary text for extra context-dependent info</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array">
                <Description>Subcodes</Description>
            </Field>
            <Field name="flow" fieldNumber="4" type="Integer">
                <Description>If this message is the result of a snapshot/subscribe operation on a flow then this field contains the flow id.</Description>
            </Field>
            <Field name="pollSequenceNumber" fieldNumber="5" type="Long">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="6" type="Integer">
                <Description>Identifying group of instruments in a current value response if applicable, otherwise zero</Description>
            </Field>
            <Field name="snapshotSize" fieldNumber="10008" type="Long">
                <Description>Number of items published in snapshot</Description>
            </Field>
        </Message>
        <Message name="TaxHeartbeatReq" messageId="75" extends="RequestMessage" returns="TaxHeartbeatRsp" type="rtcGeneral">
            <Description>Heartbeat sent to gateway in order to verify a connection</Description>
            <Field name="userData" fieldNumber="2" type="String">
                <Description>User supplied data. The data is returned in the response.</Description>
            </Field>
        </Message>
        <Message name="TaxHeartbeatRsp" messageId="76" extends="SimpleRsp" type="rtcGeneral">
            <Description>Response returned from gateway</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="reply" fieldNumber="5" type="String" extended="true">
                <Description>Generic single string reply</Description>
            </Field>
            <Field name="timestamp" fieldNumber="6" type="String">
                <Description>Current central system time. The format is "yyyy-MM-ddTHH:mm:ss.SSS". Example: 2009-07-16T19:20:30.045</Description>
            </Field>
            <Field name="userData" fieldNumber="7" type="String">
                <Description>User-supplied data from the request</Description>
            </Field>
        </Message>
        <Message name="TaxSessionStatus" messageId="77" type="rtcGeneral">
            <Description>Unsolicited message indicating session status.</Description>
            <Field name="status" fieldNumber="1" type="int" allowedValues="SessionStatus">
                <Description>Session status</Description>
            </Field>
        </Message>
        <Message name="ChangePasswordReq" messageId="126" extends="CdRequest" returns="CdResponse" type="rtcGeneral">
            <Description>A request to change the current password. The user does not have to be logged in in order to change the password.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="memberId" fieldNumber="12" type="String">
                <Description>The id of the user's member (firm). Required because usernames are only unique within a member firm.</Description>
            </Field>
            <Field name="userId" fieldNumber="13" type="String">
                <Description>The identification of the user (username).</Description>
            </Field>
            <Field name="oldPassword" fieldNumber="14" type="String">
                <Description>The user's old password, used for authentication.</Description>
            </Field>
            <Field name="newPassword" fieldNumber="15" type="String">
                <Description>The new password to be set.</Description>
            </Field>
        </Message>
        <Message name="CdRequest" messageId="226" extends="RequestMessage" type="rtcGeneral" internal="true">
            <Description>This message is not used in EMAPI.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="actingUser" fieldNumber="6" type="String" maxlength="64">
                <Description>The user that initiated a request. &lt;ul&gt; &lt;li&gt; Shall only be set in requests if (and only if) it is a gateway user that sends the request. &lt;/li&gt; &lt;li&gt; Otherwise TRADExpress will set it to the user that established the session on which the request was received on. &lt;/li&gt; &lt;/ul&gt; See also the &lt;i&gt;user&lt;/i&gt; field.</Description>
            </Field>
            <Field name="user" fieldNumber="3" type="String" maxlength="64">
                <Description>The responsible user. &lt;ul&gt; &lt;li&gt; Shall only be set in requests if &lt;i&gt;actingUser&lt;/i&gt; is acting on behalf of another user. &lt;/li&gt; &lt;li&gt; Otherwise TRADExpress will set it to the &lt;i&gt;actingUser&lt;/i&gt;. &lt;/li&gt; &lt;/ul&gt;</Description>
            </Field>
            <Field name="member" fieldNumber="2" type="String" maxlength="64">
                <Description>The member of the &lt;i&gt;user&lt;/i&gt;.</Description>
            </Field>
        </Message>
        <Message name="CdResponse" messageId="227" extends="ResponseMessage" type="rtcGeneral">
            <Description>A response to be used as super class for all responses from CD.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="latestSSN" fieldNumber="5" type="long">
                <Description>This is the latest and most likely the highest state sequence number, SSN, that has been assigned to the reference data.</Description>
            </Field>
        </Message>
        <Message name="ResponseMessage" messageId="230" type="rtcGeneral">
            <Description>General response for request messages that dont't have a defined response. It may also be used when a fatal error occurs before or during the normal response handling on the server.</Description>
            <Field name="code" fieldNumber="1" type="int">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="messageReference" fieldNumber="5" type="String">
                <Description>The message reference from the corresponding RequestMessage.</Description>
            </Field>
        </Message>
        <Message name="SimpleRsp" messageId="231" extends="ResponseMessage" type="rtcGeneral">
            <Description>General response for request messages that dont't have a defined response.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="reply" fieldNumber="5" type="String">
                <Description>Generic single string reply</Description>
            </Field>
        </Message>
        <Message name="TaxReplayReq" messageId="232" extends="RequestMessage" returns="TaxReplayRsp" type="rtcGeneral">
            <Description>Request message sent to the RTC system to recover a sequence of messages published earlier. The replay request will recover earlier published messages on a replayable flow. The response back is a simple response indicating whatever the request was successfully queued to the RTC system. The actual replay data is delivered as unsolicited events, framed by TaxReplayStartEvent and TaxReplayEndEvent messages.</Description>
            <Field name="flow" fieldNumber="2" type="int" allowedValues="BroadcastFlows">
                <Description>Specifies the logical stream of information of a certain type.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="3" type="Integer">
                <Description>The subscription group on the subscribed flow.</Description>
            </Field>
            <Field name="sequenceNumber" fieldNumber="4" type="long">
                <Description>The sequence number from which messages should be recovered for the specified subscription group and flow.</Description>
            </Field>
            <Field name="member" fieldNumber="6" type="String">
                <Description>Optional attribute defining the member for which the replay is to be applied for. Used for on-behalf-of replay. Note that the user requesting replay for another member must be authorized to do so. If this attribute is left empty, the logged in user's member is used.</Description>
            </Field>
            <Field name="endSequenceNumber" fieldNumber="7" type="long">
                <Description>The sequence number up to which messages should be recovered for the specified subscription group and flow. The value for this attribute could be derived from the TaxSnapshotSubscribeRsp.</Description>
            </Field>
            <Field name="requestType" fieldNumber="8" type="int" allowedValues="ReplayRequestType">
                <Description>The type of replay request.</Description>
            </Field>
            <Field name="segmentSize" fieldNumber="10009" type="Integer">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
        </Message>
        <Message name="TaxReplayRsp" messageId="233" extends="SimpleRsp" type="rtcGeneral">
            <Description>Response message sent back for a previously-submitted TaxReplayReq. The TaxReplayRsp response will not contain the actual data being requested. The response data is delivered to the application asynchronously.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="reply" fieldNumber="5" type="String" extended="true">
                <Description>Generic single string reply</Description>
            </Field>
            <Field name="handle" fieldNumber="6" type="int">
                <Description>Subscription handle identifying the subscription request. The handle is used when removing the subscription.</Description>
            </Field>
        </Message>
        <Message name="TaxReplayStartEvent" messageId="234" type="rtcGeneral">
            <Description>Framing message indicating the start sequence of requested replay data. When issuing a replay request, the replay data is delivered as unsolicited messages. The TaxReplayStartEvent indicates the start of a replay sequence.</Description>
            <Field name="subscriptionGroup" fieldNumber="1" type="int">
                <Description>The subscription group the data is for.</Description>
            </Field>
            <Field name="flow" fieldNumber="2" type="int">
                <Description>The broadcast flow for the start event.</Description>
            </Field>
        </Message>
        <Message name="TaxReplayEndEvent" messageId="235" type="rtcGeneral">
            <Description>Framing message indicating the end of requested replay data. The TaxReplayEndEvent indicates the end of a replay sequence.</Description>
            <Field name="subscriptionGroup" fieldNumber="1" type="int">
                <Description>The subscription group the data is for. The identifier is always set to zero for global flows.</Description>
            </Field>
            <Field name="nextSequence" fieldNumber="2" type="Long">
                <Description>When requesting a replay, the trading system may not deliver the full sequence in the first call. The application may need to issue multiple additional requests for retrieving all data. The field "nextSequence" indicates if all data has been retrieved. If so, the field is NULL. Otherwise, the field indicates the sequence number to be used when requesting the next/following batch of replay data.</Description>
            </Field>
            <Field name="statusCode" fieldNumber="3" type="int">
                <Description>EMAPI status code telling if the replay was successful or not.</Description>
            </Field>
            <Field name="statusMessage" fieldNumber="4" type="String">
                <Description>Status text associated with the EMAPI status code returned.</Description>
            </Field>
            <Field name="internalCode" fieldNumber="5" type="int">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="flow" fieldNumber="6" type="int">
                <Description>The flow the data is for.</Description>
            </Field>
        </Message>
        <Message name="RequestMessage" messageId="237" type="rtcGeneral" internal="true">
            <Description>This message is not used in EMAPI.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean">
                <Description>The possible duplicate flag</Description>
            </Field>
        </Message>
        <Message name="GetSequenceNumbersReq" messageId="10430" extends="RequestMessage" returns="GetSequenceNumbersRsp" type="rtcGeneral">
            <Description>Get sequence numbers for broadcast flows.</Description>
            <Field name="broadcastFlowId" fieldNumber="6" type="int" mandatory="required">
                <Description>Broadcast Flow requested.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="7" type="int" mandatory="required">
                <Description>Request sequence number for this subscription group.</Description>
            </Field>
        </Message>
        <Message name="GetSequenceNumbersRsp" messageId="10431" extends="ResponseMessage" type="rtcGeneral">
            <Description>Response to a GetSequenceNumbersReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="broadcastFlowId" fieldNumber="7" type="int">
                <Description>Broadcast Flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="8" type="int">
                <Description>Subscription group.</Description>
            </Field>
            <Field name="sequenceNumber" fieldNumber="6" type="long">
                <Description>Latest sequence number for the requested broadcast flow and subscription group.</Description>
            </Field>
        </Message>
        <Message name="Currency" messageId="95" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>This object represent a Currency.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="currencyId" fieldNumber="7" type="String" maxlength="3" mandatory="required" primaryKey="true">
                <Description>The standard currency id according to ISO 4217. SEK, USD, GPB etc</Description>
            </Field>
            <Field name="longName" fieldNumber="8" type="String" maxlength="64">
                <Description>The full name of the currency. Example: South African Rand</Description>
            </Field>
            <Field name="currencyCode" fieldNumber="10010" type="long" mandatory="required">
                <Description>ISO Currency Numeric Code, for example 710 for ZAR.</Description>
            </Field>
            <Field name="notionalValueDecimals" fieldNumber="10012" type="Integer" mandatory="required">
                <Description>Number of decimals used for notional in the currency. Only allowed to be set to 2.</Description>
            </Field>
            <Field name="calendarID" fieldNumber="10013" type="String" mandatory="required">
                <Description>ID of the calendar to be used for finding settlement days</Description>
            </Field>
        </Message>
        <Message name="SubscriptionGroup" messageId="96" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>The subscription group is used to filter objects on broadcast flows. When a subscription is set up for a subscription group the system controls the user access rights for that access group.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="7" type="Integer" mandatory="required" primaryKey="true">
                <Description>The business id of the subscription group.</Description>
            </Field>
            <Field name="description" fieldNumber="8" type="String" maxlength="255" mandatory="required">
                <Description>A text description of the set of order books contained in the group.</Description>
            </Field>
            <Field name="partitionId" fieldNumber="9" type="Integer" mandatory="required">
                <Description>The partition this subscription group belong to.</Description>
            </Field>
            <Field name="accountAccessGroup" fieldNumber="10012" type="String">
                <Description>The account access group.</Description>
            </Field>
        </Message>
        <Message name="Member" messageId="101" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>This object represents a member firm and holds all basic member data such as id, full name, mail addresses and contact persons etc.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="memberId" fieldNumber="7" type="String" maxlength="64" mandatory="required" primaryKey="true">
                <Description>The public ID of the participant. This id has to be unique.</Description>
            </Field>
            <Field name="fullName" fieldNumber="8" type="String" maxlength="128" mandatory="required">
                <Description>Complete name of the member firm</Description>
            </Field>
            <Field name="address" fieldNumber="10" type="String" maxlength="255">
                <Description>Company postal address.</Description>
            </Field>
            <Field name="phone" fieldNumber="11" type="String" maxlength="64">
                <Description>Company phone number.</Description>
            </Field>
            <Field name="fax" fieldNumber="12" type="String" maxlength="64">
                <Description>Company fax address.</Description>
            </Field>
            <Field name="complianceContact" fieldNumber="13" type="String" maxlength="128">
                <Description>Name of contact person in compliance matters</Description>
            </Field>
            <Field name="complianceContactPhone" fieldNumber="14" type="String" maxlength="64">
                <Description>Phone number to the compliance contact person</Description>
            </Field>
            <Field name="complianceContactMail" fieldNumber="15" type="String" maxlength="128">
                <Description>Mail address to the compliance contact person</Description>
            </Field>
            <Field name="matchingContact" fieldNumber="16" type="String" maxlength="128">
                <Description>Matching/BackOffice contact person</Description>
            </Field>
            <Field name="matchingContactPhone" fieldNumber="17" type="String" maxlength="64">
                <Description>Phone number to the Matching/BackOffice contact person</Description>
            </Field>
            <Field name="matchingContactMail" fieldNumber="18" type="String" maxlength="128">
                <Description>Mail address to Matching/BackOffice contact person</Description>
            </Field>
            <Field name="isDisabled" fieldNumber="19" type="Boolean">
                <Description>Set to true if this member has been disabled.</Description>
            </Field>
            <Field name="participantUnitType" fieldNumber="10043" type="Integer" allowedValues="ParticipantUnitType">
                <Description>The type of this participant unit.</Description>
            </Field>
            <Field name="isDiscretionary" fieldNumber="10067" type="Boolean">
                <Description>Is Discretionary, true or false</Description>
            </Field>
            <Field name="isStaff" fieldNumber="10046" type="Boolean">
                <Description>Is Staff, true or false</Description>
            </Field>
            <Field name="isBeneficial" fieldNumber="10047" type="Boolean">
                <Description>Is Beneficial, true or false</Description>
            </Field>
            <Field name="allowClientSubAccounts" fieldNumber="10048" type="Boolean">
                <Description>Sub accounts are allowed, true or false</Description>
            </Field>
            <Field name="vatRegNumber" fieldNumber="10049" type="String">
                <Description>VAT registration number</Description>
            </Field>
            <Field name="bdaCode" fieldNumber="10050" type="Integer">
                <Description>Broker Deal Account number</Description>
            </Field>
            <Field name="email" fieldNumber="10051" type="String">
                <Description>Email</Description>
            </Field>
            <Field name="country" fieldNumber="10052" type="String">
                <Description>Country Code, e.g. ZA</Description>
            </Field>
            <Field name="isNonResident" fieldNumber="10053" type="Boolean">
                <Description>Is Non Resident is true if country for the client is not equal to ZA</Description>
            </Field>
            <Field name="nominatedMember" fieldNumber="10054" type="String">
                <Description>MemberId of the nominated member, fulfilling physical settlement when the actual member is not in the Equities market. Otherwise, set to the member itself.</Description>
            </Field>
            <Field name="strateCode" fieldNumber="10055" type="String" maxlength="100">
                <Description>Code of client or member at CSD.</Description>
            </Field>
            <Field name="externalPayment" fieldNumber="10056" type="Boolean">
                <Description>If RTC should expect net payment from the JSE integration layer for this member. Required for clearing members.</Description>
            </Field>
            <Field name="ownTM" fieldNumber="10057" type="String">
                <Description>This is set for clearing members only, to indicate its own trading member.</Description>
            </Field>
            <Field name="allowFxCollateral" fieldNumber="10058" type="Boolean">
                <Description>This field is mandatory for CMs. If true, RTC will expect system-to-system communication on size of FX collateral payments.</Description>
            </Field>
            <Field name="allowedMarkets" fieldNumber="10059" type="String">
                <Description>A comma-delimited list of market codes that the client is allowed to have trades and positions in.</Description>
            </Field>
            <Field name="waitForCmBalancing" fieldNumber="10060" type="Boolean">
                <Description>This field is mandatory for CMs. If true, RTC will expect the CM to send in a response to a balancing event.</Description>
            </Field>
            <Field name="clientType" fieldNumber="10061" type="String" allowedValues="ClientType">
                <Description>For clients only - type of client. Information to surveillance. Required for all clients.</Description>
            </Field>
            <Field name="idNumber" fieldNumber="10062" type="Long">
                <Description>For clients only - ID number. Required for local individual clients: Client Type = Individual AND isNonResident = FALSE</Description>
            </Field>
            <Field name="passportNumber" fieldNumber="10063" type="String">
                <Description>For clients only - Passport number. Required for foreign individual clients: Client Type = Individual AND isNonResident = TRUE</Description>
            </Field>
            <Field name="companyRegistrationNumber" fieldNumber="10064" type="String">
                <Description>For clients only - Company registration number. Required for all company clients: Client Type = Company</Description>
            </Field>
            <Field name="isProfessional" fieldNumber="10065" type="Boolean">
                <Description>For clients only - Information to surveillance. Required for all clients.</Description>
            </Field>
            <Field name="isShariah" fieldNumber="10066" type="Boolean">
                <Description>For clients only - Information to surveillance. Required for all clients.</Description>
            </Field>
            <Field name="preferredCcy" fieldNumber="10068" type="String" maxlength="3">
                <Description>Currency used for intraday rebalancing. Needs to be an eligible FX collateral currency (or ZAR, this will be the default though).</Description>
            </Field>
            <Field name="branchMemberNumber" fieldNumber="10069" type="String">
                <Description>For TM branches only. Unique within a TM. Valid number is between 01 and 99.</Description>
            </Field>
            <Field name="cmMessageRef" fieldNumber="10070" type="String" maxlength="5">
                <Description>For CM only. Mandatory for CM. Number used when creating settlement instructions. This number is concatenated into the message reference no.</Description>
            </Field>
            <Field name="associatedMemberId" fieldNumber="26" type="String" maxlength="255" foreignKey="Member">
                <Description>The parent member, for example the parent of a trading member branch or a client.</Description>
            </Field>
            <Field name="memberType" fieldNumber="30" type="Integer" allowedValues="MemberType">
                <Description>The type of member. N.B. in the documentation member type is also known as Participant type.</Description>
            </Field>
            <Field name="validFromDate" fieldNumber="33" type="String" maxlength="10">
                <Description>The date from which the member is valid. The format is yyyy-MM-dd</Description>
            </Field>
            <Field name="listOfAliases" fieldNumber="34" type="String" maxlength="256">
                <Description>A list of other markets'/exchanges' ID of this member in the format: market1:memberid1,market2:memberid2,... "maket1" is assumed to be a market defined in the "local" system and is automatically converted to uppercase, since this is the conversion for market ids in the system.</Description>
            </Field>
            <Field name="allowedOnBehalfOfMemberIdList" fieldNumber="39" type="String" maxlength="255">
                <Description>A comma separated list of Member Ids for which this member may act on behalf of.</Description>
            </Field>
        </Message>
        <Message name="CalendarDate" messageId="139" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>A calendar date of a certain type.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="date" fieldNumber="7" type="String" maxlength="32" mandatory="required">
                <Description>A calendar date in standard format: YYYY-MM-DD.</Description>
            </Field>
            <Field name="dateType" fieldNumber="8" type="Integer" allowedValues="DATE_TYPE" mandatory="required">
                <Description>The type of this date, for example 'closed'.</Description>
            </Field>
            <Field name="calendarId" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>The "identity" of this date. This field may be used for specifying a calendar date that is specific for an exchange/country etc. The id here is (may be) referenced from the orderbook parameters block.</Description>
            </Field>
            <Field name="displayName" fieldNumber="12" type="String" maxlength="255">
                <Description>The display name for this date, Midsummer for example.</Description>
            </Field>
            <Field name="isValidTradingBusinessDate" fieldNumber="13" type="Boolean">
                <Description>Indicate if a date is a valid trading business date or not.</Description>
            </Field>
        </Message>
        <Message name="Instrument" messageId="295" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>The Instrument holds basic background information, such as instrument id, type and (optionally) primary market for an instrument. Since an instrument can be traded in different currencies and visibility (normal, dark etc), the instrument has a set of child objects called TradableInstrument in which the actual trading takes place. An Instrument may reference another Instrument using the "parentInternalId" attribute. The parentInternalId is typically used by warrants or options to reference the underlying instrument.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="internalId" fieldNumber="7" type="String" maxlength="128" primaryKey="true">
                <Description>A unique instrument identifier. May be an ISIN, CUSIP or symbol name. The InternalID is created using the InstrumentID and InstrumentIdType fields. Example: SE0000108656_ISIN</Description>
            </Field>
            <Field name="parentInternalId" fieldNumber="8" type="String" maxlength="128" foreignKey="Instrument">
                <Description>This is a reference to the parent instrument, if any. A parent instrument is typically an underlying instrument when trading derivatives. Shall be set to null if this instrument is a "root" instrument.</Description>
            </Field>
            <Field name="isEnabled" fieldNumber="9" type="Boolean">
                <Description>The state of this item.</Description>
            </Field>
            <Field name="disabledCount" fieldNumber="11" type="Integer">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="instrumentId" fieldNumber="12" type="String" maxlength="64" mandatory="required">
                <Description>The global identity of the instrument. The type of identifier (ISIN, CUSIP etc) is defined by the instrumentIdType attribute.</Description>
            </Field>
            <Field name="instrumentIdType" fieldNumber="13" type="String" allowedValues="InstrumentIdType" maxlength="32" mandatory="required">
                <Description>The type of the InstrumentId (ISIN, CUSIP etc)</Description>
            </Field>
            <Field name="prevInstrumentId" fieldNumber="14" type="String" maxlength="64">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="prevInstrumentIdType" fieldNumber="15" type="String" allowedValues="InstrumentIdType" maxlength="32">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="type" fieldNumber="16" type="String" allowedValues="InstrumentType" maxlength="32" mandatory="required">
                <Description>The type of instrument (equity, warrant, future etc).</Description>
            </Field>
            <Field name="shortName" fieldNumber="17" type="String" maxlength="64" mandatory="required">
                <Description>The short display name for the instrument, ERICB for example.</Description>
            </Field>
            <Field name="name" fieldNumber="18" type="String" maxlength="255" mandatory="required">
                <Description>The complete instrument name, Ericsson B for example.</Description>
            </Field>
            <Field name="issuer" fieldNumber="19" type="String" maxlength="255">
                <Description>The issuer of the instrument</Description>
            </Field>
            <Field name="sector" fieldNumber="20" type="String" maxlength="128">
                <Description>The financial sector to which the instrument belong</Description>
            </Field>
            <Field name="primaryMarketId" fieldNumber="21" type="String" maxlength="32" foreignKey="Market">
                <Description>A unique id that defines market/market that is to be considered primary for the instrument, XLON, XSSE for example.)</Description>
            </Field>
            <Field name="adt" fieldNumber="22" type="Long" divisor="PRICE">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="adtCurrency" fieldNumber="23" type="String" maxlength="3" foreignKey="Currency">
                <Description>Not used in this configuration of RTC.</Description>
            </Field>
            <Field name="validFromDate" fieldNumber="27" type="String" maxlength="10" mandatory="required">
                <Description>The first date the instrument is valid. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="validToDate" fieldNumber="28" type="String" maxlength="10">
                <Description>The last date the instrument is valid. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="listOfAliases" fieldNumber="30" type="String" maxlength="256">
                <Description>A list of other markets'/exchanges' ID of this instrument in the format: market1:id1,market2:id2,...</Description>
            </Field>
            <Field name="pmPartitionId" fieldNumber="10047" type="Integer">
                <Description>The instrument partition for the Position Manager server.</Description>
            </Field>
            <Field name="rtcInternalId" fieldNumber="10048" type="Long">
                <Description>The RTC internal ID for the underlying product.</Description>
            </Field>
        </Message>
        <Message name="TradableInstrument" messageId="296" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>The TradableInstrument is a child object of an Instrument. The TradableInstrument holds trading information (order book id, currency, market, visibility etc) which is necessary for entering orders in a specific instrument. There is one TradableInstrument instance per market/currency/visibility combination. A TradableInstrument instance references a Segment, all trading rules for the referenced Segment applies to the instance.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="internalId" fieldNumber="7" type="String" maxlength="192" primaryKey="true">
                <Description>The internal id of the TradableInstrument. This id is unique within the system and is created from the fields parentInternalId, market, currency and visibility.</Description>
            </Field>
            <Field name="parentInternalId" fieldNumber="8" type="String" maxlength="192" foreignKeyParent="Instrument">
                <Description>The internal id of the parent Instrument. (The instrumentId and the instrumentIdType of the parent Instrument).</Description>
            </Field>
            <Field name="internalSegmentId" fieldNumber="9" type="String" maxlength="198" foreignKey="Segment">
                <Description>A "cache" segment reference to which this tradable instrument belongs. Assigned by the server when the TradableInstrument is created. Validated against Market/MarketList/Segment attributes when updating a TradableInstrument.</Description>
            </Field>
            <Field name="isEnabled" fieldNumber="10" type="Boolean">
                <Description>The state of this item.</Description>
            </Field>
            <Field name="disabledCount" fieldNumber="12" type="Integer">
                <Description>A count of how many times this element has been enabled/disabled. An element will not be enabled until disabledCount is zero.</Description>
            </Field>
            <Field name="tradableInstrumentId" fieldNumber="13" type="String" maxlength="64" mandatory="required">
                <Description>The tradable instrument id. Typically an ISIN, CUSIP or symbol name. This is the JSE Master ID.</Description>
            </Field>
            <Field name="tradableInstrumentIdType" fieldNumber="14" type="String" allowedValues="InstrumentIdType" maxlength="32" mandatory="required">
                <Description>The type of the TradableInstrumentId (ISIN, CUSIP etc)</Description>
            </Field>
            <Field name="currencyId" fieldNumber="15" type="String" maxlength="3" mandatory="required" foreignKey="Currency">
                <Description>The currency code according to ISO 4217</Description>
            </Field>
            <Field name="shortName" fieldNumber="16" type="String" maxlength="255" mandatory="required">
                <Description>Display name of this tradable instrument.</Description>
            </Field>
            <Field name="marketId" fieldNumber="17" type="String" maxlength="128" mandatory="required" foreignKey="Market">
                <Description>The market where this tradable instrument is traded. This field refers to a Market object's marketId field.</Description>
            </Field>
            <Field name="marketListId" fieldNumber="18" type="String" maxlength="128" mandatory="required" foreignKey="MarketList">
                <Description>The market list where this instrument is traded, reflecting a MarketList object's marketListId field. The market list must belong to the market specified by the marketId field.</Description>
            </Field>
            <Field name="segmentId" fieldNumber="19" type="String" maxlength="128" mandatory="required" foreignKey="Segment">
                <Description>The segment where this instrument is traded, reflecting a Segment object's segmentId field. The segment specified must belong to the market stated in the marketId field and belong to the market list stated by the marketListId field.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="27" type="Integer" foreignKey="SubscriptionGroup">
                <Description>The id of the subscription group to which this tradable instrument belong</Description>
            </Field>
            <Field name="validFromDate" fieldNumber="31" type="String" maxlength="10">
                <Description>The first date the tradable instrument is valid. The format is yyyy-MM-dd. If this optional data is not specified, the value from the tradable instrument's instrument will be used. The parent tradable instrument must have a validFrom date that is equal to or less than the validFrom date of the child tradable instrument.</Description>
            </Field>
            <Field name="validToDate" fieldNumber="32" type="String" maxlength="10">
                <Description>The last date the tradable instrument is valid. The format is yyyy-MM-dd. If this optional data is not specified, the value from the tradable instrument's instrument will be used. The parent tradable instrument must have a validTo date that is equal to or greater that the validTo date of the child tradable instrument.</Description>
            </Field>
            <Field name="lastTradingDate" fieldNumber="57" type="String" maxlength="10">
                <Description>The last date the instrument is open for trading. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="numberOfShares" fieldNumber="33" type="Long" maxlength="64">
                <Description>The number of shares in the instrument. If the number of shares is not defined, then there will not be any qty checks for that instrument.</Description>
            </Field>
            <Field name="classSpreadGroup" fieldNumber="10064" type="String" maxlength="255">
                <Description>The Class Spread Group (CSG) to which the contract belongs.</Description>
            </Field>
            <Field name="classSpreadMarginRequirement" fieldNumber="10065" type="Long" divisor="DECIMAL">
                <Description>Class Spread Margin Requirement (CSMR)</Description>
            </Field>
            <Field name="imrOfficial" fieldNumber="10088" type="Long" divisor="DECIMAL">
                <Description>Official IMR (Initial Margin Requirement)</Description>
            </Field>
            <Field name="oneDayVar" fieldNumber="10089" type="Long" divisor="DECIMAL">
                <Description>1-day VaR</Description>
            </Field>
            <Field name="smrOfficial" fieldNumber="10113" type="Long" divisor="DECIMAL">
                <Description>Official SMR (Settlement Margin Requirement)</Description>
            </Field>
            <Field name="volatilityScanningRange" fieldNumber="10061" type="Long" divisor="DECIMAL">
                <Description>Volatility Scanning Range (VSR)</Description>
            </Field>
            <Field name="contractSize" fieldNumber="10062" type="Long" mandatory="required">
                <Description>The size (quantity) of one traded contract.</Description>
            </Field>
            <Field name="settlementCycle" fieldNumber="10063" type="Integer">
                <Description>Settlement cycle in days. Mandatory for instrument type Spot.</Description>
            </Field>
            <Field name="expiryDate" fieldNumber="10068" type="String" maxlength="10">
                <Description>The expiration date for this contract. The format is yyyy-mm-dd. Used for options and futures.</Description>
            </Field>
            <Field name="contractCode" fieldNumber="10069" type="String" maxlength="100">
                <Description>The Contract Code. Example: AGLS</Description>
            </Field>
            <Field name="contractDescription" fieldNumber="10080" type="String" maxlength="255">
                <Description>The Contract Description.</Description>
            </Field>
            <Field name="alphaCode" fieldNumber="10090" type="String" maxlength="30" mandatory="required">
                <Description>The Alpha Code. Example: AGL</Description>
            </Field>
            <Field name="underlyingTradableInstrument" fieldNumber="10072" type="String" maxlength="100">
                <Description>The Underlying Tradable Instrument. Example: the future (AGLS-20141023) for an option or the underlying (ABL) for a future</Description>
            </Field>
            <Field name="contractCategory" fieldNumber="10073" type="String" maxlength="100">
                <Description>The Contract Category. Example: SingleStock</Description>
            </Field>
            <Field name="settlementType" fieldNumber="10074" type="Integer" allowedValues="SettlementType">
                <Description>Settlement type, Cash or Physical. If cash settled, only cash is settled at expiry. If physical, the underlying instrument is settled at expiry. Used for futures and options.</Description>
            </Field>
            <Field name="exerciseStyle" fieldNumber="10075" type="Integer" allowedValues="ExerciseStyle">
                <Description>Exercise style, Americal or European. Used for options.</Description>
            </Field>
            <Field name="isCall" fieldNumber="10076" type="Boolean">
                <Description>Call or Put option.</Description>
            </Field>
            <Field name="strike" fieldNumber="10077" type="Long" divisor="DECIMAL">
                <Description>Strike for option.</Description>
            </Field>
            <Field name="volatilitySurfaceId" fieldNumber="10078" type="String" maxlength="100">
                <Description>The Volatility Surface Id. Used for options.</Description>
            </Field>
            <Field name="yieldCurveId" fieldNumber="10079" type="String" maxlength="100">
                <Description>The id of yield curve instrument used for valuation. Mandatory for future with valuation model set to RTC Mark-to-Model. Mandatory if InstrumentSubType is Dividend Neutral, International Dividend Neutral, Quanto International Dividend Neutral, Quanto Index Dividend Neutral or Contract for Difference, regardless of valuation model.</Description>
            </Field>
            <Field name="instrumentType" fieldNumber="10081" type="String" allowedValues="InstrumentType" maxlength="32" mandatory="required">
                <Description>The type of instrument (equity, option, future etc).</Description>
            </Field>
            <Field name="instrumentSubType" fieldNumber="10114" type="String" allowedValues="InstrumentSubType" maxlength="32" mandatory="required">
                <Description>The sub type of instrument (spot, index, CFD, etc.).</Description>
            </Field>
            <Field name="stressPeriodStartDate" fieldNumber="10084" type="String" maxlength="10">
                <Description>In addition to the look-back period other dates of price data can be added. This is the start date of the period used. The format is yyyy-mm-dd. Used for spot instruments.</Description>
            </Field>
            <Field name="stressPeriodEndDate" fieldNumber="10085" type="String" maxlength="10">
                <Description>In addition to the look-back period other dates of price data can be added. This is the end date of the period used. The format is yyyy-mm-dd. Used for spot instruments.</Description>
            </Field>
            <Field name="liquidationPeriod" fieldNumber="10086" type="Integer" divisor="DECIMAL">
                <Description>The liquidation period used in the IMR calculation. Also used for the calculation of the Liquidity Add-on. For example, 1 for daily and 7 for weekly. Mandatory for spot instruments.</Description>
            </Field>
            <Field name="advt" fieldNumber="10087" type="Long" divisor="DECIMAL">
                <Description>The Average Daily Value Traded, used for the calculation of the Liquidity Add-on. Mandatory for spot instruments.</Description>
            </Field>
            <Field name="optionStyle" fieldNumber="10091" type="Integer" allowedValues="OptionStyle">
                <Description>Future style or Upfront premium. Used for options.</Description>
            </Field>
            <Field name="atmCents" fieldNumber="10092" type="Integer">
                <Description>Cents from ATM. Used for options.</Description>
            </Field>
            <Field name="priceFormat" fieldNumber="10112" type="Integer" mandatory="required">
                <Description>Number of decimals in prices.</Description>
            </Field>
            <Field name="isin" fieldNumber="10093" type="String" maxlength="12">
                <Description>ISIN for the instrument.</Description>
            </Field>
            <Field name="valuationModelType" fieldNumber="10094" type="String" allowedValues="ValuationModelType" maxlength="100" mandatory="required">
                <Description>Valuation Model Type.</Description>
            </Field>
            <Field name="valuationSubType" fieldNumber="10095" type="String" allowedValues="ValuationSubType" maxlength="100">
                <Description>Valuation Sub Type.</Description>
            </Field>
            <Field name="isTradable" fieldNumber="10096" type="Boolean" mandatory="required">
                <Description>Indicates whether the instrument can be traded at JSE.</Description>
            </Field>
            <Field name="baseCurrency" fieldNumber="10097" type="String" maxlength="10">
                <Description>Base currency, mandatory for FX spot instruments.</Description>
            </Field>
            <Field name="priceCurrency" fieldNumber="10098" type="String" maxlength="10">
                <Description>Price currency, mandatory for FX spot instruments.</Description>
            </Field>
            <Field name="maturityDate" fieldNumber="10099" type="String" maxlength="10">
                <Description>Maturity Date for Bonds. Format yyyy-mm-dd.</Description>
            </Field>
            <Field name="nominal" fieldNumber="10124" type="Long" divisor="DECIMAL">
                <Description>The Nominal Amount for Bonds.</Description>
            </Field>
            <Field name="redemptionFraction" fieldNumber="10125" type="Long" divisor="DECIMAL">
                <Description>Fraction of Nominal to be returned at maturity. For Bonds.</Description>
            </Field>
            <Field name="dayCountConvention" fieldNumber="10100" type="String" allowedValues="DAY_COUNT_CONVENTION">
                <Description>The convention determines how interest accrues over time, e.g. number of days between two coupon payments. For Bonds.</Description>
            </Field>
            <Field name="businessDayConvention" fieldNumber="10101" type="String" allowedValues="BusinessDayConvention">
                <Description>Rules for date rolling when a payment day or date used to calculate accrued interest falls on a holiday. For Bonds.</Description>
            </Field>
            <Field name="compoundingConventionOfYield" fieldNumber="10126" type="String" allowedValues="CompoundingConvention">
                <Description>Compounding Convention of yield. For Bonds.</Description>
            </Field>
            <Field name="compoundingConventionOfRate" fieldNumber="10127" type="String" allowedValues="CompoundingConvention">
                <Description>Compounding Convention of coupon rate. For Bonds, information only.</Description>
            </Field>
            <Field name="rtcCalendarId" fieldNumber="10103" type="String">
                <Description>Calendar used for holidays. For Bonds.</Description>
            </Field>
            <Field name="couponRate" fieldNumber="10104" type="Long" divisor="DECIMAL">
                <Description>Annual Coupon rate for Bonds.</Description>
            </Field>
            <Field name="listingDate" fieldNumber="10105" type="String" maxlength="10">
                <Description>The date when the Bond was listed.</Description>
            </Field>
            <Field name="couponFrequencyPeriod" fieldNumber="10107" type="Integer">
                <Description>Coupon frequency period length. How often coupons are paid annually. For Bonds.</Description>
            </Field>
            <Field name="couponIndicator" fieldNumber="10108" type="String" allowedValues="CouponIndicator">
                <Description>Coupon rate indicator. For Bonds.</Description>
            </Field>
            <Field name="interestCommencementDate" fieldNumber="10121" type="String" maxlength="10">
                <Description>For Bonds. This date is used as last coupon date equivalent if no coupon has yet been paid.</Description>
            </Field>
            <Field name="couponDates" fieldNumber="10110" type="String" maxlength="1000">
                <Description>For Bonds. Coupon dates, comma separated dates on format MMDD.</Description>
            </Field>
            <Field name="bookClosingDates" fieldNumber="10111" type="String" maxlength="1000">
                <Description>For Bonds. Book Closing dates, comma separated dates on format MMDD.</Description>
            </Field>
            <Field name="assetClass" fieldNumber="10115" type="String" allowedValues="AssetClass" maxlength="255" mandatory="required">
                <Description>The asset class this tradable instrument belongs to.</Description>
            </Field>
            <Field name="assetSubClass" fieldNumber="10117" type="String" allowedValues="AssetSubClass" mandatory="required">
                <Description>Asset sub class used for stress testing.</Description>
            </Field>
            <Field name="pePartitionId" fieldNumber="10116" type="Integer">
                <Description>Partition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.</Description>
            </Field>
            <Field name="baseRateInstrument" fieldNumber="10118" type="String" maxlength="100">
                <Description>Master ID of the base rate instrument</Description>
            </Field>
            <Field name="priceProxyMasterID" fieldNumber="10120" type="String" maxlength="100">
                <Description>The Master ID of another underlying instrument to use as proxy when calculating the IMR %. Will mostly be used for foreign instruments where the price history is not available.</Description>
            </Field>
            <Field name="inwardListed" fieldNumber="10122" type="Boolean" mandatory="required">
                <Description>Designated as Inward listed by the South African Reserve Bank.</Description>
            </Field>
            <Field name="anyday" fieldNumber="10123" type="Boolean" mandatory="required">
                <Description>If Anyday is true, the expiry date of the instrument may be on any business day.</Description>
            </Field>
            <Field name="exchange" fieldNumber="10128" type="String" maxlength="100" mandatory="required">
                <Description>ID of the exchange where the instrument is traded</Description>
            </Field>
            <Field name="country" fieldNumber="10129" type="String" maxlength="100" mandatory="required">
                <Description>Country code of instrument.</Description>
            </Field>
            <Field name="contractSizeType" fieldNumber="10130" type="Integer" allowedValues="ContractSizeType">
                <Description>Indicator if the contract is base (standard), mini/maxi etc.</Description>
            </Field>
            <Field name="negativePriceAllowed" fieldNumber="10132" type="Boolean">
                <Description>If NPA is True, prices in the tradable instrument may be negative, otherwise not. Only be allowed to be True for Spot and Future, used for structured products.</Description>
            </Field>
            <Field name="listOfAliases" fieldNumber="39" type="String" maxlength="256">
                <Description>A list of other markets'/exchanges' ID of this tradable instrument in the format: market1:id1,market2:id2,...</Description>
            </Field>
            <Field name="corporateActionIndicator" fieldNumber="58" type="String" maxlength="24">
                <Description>This attribute is used to indicate that this instrument has been subject to a Corporate Action.</Description>
            </Field>
            <Field name="validForTrading" fieldNumber="59" type="Boolean">
                <Description>If this field is true, this TradebleInstrument is valid for trading. ValidForTrading is typically used when a TradableInstrument is not traded on "this" exchange, but is needed as undelying for derivatives (carrying the price). The default value is true.</Description>
            </Field>
        </Message>
        <Message name="Market" messageId="299" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Defines a market.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="marketId" fieldNumber="7" type="String" maxlength="64" mandatory="required" primaryKey="true">
                <Description>A system-unique identifier of the Market. May only contain characters a-z, A-Z, 0-9, "_", "-", "+" and ".".</Description>
            </Field>
            <Field name="isEnabled" fieldNumber="8" type="Boolean">
                <Description>The state of this item.</Description>
            </Field>
            <Field name="disabledCount" fieldNumber="9" type="Integer">
                <Description>A count of how many times this element has been enabled/disabled. An element will not be enabled until disabledCount is zero.</Description>
            </Field>
            <Field name="name" fieldNumber="10" type="String" maxlength="255" mandatory="required">
                <Description>The name of the Market.</Description>
            </Field>
            <Field name="countryCode" fieldNumber="11" type="String" maxlength="16" mandatory="required" foreignKey="Country">
                <Description>The country code for this market.</Description>
            </Field>
            <Field name="wwwPage" fieldNumber="12" type="String" maxlength="256">
                <Description>A reference to a market specific internet site.</Description>
            </Field>
            <Field name="confidencePercentile" fieldNumber="10028" type="Long" divisor="DECIMAL" mandatory="required">
                <Description>JSPAN attribute. A percentile stored as a decimal, e.g. 0.975 for 97.5%.</Description>
            </Field>
            <Field name="lookbackPeriod" fieldNumber="10021" type="Long" divisor="QTY" mandatory="required">
                <Description>JSPAN attribute. The lookback period used to get historical prices. For example, 90 to use the last 90 days prices.</Description>
            </Field>
            <Field name="volatilityLookbackPeriod" fieldNumber="10023" type="Long" divisor="QTY" mandatory="required">
                <Description>JSPAN attribute. The volatility lookback period used when calculating volatilities.</Description>
            </Field>
            <Field name="maxScaleUp" fieldNumber="10026" type="Long" divisor="DECIMAL" mandatory="required">
                <Description>JSPAN attribute. The maximum amount volatility may be scaled up. This should be a number between 1 and 2.</Description>
            </Field>
            <Field name="maxScaleDown" fieldNumber="10027" type="Long" divisor="DECIMAL" mandatory="required">
                <Description>JSPAN attribute. The maximum amount volatility may be scaled down. This should be a number between 0 and 1.</Description>
            </Field>
            <Field name="imrStatisticsPeriod" fieldNumber="10030" type="Long" divisor="QTY" mandatory="required">
                <Description>Number of days to compare price and volatility move for.</Description>
            </Field>
            <Field name="manualExerciseEndTime" fieldNumber="10031" type="String" maxlength="12" mandatory="required">
                <Description>The end time for option exercise on the expiration date. Must be in the format HH:MM:SS.</Description>
            </Field>
            <Field name="optionAllocationModelType" fieldNumber="10032" type="Integer" allowedValues="OptionAllocationModelType" mandatory="required">
                <Description>Allocation model for options, eg Pro-rata or Random.</Description>
            </Field>
            <Field name="dailyMaximumParticipationFactor" fieldNumber="10033" type="Long" divisor="DECIMAL" mandatory="required">
                <Description>Daily Maximum Participation Factor for Liquidation Period add-on.</Description>
            </Field>
            <Field name="nonTradingDaysBeforeDefault" fieldNumber="10034" type="Long" divisor="QTY" mandatory="required">
                <Description>Used in the Liquidation Period Add-on calculation. Number of days it will take the JSE to confirm default before it starts to close out positions.</Description>
            </Field>
            <Field name="volRounding" fieldNumber="10035" type="Integer" mandatory="required">
                <Description>Number of decimals for volatility calculated by RTC.</Description>
            </Field>
            <Field name="validFromDate" fieldNumber="19" type="String" maxlength="10">
                <Description>The first date the market is valid. The format is yyyy-MM-dd.</Description>
            </Field>
        </Message>
        <Message name="MarketList" messageId="300" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>The MarketList is a child object of a Market. The purpose of the MarketList is mainly to organize the different instruments on a market into separate lists. The actual interpretation of the MarketList is customer specific. Operations such as halt and enable/disable performed on a MarketList will affect all Segments and TradableInstruments within the MarketList.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="internalMarketListId" fieldNumber="7" type="String" maxlength="128" primaryKey="true">
                <Description>The internal (unique) id of the MarketList. Set by RTC.</Description>
            </Field>
            <Field name="isEnabled" fieldNumber="8" type="Boolean">
                <Description>The state of this item.</Description>
            </Field>
            <Field name="disabledCount" fieldNumber="9" type="Integer">
                <Description>A count of how many times this element has been enabled/disabled. An element will not be enabled until disabledCount is zero.</Description>
            </Field>
            <Field name="marketListId" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>The display id of the MarketList. Must be unique within the Market. May only contain characters: a-z, A-Z, 0-9, "_", "-", "+" and ".".</Description>
            </Field>
            <Field name="name" fieldNumber="11" type="String" maxlength="255" mandatory="required">
                <Description>This is the name of this Market</Description>
            </Field>
            <Field name="parentInternalId" fieldNumber="12" type="String" maxlength="128" mandatory="required" foreignKeyParent="Market">
                <Description>The parent market id (EMAPI).</Description>
            </Field>
            <Field name="validFromDate" fieldNumber="20" type="String" maxlength="10">
                <Description>The first date the market list is valid. The format is yyyy-MM-dd.</Description>
            </Field>
        </Message>
        <Message name="Segment" messageId="302" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>A Segment is a grouping of TradableInstruments that share the same trading rules. Operations on a segment, such as halt and enable/disable affects all tradable instruments related to the segment. A Segment is a child objetc to MarketList.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="internalSegmentId" fieldNumber="7" type="String" maxlength="128" primaryKey="true">
                <Description>The cache (unique) id of the Segment. The internalSegmentId field is assigned by the system.</Description>
            </Field>
            <Field name="isEnabled" fieldNumber="8" type="Boolean">
                <Description>The state of this item.</Description>
            </Field>
            <Field name="disabledCount" fieldNumber="9" type="Integer">
                <Description>A count of how many times this element has been enabled/disabled. An element will not be enabled until disabledCount is zero.</Description>
            </Field>
            <Field name="segmentId" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>The display id of the Segment. Must be unique within the parent MarketList. May only contain characters: a-z, A-Z, 0-9, "_", "-", "+" and ".".</Description>
            </Field>
            <Field name="parentInternalId" fieldNumber="11" type="String" maxlength="128" mandatory="required" foreignKeyParent="MarketList">
                <Description>The parent Market List ID.</Description>
            </Field>
            <Field name="name" fieldNumber="12" type="String" maxlength="255" mandatory="required">
                <Description>The name of this Segment</Description>
            </Field>
            <Field name="validFromDate" fieldNumber="22" type="String" maxlength="10">
                <Description>The first date the segment is valid. The format is yyyy-MM-dd.</Description>
            </Field>
        </Message>
        <Message name="Country" messageId="316" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Holds basic information on a country, such as currency, time zone and holidays.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="countryId" fieldNumber="7" type="String" maxlength="16" mandatory="required" primaryKey="true">
                <Description>The id (country code) of the Country. Use ISO 3166 ISO 2-alpha codes.</Description>
            </Field>
            <Field name="name" fieldNumber="8" type="String" maxlength="128" mandatory="required">
                <Description>The name of the Country</Description>
            </Field>
            <Field name="currency" fieldNumber="9" type="String" maxlength="3" mandatory="required" foreignKey="Currency">
                <Description>The currency code according to ISO 4217.</Description>
            </Field>
            <Field name="timezoneOffset" fieldNumber="10" type="Integer" maxlength="32" mandatory="required">
                <Description>Timezone offset from UTC/GMT in minutes (positive value for countries east of Greenwich)</Description>
            </Field>
        </Message>
        <Message name="EligibleSecurity" messageId="10256" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Security instrument eligible for collateral.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="instrumentMasterId" fieldNumber="8" type="String" maxlength="255" mandatory="required" primaryKey="true">
                <Description>External instrument master ID.</Description>
            </Field>
            <Field name="isin" fieldNumber="10" type="String" maxlength="255" mandatory="required">
                <Description>ISIN of the instrument.</Description>
            </Field>
            <Field name="alphaCode" fieldNumber="11" type="String" maxlength="255" mandatory="required">
                <Description>Alpha Code of the instrument.</Description>
            </Field>
            <Field name="haircut" fieldNumber="12" type="Long" divisor="PRICE" mandatory="required">
                <Description>Percentage that is subtracted from the portfolio value of an asset that is being used as collateral.</Description>
            </Field>
            <Field name="maxAmount" fieldNumber="13" type="Long" mandatory="required">
                <Description>Maximum allowed value allowed to pledge as collateral for this ISIN per risk node and before haircut is applied.</Description>
            </Field>
        </Message>
        <Message name="EligibleCurrency" messageId="10355" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Currency eligible for FX collateral.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="instrumentMasterId" fieldNumber="8" type="String" maxlength="128" mandatory="required" primaryKey="true">
                <Description>External instrument master ID for the currency pair.</Description>
            </Field>
            <Field name="priceCCY" fieldNumber="10" type="String" maxlength="3" mandatory="required">
                <Description>The second currency in the currency pair. Normally ZAR.</Description>
            </Field>
            <Field name="baseCCY" fieldNumber="11" type="String" maxlength="3" mandatory="required">
                <Description>The first currency in the currency pair, i.e. normal the collateral currency (when using EUR, GBP and USD).</Description>
            </Field>
            <Field name="haircut" fieldNumber="12" type="Long" divisor="PRICE" mandatory="required">
                <Description>Haircut percent on the exchange rate. Support for four decimals.</Description>
            </Field>
            <Field name="maxAmount" fieldNumber="13" type="Long" mandatory="required">
                <Description>Maximum allowed amount for the currency allowed as collateral. The amount is defined in ZAR before the haircut is applied..</Description>
            </Field>
            <Field name="prio" fieldNumber="14" type="Integer">
                <Description>When a client has several Nostro accounts (cash accounts in foreign CCY) and there is a doubt which currency to use, they are used in prio order. FX collateral with the highest priority is used first. The lowest number has got the highest priority. Must be unique.</Description>
            </Field>
        </Message>
        <Message name="CorporateAction" messageId="10329" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>A Corporate Action task definition.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="corporateActionId" fieldNumber="8" type="String" maxlength="100" mandatory="required" primaryKey="true">
                <Description>Id of the Corporate Action. CA Serial no in MDS.</Description>
            </Field>
            <Field name="corporateActionType" fieldNumber="9" type="String" maxlength="5" mandatory="required">
                <Description>Type of the Corporate Action. One of CI,CM,CO,CP,CR,CV,IS,NC,RT,SC,SD,TE,UB. Note that the CA type is only used for information purpose in RTC and is not validated.</Description>
            </Field>
            <Field name="positionFactor" fieldNumber="10" type="Long" divisor="DECIMAL">
                <Description>Factor to use to adjust positions.</Description>
            </Field>
            <Field name="fromInstrument" fieldNumber="11" type="String" maxlength="100" mandatory="required">
                <Description>Master ID of the TI on which the CA is taking place. The positions on this TI will be closed.</Description>
            </Field>
            <Field name="toInstrument" fieldNumber="12" type="String" maxlength="100">
                <Description>Master ID of the new TI for the new position. New positions will be created on this TI. If missing, settlement positions will be created instead.</Description>
            </Field>
            <Field name="effectiveDate" fieldNumber="13" type="String" maxlength="10" mandatory="required">
                <Description>Corporate actions are applied at EOD on the last business day before the effective date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="ldtDate" fieldNumber="14" type="String" maxlength="10">
                <Description>Last Day Traded. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="price" fieldNumber="15" type="Long" divisor="PRICE">
                <Description>Price to use when positions should be closed out.</Description>
            </Field>
            <Field name="status" fieldNumber="16" type="int" allowedValues="CorporateActionStatus">
                <Description>to know the status of the corporate action.</Description>
            </Field>
            <Field name="statusText" fieldNumber="17" type="String">
                <Description>to know the status of the corporate action.</Description>
            </Field>
            <Field name="statusTimestamp" fieldNumber="18" type="String" maxlength="100">
                <Description>Update timestamp, set by RTC.</Description>
            </Field>
        </Message>
        <Message name="PositionAccount" messageId="10045" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Position account is used to keep actual clearing positions and settlement positions.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="positionAccountId" fieldNumber="8" type="Long" mandatory="required" primaryKey="true">
                <Description>The internal id of the position Account.</Description>
            </Field>
            <Field name="externalPositionAccountId" fieldNumber="9" type="String" maxlength="10" mandatory="required">
                <Description>The external id of the position account. The maximum length is 10 characters. House sub accounts are validated to be a maximum of 9 long.</Description>
            </Field>
            <Field name="positionAccountType" fieldNumber="11" type="Integer" allowedValues="PositionAccountType" mandatory="required">
                <Description>The type of this position account.</Description>
            </Field>
            <Field name="positionAccountSubType" fieldNumber="17" type="Integer" allowedValues="PositionAccountSubType" mandatory="required">
                <Description>The sub type of this position account.</Description>
            </Field>
            <Field name="accessGroup" fieldNumber="12" type="String" mandatory="required">
                <Description>The access group for the Position Account.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="13" type="String" mandatory="required">
                <Description>The clearing member for the Position Account.</Description>
            </Field>
            <Field name="riskNode" fieldNumber="14" type="Long" mandatory="required">
                <Description>The risk node for the Position Account.</Description>
            </Field>
            <Field name="isEnabled" fieldNumber="16" type="Boolean" mandatory="required">
                <Description>The state of this item.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="15" type="String" foreignKeyParent="ParticipantUnit">
                <Description>Specifies the parent Participant Unit.</Description>
            </Field>
        </Message>
        <Message name="RiskNode" messageId="10046" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Risk node is the entity that defines the level for risk calculations. It has one or several accounts connected and form a tree structure with aggregated risk numbers on parent nodes.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="riskNodeId" fieldNumber="8" type="Long" mandatory="required" primaryKey="true">
                <Description>The id for the Risk Node.</Description>
            </Field>
            <Field name="parentRiskNodeId" fieldNumber="9" type="Long">
                <Description>Risk node Id of the parent.</Description>
            </Field>
            <Field name="riskNodeName" fieldNumber="10" type="String" maxlength="100" mandatory="required">
                <Description>The name for the Risk Node.</Description>
            </Field>
            <Field name="isDefault" fieldNumber="11" type="Boolean">
                <Description>This is used to identify the default risk node for a member.</Description>
            </Field>
            <Field name="isClearingHouse" fieldNumber="18" type="Boolean">
                <Description>This is used to identify if the risk node is for clearing house.</Description>
            </Field>
            <Field name="accessGroup" fieldNumber="12" type="String" mandatory="required">
                <Description>The access group for the Risk Node.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="13" type="String" mandatory="required">
                <Description>The clearing member for the Position Account.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="14" type="String" mandatory="required" foreignKeyParent="ParticipantUnit">
                <Description>Specifies Participant Unit that this risk node belongs to.</Description>
            </Field>
            <Field name="positionAccountType" fieldNumber="15" type="Integer" allowedValues="PositionAccountType">
                <Description>The account type for accounts connected to this risk node.</Description>
            </Field>
            <Field name="minimumZARLimit" fieldNumber="19" type="Integer">
                <Description>The minimum percentage of the collateral that must be in ZAR.</Description>
            </Field>
            <Field name="riskLimit" fieldNumber="20" type="Long">
                <Description>The risk limit after which alert is triggered.</Description>
            </Field>
            <Field name="parentHouseRiskNodeId" fieldNumber="21" type="Long">
                <Description>Risk node Id of the house risk node of the parent.</Description>
            </Field>
            <Field name="amPercentage" fieldNumber="22" type="Integer">
                <Description>The AM percentage used to calculate additional margin.</Description>
            </Field>
        </Message>
        <Message name="ClearingMemberLink" messageId="10123" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>This object defines a link from Trading Member to Clearing Member.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="clearingMemberLinkId" fieldNumber="8" type="Long" mandatory="required" primaryKey="true">
                <Description>The id for the Clearing Member Link.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="9" type="String" mandatory="required" foreignKeyParent="ParticipantUnit">
                <Description>Specifies the parent Participant Unit.</Description>
            </Field>
            <Field name="tradingMemberId" fieldNumber="10" type="String" maxlength="100" mandatory="required">
                <Description>The Trading Member ID.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="11" type="String" mandatory="required">
                <Description>The Clearing Member ID.</Description>
            </Field>
            <Field name="marketId" fieldNumber="12" type="String" mandatory="required">
                <Description>The Market ID.</Description>
            </Field>
            <Field name="effectiveDate" fieldNumber="16" type="String" mandatory="required">
                <Description>The effective date from which the link shall be used for capture of incoming trades. The format is yyyy-mm-dd.</Description>
            </Field>
        </Message>
        <Message name="TripartiteAgreement" messageId="10146" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>This object defines agreement for tripartite.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="tripartiteAgreementId" fieldNumber="8" type="String" maxlength="100" mandatory="required" primaryKey="true">
                <Description>Uniquely identifies each tripartite agreement.</Description>
            </Field>
            <Field name="initiator" fieldNumber="9" type="String" maxlength="100" mandatory="required">
                <Description>Initiator of the tripartite allocation. ID of Trading Member or Branch.</Description>
            </Field>
            <Field name="acknowledger" fieldNumber="10" type="String" maxlength="100" mandatory="required">
                <Description>Acknowledger (receiver) of the tripartite allocation. ID of Trading Member or Branch.</Description>
            </Field>
            <Field name="client" fieldNumber="11" type="String" maxlength="100" mandatory="required">
                <Description>Client of the tripartite allocation.</Description>
            </Field>
            <Field name="fromDate" fieldNumber="12" type="String" mandatory="required">
                <Description>From date of tripartite agreement. The format is yyyy-mm-dd.</Description>
            </Field>
            <Field name="toDate" fieldNumber="13" type="String">
                <Description>To date of tripartite agreement. The format is yyyy-mm-dd.</Description>
            </Field>
        </Message>
        <Message name="AccessGroup" messageId="10051" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>This object defines an access Group.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="accessGroupId" fieldNumber="8" type="String" primaryKey="true">
                <Description>The id for the Access Group.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="9" type="String" foreignKeyParent="ParticipantUnit">
                <Description>Specifies the parent Participant Unit.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="10" type="String" mandatory="required">
                <Description>The clearing member for the Access group.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="11" type="int">
                <Description>The subscription group for the Access group.</Description>
            </Field>
        </Message>
        <Message name="SettlementAccount" messageId="10082" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>This object defines a settlement account.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="settlementAccountId" fieldNumber="8" type="Long" primaryKey="true">
                <Description>The id for the Settlement Account.</Description>
            </Field>
            <Field name="externalSettlementAccountId" fieldNumber="9" type="String" maxlength="100">
                <Description>The external id for the account.</Description>
            </Field>
            <Field name="settlementAccountName" fieldNumber="10" type="String" maxlength="100">
                <Description>The name for the Settlement Account.</Description>
            </Field>
            <Field name="isNettingAccount" fieldNumber="11" type="Boolean" mandatory="required">
                <Description>If true, this account is a settlement account where positions are netted together before being sent to an external payment/delivery system.</Description>
            </Field>
            <Field name="isClearingHouseAccount" fieldNumber="12" type="Boolean" mandatory="required">
                <Description>If true, this is a Settlement Account for the Clearing House.</Description>
            </Field>
            <Field name="isDefaultClearingHouseAccount" fieldNumber="15" type="Boolean" mandatory="required">
                <Description>If true, this is the default Settlement Account for the Clearing House.</Description>
            </Field>
            <Field name="isEnabled" fieldNumber="13" type="Boolean" mandatory="required">
                <Description>Defines whether the account is enabled.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="14" type="String">
                <Description>Links to participantUnit if the Settlement Account is not a Clearing House Settlement Account</Description>
            </Field>
            <Field name="accessGroup" fieldNumber="17" type="String" mandatory="required">
                <Description>The access group for the Settlement Account.</Description>
            </Field>
        </Message>
        <Message name="RtcCalendar" messageId="10145" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Represents a calendar in the RTC system.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="rtcCalendarId" fieldNumber="8" type="String" primaryKey="true">
                <Description>The id of the RtcCalendar.</Description>
            </Field>
            <Field name="calendarDateCalendarId" fieldNumber="9" type="String">
                <Description>Specifies which RtcCalendar to use for holidays and half-days .</Description>
            </Field>
            <Field name="displayName" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>The descriptive name for this calendar.</Description>
            </Field>
            <Field name="defaultScheduleStartTime" fieldNumber="11" type="String" maxlength="32" mandatory="required">
                <Description>The default starting time for this calendar. Must be in the format HH:MM:SS.</Description>
            </Field>
            <Field name="timeZone" fieldNumber="12" type="String" maxlength="128" mandatory="required">
                <Description>The time zone for this calendar.</Description>
            </Field>
            <Field name="saturdaysSundaysClosed" fieldNumber="13" type="Boolean">
                <Description>Set to true if Saturdays and Sundays are closed.</Description>
            </Field>
        </Message>
        <Message name="Curve" messageId="10177" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>A curve, y axis dependent on x axis, y = f(x).</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="curveId" fieldNumber="8" type="Long" primaryKey="true">
                <Description>The internal curve Id for RTC.</Description>
            </Field>
            <Field name="externalCurveId" fieldNumber="9" type="String" maxlength="100" mandatory="required">
                <Description>The external curve Id received from Master reference data system.</Description>
            </Field>
            <Field name="curveName" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>User friendly name of the curve.</Description>
            </Field>
            <Field name="strippedInRtc" fieldNumber="11" type="Boolean" mandatory="required">
                <Description>If true, RTC is responsible to prepare the curve.</Description>
            </Field>
            <Field name="priceFormat" fieldNumber="12" type="int" mandatory="required">
                <Description>Number of decimals used.</Description>
            </Field>
            <Field name="bootStrappingMethod" fieldNumber="13" type="String" allowedValues="BOOTSTRAPPING_METHOD" maxlength="100" mandatory="required">
                <Description>BootStrapping method.</Description>
            </Field>
            <Field name="dayCountConvention" fieldNumber="14" type="String" allowedValues="DAY_COUNT_CONVENTION" maxlength="100" mandatory="required">
                <Description>Day count convention.</Description>
            </Field>
            <Field name="interestRateConvention" fieldNumber="23" type="String" allowedValues="INTEREST_RATE_CONVENTION" maxlength="100" mandatory="required">
                <Description>Interest rate convention for the interest rate produced.</Description>
            </Field>
            <Field name="interpolationMethod" fieldNumber="15" type="String" allowedValues="INTERPOLATION_METHOD" maxlength="100" mandatory="required">
                <Description>Interpolation method.</Description>
            </Field>
            <Field name="extrapolationMethod" fieldNumber="16" type="String" allowedValues="EXTRAPOLATION_METHOD" maxlength="100" mandatory="required">
                <Description>Extrapolation method.</Description>
            </Field>
            <Field name="axisUnitX" fieldNumber="20" type="String" allowedValues="AXIS_UNIT" maxlength="100" mandatory="required">
                <Description>xAxis unit.</Description>
            </Field>
            <Field name="axisUnitY" fieldNumber="21" type="String" allowedValues="AXIS_UNIT" maxlength="100" mandatory="required">
                <Description>yAxis unit.</Description>
            </Field>
            <Field name="pePartitionId" fieldNumber="22" type="Integer">
                <Description>Partition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.</Description>
            </Field>
        </Message>
        <Message name="Surface" messageId="10178" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>A surface. Three axis, z dependent on x and y, z = f(x, y).</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="surfaceId" fieldNumber="8" type="Long" primaryKey="true">
                <Description>The internal surface Id for RTC.</Description>
            </Field>
            <Field name="externalSurfaceId" fieldNumber="9" type="String" maxlength="100" mandatory="required">
                <Description>The external surface Id received from Master reference data system.</Description>
            </Field>
            <Field name="surfaceName" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>User friendly name of the surface.</Description>
            </Field>
            <Field name="dayCountConvention" fieldNumber="11" type="String" allowedValues="DAY_COUNT_CONVENTION" mandatory="required">
                <Description>Day count convention.</Description>
            </Field>
            <Field name="interpolationMethod" fieldNumber="12" type="String" allowedValues="INTERPOLATION_METHOD" mandatory="required">
                <Description>Interpolation method.</Description>
            </Field>
            <Field name="extrapolationMethod" fieldNumber="13" type="String" allowedValues="EXTRAPOLATION_METHOD" mandatory="required">
                <Description>Extrapolation method.</Description>
            </Field>
            <Field name="axisUnitX" fieldNumber="19" type="String" allowedValues="AXIS_UNIT" mandatory="required">
                <Description>xAxis unit.</Description>
            </Field>
            <Field name="axisUnitY" fieldNumber="20" type="String" allowedValues="AXIS_UNIT" mandatory="required">
                <Description>yAxis unit.</Description>
            </Field>
            <Field name="axisUnitZ" fieldNumber="21" type="String" allowedValues="AXIS_UNIT" mandatory="required">
                <Description>zAxis unit.</Description>
            </Field>
            <Field name="pePartitionId" fieldNumber="22" type="Integer">
                <Description>Partition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.</Description>
            </Field>
        </Message>
        <Message name="CurveConstituent" messageId="10185" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Instruments to build the curve.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="curveConstituentId" fieldNumber="8" type="Long" primaryKey="true">
                <Description>The internal curve Constituent Id for RTC.</Description>
            </Field>
            <Field name="curveId" fieldNumber="9" type="Long" foreignKey="Curve">
                <Description>Specifies the Curve that this CurveConstituent belongs to.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="11" type="String" mandatory="required">
                <Description>Instrument Id (JSE Master ID) for the deposit, FRA or Swap.</Description>
            </Field>
        </Message>
        <Message name="Deposit" messageId="10214" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Deposit instrument. Used as curve constituents.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="depositId" fieldNumber="8" type="Long" primaryKey="true">
                <Description>The internal Deposit ID for RTC.</Description>
            </Field>
            <Field name="externalDepositId" fieldNumber="9" type="String" maxlength="100" mandatory="required">
                <Description>The external Deposit Id received from Master reference data system.</Description>
            </Field>
            <Field name="depositName" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>User friendly name of the Deposit.</Description>
            </Field>
            <Field name="dayCountConvention" fieldNumber="12" type="String" allowedValues="DAY_COUNT_CONVENTION" mandatory="required">
                <Description>Day count convention.</Description>
            </Field>
            <Field name="businessDayConvention" fieldNumber="18" type="String" allowedValues="BusinessDayConvention" mandatory="required">
                <Description>Day count convention.</Description>
            </Field>
            <Field name="tenorPeriodType" fieldNumber="19" type="String" allowedValues="PeriodType" maxlength="100" mandatory="required">
                <Description>Period type for tenor. For instance M in 3M.</Description>
            </Field>
            <Field name="tenorPeriod" fieldNumber="20" type="int" mandatory="required">
                <Description>Tenor period. For instance 3 in 3M.</Description>
            </Field>
            <Field name="rollsOn" fieldNumber="21" type="String" allowedValues="RollsOnConvention" mandatory="required">
                <Description>Rolls on convention.</Description>
            </Field>
            <Field name="compoundingConvention" fieldNumber="16" type="String" allowedValues="CompoundingConvention" mandatory="required">
                <Description>Compounding convention.</Description>
            </Field>
            <Field name="rtcCalendarId" fieldNumber="17" type="String" mandatory="required">
                <Description>Calendar used for holidays.</Description>
            </Field>
            <Field name="pePartitionId" fieldNumber="22" type="Integer">
                <Description>Partition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.</Description>
            </Field>
        </Message>
        <Message name="InterestRateSwap" messageId="10215" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>A Interest rate swap instrument.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="interestRateSwapId" fieldNumber="8" type="Long" primaryKey="true">
                <Description>The internal IRS Id for RTC.</Description>
            </Field>
            <Field name="externalInterestRateSwapId" fieldNumber="9" type="String" maxlength="100" mandatory="required">
                <Description>The external IRS Id received from Master reference data system.</Description>
            </Field>
            <Field name="interestRateSwapName" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>User friendly name of the IRS.</Description>
            </Field>
            <Field name="rollsOn" fieldNumber="12" type="String" allowedValues="RollsOnConvention" maxlength="100" mandatory="required">
                <Description>Rolls on convention.</Description>
            </Field>
            <Field name="dayCountConvention" fieldNumber="13" type="String" allowedValues="DAY_COUNT_CONVENTION" maxlength="100" mandatory="required">
                <Description>Day count convention.</Description>
            </Field>
            <Field name="businessDayConvention" fieldNumber="22" type="String" allowedValues="BusinessDayConvention" maxlength="100" mandatory="required">
                <Description>Day count convention.</Description>
            </Field>
            <Field name="tenorPeriodType" fieldNumber="24" type="String" allowedValues="PeriodType" maxlength="100" mandatory="required">
                <Description>Tenor period type. Example M in 3M.</Description>
            </Field>
            <Field name="tenorPeriod" fieldNumber="25" type="int" mandatory="required">
                <Description>Tenor length. Example 3 in 3M.</Description>
            </Field>
            <Field name="resetLagPeriodType" fieldNumber="26" type="String" allowedValues="PeriodType" maxlength="100" mandatory="required">
                <Description>Reset lag period. Example M in 3M.</Description>
            </Field>
            <Field name="resetLagPeriod" fieldNumber="27" type="int" mandatory="required">
                <Description>Reset lag length. Example 3 in 3M.</Description>
            </Field>
            <Field name="compoundingConvention" fieldNumber="19" type="String" allowedValues="CompoundingConvention" maxlength="100" mandatory="required">
                <Description>Compounding convention.</Description>
            </Field>
            <Field name="rtcCalendarId" fieldNumber="21" type="String" maxlength="100" mandatory="required">
                <Description>Calendar used for holidays.</Description>
            </Field>
            <Field name="pePartitionId" fieldNumber="28" type="Integer">
                <Description>Partition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.</Description>
            </Field>
        </Message>
        <Message name="ForwardRateAgreement" messageId="10216" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>A Forward Rate Agreement instrument.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="forwardRateAgreementId" fieldNumber="8" type="Long" primaryKey="true">
                <Description>The internal FRA Id for RTC.</Description>
            </Field>
            <Field name="externalForwardRateAgreementId" fieldNumber="9" type="String" maxlength="100" mandatory="required">
                <Description>The external FRA Id received from Master reference data system.</Description>
            </Field>
            <Field name="forwardRateAgreementName" fieldNumber="10" type="String" maxlength="128" mandatory="required">
                <Description>User friendly name of the FRA.</Description>
            </Field>
            <Field name="dayCountConvention" fieldNumber="12" type="String" allowedValues="DAY_COUNT_CONVENTION" maxlength="100" mandatory="required">
                <Description>Day count convention.</Description>
            </Field>
            <Field name="businessDayConvention" fieldNumber="21" type="String" allowedValues="BusinessDayConvention" maxlength="100" mandatory="required">
                <Description>Day count convention.</Description>
            </Field>
            <Field name="rollsOn" fieldNumber="23" type="String" allowedValues="RollsOnConvention" maxlength="100" mandatory="required">
                <Description>Rolls on convention.</Description>
            </Field>
            <Field name="tenorPeriodType" fieldNumber="24" type="String" allowedValues="PeriodType" maxlength="100" mandatory="required">
                <Description>Tenor period type. Example M in 3M.</Description>
            </Field>
            <Field name="tenorPeriod" fieldNumber="25" type="int" mandatory="required">
                <Description>Tenor length. Example 3 in 3M.</Description>
            </Field>
            <Field name="compoundingConvention" fieldNumber="18" type="String" allowedValues="CompoundingConvention" maxlength="100" mandatory="required">
                <Description>Compounding convention.</Description>
            </Field>
            <Field name="resetLagPeriodType" fieldNumber="26" type="String" allowedValues="PeriodType" maxlength="100" mandatory="required">
                <Description>Reset lag.</Description>
            </Field>
            <Field name="resetLagPeriod" fieldNumber="27" type="int" mandatory="required">
                <Description>Reset lag.</Description>
            </Field>
            <Field name="rtcCalendarId" fieldNumber="20" type="String" maxlength="100" mandatory="required">
                <Description>Calendar used for holidays.</Description>
            </Field>
            <Field name="pePartitionId" fieldNumber="28" type="Integer">
                <Description>Partition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.</Description>
            </Field>
        </Message>
        <Message name="ClassSpreadGroup" messageId="10158" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Class Spread Group.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="csgId" fieldNumber="8" type="String" maxlength="100" mandatory="required" primaryKey="true">
                <Description>Uniquely identifies each Class Spread Group.</Description>
            </Field>
            <Field name="ssgId" fieldNumber="9" type="Integer" foreignKey="SeriesSpreadGroup">
                <Description>The ID of the SSG that the CSG belongs to, if any.</Description>
            </Field>
            <Field name="ssmr" fieldNumber="11" type="Long" divisor="DECIMAL">
                <Description>The SSMR for the CSG within the SSG.</Description>
            </Field>
        </Message>
        <Message name="SeriesSpreadGroup" messageId="10159" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Series Spread Group.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="ssgId" fieldNumber="8" type="Integer" mandatory="required" primaryKey="true">
                <Description>Uniquely identifies each Series Spread Group.</Description>
            </Field>
            <Field name="groupName" fieldNumber="9" type="String" mandatory="required">
                <Description>Class Spread Group name.</Description>
            </Field>
        </Message>
        <Message name="CollateralAccount" messageId="10093" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>Represents a collateral account.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="accountId" fieldNumber="8" type="Long" mandatory="required" primaryKey="true">
                <Description>The id of the collateral account.</Description>
            </Field>
            <Field name="accountName" fieldNumber="16" type="String" maxlength="100" mandatory="required">
                <Description>The name for the Collateral Account.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="19" type="String" maxlength="128" mandatory="required">
                <Description>The clearing member for the Collateral Account.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="20" type="String" maxlength="128" mandatory="required">
                <Description>The owner of the account in the member structure.</Description>
            </Field>
            <Field name="riskNodeId" fieldNumber="10" type="Long" mandatory="required" foreignKeyParent="RiskNode">
                <Description>Specifies the parent risk calculation node.</Description>
            </Field>
            <Field name="accessGroup" fieldNumber="14" type="String">
                <Description>The access group for the Collateral Account.</Description>
            </Field>
            <Field name="isDisabled" fieldNumber="13" type="Boolean">
                <Description>If set to true, this object has been disabled.</Description>
            </Field>
        </Message>
        <Message name="CashAccount" messageId="10264" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>A member or client can have zero or more than one cash account defined, but not more than one per currency.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="settlementBank" fieldNumber="8" type="String" maxlength="100" mandatory="required">
                <Description>Authorized dealer for foreign currency or settlement bank for ZAR.</Description>
            </Field>
            <Field name="settlementBankBranch" fieldNumber="9" type="String" maxlength="100">
                <Description>The code of the branch within the authorized dealer or settlement bank.</Description>
            </Field>
            <Field name="bic" fieldNumber="10" type="String" maxlength="100" mandatory="required">
                <Description>Swift BIC code.</Description>
            </Field>
            <Field name="settlementBankAccountId" fieldNumber="11" type="String" maxlength="100" mandatory="required">
                <Description>ID of account within the auhorized dealer or settlement bank.</Description>
            </Field>
            <Field name="internalCashAccountId" fieldNumber="12" type="Long" primaryKey="true">
                <Description>RTC internal Cash Account ID. Set at creation by RTC.</Description>
            </Field>
            <Field name="currency" fieldNumber="13" type="String" maxlength="3" mandatory="required">
                <Description>The account is valid for this currency.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="14" type="String" maxlength="128" mandatory="required" foreignKeyParent="ParticipantUnit">
                <Description>Specifies the parent Participant Unit.</Description>
            </Field>
            <Field name="isNonResident" fieldNumber="15" type="boolean">
                <Description>Flag is set from member, is set to true for non resident members.</Description>
            </Field>
        </Message>
        <Message name="CurrentSystemState" messageId="10440" extends="ProteusRefDataMessage" type="rtcRefData">
            <Description>This object holds a RTC System State.</Description>
            <Field name="key" fieldNumber="1" type="String" extended="true">
                <Description>Is used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="cacheId" fieldNumber="2" type="String" extended="true">
                <Description>Is used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="action" fieldNumber="3" type="Integer" allowedValues="CACHE_ACTION" extended="true">
                <Description>Identify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="stateSequenceNumber" fieldNumber="4" type="long" extended="true">
                <Description>A sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="uniqueObjectId" fieldNumber="5" type="String" extended="true">
                <Description>The id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="6" type="String" maxlength="23" extended="true">
                <Description>The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.</Description>
            </Field>
            <Field name="currentSystemStateId" fieldNumber="8" type="Integer" mandatory="required" primaryKey="true">
                <Description>The id, will only exist one record since only one state can be current.</Description>
            </Field>
            <Field name="currentRtcState" fieldNumber="9" type="String" allowedValues="RtcState" mandatory="required">
                <Description>Current state in RTC.</Description>
            </Field>
            <Field name="businessDate" fieldNumber="10" type="String">
                <Description>The business the state is set, in format YYYY-MM-DD.</Description>
            </Field>
            <Field name="schedulerState" fieldNumber="11" type="Integer" allowedValues="SchedulerState" mandatory="required">
                <Description>Current scheduler state in RTC.</Description>
            </Field>
            <Field name="rerunReason" fieldNumber="12" type="String">
                <Description>Reason for rerunning End of Day, only set when scheduler state is RERUN.</Description>
            </Field>
        </Message>
        <Message name="CdAddCashAccountReq" messageId="10267" extends="CdRequest" returns="CdResponse" type="rtcRefData">
            <Description>Request to add a Cash Account</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="cashAccount" fieldNumber="28" type="CashAccount" dimension="object" mandatory="required">
                <Description>The cash account to add</Description>
            </Field>
        </Message>
        <Message name="CdUpdateCashAccountReq" messageId="10268" extends="CdRequest" returns="CdResponse" type="rtcRefData">
            <Description>Request to update a Cash Account. The cash account is identified by either (1) the internalCashAccountId, or (2) the combination of participantUnitId and currency.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="cashAccount" fieldNumber="28" type="CashAccount" dimension="object" mandatory="required">
                <Description>The cash account to update</Description>
            </Field>
        </Message>
        <Message name="CdEnableDisableRtcMemberClientReq" messageId="10152" extends="CdRequest" returns="CdResponse" type="rtcRefDataExternal">
            <Description>Request to add a Client</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="clientId" fieldNumber="12" type="String" mandatory="required">
                <Description>The client id</Description>
            </Field>
            <Field name="isDisabled" fieldNumber="13" type="Boolean" mandatory="required">
                <Description>Set as enabled or not</Description>
            </Field>
        </Message>
        <Message name="CdAddRtcMemberClientReq" messageId="10031" extends="CdRequest" returns="CdAddRtcMemberClientRsp" type="rtcRefDataExternal">
            <Description>Request to add a Client</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="clientId" fieldNumber="20" type="String">
                <Description>The client id</Description>
            </Field>
            <Field name="clientName" fieldNumber="21" type="String" mandatory="required">
                <Description>The client name</Description>
            </Field>
            <Field name="address" fieldNumber="14" type="String" mandatory="required">
                <Description>The address</Description>
            </Field>
            <Field name="phone" fieldNumber="15" type="String" mandatory="required">
                <Description>The phone</Description>
            </Field>
            <Field name="email" fieldNumber="18" type="String" mandatory="required">
                <Description>The email address</Description>
            </Field>
            <Field name="nominatedMember" fieldNumber="37" type="String">
                <Description>The member id of the nominated member.</Description>
            </Field>
            <Field name="vatRegNumber" fieldNumber="22" type="String">
                <Description>VAT registration number</Description>
            </Field>
            <Field name="associatedMemberId" fieldNumber="16" type="String" mandatory="required">
                <Description>The parent member</Description>
            </Field>
            <Field name="isDiscretionary" fieldNumber="36" type="Boolean" mandatory="required">
                <Description>Is Discretionary, true or false</Description>
            </Field>
            <Field name="isStaff" fieldNumber="24" type="Boolean" mandatory="required">
                <Description>Is Staff, true or false</Description>
            </Field>
            <Field name="isBeneficial" fieldNumber="25" type="Boolean" mandatory="required">
                <Description>Is Beneficial, true or false</Description>
            </Field>
            <Field name="bdaCode" fieldNumber="26" type="Integer">
                <Description>BDA Code</Description>
            </Field>
            <Field name="country" fieldNumber="27" type="String" mandatory="required">
                <Description>Country Code</Description>
            </Field>
            <Field name="strateCode" fieldNumber="28" type="String">
                <Description>Code of client or member at CSD.</Description>
            </Field>
            <Field name="allowedMarkets" fieldNumber="29" type="String" mandatory="required">
                <Description>A comma-delimited list of market codes that the client is allowed to have trades and positions in.</Description>
            </Field>
            <Field name="clientType" fieldNumber="30" type="String" allowedValues="ClientType" mandatory="required">
                <Description>Type of client. Information to surveillance.</Description>
            </Field>
            <Field name="idNumber" fieldNumber="31" type="Long">
                <Description>ID number. Required for local individual clients.</Description>
            </Field>
            <Field name="passportNumber" fieldNumber="32" type="String">
                <Description>Passport number. Required for foreign individual clients.</Description>
            </Field>
            <Field name="companyRegistrationNumber" fieldNumber="33" type="String">
                <Description>Company registration number. Required for all company clients.</Description>
            </Field>
            <Field name="isProfessional" fieldNumber="34" type="boolean">
                <Description>Information to surveillance.</Description>
            </Field>
            <Field name="isShariah" fieldNumber="35" type="boolean">
                <Description>Information to surveillance.</Description>
            </Field>
            <Field name="preferredCcy" fieldNumber="38" type="String" maxlength="3">
                <Description>Currency used for intraday rebalancing. Needs to be an eligible FX collateral currency (or ZAR, this will be the default though).</Description>
            </Field>
        </Message>
        <Message name="CdAddRtcMemberClientRsp" messageId="10474" extends="CdResponse" type="rtcRefDataExternal">
            <Description>The response to add rtc member client request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="latestSSN" fieldNumber="6" type="long" extended="true">
                <Description>This is the latest and most likely the highest state sequence number, SSN, that has been assigned to the reference data.</Description>
            </Field>
            <Field name="clientId" fieldNumber="8" type="String">
                <Description>The client id generated by the system.</Description>
            </Field>
        </Message>
        <Message name="CdUpdateRtcMemberClientReq" messageId="10147" extends="CdRequest" returns="CdResponse" type="rtcRefDataExternal">
            <Description>Request to update a Client</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="clientId" fieldNumber="12" type="String" mandatory="required">
                <Description>The client id</Description>
            </Field>
            <Field name="clientName" fieldNumber="13" type="String" mandatory="required">
                <Description>The member name</Description>
            </Field>
            <Field name="address" fieldNumber="14" type="String" mandatory="required">
                <Description>The address</Description>
            </Field>
            <Field name="phone" fieldNumber="15" type="String" mandatory="required">
                <Description>The phone</Description>
            </Field>
            <Field name="nominatedMember" fieldNumber="31" type="String">
                <Description>The member id of the nominated member.</Description>
            </Field>
            <Field name="email" fieldNumber="16" type="String" mandatory="required">
                <Description>The email address</Description>
            </Field>
            <Field name="vatRegNumber" fieldNumber="17" type="String">
                <Description>VAT registration number</Description>
            </Field>
            <Field name="isDiscretionary" fieldNumber="30" type="Boolean" mandatory="required">
                <Description>"Is Discretionary, true or false"</Description>
            </Field>
            <Field name="isStaff" fieldNumber="19" type="Boolean" mandatory="required">
                <Description>"Is Staff, true or false"</Description>
            </Field>
            <Field name="isBeneficial" fieldNumber="20" type="Boolean" mandatory="required">
                <Description>"Is Beneficial, true or false"</Description>
            </Field>
            <Field name="bdaCode" fieldNumber="21" type="Integer">
                <Description>Broker Deal Account number</Description>
            </Field>
            <Field name="country" fieldNumber="22" type="String" mandatory="required">
                <Description>Country Code</Description>
            </Field>
            <Field name="strateCode" fieldNumber="23" type="String">
                <Description>Code of client or member at CSD.</Description>
            </Field>
            <Field name="companyRegistrationNumber" fieldNumber="27" type="String">
                <Description>Company registration number. Required for all company clients.</Description>
            </Field>
            <Field name="isProfessional" fieldNumber="28" type="boolean">
                <Description>Information to surveillance.</Description>
            </Field>
            <Field name="isShariah" fieldNumber="29" type="boolean">
                <Description>Information to surveillance.</Description>
            </Field>
            <Field name="preferredCcy" fieldNumber="32" type="String" maxlength="3">
                <Description>Currency used for intraday rebalancing.</Description>
            </Field>
            <Field name="idNumber" fieldNumber="33" type="Long">
                <Description>ID number. Required for local individual clients.</Description>
            </Field>
            <Field name="clientType" fieldNumber="34" type="String" allowedValues="ClientType" mandatory="required">
                <Description>Type of client. Information to surveillance.</Description>
            </Field>
            <Field name="passportNumber" fieldNumber="35" type="String">
                <Description>Passport number. Required for foreign individual clients.</Description>
            </Field>
            <Field name="isNonResident" fieldNumber="36" type="Boolean" mandatory="required">
                <Description>Indication of the Client is resident of South Africa or not. If Country Code is ZA, the Client must be Resident. If Country Code is not ZA, the Client must be Non Resident, for the From Trade.</Description>
            </Field>
        </Message>
        <Message name="CdAddRtcMemberClientClearingLinkReq" messageId="10127" extends="CdRequest" returns="CdResponse" type="rtcRefDataExternal">
            <Description>Request to add a Clearing member to a client</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="memberClientId" fieldNumber="12" type="String" mandatory="required">
                <Description>The member id</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="13" type="String" mandatory="required">
                <Description>The clearing member</Description>
            </Field>
        </Message>
        <Message name="CdAddRtcPositionAccountReq" messageId="10034" extends="CdRequest" returns="CdAddRtcPositionAccountRsp" type="rtcRefDataExternal">
            <Description>Request to add a Position Account</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="12" type="String" mandatory="required">
                <Description>The owner unit.</Description>
            </Field>
            <Field name="externalPositionAccountId" fieldNumber="16" type="String">
                <Description>The external id of the position account.</Description>
            </Field>
            <Field name="positionAccountType" fieldNumber="14" type="Integer" allowedValues="PositionAccountType" mandatory="required">
                <Description>The type of the position account.</Description>
            </Field>
            <Field name="positionAccountSubType" fieldNumber="17" type="Integer" allowedValues="PositionAccountSubType" mandatory="required">
                <Description>The sub type of the position account.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="15" type="String" mandatory="required">
                <Description>The clearing member of the Position Account.</Description>
            </Field>
        </Message>
        <Message name="CdAddRtcPositionAccountRsp" messageId="10035" extends="CdResponse" type="rtcRefDataExternal">
            <Description>The response to add position account request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="latestSSN" fieldNumber="6" type="long" extended="true">
                <Description>This is the latest and most likely the highest state sequence number, SSN, that has been assigned to the reference data.</Description>
            </Field>
            <Field name="positionAccountExternalId" fieldNumber="9" type="String">
                <Description>The external id of the position account.</Description>
            </Field>
        </Message>
        <Message name="CdEnableDisableRtcPositionAccountReq" messageId="10072" extends="CdRequest" returns="CdEnableDisableRtcPositionAccountRsp" type="rtcRefDataExternal">
            <Description>Request to update a position account</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="positionAccountId" fieldNumber="12" type="Long" mandatory="required">
                <Description>The Position account id.</Description>
            </Field>
            <Field name="isEnabled" fieldNumber="16" type="boolean">
                <Description>Enabled (true) or not (false).</Description>
            </Field>
        </Message>
        <Message name="CdEnableDisableRtcPositionAccountRsp" messageId="10073" extends="CdResponse" type="rtcRefDataExternal">
            <Description>The response enableDisable position account.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="latestSSN" fieldNumber="6" type="long" extended="true">
                <Description>This is the latest and most likely the highest state sequence number, SSN, that has been assigned to the reference data.</Description>
            </Field>
        </Message>
        <Message name="CdSetMinimumZARLimitReq" messageId="10273" extends="CdRequest" returns="CdResponse" type="rtcRefDataExternal">
            <Description>Set minimum ZAR limit. Leaving all fields empty as a clearing member will set minimumZARLimit on all trading members for that clearing member. Leaving all fields empty as a trading member will set minimumZARLimit on all clients for that trading member.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="12" type="String">
                <Description>The clearing member id. Only applicable for a trading member that wants to set the minimumZARLimit on a specific client.</Description>
            </Field>
            <Field name="tradingMemberId" fieldNumber="13" type="String">
                <Description>The trading member id. Only applicable for a clearing member that wants to set the minimumZARLimit on a specific trading member.</Description>
            </Field>
            <Field name="clientId" fieldNumber="14" type="String">
                <Description>The client id. Only applicable for a trading member that wants to set the minimumZARLimit on a specific client.</Description>
            </Field>
            <Field name="minimumZARLimit" fieldNumber="15" type="Integer">
                <Description>The minimum ZAR limit in percent. Must be within the interval 0-100. Leaving this field empty means no specific limit is set and that a value from higher in the hierarchy will be used.</Description>
            </Field>
        </Message>
        <Message name="CdSetTradingMemberRiskLimitReq" messageId="10293" extends="CdRequest" returns="CdResponse" type="rtcRefDataExternal">
            <Description>Set risk limit. Leaving the tradingMemberId field empty means the clearing member will set risk limit on all trading members for that clearing member.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="tradingMemberId" fieldNumber="12" type="String">
                <Description>The trading member id. Only applicable for a clearing member that wants to set the limit on a specific trading member.</Description>
            </Field>
            <Field name="riskLimit" fieldNumber="13" type="Long">
                <Description>The risk limit which is validates against the calculated risk on a risk node to check if there is a breach and trigger alert if required. If this field is left blank then the risk limit is removed from the trading member</Description>
            </Field>
        </Message>
        <Message name="CdSetClientRiskLimitReq" messageId="10294" extends="CdRequest" returns="CdResponse" type="rtcRefDataExternal">
            <Description>Set risk limit. Leaving clientId empty means trading member will set risk limit on all clients for that trading member.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="12" type="String">
                <Description>The clearing member id. The clearing member (or CM link) the client belongs to.</Description>
            </Field>
            <Field name="clientId" fieldNumber="13" type="String">
                <Description>The client id. Only applicable for a clearing member that wants to set the risk limit on a specific client.</Description>
            </Field>
            <Field name="riskLimit" fieldNumber="14" type="Long">
                <Description>The risk limit which is validated against the calculated risk on a risk node to check if there is a breach and trigger alert if required. If this field is left blank then the risk limit is removed from the client</Description>
            </Field>
        </Message>
        <Message name="CdSetTradingMemberAMPercentageReq" messageId="10442" extends="CdRequest" returns="CdResponse" type="rtcRefDataExternal">
            <Description>Set additional margin percentage. Leaving the tradingMemberId field empty means the clearing member will set additional margin percentage on all trading members for that clearing member.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="tradingMemberId" fieldNumber="12" type="String">
                <Description>The trading member id. Only applicable for a clearing member that wants to set the AM percentage on a specific trading member.</Description>
            </Field>
            <Field name="amPercentage" fieldNumber="13" type="Integer">
                <Description>The additional margin pergentage used to calculate additional margin from the calculated initial margin.</Description>
            </Field>
        </Message>
        <Message name="CdSetClientAMPercentageReq" messageId="10443" extends="CdRequest" returns="CdResponse" type="rtcRefDataExternal">
            <Description>Set additional margin percentage. Leaving clientId empty means trading member will set additional margin percentage on all clients for that trading member.</Description>
            <Field name="possDup" fieldNumber="1" type="boolean" extended="true">
                <Description>The possible duplicate flag</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="12" type="String">
                <Description>The clearing member id. The clearing member (or CM link) the client belongs to.</Description>
            </Field>
            <Field name="clientId" fieldNumber="13" type="String">
                <Description>The client id. Only applicable for a clearing member that wants to set the AM percentage on a specific client.</Description>
            </Field>
            <Field name="amPercentage" fieldNumber="14" type="Integer">
                <Description>The additional margin pergentage used to calculate additional margin from the calculated initial margin.</Description>
            </Field>
        </Message>
        <Message name="Trade" messageId="10015" type="rtcEvents" internal="true">
            <Description>This class represents a Trade, i.e. one side of a Matched Trade: the buyer's or the seller's.</Description>
            <Field name="tradeId" fieldNumber="1" type="long">
                <Description>Trade id. Internal RTC trade Half ID.</Description>
            </Field>
            <Field name="accountId" fieldNumber="2" type="long">
                <Description>Account id. Internal RTC ID.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="23" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="dealId" fieldNumber="4" type="long">
                <Description>Internal RTC ID for both sides of a matched trade.</Description>
            </Field>
            <Field name="originalQuantity" fieldNumber="12" type="BigInteger" divisor="QTY">
                <Description>Original quantity of the trade.</Description>
            </Field>
            <Field name="remainingQuantity" fieldNumber="13" type="BigInteger" divisor="QTY">
                <Description>Remaining quantity of the trade after allocation(if any).</Description>
            </Field>
            <Field name="activeQuantity" fieldNumber="17" type="BigInteger" divisor="QTY">
                <Description>Active quantity of the trade after allocation (if any).</Description>
            </Field>
            <Field name="reservedQuantity" fieldNumber="19" type="BigInteger" divisor="QTY">
                <Description>Reserved quantity for assign operation (if any).</Description>
            </Field>
            <Field name="price" fieldNumber="6" type="BigInteger" divisor="PRICE">
                <Description>Price.</Description>
            </Field>
            <Field name="tradeTimestamp" fieldNumber="7" type="String">
                <Description>The time the trade occurred. The format is yyyy-MM-ddTHH:mm:ss.SSS.</Description>
            </Field>
            <Field name="externalMatchedTradeId" fieldNumber="18" type="String">
                <Description>Trade ID set by the client entering the trade into the clearing system.</Description>
            </Field>
            <Field name="isBuy" fieldNumber="10" type="boolean">
                <Description>To identify whether buy or sell trade</Description>
            </Field>
            <Field name="tradeBusinessDate" fieldNumber="11" type="String">
                <Description>The business date the trade occurred. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="tradeExternalData" fieldNumber="14" type="RtcTradeExternalData" dimension="object">
                <Description>External information on trade from Trading System.</Description>
            </Field>
            <Field name="nextTradeIds" fieldNumber="15" type="long" dimension="array">
                <Description>List of forward referenced trade IDs</Description>
            </Field>
            <Field name="previousTradeIds" fieldNumber="16" type="long" dimension="array">
                <Description>List of backward referenced trade IDs</Description>
            </Field>
            <Field name="initialValue" fieldNumber="21" type="BigInteger" divisor="QTY">
                <Description>Value of the trade</Description>
            </Field>
            <Field name="interestRateSpread" fieldNumber="22" type="BigInteger" divisor="PRICE">
                <Description>Interest Rate Spread for trade if CFD.</Description>
            </Field>
            <Field name="reference" fieldNumber="24" type="String">
                <Description>The reference supplied with the trade.</Description>
            </Field>
        </Message>
        <Message name="RtcTradeExternalData" messageId="10085" type="rtcEvents" internal="true">
            <Description>RtcTradeExternalData contains trade attributes specific for this configuration of RTC.</Description>
            <Field name="tradingSystemMatchId" fieldNumber="10" type="String">
                <Description>A system set identifier of the matched trade that was used to enter this trade into the system.</Description>
            </Field>
            <Field name="tradingSystemLinkId" fieldNumber="11" type="String">
                <Description>A system set identifier of the matched trade that was used to enter this trade into the system.</Description>
            </Field>
            <Field name="tradingSystemTradeHalfId" fieldNumber="15" type="String">
                <Description>A system set identifier of the trade half from the external trading system.</Description>
            </Field>
            <Field name="clientOrderId" fieldNumber="16" type="String">
                <Description>Reference to an order in the trading system.</Description>
            </Field>
            <Field name="aggressor" fieldNumber="12" type="Boolean">
                <Description>Aggressor from Trading System.</Description>
            </Field>
            <Field name="capacity" fieldNumber="13" type="Integer" allowedValues="Capacity">
                <Description>Capacity from Trading System.</Description>
            </Field>
            <Field name="tradeType" fieldNumber="14" type="String" allowedValues="RtcTradeType">
                <Description>Trade Type from Trading System.</Description>
            </Field>
            <Field name="outsidePriceBand" fieldNumber="17" type="boolean">
                <Description>Flag to indicate that the trade price is outside price band. Used both on trades from trading system and on trades created in Deal Management.</Description>
            </Field>
            <Field name="zeroFeeFlag" fieldNumber="18" type="boolean">
                <Description>Flag to indicate that the trade is marked for zero fee.</Description>
            </Field>
            <Field name="timeOfEntry" fieldNumber="19" type="String">
                <Description>Timestamp from Trading System. Format 2014-11-18 13:24:21.</Description>
            </Field>
            <Field name="tradingUser" fieldNumber="20" type="String">
                <Description>The dealer in the trading system.</Description>
            </Field>
            <Field name="onBookQuantity" fieldNumber="21" type="Long" divisor="QTY">
                <Description>Quantity from trading system for on-book trades. 0 if trade is Off-book. Kept on each side and not changed after trade management unless for accumulations. When an accumulated trade is partly allocated, on-book and off-book quantities are no longer maintained.</Description>
            </Field>
            <Field name="offBookQuantity" fieldNumber="22" type="Long" divisor="QTY">
                <Description>Quantity from trading system for reported trades. 0 if trade is On-book. Kept on each side and not changed after trade management unless for accumulations. When an accumulated trade is partly allocated, on-book and off-book quantities are no longer maintained.</Description>
            </Field>
            <Field name="originalTradingSystemMatchId" fieldNumber="23" type="String">
                <Description>Refers to the original trade. Only used when receiving cancelled trades from the trading system.</Description>
            </Field>
            <Field name="agreedTime" fieldNumber="24" type="String">
                <Description>Time agreed between TM1 and TM2. Only applicable for reported trades. The format is yyyyMMdd-HH:mm:ss.fff.</Description>
            </Field>
            <Field name="reportedTime" fieldNumber="25" type="String">
                <Description>The time the reported trade was received on the trading system (system generated). The format is yyyyMMdd-HH:mm:ss.fff.</Description>
            </Field>
            <Field name="optionDelta" fieldNumber="26" type="Long" divisor="PRICE">
                <Description>Option delta from the trading system. Valid for Options.</Description>
            </Field>
            <Field name="firmTradeId" fieldNumber="27" type="String">
                <Description>Free text field carried from the trading system for off book trades.</Description>
            </Field>
            <Field name="tradeReportId" fieldNumber="28" type="String">
                <Description>Free text field carried from the trading system for on and off book trades.</Description>
            </Field>
        </Message>
        <Message name="NotionalValue" messageId="10289" type="rtcEvents" internal="true">
            <Description>Object to hold notional values per underlying.</Description>
            <Field name="externalInstrumentId" fieldNumber="4" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="netNotionalValue" fieldNumber="2" type="long" divisor="PRICE">
                <Description>The net notional exposure of the specified underlying instrument. The Net Notional Exposure per Underlying is defined as the aggregated notional exposure (with sign) of all positions in tradable instruments with the same underlying spot.</Description>
            </Field>
            <Field name="grossNotionalValue" fieldNumber="3" type="long" divisor="PRICE">
                <Description>The gross notional exposure of the specified underlying instrument. Gross is defined as the sum of the absolute notional exposure per position in instruments with the same underlying spot.</Description>
            </Field>
            <Field name="liquidationPeriod" fieldNumber="5" type="long" divisor="PRICE">
                <Description>The calculated liquidation period.</Description>
            </Field>
        </Message>
        <Message name="CollateralPositionValue" messageId="10290" type="rtcEvents" internal="true">
            <Description>Collateral position values before and after haircut.</Description>
            <Field name="externalInstrumentId" fieldNumber="6" type="String">
                <Description>The JSE Master ID of the collateral security, or the currency if the collateral position is in ZAR or FX. When FX or ZAR is posted, the currency-value (USD, EUR, GBP, ZAR) will be populated in the externalInstrumentId field.When securities are pledged, the equity’s InstrumentMasterID will be populated in the externalInstrumentId field.</Description>
            </Field>
            <Field name="isCash" fieldNumber="2" type="boolean">
                <Description>True if it is a cash position.</Description>
            </Field>
            <Field name="quantity" fieldNumber="3" type="long" divisor="QTY">
                <Description>The collateral position quantity.</Description>
            </Field>
            <Field name="marketValue" fieldNumber="4" type="long" divisor="PRICE">
                <Description>Market value of the collateral position.</Description>
            </Field>
            <Field name="valueAfterHaircut" fieldNumber="5" type="long" divisor="PRICE">
                <Description>Collateral position value after applying haircut and maximum amount. The haircut and maximum amount are taken from the EligibleSecurity list or EligibleCurrency object.</Description>
            </Field>
            <Field name="price" fieldNumber="7" type="long" divisor="PRICE">
                <Description>Price of the collateral position.</Description>
            </Field>
            <Field name="haircut" fieldNumber="8" type="long" divisor="PRICE">
                <Description>Haircut of the collateral position.</Description>
            </Field>
        </Message>
        <Message name="AccountPositionEvent" messageId="10032" type="rtcEvents">
            <Description>Represents a change in a position for a specific instrument in a specific account.</Description>
            <Field name="sequenceNumber" fieldNumber="47" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="74" type="int">
                <Description>The id of subscription group the message is published on.</Description>
            </Field>
            <Field name="accountId" fieldNumber="51" type="long" mandatory="required">
                <Description>Account id.</Description>
            </Field>
            <Field name="externalAccountId" fieldNumber="78" type="String">
                <Description>The ID of the position account as seen by the member.</Description>
            </Field>
            <Field name="collateralAccountName" fieldNumber="81" type="String">
                <Description>The name of the collateral account.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="79" type="String">
                <Description>The member code of the clearing member.</Description>
            </Field>
            <Field name="tradingMember" fieldNumber="82" type="String">
                <Description>TM that owns the trade.</Description>
            </Field>
            <Field name="tradingMemberBranch" fieldNumber="83" type="String">
                <Description>TM branch that owns the trade.</Description>
            </Field>
            <Field name="clientId" fieldNumber="84" type="String">
                <Description>Client ID added to trade by CS. Empty if trade is for TM house.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="77" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="positionType" fieldNumber="53" type="Integer" allowedValues="PositionType" mandatory="required">
                <Description>The position type.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="54" type="String">
                <Description>Settlement date, used for positions of type SETTLEMENT.</Description>
            </Field>
            <Field name="subId" fieldNumber="55" type="long">
                <Description>In some cases, several positions in the same instrument and the same account are held as separate positions, although they both fit the instrument/account key. There may be technical or business logic reasons for this. The risk system can handle that multiple sources have positions in identical instruments and accounts and it will perform the aggregation of such positions itself for calculation purposes.</Description>
            </Field>
            <Field name="longQty" fieldNumber="60" type="long" divisor="QTY">
                <Description>The position long quantity in its canonical unit, i.e. longNominalQty multiplied by contract size of tradable instrument. A positive quantity represents a long position. E.g. a position of 10 futures contracts of an instrument with a contract size of 100 would be represented in this field as 1000 (divisor rule to be applied).</Description>
            </Field>
            <Field name="shortQty" fieldNumber="61" type="long" divisor="QTY">
                <Description>The position short quantity in its canonical unit, i.e. shortNominalQty multiplied by contract size of tradable instrument. A negative quantity represents a short position. E.g. a position of 10 futures contracts of an instrument with a contract size of 100 would be represented in this field as 1000 (divisor rule to be applied).</Description>
            </Field>
            <Field name="longNominalQty" fieldNumber="65" type="BigInteger" divisor="QTY">
                <Description>The position quantity, i.e. number of contracts. Only set for positions in tradable instruments. A positive quantity represents a long position. E.g. a position of 10 futures contracts of an instrument with a contract size of 100 would be represented in this field as 10 (divisor rule to be applied)</Description>
            </Field>
            <Field name="shortNominalQty" fieldNumber="62" type="BigInteger" divisor="QTY">
                <Description>The position quantity, i.e. number of contracts. Only set for positions in tradable instruments. A negative quantity represents a short position. E.g. a position of 10 futures contracts of an instrument with a contract size of 100 would be represented in this field as 10 (divisor rule to be applied)</Description>
            </Field>
            <Field name="longInitialValue" fieldNumber="66" type="BigInteger" divisor="QTY">
                <Description>The value of the position, according to the prices of the trades that build up the position. Simply put, this value is the sum of the price * quantity of all trades in the position. Since long and short quantities have different signs, values of long positions are typically positive and values of short positions are typically negative (the opposite being true if the price is negative). The initial value of the position is expressed in the currency of the instrument the position belongs to.</Description>
            </Field>
            <Field name="shortInitialValue" fieldNumber="63" type="BigInteger" divisor="QTY">
                <Description>The value of the position, according to the prices of the trades that build up the position. Simply put, this value is the sum of the price * quantity of all trades in the position. Since long and short quantities have different signs, values of long positions are typically positive and values of short positions are typically negative (the opposite being true if the price is negative). The initial value of the position is expressed in the currency of the instrument the position belongs to.</Description>
            </Field>
            <Field name="longMarketValue" fieldNumber="67" type="BigInteger" divisor="QTY">
                <Description>The value of the position, according to the market price that was used last time a cash settlement of the variation margin of the position was made. Since long and short quantities have different signs, values of long positions are typically positive and values of short positions are typically negative (the opposite being true if the price is negative). The market value is expressed in the currency of the instrument the position belongs to.</Description>
            </Field>
            <Field name="shortMarketValue" fieldNumber="64" type="BigInteger" divisor="QTY">
                <Description>The value of the position, according to the market price that was used last time a cash settlement of the variation margin of the position was made. Since long and short quantities have different signs, values of long positions are typically positive and values of short positions are typically negative (the opposite being true if the price is negative). The market value is expressed in the currency of the instrument the position belongs to.</Description>
            </Field>
            <Field name="longSpreadVolume" fieldNumber="75" type="BigInteger" divisor="QTY">
                <Description>Total spread volume for CFD contract. This is similar to Initial Value, but this is base rate from the trade multiplied with the quantity. Positive for long values, negative for short.</Description>
            </Field>
            <Field name="shortSpreadVolume" fieldNumber="76" type="BigInteger" divisor="QTY">
                <Description>Total spread volume for CFD contract. This is similar to Initial Value, but this is base rate from the trade multiplied with the quantity. Positive for long values, negative for short.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="68" type="long">
                <Description>Internal RTC transaction ID.</Description>
            </Field>
            <Field name="positionReason" fieldNumber="69" type="int" allowedValues="PositionReason">
                <Description/>
            </Field>
            <Field name="tradeId" fieldNumber="70" type="long">
                <Description>Trade ID generated by the system, globally unique. A new ID will be created each time the trade is moved to a new account, i.e. when an equal opposite trade is created. Note that an ID will be created also at trade capture.</Description>
            </Field>
            <Field name="positionTimestamp" fieldNumber="71" type="String">
                <Description>The time when the event occurred, on format yyyy-MM-dd'T'HH:mm:ss.SSS.</Description>
            </Field>
            <Field name="trade" fieldNumber="72" type="Trade" dimension="object">
                <Description>The trade that caused this account position event.</Description>
            </Field>
        </Message>
        <Message name="DailyAccountSummaryDetailsEvent" messageId="10295" type="rtcEvents">
            <Description>Daily account summary for client or members house nodes.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="4" type="int">
                <Description>The id of the subscriptionGroup the message is published on.</Description>
            </Field>
            <Field name="riskNodeId" fieldNumber="5" type="long">
                <Description>The id of the risk node the message is published on.</Description>
            </Field>
            <Field name="businessDate" fieldNumber="6" type="String">
                <Description>Business Date. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="45" type="String">
                <Description>The time of the event. The format is yyyy-MM-ddTHH:mm:ss.SSS.</Description>
            </Field>
            <Field name="tag" fieldNumber="7" type="String" allowedValues="CondType">
                <Description>Price Tag.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="8" type="String">
                <Description>Clearing Member Id.</Description>
            </Field>
            <Field name="tradingMemberId" fieldNumber="9" type="String">
                <Description>Trading Member Id.</Description>
            </Field>
            <Field name="clientId" fieldNumber="10" type="String">
                <Description>Client Id.</Description>
            </Field>
            <Field name="strateCode" fieldNumber="11" type="String">
                <Description>Strate Code.</Description>
            </Field>
            <Field name="collateralAccountId" fieldNumber="12" type="Long">
                <Description>Collateral Account Id.</Description>
            </Field>
            <Field name="minimumCashLimit" fieldNumber="13" type="Long" divisor="PRICE">
                <Description>Percentage of initial margin that must be covered with cash collateral.</Description>
            </Field>
            <Field name="initialMargin" fieldNumber="14" type="Long" divisor="PRICE">
                <Description>Initial Margin. This value will always be Positive</Description>
            </Field>
            <Field name="previousInitialMargin" fieldNumber="33" type="Long" divisor="PRICE">
                <Description>Previous Business Day Initial Margin. This value will always be Positive</Description>
            </Field>
            <Field name="additionalMargin" fieldNumber="15" type="Long" divisor="PRICE">
                <Description>Additional Margin.</Description>
            </Field>
            <Field name="previousAdditionalMargin" fieldNumber="37" type="Long" divisor="PRICE">
                <Description>Previous Business Day Additional Margin.</Description>
            </Field>
            <Field name="requestedSecuritiesAmount" fieldNumber="16" type="Long" divisor="PRICE">
                <Description>Value request from Strate.</Description>
            </Field>
            <Field name="receivedSecuritiesAmount" fieldNumber="17" type="Long" divisor="PRICE">
                <Description>Received value from strate, before haircut.</Description>
            </Field>
            <Field name="registeredSecuritiesAmount" fieldNumber="18" type="Long" divisor="PRICE">
                <Description>Market Value of the positions in security collateral in ZAR (market value of the security collateral position).This value will always be Positive</Description>
            </Field>
            <Field name="registeredCashAmount" fieldNumber="19" type="Long" divisor="PRICE">
                <Description>Registered Cash Amount.</Description>
            </Field>
            <Field name="securitiesAmountCF" fieldNumber="20" type="Long" divisor="PRICE">
                <Description>Current securities amount, after haircut. This value will always be Positive</Description>
            </Field>
            <Field name="securitiesAmountBF" fieldNumber="21" type="Long" divisor="PRICE">
                <Description>Previous securities amount, after haircut. This value will always be Positive</Description>
            </Field>
            <Field name="securitiesAmountMovement" fieldNumber="41" type="Long" divisor="PRICE">
                <Description>Securities amount movement.</Description>
            </Field>
            <Field name="cashAmountCF" fieldNumber="22" type="Long" divisor="PRICE">
                <Description>Current cash collateral amount (for ZAR), after haircut. This value will always be Positive</Description>
            </Field>
            <Field name="cashAmountBF" fieldNumber="23" type="Long" divisor="PRICE">
                <Description>Previous cash collateral amount (for ZAR), after haircut. This value will always be Positive</Description>
            </Field>
            <Field name="cashAmountMovement" fieldNumber="42" type="Long" divisor="PRICE">
                <Description>Cash collateral amount (for ZAR) movement.</Description>
            </Field>
            <Field name="fxCashAmountCF" fieldNumber="38" type="Long" divisor="PRICE">
                <Description>Current cash collateral amount for FX currency (in ZAR), after haircut. This value will always be Positive</Description>
            </Field>
            <Field name="fxCashAmountBF" fieldNumber="39" type="Long" divisor="PRICE">
                <Description>Previous cash collateral amount for FX currency (in ZAR), after haircut. This value will always be Positive</Description>
            </Field>
            <Field name="fxCashAmountMovement" fieldNumber="43" type="Long" divisor="PRICE">
                <Description>Cash collateral amount movement for FX currency (in ZAR)</Description>
            </Field>
            <Field name="totalZarCashMovement" fieldNumber="44" type="Long" divisor="PRICE">
                <Description>Sum of all ZAR movements: Cash Collateral Movement + VM + Booking fees incl. VAT + Risk fees incl. VAT + Commissions + Funding interest + Dividend payment + Interest amount on Cash Collateral. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="state" fieldNumber="24" type="String">
                <Description>State. Valid values are: REGISTERED, COLLATERAL_CALCULATED, COLLATERAL_SEC_REGISTERED, COLLATERAL_SEC_STEPOVER, COLLATERAL_FX_REGISTERED, COLLATERAL_FX_STEPOVER, COLLATERAL_CASH_SETTLED, CLIENT_PAYMENTS,REBALANCING.</Description>
            </Field>
            <Field name="status" fieldNumber="25" type="String">
                <Description>Status of execution. Valid values are: SUCCESS, ERROR, OVERRIDE, VALIDATION_FAILED, VALIDATION_WARNING,</Description>
            </Field>
            <Field name="statusText" fieldNumber="26" type="String">
                <Description>Status Text. Description of validation errors.</Description>
            </Field>
            <Field name="variationMargin" fieldNumber="27" type="Long" divisor="PRICE">
                <Description>Variation Margin.A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="commission" fieldNumber="46" type="Long" divisor="PRICE">
                <Description>Sum of all commissions with status New. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="fundingInterestAmount" fieldNumber="28" type="Long" divisor="PRICE">
                <Description>Funding Interest amount. A Positive value means the money being paid by the Client to the CH and A Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="dividendAmount" fieldNumber="29" type="Long" divisor="PRICE">
                <Description>Dividend amount. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="bookingFeeAmount" fieldNumber="47" type="Long" divisor="PRICE">
                <Description>Booking fee amount excluding VAT. A Positive value means the money being paid by the Client to the CH</Description>
            </Field>
            <Field name="bookingFeeVatAmount" fieldNumber="48" type="Long" divisor="PRICE">
                <Description>VAT for booking fee</Description>
            </Field>
            <Field name="riskFeeAmount" fieldNumber="49" type="Long" divisor="PRICE">
                <Description>Risk fee amount excluding VAT. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="riskFeeVatAmount" fieldNumber="50" type="Long" divisor="PRICE">
                <Description>VAT for risk fee.</Description>
            </Field>
            <Field name="netAmount" fieldNumber="40" type="Long" divisor="PRICE">
                <Description>Net amount from other systems.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="32" type="String">
                <Description>Settlement Date. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="interestAmountOnCashCollateral" fieldNumber="34" type="Long" divisor="PRICE">
                <Description>Interest amount earned on cash collateral for ZAR. A Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="interestRateOnCashCollateral" fieldNumber="35" type="Long" divisor="INTEREST">
                <Description>Interest rate on cash collateral for ZAR.</Description>
            </Field>
            <Field name="fxDailyAccountSummaryDetails" fieldNumber="36" type="FxDailyAccountSummaryDetails" dimension="objectArray">
                <Description>The daily account summary details for FX currencies.</Description>
            </Field>
        </Message>
        <Message name="FxDailyAccountSummaryDetails" messageId="10376" type="rtcEvents" internal="true">
            <Description>FX part of the daily account summary.</Description>
            <Field name="currencyCode" fieldNumber="1" type="String">
                <Description>The Currency Code, ISO 4217 alphabetic Code. Example: USD</Description>
            </Field>
            <Field name="interestRateOnCashCollateral" fieldNumber="2" type="Long" divisor="INTEREST">
                <Description>Interest rate for the currency.</Description>
            </Field>
            <Field name="interestAmountOnCashCollateral" fieldNumber="3" type="Long" divisor="PRICE">
                <Description>Interest amount for the currency.</Description>
            </Field>
            <Field name="cashCollateralMovement" fieldNumber="4" type="Long" divisor="PRICE">
                <Description>Total movement in Cash Collateral for the current day that will be settled in the given currency</Description>
            </Field>
            <Field name="fxCollateralQty" fieldNumber="5" type="Long" divisor="QTY">
                <Description>FX Collateral position quantity (in FX currency). This value will always be Positive</Description>
            </Field>
            <Field name="fxMarketValue" fieldNumber="6" type="Long" divisor="PRICE">
                <Description>FX collateral position market value (in ZAR). This is the value before haircut: qty * price. This value will always be Positive</Description>
            </Field>
            <Field name="fxCollateralValue" fieldNumber="7" type="Long" divisor="PRICE">
                <Description>FX collateral value (in ZAR). This is the value calculated during the collateral process (using haircut%, max value). This value will always be Positive</Description>
            </Field>
        </Message>
        <Message name="AggregatedSummaryClearingMemberEvent" messageId="10350" type="rtcEvents">
            <Description>Aggregated account summary event for clearing member.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="4" type="int">
                <Description>The id of the subscriptionGroup the message is published on.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="5" type="String">
                <Description>Clearing Member ID.</Description>
            </Field>
            <Field name="totals" fieldNumber="6" type="AggregatedSummaryDetails" dimension="object">
                <Description>Aggregated trading member totals.</Description>
            </Field>
            <Field name="interestRateOnCashCollateral" fieldNumber="7" type="Long" divisor="INTEREST">
                <Description>Interest rate for cash collateral for ZAR</Description>
            </Field>
            <Field name="netFromOtherSystems" fieldNumber="8" type="Long" divisor="PRICE">
                <Description>Net amount from other system. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="cmMessageRef" fieldNumber="9" type="String">
                <Description>Number used when creating settlement instructions. This number is concatenated into the message reference no.</Description>
            </Field>
            <Field name="tag" fieldNumber="10" type="String" allowedValues="CondType">
                <Description>Price Tag that identifies the event.</Description>
            </Field>
            <Field name="businessDate" fieldNumber="11" type="String">
                <Description>Business Date.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="12" type="String">
                <Description>The time of the event.</Description>
            </Field>
        </Message>
        <Message name="AggregatedSummaryTradingMemberEvent" messageId="10351" type="rtcEvents">
            <Description>Aggregated account summary event for trading member.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="4" type="int">
                <Description>The id of the subscriptionGroup the message is published on.</Description>
            </Field>
            <Field name="tradingMemberId" fieldNumber="5" type="String">
                <Description>Trading Member ID.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="6" type="String">
                <Description>Clearing Member ID.</Description>
            </Field>
            <Field name="totalClients" fieldNumber="7" type="AggregatedSummaryDetails" dimension="object">
                <Description>Aggregated client accounts.</Description>
            </Field>
            <Field name="totalHouse" fieldNumber="8" type="AggregatedSummaryDetails" dimension="object">
                <Description>Aggregated house accounts.</Description>
            </Field>
            <Field name="interestRateOnCashCollateral" fieldNumber="9" type="Long" divisor="INTEREST">
                <Description>Interest rate for cash collateral for ZAR</Description>
            </Field>
            <Field name="tag" fieldNumber="10" type="String" allowedValues="CondType">
                <Description>Price Tag.</Description>
            </Field>
            <Field name="businessDate" fieldNumber="11" type="String">
                <Description>Business Date.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="12" type="String">
                <Description>The time of the event.</Description>
            </Field>
        </Message>
        <Message name="AggregatedSummaryDetails" messageId="10352" type="rtcEvents" internal="true">
            <Description>Object to hold aggregated account summary details.</Description>
            <Field name="totalMember_CF_Cash" fieldNumber="1" type="Long" divisor="PRICE">
                <Description>The total ZAR Collateral Cash registered for the current day. This value will always be Positive</Description>
            </Field>
            <Field name="totalMember_BF_Cash" fieldNumber="2" type="Long" divisor="PRICE">
                <Description>The total ZAR Collateral Cash registered for the previous day. This value will always be Positive</Description>
            </Field>
            <Field name="totalMember_Cash_Movement" fieldNumber="20" type="Long" divisor="PRICE">
                <Description>The total ZAR Collateral Cash movement balance per member (TM + Client), i.e. C/F (today) Cash Collateral - B/F (previous days) Cash Collateral = Total Cash movement. This value is calculated the same way as initialMarginMovementCash. This value is positive if the current cash collateral exceeds the previous cash collateral and negative if it is the other way around.</Description>
            </Field>
            <Field name="totalMember_CF_FxCash" fieldNumber="17" type="Long" divisor="PRICE">
                <Description>The total FX Collateral Cash registered (in ZAR value) for the current day. This value will always be Positive</Description>
            </Field>
            <Field name="totalMember_BF_FxCash" fieldNumber="18" type="Long" divisor="PRICE">
                <Description>The total FX Collateral Cash registered (in ZAR value) for the previous day. This value will always be Positive</Description>
            </Field>
            <Field name="totalMember_FxCash_Movement" fieldNumber="21" type="Long" divisor="PRICE">
                <Description>The total FX Collateral Cash registered (in ZAR value) Movement. This value is positive if the current FX collateral exceeds the previous FX collateral and negative if it is the other way around</Description>
            </Field>
            <Field name="totalMember_CF_Sec" fieldNumber="3" type="Long" divisor="PRICE">
                <Description>The total Collateral Security registered for the current day. This value will always be Positive</Description>
            </Field>
            <Field name="totalMember_BF_Sec" fieldNumber="4" type="Long" divisor="PRICE">
                <Description>The total Collateral Security registered for the previous day. This value will always be Positive</Description>
            </Field>
            <Field name="totalMember_Sec_Movement" fieldNumber="22" type="Long" divisor="PRICE">
                <Description>The total Collateral Security movement balance per member (TM + Client), i.e. C/F (today) Collateral Securities - B/F (previous days) Collateral Securities = Securities movement. This value is calculated the same way as initialMarginMovementCash. This value is Positive if the current securities collateral exceeds the previous securities collateral; negative if it is the other way around.</Description>
            </Field>
            <Field name="registeredSecuritiesAmount" fieldNumber="27" type="Long" divisor="PRICE">
                <Description>Market Value of the positions in security collateral in ZAR (market value of the security collateral position). This value will always be Positive</Description>
            </Field>
            <Field name="initialMarginMovementCash" fieldNumber="5" type="Long" divisor="PRICE">
                <Description>The total overall IM Cash movement balance per member (TM + Client), i.e. C/F (today) Cash Collateral - B/F (previous days) Cash Collateral = Cash IM movement. This value is calculated the same way as totalMember_Cash_Movement. This value is Positive if the current Cash Collateral exceeds the previous Cash Collateral; negative if it is the other way around.</Description>
            </Field>
            <Field name="initialMarginMovementSecurities" fieldNumber="6" type="Long" divisor="PRICE">
                <Description>The total overall IM Securities movement balance per member (TM + Client), i.e. C/F (today) Collateral Securities - B/F (previous days) Collateral Securities = Securities movement. This value is calculated the same way as totalMember_Sec_Movement. This value is Positive if the current Collateral Securities exceeds the previous Collateral Securities; negative if it is the other way around</Description>
            </Field>
            <Field name="totalVariationMargin" fieldNumber="7" type="Long" divisor="PRICE">
                <Description>Total variation margin for all clients of a trading member and clients of the trading member's branches. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="totalAdditionalMargin" fieldNumber="8" type="Long" divisor="PRICE">
                <Description>Total additional margin. This value will always be Positive</Description>
            </Field>
            <Field name="fundingInterest" fieldNumber="9" type="Long" divisor="PRICE">
                <Description>The interest calculated from CFDs. ((base rate + interest spread) X nominal). A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="commission" fieldNumber="24" type="Long" divisor="PRICE">
                <Description>Sum of all commissions with status New. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="dividendPayment" fieldNumber="10" type="Long" divisor="PRICE">
                <Description>This is calculated from the dividend neutrals journal transactions. A Positive value interprets as money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="totalBookingFees" fieldNumber="11" type="Long" divisor="PRICE">
                <Description>Total booking fees excluding VAT. A Positive value means the money being paid by the Client to the CH</Description>
            </Field>
            <Field name="totalBookingFeesVAT" fieldNumber="12" type="Long" divisor="PRICE">
                <Description>Total VAT for booking fees</Description>
            </Field>
            <Field name="totalRiskFees" fieldNumber="25" type="Long" divisor="PRICE">
                <Description>Total risk fees excluding VAT. A Positive value means the money being paid by the Client to the CH and A Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="totalRiskFeesVAT" fieldNumber="26" type="Long" divisor="PRICE">
                <Description>Total VAT for risk fees</Description>
            </Field>
            <Field name="initialMargin" fieldNumber="13" type="Long" divisor="PRICE">
                <Description>Initial Margin. This value will always be Positive</Description>
            </Field>
            <Field name="previousInitialMargin" fieldNumber="14" type="Long" divisor="PRICE">
                <Description>Previous Business Day Initial Margin. This value will always be Positive</Description>
            </Field>
            <Field name="additionalMarginMovements" fieldNumber="19" type="Long" divisor="PRICE">
                <Description>Additional Margin Movements (from yesterday). This value can be Positive if the current AM exceeds the previous AM; negative if it is the other way around</Description>
            </Field>
            <Field name="totalInterestAmountOnCashCollateral" fieldNumber="15" type="Long" divisor="PRICE">
                <Description>Interest amount earned on cash collateral for ZAR. A Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="totalZARCashMovement" fieldNumber="23" type="Long" divisor="PRICE">
                <Description>Sum of all ZAR movements for the Member: Net Amount from other system + Member Cash Collateral Movement + Clients Cash Collateral Movement + Member VM + Clients VM + Net Booking Fees including VAT + Risk Fees including VAT + Commissions + Funding interest + Dividend payment + Interest amount on Cash Collateral. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client</Description>
            </Field>
            <Field name="fxDailyAccountSummaryDetails" fieldNumber="16" type="FxDailyAccountSummaryDetails" dimension="objectArray">
                <Description>The daily account summary details for FX currencies.</Description>
            </Field>
        </Message>
        <Message name="AccountTradeEvent" messageId="10141" type="rtcEvents">
            <Description>This event represents an insertion, deletion or update of a trade in an account. The message includes information on the position on the account after the trade event.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="4" type="int">
                <Description>The id of subscription group the message is published on.</Description>
            </Field>
            <Field name="accountId" fieldNumber="5" type="long" mandatory="required">
                <Description>Account id.</Description>
            </Field>
            <Field name="externalAccountId" fieldNumber="14" type="String">
                <Description>The ID of the position account as seen by the member.</Description>
            </Field>
            <Field name="collateralAccountName" fieldNumber="17" type="String">
                <Description>The name of the collateral account.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="15" type="String">
                <Description>The member code of the clearing member.</Description>
            </Field>
            <Field name="tradingMember" fieldNumber="18" type="String">
                <Description>TM that owns the trade.</Description>
            </Field>
            <Field name="tradingMemberBranch" fieldNumber="19" type="String">
                <Description>TM branch that owns the trade.</Description>
            </Field>
            <Field name="clientId" fieldNumber="20" type="String">
                <Description>Client ID added to trade by CS. Empty if trade is for TM house.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="13" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="positionType" fieldNumber="7" type="Integer" allowedValues="PositionType" mandatory="required">
                <Description>The position type.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="8" type="String">
                <Description>Settlement date, used for positions of type SETTLEMENT.</Description>
            </Field>
            <Field name="positionReason" fieldNumber="10" type="int" allowedValues="PositionReason">
                <Description/>
            </Field>
            <Field name="positionTimestamp" fieldNumber="11" type="String">
                <Description>The time when the event occurred, on format yyyy-MM-dd'T'HH:mm:ss.SSS.</Description>
            </Field>
            <Field name="trade" fieldNumber="12" type="Trade" dimension="object">
                <Description>The referenced Trade.</Description>
            </Field>
        </Message>
        <Message name="RiskNodeEvent" messageId="10033" type="rtcEvents">
            <Description>This event contains calculated risk values for a Risk Node.</Description>
            <Field name="sequenceNumber" fieldNumber="23" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="34" type="int">
                <Description>The id of the subscriptionGroup the message is published on.</Description>
            </Field>
            <Field name="riskNodeId" fieldNumber="27" type="long">
                <Description>The id of the risk node the message is published on.</Description>
            </Field>
            <Field name="channel" fieldNumber="28" type="String">
                <Description>The channel this result was calculated for. DEFAULT is the normal channel.</Description>
            </Field>
            <Field name="currency" fieldNumber="29" type="String">
                <Description>The currency code according to ISO 4217.</Description>
            </Field>
            <Field name="portfolioValue" fieldNumber="30" type="long" divisor="PRICE">
                <Description>This value is not used in the JSE implementation of RTC.</Description>
            </Field>
            <Field name="variationMargin" fieldNumber="31" type="long" divisor="PRICE">
                <Description>Any profit or loss given the current market value compared to the previous mark-to-market value (or trade value).</Description>
            </Field>
            <Field name="portfolioRisk" fieldNumber="32" type="long" divisor="PRICE">
                <Description>The Initial Margin for the risk node, defined as J-SPAN IM + Liquidation Period Add-On + Large Position Add-On  + SM. A positive value indicates a risk.</Description>
            </Field>
            <Field name="collateralValue" fieldNumber="33" type="long" divisor="PRICE">
                <Description>The sum of the values of all the collateral positions in the collateral account of the risk node.</Description>
            </Field>
            <Field name="liquidationAddOn" fieldNumber="35" type="long" divisor="PRICE">
                <Description>The liquidation period add-on value for the risk node. The liquidation period add-on is an amount that gets added to the margin calculated by J-SPAN. The Liquidation Period add-on increases the margin requirement when the client's notional exposure in a particular underlying forms a significant portion of the value that gets traded in the market on a daily basis.</Description>
            </Field>
            <Field name="largePositionAddOn" fieldNumber="36" type="long" divisor="PRICE">
                <Description>The large position add-on value on the risk node. This is an additional IM to compensate for large positions or concentration risk. This calculation takes into account position size thresholds which will are defined by the JSE.</Description>
            </Field>
            <Field name="jspanValue" fieldNumber="37" type="long" divisor="PRICE">
                <Description>The J-SPAN IM value, based on the positions on the risk node and the CSE risk arrays. The J-SPAN algorithm uses the netted positions of all the accounts under the risk node.</Description>
            </Field>
            <Field name="additionalMargin" fieldNumber="38" type="long" divisor="PRICE">
                <Description>The additional margin value on the risk node. Additional Margin is a margin that is added on top of IM and calculated as a percentage on IM. Different members and clients can have different additional margin percentages.</Description>
            </Field>
            <Field name="additionalMarginPercentage" fieldNumber="39" type="long">
                <Description>The additional margin percentage value on the risk node.</Description>
            </Field>
            <Field name="riskLimit" fieldNumber="40" type="long" divisor="PRICE">
                <Description>The risk limit value on the risk node. The global risk limit for the clearing house, or a more strict limit for the Clearing Member, Trading Member or Client.</Description>
            </Field>
            <Field name="valueAgainstLimit" fieldNumber="41" type="long" divisor="PRICE">
                <Description>The value against limit value on the risk node, calculated as (IM + AM) - (VM + Collateral value).</Description>
            </Field>
            <Field name="alert" fieldNumber="42" type="boolean">
                <Description>The alert indicator for the risk node. True if valueAgainstLimit is larger than riskLimit, false otherwise.</Description>
            </Field>
            <Field name="settlementMargin" fieldNumber="43" type="long" divisor="PRICE">
                <Description>The settlement margin on the risk node. For risk nodes with settlement positions for physical delivery positions: SM = official SMR * quantity (netted on risk node).</Description>
            </Field>
            <Field name="equityNotionalValue" fieldNumber="44" type="long" divisor="PRICE">
                <Description>The notional exposure for asset class Equity for this risk node.</Description>
            </Field>
            <Field name="fxNotionalValue" fieldNumber="45" type="long" divisor="PRICE">
                <Description>The notional exposure for asset class FX for this risk node.</Description>
            </Field>
            <Field name="notionalValues" fieldNumber="46" type="NotionalValue" dimension="objectArray">
                <Description>Notional value per underlying.</Description>
            </Field>
            <Field name="collateralPositions" fieldNumber="47" type="CollateralPositionValue" dimension="objectArray">
                <Description>Values for collateral positions.</Description>
            </Field>
        </Message>
        <Message name="CommissionEvent" messageId="10514" type="rtcEvents">
            <Description>Commission to be paid by destination TM to initiating TM.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="2" type="int">
                <Description>The id of subscription group the message is published on.</Description>
            </Field>
            <Field name="commissionId" fieldNumber="3" type="String" mandatory="required">
                <Description>The commission id.</Description>
            </Field>
            <Field name="market" fieldNumber="4" type="String" mandatory="required">
                <Description>Market.</Description>
            </Field>
            <Field name="initiatingCM" fieldNumber="5" type="String" mandatory="required">
                <Description>CM that is associated with the initiating TM and will receive the payment.</Description>
            </Field>
            <Field name="initiatingTM" fieldNumber="6" type="String" mandatory="required">
                <Description>TM that sent the commission.</Description>
            </Field>
            <Field name="destinationCM" fieldNumber="7" type="String" mandatory="required">
                <Description>CM that will handle the payment.</Description>
            </Field>
            <Field name="destinationTM" fieldNumber="8" type="String" mandatory="required">
                <Description>TM that will carry the payment.</Description>
            </Field>
            <Field name="clientReference" fieldNumber="9" type="String">
                <Description>Payer of the commission. Refer to EMAPI Clearing document, Commission Management section for guidance on the population of this field based on the various trade and deal management scenarios.</Description>
            </Field>
            <Field name="commissionReference" fieldNumber="10" type="String">
                <Description>Identifier of trade or deal associated with the commission. Refer to EMAPI Clearing document, Commission Management section for guidance on the population of this field based on the various trade and deal management scenarios.</Description>
            </Field>
            <Field name="amount" fieldNumber="11" type="Long" divisor="DECIMAL" mandatory="required">
                <Description>Amount to debit the destination TM.</Description>
            </Field>
            <Field name="status" fieldNumber="12" type="int" allowedValues="CommissionStatus" mandatory="required">
                <Description>The status of the commission.</Description>
            </Field>
            <Field name="enteredTimestamp" fieldNumber="13" type="String" mandatory="required">
                <Description>The timestamp when the commission first was entered.</Description>
            </Field>
            <Field name="cancelledTimestamp" fieldNumber="14" type="String">
                <Description>The timestamp when the commission was either cancelled or rejected.</Description>
            </Field>
            <Field name="cancellationReference" fieldNumber="15" type="String">
                <Description>Optional reference that can be supplied at cancellation or rejection requests.</Description>
            </Field>
        </Message>
        <Message name="PriceEvent" messageId="10074" type="rtcEvents">
            <Description>Market data for a tradable instrument.</Description>
            <Field name="sequenceNumber" fieldNumber="9" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="12" type="int">
                <Description>The id of the subscription group the message is published on.</Description>
            </Field>
            <Field name="condType" fieldNumber="17" type="String" allowedValues="CondType">
                <Description>Price Condition type (tag).</Description>
            </Field>
            <Field name="businessDate" fieldNumber="18" type="String">
                <Description>Business date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="21" type="String">
                <Description>The time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="19" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="price" fieldNumber="14" type="long" divisor="PRICE">
                <Description>The price.</Description>
            </Field>
            <Field name="feedSource" fieldNumber="20" type="String" allowedValues="FeedSource">
                <Description>The source of the curve.</Description>
            </Field>
        </Message>
        <Message name="OptionDataEvent" messageId="10276" type="rtcEvents">
            <Description>Valuation information for option.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="4" type="int">
                <Description>The id of the subscription group the message is published on.</Description>
            </Field>
            <Field name="condType" fieldNumber="5" type="String" allowedValues="CondType">
                <Description>Price Condition type (tag).</Description>
            </Field>
            <Field name="businessDate" fieldNumber="6" type="String">
                <Description>Business date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="13" type="String">
                <Description>The time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="8" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="price" fieldNumber="9" type="long" divisor="PRICE">
                <Description>The option price.</Description>
            </Field>
            <Field name="delta" fieldNumber="10" type="long" divisor="PRICE">
                <Description>The delta for the option.</Description>
            </Field>
            <Field name="gamma" fieldNumber="14" type="long" divisor="PRICE">
                <Description>The gamma for the option.</Description>
            </Field>
            <Field name="vega" fieldNumber="15" type="long" divisor="PRICE">
                <Description>The vega for the option.</Description>
            </Field>
            <Field name="volatility" fieldNumber="11" type="long" divisor="PRICE">
                <Description>The volatility for the option.</Description>
            </Field>
            <Field name="feedSource" fieldNumber="12" type="String" allowedValues="FeedSource">
                <Description>The source of the curve.</Description>
            </Field>
        </Message>
        <Message name="CurveEvent" messageId="10227" type="rtcEvents">
            <Description>Market data for a curve. See the Curve reference data object for a definition of the curve.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="4" type="int">
                <Description>The id of the subscription group the message is published on.</Description>
            </Field>
            <Field name="condType" fieldNumber="5" type="String" allowedValues="CondType">
                <Description>Price Condition type (tag).</Description>
            </Field>
            <Field name="businessDate" fieldNumber="6" type="String">
                <Description>Business date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="10" type="String">
                <Description>The time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".</Description>
            </Field>
            <Field name="curveExternalId" fieldNumber="8" type="String">
                <Description>The curve external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="feedSource" fieldNumber="9" type="String" allowedValues="FeedSource">
                <Description>The source of the curve.</Description>
            </Field>
            <Field name="absoluteDate" fieldNumber="11" type="String" dimension="array">
                <Description>The absolute date on the x-axis of the curve. This field is populated if the xAxis unit of the curve is absolute.</Description>
            </Field>
            <Field name="dateFractionOfAYear" fieldNumber="12" type="long" dimension="array" divisor="DECIMAL">
                <Description>The date on the x-axis represented as fraction of a year using the day time convention on the discount curve. This field is populated if the xAxis unit of the curve is fraction of a year.</Description>
            </Field>
            <Field name="rate" fieldNumber="13" type="long" dimension="array" divisor="DECIMAL">
                <Description>The rate on the y-axis of the curve.</Description>
            </Field>
        </Message>
        <Message name="AtmVolatilityEvent" messageId="10277" type="rtcEvents">
            <Description>Event with ATM volatilities for an underlying instrument. The dates are expiry dates for the options.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="4" type="int">
                <Description>The id of the subscription group the message is published on.</Description>
            </Field>
            <Field name="condType" fieldNumber="5" type="String" allowedValues="CondType">
                <Description>Price Condition type (tag).</Description>
            </Field>
            <Field name="businessDate" fieldNumber="6" type="String">
                <Description>Business date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="10" type="String">
                <Description>The time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".</Description>
            </Field>
            <Field name="instrumentExternalId" fieldNumber="8" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="feedSource" fieldNumber="9" type="String" allowedValues="FeedSource">
                <Description>The source.</Description>
            </Field>
            <Field name="absoluteDates" fieldNumber="11" type="String" dimension="array">
                <Description>The absolute instrument expiry dates. Corresponds to the array of volatilities.</Description>
            </Field>
            <Field name="vols" fieldNumber="12" type="long" dimension="array" divisor="DECIMAL">
                <Description>The volatilities. Corresponds to the array of dates.</Description>
            </Field>
        </Message>
        <Message name="SurfaceEvent" messageId="10228" type="rtcEvents">
            <Description>Market data for a surface. See the Surface reference data object for a definition of the surface.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="4" type="int">
                <Description>The id of the subscription group the message is published on.</Description>
            </Field>
            <Field name="condType" fieldNumber="5" type="String" allowedValues="CondType">
                <Description>Price Condition type (tag).</Description>
            </Field>
            <Field name="businessDate" fieldNumber="6" type="String">
                <Description>Business date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="10" type="String">
                <Description>The time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".</Description>
            </Field>
            <Field name="surfaceExternalId" fieldNumber="15" type="String">
                <Description>The surface external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="feedSource" fieldNumber="9" type="String" allowedValues="FeedSource">
                <Description>The source of the price.</Description>
            </Field>
            <Field name="absoluteDate" fieldNumber="11" type="String" dimension="array">
                <Description>The absolute date on the x-axis of the surface. This field is populated if the xAxis unit of the surface is absolute.</Description>
            </Field>
            <Field name="dateFractionOfAYear" fieldNumber="12" type="Long" dimension="array" divisor="DECIMAL">
                <Description>The date on the x-axis represented as fraction of a year using the day time convention on the surface. This field is populated if the xAxis unit of the surface is fraction of a year.</Description>
            </Field>
            <Field name="strikeOrMoneyness" fieldNumber="13" type="Long" dimension="array" divisor="PRICE">
                <Description>Value on the y-axis: strike or moneyness.</Description>
            </Field>
            <Field name="volatility" fieldNumber="14" type="Long" dimension="array" divisor="PRICE">
                <Description>Value on the z-axis: volatility in point (x, y).</Description>
            </Field>
        </Message>
        <Message name="DividendEvent" messageId="10229" type="rtcEvents">
            <Description>Dividend information for a tradable instrument. The instrument is a spot used as underlying for futures. The dividends are used in the future valuation.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="4" type="int">
                <Description>The id of the subscription group the message is published on.</Description>
            </Field>
            <Field name="condType" fieldNumber="5" type="String" allowedValues="CondType">
                <Description>Price Condition type (tag).</Description>
            </Field>
            <Field name="businessDate" fieldNumber="6" type="String">
                <Description>Business date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="10" type="String">
                <Description>The time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".</Description>
            </Field>
            <Field name="instrumentExternalId" fieldNumber="8" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="feedSource" fieldNumber="9" type="String" allowedValues="FeedSource">
                <Description>The source of the price.</Description>
            </Field>
            <Field name="exDate" fieldNumber="11" type="String">
                <Description>The date on or after which a security is traded without rights to a previously declare dividend.</Description>
            </Field>
            <Field name="paymentDate" fieldNumber="12" type="String">
                <Description>The date on which a declared stock dividend is scheduled to be paid.</Description>
            </Field>
            <Field name="dividend" fieldNumber="13" type="long" divisor="PRICE">
                <Description>The dividend value.</Description>
            </Field>
        </Message>
        <Message name="YieldEvent" messageId="10437" type="rtcEvents">
            <Description>The yield for an instrument. The instrument could be of different types, for instance a Bond or a Deposit.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroupId" fieldNumber="4" type="int">
                <Description>The id of the subscription group the message is published on.</Description>
            </Field>
            <Field name="condType" fieldNumber="5" type="String" allowedValues="CondType">
                <Description>Price Condition type (tag).</Description>
            </Field>
            <Field name="businessDate" fieldNumber="6" type="String">
                <Description>Business date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="10" type="String">
                <Description>The time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".</Description>
            </Field>
            <Field name="instrumentExternalId" fieldNumber="8" type="String">
                <Description>The external instrument id.</Description>
            </Field>
            <Field name="feedSource" fieldNumber="9" type="String" allowedValues="FeedSource">
                <Description>The source of the price.</Description>
            </Field>
            <Field name="yieldType" fieldNumber="11" type="String" allowedValues="YieldType">
                <Description/>
            </Field>
            <Field name="yield" fieldNumber="12" type="long" divisor="DECIMAL">
                <Description>The dividend expressed in yield (% on decimal form).</Description>
            </Field>
        </Message>
        <Message name="WithdrawalNotificationEvent" messageId="10486" type="rtcEvents">
            <Description>A notification event sent to the Clearing Member that there is a number of payment advices that the CM must confirm.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="4" type="int">
                <Description>The id of the subscriptionGroup the message is published on.</Description>
            </Field>
            <Field name="clearingMember" fieldNumber="6" type="String">
                <Description>Clearing Member ID.</Description>
            </Field>
        </Message>
        <Message name="GiveUpEvent" messageId="10124" type="rtcEventsExternal">
            <Description>This event is for Assign and Tripartite flow from RTC.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="24" type="int">
                <Description>The id of the subscription group the message is published on.</Description>
            </Field>
            <Field name="fourEyesId" fieldNumber="5" type="long">
                <Description>The ID of the Assign or Tripartite.</Description>
            </Field>
            <Field name="initiator" fieldNumber="6" type="String">
                <Description>The initiator of the request. This is used to identify the initiator side.</Description>
            </Field>
            <Field name="state" fieldNumber="7" type="int" allowedValues="FourEyesState">
                <Description>The current state of the operation.</Description>
            </Field>
            <Field name="tradeId" fieldNumber="8" type="long">
                <Description>Trade id.</Description>
            </Field>
            <Field name="fromAccountId" fieldNumber="9" type="Long">
                <Description>The current account for the Trade. This is used to identify the receiver side. It is not set for the receiver when the take-up request arrives. (It is set by receiver upon Approval).</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="26" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="quantity" fieldNumber="11" type="Long" divisor="QTY">
                <Description>The trade quantity.</Description>
            </Field>
            <Field name="price" fieldNumber="25" type="Long" divisor="PRICE">
                <Description>The trade price.</Description>
            </Field>
            <Field name="reference" fieldNumber="13" type="String">
                <Description>An optional free text field.</Description>
            </Field>
            <Field name="acknowledger" fieldNumber="14" type="String">
                <Description>The destination member Id.</Description>
            </Field>
            <Field name="client" fieldNumber="23" type="String">
                <Description>The destination client Id. Applicable for tripartite allocation only</Description>
            </Field>
            <Field name="timeInitiated" fieldNumber="17" type="String">
                <Description>Time the action was initiated</Description>
            </Field>
            <Field name="timeComplete" fieldNumber="18" type="String">
                <Description>Time the action was completed</Description>
            </Field>
            <Field name="timeCancelled" fieldNumber="19" type="String">
                <Description>Time the action was cancelled</Description>
            </Field>
            <Field name="isBuy" fieldNumber="28" type="Boolean">
                <Description>True if this trade is a buy trade, false if it is a sell trade.</Description>
            </Field>
        </Message>
        <Message name="ReadyConfirmAvailableFXEvent" messageId="10377" type="rtcEventsExternal">
            <Description>Event published to the CMs to inform that RTC is ready to receive information about FX collateral.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="4" type="int">
                <Description>The id of the subscriptionGroup the message is published on.</Description>
            </Field>
        </Message>
        <Message name="CmBalancing1Event" messageId="10411" type="rtcEventsExternal">
            <Description>Account balancing 1 message to the Clearing Member.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="4" type="int">
                <Description>The id of the subscriptionGroup the message is published on.</Description>
            </Field>
            <Field name="clearingMember" fieldNumber="6" type="String">
                <Description>Clearing Member ID.</Description>
            </Field>
            <Field name="businessDate" fieldNumber="7" type="String">
                <Description>Business date which have generated the various payments. Note it is not the actual payment date, which happens at the business day after. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="8" type="String">
                <Description>Date when the payment is due. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="balances" fieldNumber="9" type="MemberBalance1" dimension="objectArray">
                <Description>List of balances for the clearing member or trading member. The totals for all TMs clearing through the CM are available under the CM ID.</Description>
            </Field>
        </Message>
        <Message name="CmBalancing2Event" messageId="10413" type="rtcEventsExternal">
            <Description>Account balancing 2 message to CM.</Description>
            <Field name="sequenceNumber" fieldNumber="1" type="long">
                <Description>The sequence number is a unique number for all events published for the same flow.</Description>
            </Field>
            <Field name="subscriptionGroup" fieldNumber="4" type="int">
                <Description>The id of the subscriptionGroup the message is published on.</Description>
            </Field>
            <Field name="clearingMember" fieldNumber="6" type="String">
                <Description>Clearing Member ID.</Description>
            </Field>
            <Field name="businessDate" fieldNumber="7" type="String">
                <Description>Business date which have generated the various payments. Note it is not the actual payment date, which happens at the business day after. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="8" type="String">
                <Description>Date when the payment is due. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="interestRates" fieldNumber="9" type="FxInterestRate" dimension="objectArray">
                <Description>Interest rates used for the day for interest on cash collateral calculations.</Description>
            </Field>
            <Field name="balances" fieldNumber="10" type="MemberBalance2" dimension="objectArray">
                <Description>List of balances for the clearing member or trading member. The totals for all TMs clearing through the CM are available under the CM ID.</Description>
            </Field>
        </Message>
        <Message name="GetRiskArrayReq" messageId="10270" extends="RequestMessage" returns="GetRiskArrayRsp" type="rtcRiskExternal">
            <Description>Query JSPAN risk arrays available in the system.</Description>
            <Field name="allInstruments" fieldNumber="3" type="boolean">
                <Description>If true, the values in externalInstrumentIds will be ignored. Risk arrays will be returned for all instruments with risk arrays, but startInstrumentOffset and maxNumberOfInstrumentsReturned are used for paging the response.</Description>
            </Field>
            <Field name="externalInstrumentIds" fieldNumber="4" type="String" dimension="array">
                <Description>List of instruments for which risk array will be retrieved. JSE Master IDs.</Description>
            </Field>
            <Field name="startInstrumentOffset" fieldNumber="5" type="Integer" mandatory="required">
                <Description>Offset of first instrument to include. Starts on zero. This field is used to page the response to avoid overflow.</Description>
            </Field>
            <Field name="maxNumberOfInstrumentsReturned" fieldNumber="6" type="Integer" mandatory="required">
                <Description>Maximum number of rows in response. Must be 500 or smaller. This field is used to page the response to avoid overflow.</Description>
            </Field>
        </Message>
        <Message name="GetRiskArrayRsp" messageId="10271" extends="ResponseMessage" type="rtcRiskExternal">
            <Description>Response to a GetRiskArrayReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="contracts" fieldNumber="6" type="Contract" dimension="objectArray">
                <Description>Risk arrays for all contracts.</Description>
            </Field>
        </Message>
        <Message name="Contract" messageId="10272" type="rtcRiskExternal" internal="true">
            <Description>Risk array information for one contract. Sub-object in GetRiskArrayRsp.</Description>
            <Field name="businessDate" fieldNumber="2" type="String">
                <Description>Business date. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="timeStamp" fieldNumber="9" type="String">
                <Description>Risk array generation time. The format is "yyyy-MM-ddTHH:mm:ss.SSS".</Description>
            </Field>
            <Field name="expiryDate" fieldNumber="3" type="String">
                <Description>Expiry date of the contract. Format is YYYY-MM-DD.</Description>
            </Field>
            <Field name="mtmPrice" fieldNumber="4" type="Long" divisor="PRICE">
                <Description>Mark-to-Market price.</Description>
            </Field>
            <Field name="strikePrice" fieldNumber="5" type="Long" divisor="PRICE">
                <Description>Strike price of option contracts.</Description>
            </Field>
            <Field name="volatility" fieldNumber="6" type="Long" divisor="PRICE">
                <Description>Volatility of the contract. MTM volatility for options. ATM volatility for futures that has options.</Description>
            </Field>
            <Field name="condType" fieldNumber="10" type="String" allowedValues="CondType">
                <Description>Price condition type.</Description>
            </Field>
            <Field name="riskArray" fieldNumber="7" type="Long" dimension="array">
                <Description>Risk array of the contract.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="8" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
        </Message>
        <Message name="GetSettlementInstructionsReq" messageId="10301" extends="RequestMessage" returns="GetSettlementInstructionsRsp" type="rtcSettlement">
            <Description>Request to get settlement instructions.</Description>
            <Field name="bookmark" fieldNumber="6" type="String">
                <Description>The bookmark marks a specific item in a list of data. The bookmark received in the response should be used in next request to get next page of information.</Description>
            </Field>
            <Field name="clearingMember" fieldNumber="2" type="String">
                <Description>The requested clearing member ID.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="3" type="String" mandatory="required">
                <Description>The requested settlement date. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="settlementRunId" fieldNumber="4" type="Long">
                <Description>Settlement run id.</Description>
            </Field>
            <Field name="settlementInstructionState" fieldNumber="5" type="String" allowedValues="SettlementInstructionState">
                <Description>Instruction state.</Description>
            </Field>
        </Message>
        <Message name="GetSettlementInstructionsRsp" messageId="10302" extends="ResponseMessage" type="rtcSettlement">
            <Description>Response to GetSettlementInstructionsReq.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="bookmark" fieldNumber="7" type="String">
                <Description>The bookmark marks a specific item in a list of data on the server. The bookmark received in the response should be used in next request to get next page of information.</Description>
            </Field>
            <Field name="instructions" fieldNumber="6" type="SettlementInstruction" dimension="objectArray">
                <Description>Settlement instructions.</Description>
            </Field>
        </Message>
        <Message name="SettlementInstruction" messageId="10303" type="rtcSettlement" internal="true">
            <Description>Settlement instructions suitable to pass on to the settlement systems. The settlement instructions in RTC will be in state PENDING until settlement has been confirmed.</Description>
            <Field name="instructionId" fieldNumber="1" type="long">
                <Description>System generated unique ID.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="2" type="String">
                <Description>Settlement date. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="referenceNo" fieldNumber="3" type="String">
                <Description>Message reference no. The reference is built out of 3 components 1. 76 (CM receives payment from JSE) or 77 (CM payments, JSE receives) 2. CM template (from member) 3. Settlement date E.g. 760210515, Merril Lynch receives payment on May 21, 2015</Description>
            </Field>
            <Field name="sendCode" fieldNumber="4" type="String">
                <Description>JSE BIC.</Description>
            </Field>
            <Field name="plusAccount" fieldNumber="10" type="String">
                <Description>The sending member account where the position effect should be booked due to this instruction.</Description>
            </Field>
            <Field name="senderBIC" fieldNumber="6" type="String">
                <Description>BIC code of the settlement bank of the paying member. Note that this can be the BIC of the settlement bank of JSE.</Description>
            </Field>
            <Field name="senderBranch" fieldNumber="7" type="String">
                <Description>Branch no of the sender (used for SWIFT).</Description>
            </Field>
            <Field name="senderAccountId" fieldNumber="8" type="String">
                <Description>Account number that the receiving member has in the settlement bank. Note that this can be the account of the clearing house.</Description>
            </Field>
            <Field name="externalFromAccount" fieldNumber="9" type="String">
                <Description>The external account from which the amount should be moved.</Description>
            </Field>
            <Field name="minusAccount" fieldNumber="5" type="String">
                <Description>The receiving member account where the position effect should be booked due to this instruction.</Description>
            </Field>
            <Field name="receiverBIC" fieldNumber="11" type="String">
                <Description>BIC code of the settlement bank of the receiving member. Note that this can be the BIC of the settlement bank of JSE.</Description>
            </Field>
            <Field name="receiverBranch" fieldNumber="12" type="String">
                <Description>Branch no of the receiver (used for swift).</Description>
            </Field>
            <Field name="receiverAccountId" fieldNumber="13" type="String">
                <Description>Account number that the receiving member has in the settlement bank. Note that this can be the account of the clearing house.</Description>
            </Field>
            <Field name="externalToAccount" fieldNumber="14" type="String">
                <Description>The external account to which the amount should be moved.</Description>
            </Field>
            <Field name="amount" fieldNumber="15" type="long" divisor="PRICE">
                <Description>The amount to move.</Description>
            </Field>
            <Field name="unconfirmedSettledAmount" fieldNumber="16" type="long" divisor="PRICE">
                <Description>The sum of reported settled amounts that are waiting for confirmation on a position update.</Description>
            </Field>
            <Field name="settledAmount" fieldNumber="17" type="long" divisor="PRICE">
                <Description>The sum of reported settled amounts that have been matched to this instruction.</Description>
            </Field>
            <Field name="currencyId" fieldNumber="18" type="String">
                <Description>Currency in which the amount is settled. The currency code according to ISO 4217.</Description>
            </Field>
            <Field name="settlementInstructionState" fieldNumber="19" type="String" allowedValues="SettlementInstructionState">
                <Description>Instruction state.</Description>
            </Field>
            <Field name="settlementRunId" fieldNumber="20" type="long">
                <Description>Refers to the parent settlement run.</Description>
            </Field>
        </Message>
        <Message name="ConfirmWithdrawalsReq" messageId="10487" extends="RequestMessage" returns="ResponseMessage" type="rtcSettlement">
            <Description>Used for a Clearing Member to confirm or reject payment advices.</Description>
            <Field name="confirmed" fieldNumber="2" type="Boolean" mandatory="required">
                <Description>True if the Payment Advice was confirmeded by the CM, false if it was rejected by the CM.</Description>
            </Field>
            <Field name="withdrawals" fieldNumber="3" type="PaymentAdvice" dimension="objectArray" mandatory="required">
                <Description>List of withdrawals that are confirmed or rejected by CM.</Description>
            </Field>
        </Message>
        <Message name="PaymentAdvice" messageId="10488" type="rtcSettlement">
            <Description>An indication that the Clearing Member will deposit additional cash collateral.</Description>
            <Field name="strateReferenceNo" fieldNumber="1" type="String" mandatory="required">
                <Description>The payment reference generated by the CSD.</Description>
            </Field>
            <Field name="strateCode" fieldNumber="2" type="String" mandatory="required">
                <Description>Strate code for the Client or Trading Member.</Description>
            </Field>
            <Field name="riskNodeId" fieldNumber="3" type="long" mandatory="required">
                <Description>Risk node ID, RTC internal ID.</Description>
            </Field>
            <Field name="amount" fieldNumber="4" type="Long" divisor="PRICE" mandatory="required">
                <Description>The amount in ZAR that must be called for in cash collateral.</Description>
            </Field>
            <Field name="currency" fieldNumber="5" type="String" mandatory="required">
                <Description>The currency code for the amount field, according to ISO 4217. Normally ZAR.</Description>
            </Field>
            <Field name="settlementAmount" fieldNumber="6" type="Long" divisor="PRICE">
                <Description>The amount in 'settlementCurrency' that must be called for in cash collateral. If the settlementCurrency is not ZAR, this amount has been calculated by RTC using the most recent exchange rate. This field is set by RTC.</Description>
            </Field>
            <Field name="settlementCurrency" fieldNumber="7" type="String">
                <Description>The currency used to settle this withdrawal. Is the preferred currency for the member/client or ZAR if preferred currency is not set. This field is set by RTC.</Description>
            </Field>
            <Field name="clearingMember" fieldNumber="8" type="String">
                <Description>Clearing Member ID. Set on outbound messages.</Description>
            </Field>
            <Field name="paymentAdviceState" fieldNumber="9" type="int" allowedValues="PaymentAdviceState">
                <Description>The payment advice state</Description>
            </Field>
            <Field name="senderRef" fieldNumber="10" type="String">
                <Description>Unique Id generated by the clearing system.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="11" type="String">
                <Description>The owner (member or client) of the risk node. Set on outgoing messages from RTC.</Description>
            </Field>
        </Message>
        <Message name="GetPaymentAdvicesReq" messageId="10491" extends="RequestMessage" returns="GetPaymentAdvicesRsp" type="rtcSettlement">
            <Description>Get payment advices for a particular clearing member.</Description>
            <Field name="bookmark" fieldNumber="2" type="String">
                <Description>The bookmark marks a specific item in a list of data. The bookmark received in the response should be used in next request to get next page of information.</Description>
            </Field>
            <Field name="clearingMember" fieldNumber="3" type="String">
                <Description>The clearing member ID.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="4" type="String">
                <Description>The settlement date. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="pageSize" fieldNumber="5" type="Integer">
                <Description>The preferred page size, this means max number of items in the response. If not set, the default pagesize is used.</Description>
            </Field>
        </Message>
        <Message name="GetPaymentAdvicesRsp" messageId="10492" extends="ResponseMessage" type="rtcSettlement">
            <Description>Response to the GetPaymentAdvicesReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="bookmark" fieldNumber="6" type="String">
                <Description>The bookmark marks a specific item in a list of data on the server. The bookmark received in the response should be used in next request to get next page of information.</Description>
            </Field>
            <Field name="paymentAdvices" fieldNumber="7" type="PaymentAdvice" dimension="objectArray">
                <Description>The payment advices.</Description>
            </Field>
        </Message>
        <Message name="RequestForFXCollateral" messageId="10383" type="rtcSettlementExternal">
            <Description>Amount in ZAR per entity that can be covered with FX collateral. Returned as an array in GetRequestsForFXCollateralRsp.</Description>
            <Field name="valueDate" fieldNumber="1" type="String" mandatory="required">
                <Description>Value date , format YYYY-MM-DD.</Description>
            </Field>
            <Field name="clientId" fieldNumber="2" type="String" mandatory="required">
                <Description>The client ID / TM House.</Description>
            </Field>
            <Field name="tradingMemberId" fieldNumber="3" type="String" mandatory="required">
                <Description>The ID of the Trading Member.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="4" type="String" mandatory="required">
                <Description>The ID of the Clearing Member.</Description>
            </Field>
            <Field name="amount" fieldNumber="5" type="long" divisor="PRICE" mandatory="required">
                <Description>Amount in ZAR that can be covered with FX.</Description>
            </Field>
            <Field name="ccy" fieldNumber="6" type="String" mandatory="required">
                <Description>Valued Currency.</Description>
            </Field>
        </Message>
        <Message name="GetRequestsForFXCollateralReq" messageId="10384" extends="RequestMessage" returns="GetRequestsForFXCollateralRsp" type="rtcSettlementExternal">
            <Description>Request for the clearing member to get the information about the amounts per client/house that can be covered qith FX collateral. Next step is for the clearing member to send in a confirmation with the different amounts in FX with RegisterFXCollateralReq.</Description>
            <Field name="valueDate" fieldNumber="2" type="String" mandatory="required">
                <Description>The requested value date.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="3" type="String">
                <Description>Request FX Collateral for a CM.</Description>
            </Field>
            <Field name="bookmark" fieldNumber="4" type="String">
                <Description>The bookmark from a paged response.</Description>
            </Field>
        </Message>
        <Message name="GetRequestsForFXCollateralRsp" messageId="10385" extends="ResponseMessage" type="rtcSettlementExternal">
            <Description>Response to GetRequestsForFXCollateralReq request. Includes values in ZAR that could be covered with FX, per client/house.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="fxRequests" fieldNumber="6" type="RequestForFXCollateral" dimension="objectArray">
                <Description>The requests for FX Collateral</Description>
            </Field>
            <Field name="bookmark" fieldNumber="7" type="String">
                <Description>Bookmark to use in query for next batch.</Description>
            </Field>
        </Message>
        <Message name="RegisterFXCollateralReq" messageId="10386" extends="RequestMessage" returns="RegisterFXCollateralRsp" type="rtcSettlementExternal">
            <Description>For clearing member to register FX Collateral.</Description>
            <Field name="valueDate" fieldNumber="2" type="String" mandatory="required">
                <Description>The requested value date. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="clientId" fieldNumber="3" type="String">
                <Description>The client ID.</Description>
            </Field>
            <Field name="tradingMemberId" fieldNumber="4" type="String" mandatory="required">
                <Description>The ID of the Trading Member.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="5" type="String" mandatory="required">
                <Description>The ID of the Clearing Member.</Description>
            </Field>
            <Field name="fxCollateral" fieldNumber="6" type="FXCollateral" dimension="objectArray">
                <Description>The received currency collateral</Description>
            </Field>
        </Message>
        <Message name="RegisterFXCollateralRsp" messageId="10387" extends="ResponseMessage" type="rtcSettlementExternal">
            <Description>Response to RegisterFXCollateralReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="fxCollateralStatus" fieldNumber="6" type="FXCollateralStatus" dimension="objectArray">
                <Description>The status of registered FX collateral</Description>
            </Field>
            <Field name="statusText" fieldNumber="7" type="String" mandatory="required">
                <Description>Description of the execution status.</Description>
            </Field>
        </Message>
        <Message name="FXCollateral" messageId="10388" extends="RequestMessage" type="rtcSettlementExternal" internal="true">
            <Description>FX Collateral input.</Description>
            <Field name="allowedFXAmount" fieldNumber="2" type="long" divisor="PRICE" mandatory="required">
                <Description>Amount of allowed FX in ZAR.</Description>
            </Field>
            <Field name="availableFXAmount" fieldNumber="3" type="long" divisor="PRICE" mandatory="required">
                <Description>Amount of available Collateral FX Currency.</Description>
            </Field>
            <Field name="currency" fieldNumber="4" type="String" mandatory="required">
                <Description>Available Currency. The alphabetic currency code according to ISO 4217.</Description>
            </Field>
            <Field name="valuationPrice" fieldNumber="5" type="long" divisor="PRICE" mandatory="required">
                <Description>Valuation price of FX Currency.</Description>
            </Field>
        </Message>
        <Message name="FXCollateralStatus" messageId="10389" type="rtcSettlementExternal" internal="true">
            <Description>Status of requested registration of FX collateral.</Description>
            <Field name="postedQtyFx" fieldNumber="1" type="long" divisor="PRICE" mandatory="required">
                <Description>The resulting posted collateral quantity per FX.</Description>
            </Field>
            <Field name="postedValueFx" fieldNumber="2" type="long" divisor="PRICE" mandatory="required">
                <Description>The resulting posted collateral value in ZAR per FX, after haircut.</Description>
            </Field>
            <Field name="currency" fieldNumber="3" type="String" mandatory="required">
                <Description>Available Currency. The alphabetic currency code according to ISO 4217.</Description>
            </Field>
            <Field name="statusText" fieldNumber="4" type="String" mandatory="required">
                <Description>Description of status of the transaction.</Description>
            </Field>
        </Message>
        <Message name="MemberBalance1" messageId="10412" type="rtcSettlementExternal" internal="true">
            <Description>CM balance 1 information for the CM or one of its cleared TM members.</Description>
            <Field name="memberId" fieldNumber="1" type="String">
                <Description>ID of clearing member or trading member.</Description>
            </Field>
            <Field name="initialMargin" fieldNumber="2" type="long" divisor="PRICE">
                <Description>Total Initial margin for TM house and clients accumulated to the Trading member. Always a positive value.</Description>
            </Field>
            <Field name="additionalMargin" fieldNumber="3" type="Long" divisor="PRICE">
                <Description>Total additional margin for TM house and clients accumulated to the Trading member. Always a positive value.</Description>
            </Field>
            <Field name="variationMargin" fieldNumber="4" type="long" divisor="PRICE">
                <Description>Total Variation margin for TM house and clients. Negative if the total net is a loss.</Description>
            </Field>
            <Field name="dividends" fieldNumber="5" type="Long" divisor="PRICE">
                <Description>Sum of all Dividends for dividend neutral contracts.</Description>
            </Field>
            <Field name="fundingInterest" fieldNumber="6" type="Long" divisor="PRICE">
                <Description>Sum of Interest on CFD contracts.</Description>
            </Field>
        </Message>
        <Message name="FxInterestRate" messageId="10414" type="rtcSettlementExternal" internal="true">
            <Description>Keeps information about interest rate for a currency</Description>
            <Field name="currencyId" fieldNumber="1" type="String">
                <Description>ID of the currency. ISO 4217 alphabetic code.</Description>
            </Field>
            <Field name="interestRate" fieldNumber="2" type="Long" divisor="PRICE">
                <Description>Interest rate for the currency.</Description>
            </Field>
        </Message>
        <Message name="MemberBalance2" messageId="10415" type="rtcSettlementExternal" internal="true">
            <Description>CM balance 2 information for the CM or one of its cleared TM members.</Description>
            <Field name="memberId" fieldNumber="1" type="String">
                <Description>ID of clearing member or trading member.</Description>
            </Field>
            <Field name="bookingFees" fieldNumber="4" type="Long" divisor="PRICE">
                <Description>Total net booking fee, including VAT, for the specified member ID. A negative number means that the member will pay the amount.</Description>
            </Field>
            <Field name="riskFees" fieldNumber="5" type="Long" divisor="PRICE">
                <Description>Total net risk fee, including VAT, for the specified member ID. A negative number means that the member will pay the amount.</Description>
            </Field>
            <Field name="commissions" fieldNumber="3" type="Long" divisor="PRICE">
                <Description>Total commission for the specified member ID. A negative number means that the member will pay the amount for commissions.</Description>
            </Field>
        </Message>
        <Message name="SetCmBalancingStatusReq" messageId="10420" extends="RequestMessage" returns="SetCmBalancingStatusRsp" type="rtcSettlementExternal">
            <Description>Request to set balance status for a CM.</Description>
            <Field name="step" fieldNumber="2" type="String" allowedValues="CmBalancingStep" mandatory="required">
                <Description>The balancing step to set the status for.</Description>
            </Field>
            <Field name="clearingMember" fieldNumber="3" type="String" mandatory="required">
                <Description>ID of the clearing member.</Description>
            </Field>
            <Field name="balanced" fieldNumber="4" type="boolean">
                <Description>True if the CM is balanced, otherwise false.</Description>
            </Field>
        </Message>
        <Message name="SetCmBalancingStatusRsp" messageId="10421" extends="ResponseMessage" type="rtcSettlementExternal">
            <Description>Response to a SetCmBalancingStatusReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
        </Message>
        <Message name="QueryDividendPaymentFactorsReq" messageId="10527" extends="RequestMessage" returns="QueryDividendPaymentFactorsRsp" type="rtcSettlementExternal">
            <Description>Query the factors used in the calculation of dividend payments.</Description>
            <Field name="exDate" fieldNumber="2" type="String" mandatory="required">
                <Description>The ex-date to get dividend payment factors for.</Description>
            </Field>
            <Field name="alphaCode" fieldNumber="3" type="String">
                <Description>Alpha code for the instrument where dividend is paid. If blank, all dividend factors for the ex-date will be returned.</Description>
            </Field>
        </Message>
        <Message name="QueryDividendPaymentFactorsRsp" messageId="10528" extends="ResponseMessage" type="rtcSettlementExternal">
            <Description>Response message for the QueryDividendPaymentFactorsReq</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="dividendFactors" fieldNumber="6" type="DividendFactor" dimension="objectArray">
                <Description>An array of the dividend factors matching the search criteria.</Description>
            </Field>
        </Message>
        <Message name="DividendFactor" messageId="10529" type="rtcSettlementExternal" internal="true">
            <Description>The dividend factors used for calculating settlement amounts for dividends.</Description>
            <Field name="exDate" fieldNumber="1" type="String">
                <Description>The ex-date for the dividend.</Description>
            </Field>
            <Field name="ldtDate" fieldNumber="2" type="String">
                <Description>The LDT date for the dividend.</Description>
            </Field>
            <Field name="settlementDate" fieldNumber="3" type="String">
                <Description>The settlement date for the dividend payment.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="4" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="alphaCode" fieldNumber="5" type="String">
                <Description>Common identifier code for derivative instruments</Description>
            </Field>
            <Field name="presentValue" fieldNumber="6" type="Long" divisor="PRICE">
                <Description>The present value factor (DivPV) for this dividend.</Description>
            </Field>
            <Field name="forwardValue" fieldNumber="7" type="Long" divisor="PRICE">
                <Description>The forward value factor (DivFV) for this dividend.</Description>
            </Field>
            <Field name="dividendAmount" fieldNumber="8" type="Long" divisor="PRICE">
                <Description>The dividend amount.</Description>
            </Field>
            <Field name="currency" fieldNumber="9" type="String">
                <Description>Currency of the dividend amount.</Description>
            </Field>
            <Field name="timestamp" fieldNumber="10" type="String">
                <Description>Time stamp when the dividend calculation was started.</Description>
            </Field>
        </Message>
        <Message name="QueryTradesReq" messageId="10258" extends="RequestMessage" returns="QueryTradesRsp" type="rtcTradeManagement">
            <Description>Query trades from previous days. If the flag hasMore is set in the response, there are too many trades matching the search criteria. The client needs to specify narrower criteria and submit the query again.</Description>
            <Field name="tradeBusinessDateFrom" fieldNumber="2" type="String" mandatory="required">
                <Description>Query trades from date. Can be current or previous business day. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="tradeBusinessDateTo" fieldNumber="3" type="String">
                <Description>Query trades to date. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="tradeTimeFrom" fieldNumber="4" type="String">
                <Description>Query trades from time. The format is yyyy-MM-ddTHH:mm:ss.SSS.</Description>
            </Field>
            <Field name="tradeTimeTo" fieldNumber="5" type="String">
                <Description>Query trades to time. The format is yyyy-MM-ddTHH:mm:ss.SSS.</Description>
            </Field>
            <Field name="clearingMemberId" fieldNumber="6" type="String">
                <Description>Query trades with Clearing Member. If requested by a CM user then mandatory, needs to be set to the same CM as the logged in user.</Description>
            </Field>
            <Field name="tradingMember" fieldNumber="7" type="String">
                <Description>Query trades with Trading Member. If requested by TM user then mandatory, needs to be set to the same TM as the TM of the logged in user.</Description>
            </Field>
            <Field name="tradingMemberBranch" fieldNumber="8" type="String">
                <Description>Query trades with branch. If requested by Branch user then mandatory, needs to be set to the same Branch as the Branch of the logged in user.</Description>
            </Field>
            <Field name="clientId" fieldNumber="9" type="String">
                <Description>Query trades with client.</Description>
            </Field>
            <Field name="internalAccountId" fieldNumber="10" type="Long">
                <Description>Query trades with account. If Client specified: need to be an account of the client. If Branch but not Client specified: needs to be a house account of the Branch. If TM but not Branch or Client specified: needs to be a house account of the TM.</Description>
            </Field>
            <Field name="tradingUser" fieldNumber="11" type="String">
                <Description>Query trades with Trading User.</Description>
            </Field>
            <Field name="internalTradableInstrumentId" fieldNumber="12" type="Long">
                <Description>Query trades with Tradable Instrument.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="20" type="String">
                <Description>Query trades with Tradable Instrument. This is the JSE Master ID.</Description>
            </Field>
            <Field name="alphaCode" fieldNumber="13" type="String">
                <Description>Query trades with Alpha Code.</Description>
            </Field>
            <Field name="previousTradeIds" fieldNumber="14" type="String">
                <Description>Query trades with Previous Trade Ids.</Description>
            </Field>
            <Field name="nextTradeIds" fieldNumber="15" type="String">
                <Description>Query trades with Next Trade Ids.</Description>
            </Field>
            <Field name="tradingSystemMatchId" fieldNumber="16" type="String">
                <Description>Query trades with Trade Id.</Description>
            </Field>
            <Field name="tradingSystemTradeLinkId" fieldNumber="17" type="String">
                <Description>Query trades with Trade Link Id.</Description>
            </Field>
            <Field name="dealId" fieldNumber="18" type="Long">
                <Description>Query trades with internal Deal Id.</Description>
            </Field>
            <Field name="tradeId" fieldNumber="19" type="Long">
                <Description>Query trades with internal Trade Id.</Description>
            </Field>
        </Message>
        <Message name="QueryTradesRsp" messageId="10259" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Query trades response.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="trades" fieldNumber="6" type="TradeRes" dimension="objectArray">
                <Description>Trades</Description>
            </Field>
            <Field name="hasMore" fieldNumber="7" type="boolean">
                <Description>A flag indicating whether or not the response was truncated by the server</Description>
            </Field>
        </Message>
        <Message name="TradeRes" messageId="10260" type="rtcTradeManagement" internal="true">
            <Description>Trade resulted from query in history.</Description>
            <Field name="tradeId" fieldNumber="1" type="long">
                <Description>Internal identifier for a trade created by the clearing system. Updates of a trade (if supported) should keep the same TradeId. Unique over time.</Description>
            </Field>
            <Field name="origTradeId" fieldNumber="2" type="Long">
                <Description>Used to preserve the original trade id when original trade is being referenced in a subsequent trade transaction such as a transfer. For example when moving a trade this refers to the previous trade id. It works for moved/allocated trades as long as the new trade only consist of quantity from one trade. It does not work for aggregations since those trades comes from multiple trades. In case a trade is moved in multiple steps origTradeID points to the previous trade and not the initial trade.</Description>
            </Field>
            <Field name="initialTradeId" fieldNumber="3" type="Long">
                <Description>If there has been multiple moves this points to the initial trade.</Description>
            </Field>
            <Field name="businessDate" fieldNumber="8" type="String">
                <Description>Business date of the transaction according. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="tradeDate" fieldNumber="9" type="String">
                <Description>The trade date of the trade. The format is yyyy-MM-dd.</Description>
            </Field>
            <Field name="dealId" fieldNumber="10" type="Long">
                <Description>Internal identifier for linking the trade to a deal.</Description>
            </Field>
            <Field name="clientDealId" fieldNumber="11" type="String">
                <Description>Reference to the deal id specified by the client.</Description>
            </Field>
            <Field name="clOrdId" fieldNumber="12" type="String">
                <Description>A optional reference set by the trading member to backtrack the trade to an order at the trading venue</Description>
            </Field>
            <Field name="originalQuantity" fieldNumber="14" type="BigInteger" divisor="QTY">
                <Description>The original quantity on the trade, differs from LastQty if quantity has been moved from/to the trade after entering it</Description>
            </Field>
            <Field name="activeQuantity" fieldNumber="15" type="BigInteger" divisor="QTY">
                <Description>The current active quantity of the trade</Description>
            </Field>
            <Field name="reservedQuantity" fieldNumber="16" type="BigInteger" divisor="QTY">
                <Description>The current reserved quantity of the trade</Description>
            </Field>
            <Field name="remainingQuantity" fieldNumber="17" type="BigInteger" divisor="QTY">
                <Description>The current remaining quantity of the trade</Description>
            </Field>
            <Field name="price" fieldNumber="18" type="BigInteger" divisor="PRICE">
                <Description>Price of the trade.</Description>
            </Field>
            <Field name="originalPrice" fieldNumber="19" type="BigInteger" divisor="PRICE">
                <Description>Price of the original trade. Needed for audit since price might be modified in trade management.</Description>
            </Field>
            <Field name="currency" fieldNumber="20" type="String">
                <Description>The currency of LastPx, either add it to the trade or take it from the instrument.</Description>
            </Field>
            <Field name="previousTradeIds" fieldNumber="21" type="String">
                <Description>Comma separated list of trade ids.</Description>
            </Field>
            <Field name="nextTradeIds" fieldNumber="22" type="String">
                <Description>Comma separated list of trade ids.</Description>
            </Field>
            <Field name="text" fieldNumber="23" type="String">
                <Description>Optional free text field from the reference of the original trade.</Description>
            </Field>
            <Field name="initialValue" fieldNumber="24" type="BigInteger" divisor="QTY">
                <Description>Initial value of the trade (price*qty*contract size)</Description>
            </Field>
            <Field name="tradeTimestamp" fieldNumber="25" type="String">
                <Description>Trade time according to the clearing system. The format is yyyy-MM-ddTHH:mm:ss.SSS.</Description>
            </Field>
            <Field name="timeOfEntry" fieldNumber="61" type="String">
                <Description>Trade time according to the Trading system. The format is yyyy-MM-ddTHH:mm:ss.SSS.</Description>
            </Field>
            <Field name="lastMkt" fieldNumber="28" type="String">
                <Description>Market of the trade. Internally set in case of trade management operations.</Description>
            </Field>
            <Field name="positionReason" fieldNumber="29" type="Integer" allowedValues="PositionReason">
                <Description>Contains all different types of event reasons also for all trade management reasons. Can be used for billing and surveillance purpose.</Description>
            </Field>
            <Field name="isBuy" fieldNumber="30" type="boolean">
                <Description>Side of trade (buy/sell)</Description>
            </Field>
            <Field name="trader" fieldNumber="31" type="String">
                <Description>ID of the trader of this trade. For new trades caused by deal management it should be the id of the user doing the operation. In case of updating updating the trade (moving qty for example) the trader should remain as the original trader, i.e. this attribute should never be updated once created. The user from the position will state who caused the event, i.e. the user triggering the action.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="60" type="String">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="underlyingSymbol" fieldNumber="33" type="String">
                <Description>Human readable representation of the underlying instrument</Description>
            </Field>
            <Field name="contractSize" fieldNumber="34" type="BigInteger" divisor="QTY">
                <Description>Size of contract</Description>
            </Field>
            <Field name="instrumentType" fieldNumber="35" type="String">
                <Description>Type of instrument according to system</Description>
            </Field>
            <Field name="instrumentCurrency" fieldNumber="36" type="String">
                <Description>Currency of the instrument.</Description>
            </Field>
            <Field name="marketList" fieldNumber="37" type="String">
                <Description>Name of the market list</Description>
            </Field>
            <Field name="marketSegment" fieldNumber="38" type="String">
                <Description>Name of the market segment</Description>
            </Field>
            <Field name="market" fieldNumber="39" type="String">
                <Description>Name of the market</Description>
            </Field>
            <Field name="accountId" fieldNumber="40" type="long">
                <Description>Unique identifier of the account for trade.</Description>
            </Field>
            <Field name="accountType" fieldNumber="42" type="String">
                <Description>The type of account for the trade. References name to constant PositionAccountType.</Description>
            </Field>
            <Field name="accountSubType" fieldNumber="43" type="String">
                <Description>The sub type of account for the trade. References name to constant PositionAccountSubType.</Description>
            </Field>
            <Field name="clearingMember" fieldNumber="44" type="String">
                <Description>The clearing member for this trade</Description>
            </Field>
            <Field name="tradingMember" fieldNumber="45" type="String">
                <Description>The member who owns this trade</Description>
            </Field>
            <Field name="tmBranch" fieldNumber="46" type="String">
                <Description>Trading member branch if applicable</Description>
            </Field>
            <Field name="client" fieldNumber="47" type="String">
                <Description>Client ID if applicable</Description>
            </Field>
            <Field name="clientName" fieldNumber="62" type="String">
                <Description>Client Name if applicable</Description>
            </Field>
            <Field name="callPut" fieldNumber="48" type="String">
                <Description>If this is an option, it represents its type (call or put)</Description>
            </Field>
            <Field name="strike" fieldNumber="49" type="BigInteger" divisor="PRICE">
                <Description>The strike price of the instrument if it is an option. Null otherwise</Description>
            </Field>
            <Field name="expirationDate" fieldNumber="50" type="String">
                <Description>The expiry date of the instrument</Description>
            </Field>
            <Field name="alphaCode" fieldNumber="51" type="String">
                <Description>Common identifier code for derivative instruments</Description>
            </Field>
            <Field name="tsTradingMatchId" fieldNumber="52" type="String">
                <Description>Trading Id from the Trading System</Description>
            </Field>
            <Field name="tsTradingLinkId" fieldNumber="53" type="String">
                <Description>Trading Link Id from the Trading System</Description>
            </Field>
            <Field name="tsTradingHalfId" fieldNumber="63" type="String">
                <Description>Trading Half Id from the Trading System</Description>
            </Field>
            <Field name="clientType" fieldNumber="54" type="String" allowedValues="ClientType">
                <Description>For clients only - type of client. Information to surveillance.</Description>
            </Field>
            <Field name="idNumber" fieldNumber="55" type="Long">
                <Description>For clients only - ID number.</Description>
            </Field>
            <Field name="passportNumber" fieldNumber="56" type="String">
                <Description>For clients only - Passport number.</Description>
            </Field>
            <Field name="companyRegistrationNumber" fieldNumber="57" type="String">
                <Description>For clients only - Company registration number.</Description>
            </Field>
            <Field name="isProfessional" fieldNumber="58" type="Boolean">
                <Description>For clients only - Information to surveillance.</Description>
            </Field>
            <Field name="isShariah" fieldNumber="59" type="Boolean">
                <Description>For clients only - Information to surveillance.</Description>
            </Field>
            <Field name="isStaff" fieldNumber="64" type="Boolean">
                <Description>For clients only - Information to surveillance.</Description>
            </Field>
            <Field name="isBeneficial" fieldNumber="65" type="Boolean">
                <Description>For clients only - Information to surveillance.</Description>
            </Field>
            <Field name="isDiscretionary" fieldNumber="66" type="Boolean">
                <Description>For clients only - Information to surveillance.</Description>
            </Field>
            <Field name="aggressor" fieldNumber="67" type="Boolean">
                <Description>Aggressor from Trading System.</Description>
            </Field>
            <Field name="capacity" fieldNumber="68" type="Integer" allowedValues="Capacity">
                <Description>Capacity from Trading System.</Description>
            </Field>
            <Field name="onBookQuantity" fieldNumber="69" type="Long" divisor="QTY">
                <Description>The On Book Quantity. One unit of the currency is expressed by DIVISOR.QTY. This field represents a decimal value. The value of the field is the decimal value multiplied by the constant DIVISOR.QTY. Example: The value "12.50" is represented as 12500000 in this field.</Description>
            </Field>
            <Field name="offBookQuantity" fieldNumber="70" type="Long" divisor="QTY">
                <Description>The Off Book Quantity. One unit of the currency is expressed by DIVISOR.QTY. This field represents a decimal value. The value of the field is the decimal value multiplied by the constant DIVISOR.QTY. Example: The value "12.50" is represented as 12500000 in this field.</Description>
            </Field>
            <Field name="tradeType" fieldNumber="71" type="String" allowedValues="RtcTradeType">
                <Description>Trade Type from Trading System.</Description>
            </Field>
            <Field name="zeroFeeFlag" fieldNumber="72" type="boolean">
                <Description>Flag to indicate that the trade is marked for zero fee.</Description>
            </Field>
            <Field name="interestRateSpread" fieldNumber="73" type="Long" divisor="PRICE">
                <Description>Rate added to base rate on a CFD to get the Funding rate. Numeric, positive or negative. The value "2.0%" is represented as 2000000 in this field. Mandatory if the type of the instrument is CFD.</Description>
            </Field>
            <Field name="optionDelta" fieldNumber="123" type="BigInteger" divisor="PRICE">
                <Description>Option delta from the trading system. Valid for Options.</Description>
            </Field>
            <Field name="isin" fieldNumber="74" type="String">
                <Description>ISIN code</Description>
            </Field>
            <Field name="shortName" fieldNumber="75" type="String">
                <Description>The user friendly name the tradable instrument. Is not unique.</Description>
            </Field>
            <Field name="instrumentSubType" fieldNumber="76" type="String">
                <Description>JSE Instrument Type.</Description>
            </Field>
            <Field name="inwardListed" fieldNumber="77" type="boolean">
                <Description>Inward Listed according to the South African Reserve Bank.</Description>
            </Field>
            <Field name="baseRate" fieldNumber="78" type="String">
                <Description>The base rate name for a CFD.</Description>
            </Field>
            <Field name="tradingUser" fieldNumber="79" type="String">
                <Description>ID of the trader of this trade. Carried from the trading system. Also known as dealer.For new trades caused by deal management it should be the id of the user doing the operation. In case of updating updating the trade (moving qty for example) the trader should remain as the original trader, i.e. this attribute should never be updated once created. The user from the position will state who caused the event, i.e. the user triggering the action.</Description>
            </Field>
            <Field name="externalPositionAccount" fieldNumber="80" type="String">
                <Description>External ID of the position account. CM/TM link table is used to find the right risk tree.</Description>
            </Field>
            <Field name="participantUnitId" fieldNumber="81" type="String">
                <Description>The owner of the account in the member structure. This is the ID of the lowest applicable level in the TM/Branch/Client member structure. Contains the Client ID for client accounts.</Description>
            </Field>
            <Field name="vatRegistrationNumber" fieldNumber="82" type="String">
                <Description>The VAT Registration number. If the same legal Client is using several TMs, each TM will manage their own instance of the Client. The different instances of the Client in the system will then share the same VAT Registration Number.</Description>
            </Field>
            <Field name="isNonResident" fieldNumber="83" type="boolean">
                <Description>Indication of the Client is resident of South Africa or not. If Country Code is ZA, the Client must be Resident. If Country Code is not ZA, the Client must be Non Resident.</Description>
            </Field>
            <Field name="address" fieldNumber="84" type="String">
                <Description>Address of the client.</Description>
            </Field>
            <Field name="country" fieldNumber="85" type="String">
                <Description>Registered Country for client.</Description>
            </Field>
            <Field name="bdaCode" fieldNumber="86" type="Integer">
                <Description>Broker Dealer Accounting system (BDA) account number.</Description>
            </Field>
            <Field name="assetClass" fieldNumber="89" type="String" allowedValues="AssetClass">
                <Description>Asset Class</Description>
            </Field>
            <Field name="assetSubClass" fieldNumber="90" type="String" allowedValues="AssetSubClass">
                <Description>Asset Sub Class</Description>
            </Field>
            <Field name="reference" fieldNumber="91" type="String">
                <Description>Reference field that can be used by user during trade management activities</Description>
            </Field>
            <Field name="agreedTime" fieldNumber="92" type="String">
                <Description>Time agreed between TM1 and TM2. Only applicable for reported trades. The format is yyyyMMdd-HH:mm:ss.fff.</Description>
            </Field>
            <Field name="reportedTime" fieldNumber="93" type="String">
                <Description>The time the reported trade was received on the trading system (system generated). yyyyMMdd-HH:mm:ss.fff.</Description>
            </Field>
            <Field name="fromTradeId" fieldNumber="94" type="Long">
                <Description>Trade ID of original trade in case this tarde is created from a trade management activity.</Description>
            </Field>
            <Field name="fromTradeTime" fieldNumber="95" type="String">
                <Description>The time new trades are created or the time a trade management activity is accepted.</Description>
            </Field>
            <Field name="fromRemainingQuantity" fieldNumber="96" type="BigInteger" divisor="QTY">
                <Description>The quantity moved to this trade</Description>
            </Field>
            <Field name="fromTM" fieldNumber="97" type="String">
                <Description>The TM of the From trade. Will be different from the TM for assigns and tripartite.</Description>
            </Field>
            <Field name="fromBranch" fieldNumber="98" type="String">
                <Description>The Branch of the From trade.</Description>
            </Field>
            <Field name="fromCM" fieldNumber="99" type="String">
                <Description>The CM of the From trade.</Description>
            </Field>
            <Field name="fromAccount" fieldNumber="100" type="Long">
                <Description>The account ID of the From trade</Description>
            </Field>
            <Field name="fromAccountType" fieldNumber="101" type="String">
                <Description>Account Type of the From trade. References name to constant PositionAccountType.</Description>
            </Field>
            <Field name="fromAccountSubType" fieldNumber="102" type="String">
                <Description>Account Sub Type of the From trade. References name to constant PositionAccountSubType.</Description>
            </Field>
            <Field name="fromAccountOwner" fieldNumber="103" type="String">
                <Description>The owner of the account in the member structure. This is the ID of the lowest applicable level in the TM/Branch/Client member structure. Contains the Client ID for client accounts.</Description>
            </Field>
            <Field name="fromExternalPositionAccount" fieldNumber="118" type="String">
                <Description>External ID of the position account of the From trade.</Description>
            </Field>
            <Field name="fromClientName" fieldNumber="104" type="String">
                <Description>The name of the to client for the From trade</Description>
            </Field>
            <Field name="fromClientType" fieldNumber="105" type="String" allowedValues="ClientType">
                <Description>Type of client. Used mainly for surveillance when creating reports.</Description>
            </Field>
            <Field name="fromIsDiscretionary" fieldNumber="113" type="boolean">
                <Description>True for Discretionary clients, for the From Trade.</Description>
            </Field>
            <Field name="fromIsStaff" fieldNumber="107" type="boolean">
                <Description>True for Staff clients, for the From Trade.</Description>
            </Field>
            <Field name="fromIsBeneficial" fieldNumber="108" type="boolean">
                <Description>True for Beneficial Account clients, for the From Trade.</Description>
            </Field>
            <Field name="fromIsProfessional" fieldNumber="109" type="boolean">
                <Description>True for professional clients, for the From Trade.</Description>
            </Field>
            <Field name="fromIsShariah" fieldNumber="110" type="boolean">
                <Description>True for Shariah clients, for the From Trade.</Description>
            </Field>
            <Field name="fromIsNonResident" fieldNumber="111" type="boolean">
                <Description>Indication of the Client is resident of South Africa or not. If Country Code is ZA, the Client must be Resident. If Country Code is not ZA, the Client must be Non Resident, for the From Trade.</Description>
            </Field>
            <Field name="fromBdaCode" fieldNumber="112" type="Integer">
                <Description>Broker Dealer Accounting system (BDA) account number, for the From trade</Description>
            </Field>
            <Field name="fromTradingUser" fieldNumber="119" type="String">
                <Description>Trading user of the From trade</Description>
            </Field>
            <Field name="fromPositionReason" fieldNumber="120" type="Integer" allowedValues="PositionReason">
                <Description>Position reason of the From trade</Description>
            </Field>
            <Field name="clearingMemberName" fieldNumber="114" type="String">
                <Description>The long name of the CM.</Description>
            </Field>
            <Field name="tradingMemberName" fieldNumber="115" type="String">
                <Description>The long name of the TM.</Description>
            </Field>
            <Field name="branchName" fieldNumber="116" type="String">
                <Description>The long name of the Branch.</Description>
            </Field>
            <Field name="clientPhone" fieldNumber="117" type="String">
                <Description>The phone number of the Client</Description>
            </Field>
            <Field name="nominatedMemberId" fieldNumber="121" type="String">
                <Description>Member handling physical delivery</Description>
            </Field>
            <Field name="clientNominatedMemberId" fieldNumber="122" type="String">
                <Description>Member handling physical delivery for the client.</Description>
            </Field>
            <Field name="firmTradeId" fieldNumber="124" type="String">
                <Description>Free text field carried from the trading system for off book trades.</Description>
            </Field>
            <Field name="tradeReportId" fieldNumber="125" type="String">
                <Description>Free text field carried from the trading system for on and off book trades.</Description>
            </Field>
        </Message>
        <Message name="AllocateTradeReq" messageId="10104" extends="RequestMessage" returns="AllocateTradeRsp" type="rtcTradeManagement">
            <Description>The purpose of trade allocation is to allocate or split a trade from one account to an another account. Allocation is performed by making an opposite trade on the original account and an equal trade on the receiving account.</Description>
            <Field name="tradeId" fieldNumber="2" type="long" mandatory="required">
                <Description>Trade id.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="9" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
            <Field name="moveId" fieldNumber="7" type="Long">
                <Description>Must be unique for the referenced trade. Used to prevent duplicate move trade requests.</Description>
            </Field>
            <Field name="fromAccountId" fieldNumber="3" type="long" mandatory="required">
                <Description>The account to allocate the Trade from</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="8" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="destinations" fieldNumber="6" type="TradeDestination" dimension="objectArray" mandatory="required">
                <Description>One or more destinations for this move operation.</Description>
            </Field>
        </Message>
        <Message name="AllocateTradeRsp" messageId="10105" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the AllocateTradeReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="tradeIds" fieldNumber="6" type="Long" dimension="array">
                <Description>The IDs of the trades that were created as part of this move trade operation.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="7" type="long">
                <Description>The ID of the transaction that updated the positions affected by this move trade operation.</Description>
            </Field>
        </Message>
        <Message name="AggregateTradesReq" messageId="10049" extends="RequestMessage" returns="AggregateTradesRsp" type="rtcTradeManagement">
            <Description>A number of trades can be accumulated into a single trade with a volume weighted average price. The trades need to be on the same account, the same contract and the same side (only buy or only sell) from current day.</Description>
            <Field name="moveId" fieldNumber="2" type="Long">
                <Description>Must be unique for the referenced trade. Used to prevent duplicate move requests.</Description>
            </Field>
            <Field name="tradeIds" fieldNumber="3" type="long" dimension="array" mandatory="required">
                <Description>Trade ids.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="9" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="reference" fieldNumber="5" type="String">
                <Description>An optional free text field.</Description>
            </Field>
            <Field name="destinationReference" fieldNumber="6" type="String">
                <Description>The destination for this operation.</Description>
            </Field>
            <Field name="accountId" fieldNumber="8" type="long" mandatory="required">
                <Description>The account id for the trades.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="10" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
        </Message>
        <Message name="AggregateTradesRsp" messageId="10050" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the AggregateTrades request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="tradeId" fieldNumber="6" type="Long">
                <Description>The IDs of the trade that were created as part of this move trade operation.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="7" type="long">
                <Description>The ID of the transaction that updated the positions affected by this move trade operation.</Description>
            </Field>
        </Message>
        <Message name="CorrectAllocationErrorReq" messageId="10108" extends="RequestMessage" returns="CorrectAllocationErrorRsp" type="rtcTradeManagement">
            <Description>To correct when a trade has erroneously been allocated to wrong client, i.e. to move the trade from one client to another.</Description>
            <Field name="tradeId" fieldNumber="2" type="long" mandatory="required">
                <Description>Trade id.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="9" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
            <Field name="moveId" fieldNumber="7" type="Long">
                <Description>Must be unique for the referenced trade. Used to prevent duplicate move trade requests.</Description>
            </Field>
            <Field name="fromAccountId" fieldNumber="3" type="long" mandatory="required">
                <Description>The current account for the Trade.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="8" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="reference" fieldNumber="5" type="String">
                <Description>An optional free text field.</Description>
            </Field>
            <Field name="toAccountId" fieldNumber="6" type="long" mandatory="required">
                <Description>The new account for the Trade.</Description>
            </Field>
        </Message>
        <Message name="CorrectAllocationErrorRsp" messageId="10109" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the AllocateTradeReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="tradeIds" fieldNumber="6" type="Long" dimension="array">
                <Description>The IDs of the trades that were created as part of this move trade operation.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="7" type="long">
                <Description>The ID of the transaction that updated the positions affected by this move trade operation.</Description>
            </Field>
        </Message>
        <Message name="CorrectPrincipalReq" messageId="10110" extends="RequestMessage" returns="CorrectPrincipalRsp" type="rtcTradeManagement">
            <Description>To move a trade from a client account to a member main or sub account.</Description>
            <Field name="tradeId" fieldNumber="2" type="long" mandatory="required">
                <Description>Trade id.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="9" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
            <Field name="moveId" fieldNumber="7" type="Long">
                <Description>Must be unique for the referenced trade. Used to prevent duplicate move trade requests.</Description>
            </Field>
            <Field name="fromAccountId" fieldNumber="3" type="long" mandatory="required">
                <Description>The current account for the Trade.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="8" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="reference" fieldNumber="5" type="String">
                <Description>An optional free text field.</Description>
            </Field>
            <Field name="toAccountId" fieldNumber="6" type="long" mandatory="required">
                <Description>The new account for the Trade.</Description>
            </Field>
        </Message>
        <Message name="CorrectPrincipalRsp" messageId="10111" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the CorrectPrincipalReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="tradeIds" fieldNumber="6" type="Long" dimension="array">
                <Description>The IDs of the trades that were created as part of this move trade operation.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="7" type="long">
                <Description>The ID of the transaction that updated the positions affected by this move trade operation.</Description>
            </Field>
        </Message>
        <Message name="ModifyPositionSubAccountReq" messageId="10112" extends="RequestMessage" returns="ModifyPositionSubAccountRsp" type="rtcTradeManagement">
            <Description>Request to move a position from a house main/house sub/house suspense/client suspense account to a house main or house sub account, or move a position from branch main/branch sub/branch clients suspense account to a branch main or branch sub account.</Description>
            <Field name="fromAccountId" fieldNumber="2" type="long" mandatory="required">
                <Description>The current account for the position.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="10" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
            <Field name="quantity" fieldNumber="3" type="Long" divisor="QTY" mandatory="required">
                <Description>The quantity to move.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="9" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="reference" fieldNumber="5" type="String">
                <Description>An optional free text field.</Description>
            </Field>
            <Field name="toAccountId" fieldNumber="6" type="long" mandatory="required">
                <Description>The new account for the position.</Description>
            </Field>
            <Field name="moveId" fieldNumber="7" type="Long">
                <Description>Must be unique for the referenced trade. Used to prevent duplicate move requests.</Description>
            </Field>
            <Field name="price" fieldNumber="11" type="BigInteger" divisor="PRICE">
                <Description>Optional price to be used for the created trades. If no price, EoD settlement price from the previous business day for the instrument is used.</Description>
            </Field>
        </Message>
        <Message name="ModifyPositionSubAccountRsp" messageId="10113" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the ModifyPositionSubAccountReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="tradeIds" fieldNumber="6" type="Long" dimension="array">
                <Description>The IDs of the trades that were created as part of this move trade operation.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="7" type="long">
                <Description>The ID of the transaction that updated the positions affected by this move trade operation.</Description>
            </Field>
        </Message>
        <Message name="ExerciseOptionPositionReq" messageId="10186" extends="RequestMessage" returns="ExerciseOptionPositionRsp" type="rtcTradeManagement">
            <Description>Exercise an option position. For American style options, this is allowed at any time during the contract’s lifetime. For European style options, this can only be done on the expiry day.</Description>
            <Field name="accountId" fieldNumber="2" type="long" mandatory="required">
                <Description>The account of the position.</Description>
            </Field>
            <Field name="quantity" fieldNumber="3" type="Long" divisor="QTY" mandatory="required">
                <Description>The exercise quantity.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="5" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="updateId" fieldNumber="6" type="String" mandatory="required">
                <Description>Unique id that should be set for the request. If the system has already processed an update with this id, a success message is returned without any position change.</Description>
            </Field>
        </Message>
        <Message name="ExerciseOptionPositionRsp" messageId="10187" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the ExerciseOptionPositionReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="tradeIds" fieldNumber="6" type="Long" dimension="array">
                <Description>The IDs of the trades that were created as part of this exercise of an option position.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="7" type="long">
                <Description>The ID of the transaction that updated the positions affected by this exercise of an option position.</Description>
            </Field>
        </Message>
        <Message name="AbandonOptionPositionReq" messageId="10188" extends="RequestMessage" returns="AbandonOptionPositionRsp" type="rtcTradeManagement">
            <Description>Abandon an option position.</Description>
            <Field name="accountId" fieldNumber="2" type="long" mandatory="required">
                <Description>The account of the position.</Description>
            </Field>
            <Field name="quantity" fieldNumber="3" type="Long" divisor="QTY" mandatory="required">
                <Description>The abandon quantity.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="5" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="updateId" fieldNumber="6" type="String" mandatory="required">
                <Description>Unique id that should be set for the request. If the system has already processed an update with this id, a success message is returned without any position change.</Description>
            </Field>
        </Message>
        <Message name="AbandonOptionPositionRsp" messageId="10189" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the AbandonOptionPositionReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="tradeIds" fieldNumber="6" type="Long" dimension="array">
                <Description>The IDs of the trades that were created as part of this abandon of an option position.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="7" type="long">
                <Description>The ID of the transaction that updated the positions affected by this abandon of an option position.</Description>
            </Field>
        </Message>
        <Message name="TradeDestination" messageId="10018" type="rtcTradeManagement" internal="true">
            <Description>This object describes on which account a trade should be booked and at what quantity.</Description>
            <Field name="accountId" fieldNumber="1" type="long" mandatory="required">
                <Description>The account to book a Trade to.</Description>
            </Field>
            <Field name="quantity" fieldNumber="2" type="BigInteger" divisor="QTY" mandatory="required">
                <Description>The quantity to book in the account.</Description>
            </Field>
            <Field name="reference" fieldNumber="3" type="String">
                <Description>An optional free text field.</Description>
            </Field>
        </Message>
        <Message name="AssignTradeReq" messageId="10114" extends="RequestMessage" returns="ResponseMessage" type="rtcTradeManagement">
            <Description>Request to assign trade to another member.</Description>
            <Field name="tradeId" fieldNumber="2" type="long" mandatory="required">
                <Description>Trade id.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="15" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
            <Field name="moveId" fieldNumber="10" type="Long">
                <Description>Must be unique for the referenced trade. Used to prevent duplicate move requests.</Description>
            </Field>
            <Field name="fromAccountId" fieldNumber="3" type="long" mandatory="required">
                <Description>The current account for the Trade.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="14" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="quantity" fieldNumber="8" type="Long" divisor="QTY" mandatory="required">
                <Description>The trade quantity.</Description>
            </Field>
            <Field name="reference" fieldNumber="6" type="String">
                <Description>An optional free text field.</Description>
            </Field>
            <Field name="acknowledger" fieldNumber="9" type="String" mandatory="required">
                <Description>The destination member Id.</Description>
            </Field>
        </Message>
        <Message name="CancelGiveUpReq" messageId="10128" extends="RequestMessage" returns="ResponseMessage" type="rtcTradeManagement">
            <Description>Request to cancel giveup request by the initator. The recipient of the GiveUpEvent will then be notified with a new GiveUpEvent where the state is set to CANCELLED.</Description>
            <Field name="fourEyesId" fieldNumber="2" type="long" mandatory="required">
                <Description>The ID of the Assign or Tripartite.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="7" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="initiator" fieldNumber="3" type="String" mandatory="required">
                <Description>The initiator member Id.</Description>
            </Field>
            <Field name="acknowledger" fieldNumber="4" type="String" mandatory="required">
                <Description>The destination member Id.</Description>
            </Field>
            <Field name="reason" fieldNumber="5" type="String">
                <Description>An optional free text field.</Description>
            </Field>
        </Message>
        <Message name="ApproveGiveUpReq" messageId="10130" extends="RequestMessage" returns="ResponseMessage" type="rtcTradeManagement">
            <Description>Request to approve give-up request. The give-up request has been published to the member using GiveUpEvent.</Description>
            <Field name="fourEyesId" fieldNumber="2" type="long" mandatory="required">
                <Description>The ID of the Assign or Tripartite.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="12" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="11" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="initiator" fieldNumber="3" type="String" mandatory="required">
                <Description>The initiator member Id.</Description>
            </Field>
            <Field name="acknowledger" fieldNumber="4" type="String" mandatory="required">
                <Description>The destination member Id.</Description>
            </Field>
            <Field name="client" fieldNumber="5" type="String">
                <Description>The destination client Id.</Description>
            </Field>
            <Field name="destinations" fieldNumber="8" type="TradeDestination" dimension="objectArray" mandatory="required">
                <Description>One or more destinations for this move operation.</Description>
            </Field>
        </Message>
        <Message name="RejectGiveUpReq" messageId="10132" extends="RequestMessage" returns="ResponseMessage" type="rtcTradeManagement">
            <Description>Reject assigned or tripartite trade as receiver. The initiator will be notified by a GiveUpEvent on the GiveUp Event Flow.</Description>
            <Field name="fourEyesId" fieldNumber="2" type="long" mandatory="required">
                <Description>The ID of the Assign or Tripartite.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="7" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="initiator" fieldNumber="3" type="String" mandatory="required">
                <Description>The initiator member Id.</Description>
            </Field>
            <Field name="acknowledger" fieldNumber="4" type="String" mandatory="required">
                <Description>The destination member Id.</Description>
            </Field>
            <Field name="reason" fieldNumber="5" type="String">
                <Description>An optional free text field.</Description>
            </Field>
        </Message>
        <Message name="TripartiteAllocationReq" messageId="10134" extends="RequestMessage" returns="TripartiteAllocationRsp" type="rtcTradeManagement">
            <Description>Tripartite allocation to another member. Tripartite agreement must exist. Tripartite requests that are not handled during the day are removed by the system.</Description>
            <Field name="tradeId" fieldNumber="2" type="long" mandatory="required">
                <Description>Trade id.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="15" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
            <Field name="moveId" fieldNumber="11" type="Long">
                <Description>Must be unique for the referenced trade. Used to prevent duplicate move requests.</Description>
            </Field>
            <Field name="fromAccountId" fieldNumber="3" type="long" mandatory="required">
                <Description>The current account for the Trade.</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="14" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="quantity" fieldNumber="5" type="Long" divisor="QTY" mandatory="required">
                <Description>The trade quantity.</Description>
            </Field>
            <Field name="reference" fieldNumber="6" type="String">
                <Description>An optional free text field.</Description>
            </Field>
            <Field name="acknowledger" fieldNumber="7" type="String" mandatory="required">
                <Description>The destination member Id.</Description>
            </Field>
            <Field name="client" fieldNumber="8" type="String" mandatory="required">
                <Description>The destination client Id.</Description>
            </Field>
        </Message>
        <Message name="TripartiteAllocationRsp" messageId="10135" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the TripartiteAllocationReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
        </Message>
        <Message name="ModifyTradeSubAccountReq" messageId="10148" extends="RequestMessage" returns="ModifyTradeSubAccountRsp" type="rtcTradeManagement">
            <Description>To move a trade from house account to other house accounts.</Description>
            <Field name="tradeId" fieldNumber="2" type="long" mandatory="required">
                <Description>Trade id.</Description>
            </Field>
            <Field name="tradingUserId" fieldNumber="9" type="String" mandatory="required">
                <Description>The trading user id.</Description>
            </Field>
            <Field name="moveId" fieldNumber="3" type="Long">
                <Description>Must be unique for the referenced trade. Used to prevent duplicate move trade requests.</Description>
            </Field>
            <Field name="fromAccountId" fieldNumber="4" type="long" mandatory="required">
                <Description>The account to allocate the Trade from</Description>
            </Field>
            <Field name="externalInstrumentId" fieldNumber="8" type="String" mandatory="required">
                <Description>The external instrument id. This is the JSE Master ID.</Description>
            </Field>
            <Field name="destinations" fieldNumber="7" type="TradeDestination" dimension="objectArray" mandatory="required">
                <Description>One or more destinations for this move operation.</Description>
            </Field>
        </Message>
        <Message name="ModifyTradeSubAccountRsp" messageId="10149" extends="ResponseMessage" type="rtcTradeManagement">
            <Description>Response to the ModifyTradeSubAccountReq request.</Description>
            <Field name="code" fieldNumber="1" type="int" extended="true">
                <Description>Status code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.</Description>
            </Field>
            <Field name="message" fieldNumber="2" type="String" extended="true">
                <Description>A textual description of the status code above.</Description>
            </Field>
            <Field name="subCode" fieldNumber="3" type="int" dimension="array" extended="true">
                <Description>Status code for each leg of the request. Only used for batched requests.</Description>
            </Field>
            <Field name="tradeIds" fieldNumber="6" type="Long" dimension="array">
                <Description>The IDs of the trades that were created as part of this move trade operation.</Description>
            </Field>
            <Field name="transactionId" fieldNumber="7" type="long">
                <Description>The ID of the transaction that updated the positions affected by this move trade operation.</Description>
            </Field>
        </Message>
        <Message name="AddCommissionReq" messageId="10515" extends="RequestMessage" returns="ResponseMessage" type="rtcTradeManagement">
            <Description>Request to add a Commission</Description>
            <Field name="market" fieldNumber="2" type="String" mandatory="required">
                <Description>Market.</Description>
            </Field>
            <Field name="initiatingTM" fieldNumber="3" type="String" mandatory="required">
                <Description>TM or Branch that sent the commission.</Description>
            </Field>
            <Field name="destinationTM" fieldNumber="4" type="String" mandatory="required">
                <Description>TM or Branch that will carry the payment.</Description>
            </Field>
            <Field name="clientReference" fieldNumber="5" type="String">
                <Description>Payer of the commission. Refer to EMAPI Clearing document, Commission Management section for guidance on the population of this field based on the various trade and deal management scenarios.</Description>
            </Field>
            <Field name="commissionReference" fieldNumber="6" type="String">
                <Description>Identifier of trade or deal associated with the commission. Refer to EMAPI Clearing document, Commission Management section for guidance on the population of this field based on the various trade and deal management scenarios.</Description>
            </Field>
            <Field name="amount" fieldNumber="7" type="Long" divisor="DECIMAL" mandatory="required">
                <Description>Amount to debit the destination TM.</Description>
            </Field>
            <Field name="updateId" fieldNumber="8" type="String" mandatory="required">
                <Description>Unique id that should be set for the commission request. If the system has already processed an update with this id, a success message is returned without any position change.</Description>
            </Field>
        </Message>
        <Message name="CancelCommissionReq" messageId="10516" extends="RequestMessage" returns="ResponseMessage" type="rtcTradeManagement">
            <Description>Request for TM to cancel a commission that has been sent earlier the same day.</Description>
            <Field name="commissionId" fieldNumber="2" type="String" mandatory="required">
                <Description>Id of the Commission.</Description>
            </Field>
            <Field name="cancellationReference" fieldNumber="3" type="String">
                <Description>Optional reference that can be supplied at cancellation or rejection requests.</Description>
            </Field>
        </Message>
        <Message name="RejectCommissionReq" messageId="10517" extends="RequestMessage" returns="ResponseMessage" type="rtcTradeManagement">
            <Description>Request for the Destination TM to reject a received commission.</Description>
            <Field name="commissionId" fieldNumber="2" type="String" mandatory="required">
                <Description>Id of the Commission.</Description>
            </Field>
            <Field name="cancellationReference" fieldNumber="3" type="String">
                <Description>Optional reference that can be supplied at cancellation or rejection requests.</Description>
            </Field>
        </Message>
    </Messages>
    <ConstantGroups>
        <ConstantGroup name="AssetClass" type="String">
            <Description>Describes how the asset class available in the system.</Description>
            <Constant name="EQUITY" encodingId="1" value="&quot;EQUITY&quot;">
                <Description>Equity.</Description>
            </Constant>
            <Constant name="FX" encodingId="2" value="&quot;FX&quot;">
                <Description>FX.</Description>
            </Constant>
            <Constant name="FIXED_INCOME" encodingId="3" value="&quot;FIXED_INCOME&quot;">
                <Description>Fixed Income.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="AssetSubClass" type="String">
            <Description>Describes how the asset sub class available in the system.</Description>
            <Constant name="LE" encodingId="5" value="&quot;LOCAL_EQUITY&quot;">
                <Description>Local equity.</Description>
            </Constant>
            <Constant name="FE" encodingId="6" value="&quot;FOREIGN_EQUITY&quot;">
                <Description>Foreign equity.</Description>
            </Constant>
            <Constant name="FX" encodingId="3" value="&quot;FX&quot;">
                <Description>FX.</Description>
            </Constant>
            <Constant name="NI" encodingId="7" value="&quot;NOMINAL_INTEREST_RATE&quot;">
                <Description>Nominal interest rate.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="AXIS_UNIT" type="String">
            <Description>Specifies the unit of an axis.</Description>
            <Constant name="ABSOLUTE_DATE" encodingId="1" value="&quot;ABSOLUTE_DATE&quot;">
                <Description>Absolute date.</Description>
            </Constant>
            <Constant name="FRACTION_OF_YEAR" encodingId="2" value="&quot;FRACTION_OF_YEAR&quot;">
                <Description>Fraction of year.</Description>
            </Constant>
            <Constant name="YIELD_PERCENTAGE" encodingId="3" value="&quot;YIELD_PERCENTAGE&quot;">
                <Description>Yield (%).</Description>
            </Constant>
            <Constant name="STRIKE" encodingId="4" value="&quot;STRIKE&quot;">
                <Description>Strike.</Description>
            </Constant>
            <Constant name="MONEYNESS" encodingId="5" value="&quot;MONEYNESS&quot;">
                <Description>Moneyness.</Description>
            </Constant>
            <Constant name="VOLATILITY" encodingId="6" value="&quot;VOLATILITY&quot;">
                <Description>Volatility.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="BOOTSTRAPPING_METHOD" type="String">
            <Description>Method used for bootstrapping.</Description>
            <Constant name="SWAP" encodingId="1" value="&quot;Swap&quot;">
                <Description>Swap.</Description>
            </Constant>
            <Constant name="BOND" encodingId="2" value="&quot;Bond&quot;">
                <Description>Bond.</Description>
            </Constant>
            <Constant name="INFLATION_LINKED_BOND" encodingId="3" value="&quot;Inflation linked Bond&quot;">
                <Description>Inflation linked Bond.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="BroadcastFlows" type="int">
            <Description>Defines broadcast flows</Description>
            <Constant name="PUBLIC_GLOBAL_REFERENCE_DATA_FLOW" encodingId="9" value="11">
                <Description>Global reference data flow.</Description>
            </Constant>
            <Constant name="ACCOUNT_EVENT_FLOW" encodingId="10026" value="301">
                <Description>Account event flow.</Description>
            </Constant>
            <Constant name="RISK_EVENT_FLOW" encodingId="10027" value="302">
                <Description>Risk event flow.</Description>
            </Constant>
            <Constant name="MARKETDATA_EVENT_FLOW" encodingId="10028" value="303">
                <Description>Market Data event flow.</Description>
            </Constant>
            <Constant name="GIVEUP_EVENT_FLOW" encodingId="10029" value="304">
                <Description>GiveUp event flow.</Description>
            </Constant>
            <Constant name="SETTLEMENT_EVENT_FLOW" encodingId="10030" value="305">
                <Description>Settlement event flow.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="BusinessDayConvention" type="String">
            <Description>Business Day convention.</Description>
            <Constant name="NONE" encodingId="1" value="&quot;NONE&quot;">
                <Description>None.</Description>
            </Constant>
            <Constant name="FOLL_GOOD" encodingId="2" value="&quot;FOLL_GOOD&quot;">
                <Description>Following Good.</Description>
            </Constant>
            <Constant name="MOD_FOLL" encodingId="3" value="&quot;MOD_FOLL&quot;">
                <Description>Modified Following.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="CACHE_ACTION" type="int">
            <Description>Defined cache actions</Description>
            <Constant name="ADD" encodingId="1" value="1">
                <Description>Add to cache EMAPI - interpret as Add</Description>
            </Constant>
            <Constant name="UPDATE" encodingId="2" value="2">
                <Description>Update cache EMAPI - interpret as Update</Description>
            </Constant>
            <Constant name="BOOTLOAD" encodingId="3" value="3">
                <Description>Add to cache with bootloader EMAPI - interpret as Add</Description>
            </Constant>
            <Constant name="REMOVE_CACHE_DB" encodingId="4" value="4">
                <Description>Remove from cache and db, does not remove if there are references to object. Return status code ValidationHasReference if referenced. EMAPI - interpret as Remove</Description>
            </Constant>
            <Constant name="REMOVE_CACHE_DB_FORCED" encodingId="5" value="5">
                <Description>Remove from cache and db, removes even if there are references to object. EMAPI - interpret as Remove</Description>
            </Constant>
            <Constant name="REMOVE_CACHE" encodingId="6" value="6">
                <Description>Remove from cache (does not remove object from db), does not remove if there are references to object. Return status code ValidationHasReference if referenced. The isDeleted attribute is set to BOOLEAN.TRUE EMAPI - interpret as Remove</Description>
            </Constant>
            <Constant name="REMOVE_CACHE_FORCED" encodingId="7" value="7">
                <Description>Remove from cache (does not remove object from db), removes even if there are references to object. The isDeleted attribute is set to BOOLEAN.TRUE EMAPI - interpret as Remove</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="Capacity" type="Integer">
            <Description>Capacity on trade (from Trading System).</Description>
            <Constant name="Principal" encodingId="1" value="1">
                <Description>Principal.</Description>
            </Constant>
            <Constant name="Agent" encodingId="2" value="2">
                <Description>Agent.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="ClientType" type="String">
            <Description>Type of client, information to surveillance.</Description>
            <Constant name="INDIVIDUAL" encodingId="1" value="&quot;INDIVIDUAL&quot;">
                <Description>Individual.</Description>
            </Constant>
            <Constant name="COMPANY" encodingId="2" value="&quot;COMPANY&quot;">
                <Description>Company.</Description>
            </Constant>
            <Constant name="HEDGE_FUND" encodingId="3" value="&quot;HEDGE_FUND&quot;">
                <Description>Hedge fund.</Description>
            </Constant>
            <Constant name="STATE_ENTERPRISE" encodingId="4" value="&quot;STATE_ENTERPRISE&quot;">
                <Description>State enterprise.</Description>
            </Constant>
            <Constant name="TRUST" encodingId="5" value="&quot;TRUST&quot;">
                <Description>Trust.</Description>
            </Constant>
            <Constant name="CLOSED_CORPORATION" encodingId="6" value="&quot;CLOSED_CORPORATION&quot;">
                <Description>Closed corporation.</Description>
            </Constant>
            <Constant name="ASSET_MANAGER" encodingId="7" value="&quot;ASSET_MANAGER&quot;">
                <Description>Asset manager.</Description>
            </Constant>
            <Constant name="INVESTMENT_MANAGER" encodingId="8" value="&quot;INVESTMENT_MANAGER&quot;">
                <Description>Investment manager.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="CmBalancingStep" type="String">
            <Description>Enumeration specifying CM balancing steps.</Description>
            <Constant name="CM_BALANCING_1" encodingId="1" value="&quot;CM_BALANCING_1&quot;">
                <Description>Step 1, involves IM, AM, VM, dividends, funding etc.</Description>
            </Constant>
            <Constant name="CM_BALANCING_2" encodingId="2" value="&quot;CM_BALANCING_2&quot;">
                <Description>Step 2, involves fees.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="CompoundingConvention" type="String">
            <Description>Compounding Period Used.</Description>
            <Constant name="NACC" encodingId="1" value="&quot;NACC&quot;">
                <Description>NACC</Description>
            </Constant>
            <Constant name="NACQ" encodingId="2" value="&quot;NACQ&quot;">
                <Description>NACQ</Description>
            </Constant>
            <Constant name="NACA" encodingId="3" value="&quot;NACA&quot;">
                <Description>NACA</Description>
            </Constant>
            <Constant name="NACS" encodingId="4" value="&quot;NACS&quot;">
                <Description>NACS</Description>
            </Constant>
            <Constant name="SIMPLE" encodingId="5" value="&quot;SIMPLE&quot;">
                <Description>Simple</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="CondType" type="String">
            <Description>Price condition types. The value is a price tag that marks the market data values.</Description>
            <Constant name="ANY" encodingId="1" value="&quot;ANY&quot;">
                <Description>Used to get the latest entry regardless of condition.</Description>
            </Constant>
            <Constant name="INDICATIVE" encodingId="8" value="&quot;INDICATIVE&quot;">
                <Description>Indicative.</Description>
            </Constant>
            <Constant name="END_OF_DAY_SETTLEMENT" encodingId="10" value="&quot;END_OF_DAY_SETTLEMENT&quot;">
                <Description>EoD Margin Call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_1_SETTLEMENT" encodingId="22" value="&quot;INTRA_DAY_1_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_2_SETTLEMENT" encodingId="23" value="&quot;INTRA_DAY_2_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_3_SETTLEMENT" encodingId="24" value="&quot;INTRA_DAY_3_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_4_SETTLEMENT" encodingId="25" value="&quot;INTRA_DAY_4_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_5_SETTLEMENT" encodingId="26" value="&quot;INTRA_DAY_5_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_6_SETTLEMENT" encodingId="27" value="&quot;INTRA_DAY_6_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_7_SETTLEMENT" encodingId="28" value="&quot;INTRA_DAY_7_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_8_SETTLEMENT" encodingId="29" value="&quot;INTRA_DAY_8_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_9_SETTLEMENT" encodingId="30" value="&quot;INTRA_DAY_9_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
            <Constant name="INTRA_DAY_10_SETTLEMENT" encodingId="31" value="&quot;INTRA_DAY_10_SETTLEMENT&quot;">
                <Description>Intra day margin call.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="ContractSizeType" type="Integer">
            <Description>Enumeration for contract size type</Description>
            <Constant name="BASE" encodingId="1" value="1">
                <Description>Base</Description>
            </Constant>
            <Constant name="MINI" encodingId="2" value="2">
                <Description>Mini</Description>
            </Constant>
            <Constant name="MAXI" encodingId="3" value="3">
                <Description>Maxi</Description>
            </Constant>
            <Constant name="SUPER" encodingId="4" value="4">
                <Description>Super</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="CorporateActionStatus" type="int">
            <Description>Status of a Corporate Action task.</Description>
            <Constant name="NEW" encodingId="1" value="0">
                <Description>Task registered and pending for action.</Description>
            </Constant>
            <Constant name="EXECUTED" encodingId="2" value="1">
                <Description>Task executed.</Description>
            </Constant>
            <Constant name="CANCELLED" encodingId="3" value="2">
                <Description>Task cancelled.</Description>
            </Constant>
            <Constant name="FAILED" encodingId="4" value="-1">
                <Description>Task failed.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="CouponIndicator" type="String">
            <Description>Coupon rate indicator for Bonds.</Description>
            <Constant name="FIXED" encodingId="1" value="&quot;FIXED&quot;">
                <Description>Coupon is Fixed.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="DATE_TYPE" type="int">
            <Description>Defines the different date types.</Description>
            <Constant name="CLOSED" encodingId="1" value="1">
                <Description>On this day, the exchange is closed.</Description>
            </Constant>
            <Constant name="HALF_DAY" encodingId="2" value="2">
                <Description>On this day, the exchange uses a half-day schedule.</Description>
            </Constant>
            <Constant name="NORMAL" encodingId="3" value="3">
                <Description>On this day, the exchange uses the normal schedule.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="DAY_COUNT_CONVENTION" type="String">
            <Description>Method used for bootstrapping.</Description>
            <Constant name="ACTUAL_360" encodingId="1" value="&quot;ACTUAL_360&quot;">
                <Description>Actual 360.</Description>
            </Constant>
            <Constant name="ACTUAL_365" encodingId="2" value="&quot;ACTUAL_365&quot;">
                <Description>Actual 365.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="DIVISOR" type="int">
            <Description>There are integer/long fields that represent decimal numbers. These need to be divided with the following constants.</Description>
            <Constant name="QTY" encodingId="1" value="1000000">
                <Description>Divisor for quantity field</Description>
            </Constant>
            <Constant name="PRICE" encodingId="2" value="1000000">
                <Description>Divisor for price fields</Description>
            </Constant>
            <Constant name="INTEREST" encodingId="3" value="1000000">
                <Description>Divisor for interest fields.</Description>
            </Constant>
            <Constant name="DELTA" encodingId="4" value="1000000">
                <Description>Divisor for delta fields.</Description>
            </Constant>
            <Constant name="DECIMAL" encodingId="5" value="1000000">
                <Description>Divisor for decimal value fields.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="ExerciseStyle" type="int">
            <Description>Defines the type of option</Description>
            <Constant name="EUROPEAN" encodingId="1" value="1">
                <Description/>
            </Constant>
            <Constant name="AMERICAN" encodingId="2" value="2">
                <Description/>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="EXTRAPOLATION_METHOD" type="String">
            <Description>Method used for extrapolation.</Description>
            <Constant name="LINEAR" encodingId="1" value="&quot;LINEAR&quot;">
                <Description>Linear extrapolation.</Description>
            </Constant>
            <Constant name="FLAT" encodingId="2" value="&quot;FLAT&quot;">
                <Description>Use nearest interpolated value.</Description>
            </Constant>
            <Constant name="FLAT_FORWARD" encodingId="3" value="&quot;FLAT_FORWARD&quot;">
                <Description>Float forward volatility extrapolation.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="FeedSource" type="String">
            <Description>Market data pricing tag.</Description>
            <Constant name="RTC" encodingId="3" value="&quot;RTC&quot;">
                <Description>Rtc.</Description>
            </Constant>
            <Constant name="PRICING_SYSTEM" encodingId="4" value="&quot;PRICING_SYSTEM&quot;">
                <Description>JSE Pricing system.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="FourEyesState" type="int">
            <Description>State of FourEyes operation.</Description>
            <Constant name="UNKNOWN_REASON" encodingId="1" value="0">
                <Description/>
            </Constant>
            <Constant name="RECEIVED" encodingId="2" value="1">
                <Description>This foureyesstate is not used in RTC code.</Description>
            </Constant>
            <Constant name="INITIATED" encodingId="3" value="2">
                <Description/>
            </Constant>
            <Constant name="CONFIRMED" encodingId="4" value="3">
                <Description/>
            </Constant>
            <Constant name="COMPLETED" encodingId="5" value="4">
                <Description/>
            </Constant>
            <Constant name="EXPIRED" encodingId="6" value="5">
                <Description/>
            </Constant>
            <Constant name="REQUEST_FAILED_VALIDATION" encodingId="7" value="6">
                <Description/>
            </Constant>
            <Constant name="CONFIRM_FAILED_VALIDATION" encodingId="8" value="7">
                <Description/>
            </Constant>
            <Constant name="ERROR" encodingId="9" value="8">
                <Description/>
            </Constant>
            <Constant name="CANCELLED" encodingId="10" value="9">
                <Description/>
            </Constant>
            <Constant name="REJECTED" encodingId="11" value="10">
                <Description/>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="InstrumentIdType" type="String">
            <Description>Defines the type of the InstrumentId (ISIN, CUSIP etc)</Description>
            <Constant name="ISIN" encodingId="1" value="&quot;ISIN&quot;">
                <Description>ISIN identifier</Description>
            </Constant>
            <Constant name="CUSIP" encodingId="2" value="&quot;CUSIP&quot;">
                <Description>CUSIP identifier</Description>
            </Constant>
            <Constant name="SYMB" encodingId="3" value="&quot;SYMB&quot;">
                <Description>SYMBOL identifier</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="InstrumentSubType" type="String">
            <Description>Defines the type of Instrument</Description>
            <Constant name="EQUITY" encodingId="1" value="&quot;EQUITY&quot;">
                <Description>Equity.</Description>
            </Constant>
            <Constant name="INDEX" encodingId="2" value="&quot;INDEX&quot;">
                <Description>Index.</Description>
            </Constant>
            <Constant name="SINGLE_STOCK" encodingId="3" value="&quot;SINGLE_STOCK&quot;">
                <Description>Single Stock.</Description>
            </Constant>
            <Constant name="CFD" encodingId="4" value="&quot;CFD&quot;">
                <Description>Contract For Difference.</Description>
            </Constant>
            <Constant name="DIVIDEND_NEUTRAL" encodingId="5" value="&quot;DIVIDEND_NEUTRAL&quot;">
                <Description>Dividend Neutral.</Description>
            </Constant>
            <Constant name="FOREX" encodingId="6" value="&quot;FOREX&quot;">
                <Description>Forex.</Description>
            </Constant>
            <Constant name="FOREX_PAIR" encodingId="7" value="&quot;FOREX_PAIR&quot;">
                <Description>Forex Pair.</Description>
            </Constant>
            <Constant name="BOND" encodingId="8" value="&quot;BOND&quot;">
                <Description>Bond.</Description>
            </Constant>
            <Constant name="BASKET" encodingId="9" value="&quot;BASKET&quot;">
                <Description>Basket.</Description>
            </Constant>
            <Constant name="EXOTIC" encodingId="10" value="&quot;EXOTIC&quot;">
                <Description>Exotic.</Description>
            </Constant>
            <Constant name="FOREX_INDEX" encodingId="11" value="&quot;FOREX_INDEX&quot;">
                <Description>Forex index.</Description>
            </Constant>
            <Constant name="FWDFWD" encodingId="22" value="&quot;FWDFWD&quot;">
                <Description>FwdFwd.</Description>
            </Constant>
            <Constant name="EXOTIC_OPTION" encodingId="12" value="&quot;EXOTIC_OPTION&quot;">
                <Description>Exotic option.</Description>
            </Constant>
            <Constant name="INTERNATIONAL_DIVIDEND_NEUTRAL" encodingId="13" value="&quot;INTERNATIONAL_DIVIDEND_NEUTRAL&quot;">
                <Description>International dividend neutral.</Description>
            </Constant>
            <Constant name="INTERNATIONAL_EQUITY" encodingId="14" value="&quot;INTERNATIONAL_EQUITY&quot;">
                <Description>International equity.</Description>
            </Constant>
            <Constant name="INTERNATIONAL_INDEX" encodingId="15" value="&quot;INTERNATIONAL_INDEX&quot;">
                <Description>International index.</Description>
            </Constant>
            <Constant name="INVERTED" encodingId="16" value="&quot;INVERTED&quot;">
                <Description>Inverted.</Description>
            </Constant>
            <Constant name="OTHER" encodingId="17" value="&quot;OTHER&quot;">
                <Description>Other.</Description>
            </Constant>
            <Constant name="QUANTO" encodingId="18" value="&quot;QUANTO&quot;">
                <Description>Quanto.</Description>
            </Constant>
            <Constant name="QUANTO_INTL" encodingId="19" value="&quot;QUANTO_INTL&quot;">
                <Description>Quanto international.</Description>
            </Constant>
            <Constant name="QUANTO_INDEX_DIVIDEND_NEUTRAL" encodingId="23" value="&quot;QUANTO_INDEX_DIVIDEND_NEUTRAL&quot;">
                <Description>Quanto index dividend neutral.</Description>
            </Constant>
            <Constant name="QUANTO_INTL_DIVIDEND_NEUTRAL" encodingId="20" value="&quot;QUANTO_INTL_DIVIDEND_NEUTRAL&quot;">
                <Description>Quanto international dividend neutral.</Description>
            </Constant>
            <Constant name="VARIANCE" encodingId="21" value="&quot;VARIANCE&quot;">
                <Description>Variance.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="InstrumentType" type="String">
            <Description>Defines the type of Instrument</Description>
            <Constant name="FUTURE" encodingId="2" value="&quot;FU&quot;">
                <Description>Future.</Description>
            </Constant>
            <Constant name="BOND" encodingId="23" value="&quot;BO&quot;">
                <Description>Bond</Description>
            </Constant>
            <Constant name="OPTION" encodingId="25" value="&quot;OPT&quot;">
                <Description>Parent of OptionTradableInstruments</Description>
            </Constant>
            <Constant name="SPOT" encodingId="28" value="&quot;SPOT&quot;">
                <Description>Spot type instrument</Description>
            </Constant>
            <Constant name="CFD" encodingId="10029" value="&quot;CFD&quot;">
                <Description>Contract For Difference.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="INTEREST_RATE_CONVENTION" type="String">
            <Description>Interest rate convention for the interest rate produced.</Description>
            <Constant name="NACC" encodingId="1" value="&quot;NACC&quot;">
                <Description>NACC.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="INTERPOLATION_METHOD" type="String">
            <Description>Method used for interpolation.</Description>
            <Constant name="LINEAR" encodingId="1" value="&quot;LINEAR&quot;">
                <Description>Linear.</Description>
            </Constant>
            <Constant name="FLAT_FORWARD" encodingId="2" value="&quot;FLAT_FORWARD&quot;">
                <Description>Float forward volatility interpolation.</Description>
            </Constant>
            <Constant name="NATURAL_CUBIC_SPLINE" encodingId="3" value="&quot;NATURAL_CUBIC_SPLINE&quot;">
                <Description>Natural cubic spline.</Description>
            </Constant>
            <Constant name="MONOTONE_PRESERVING" encodingId="5" value="&quot;MONOTONE_PRESERVING&quot;">
                <Description>Variant of cubic spline that ensures positive and continuous forward rates. For yield curve interpolation.</Description>
            </Constant>
            <Constant name="MONOTONE_CONVEX" encodingId="6" value="&quot;MONOTONE_CONVEX&quot;">
                <Description>Ensures a positive and continuous forward rate. For yield curve interpolation..</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="LoginStatus" type="int">
            <Description>Provides the result of a login request.</Description>
            <Constant name="LOGIN_ACCEPTED" encodingId="1" value="0">
                <Description>The login is accepted.</Description>
            </Constant>
            <Constant name="LOGIN_REJECTED" encodingId="2" value="-1">
                <Description>The login is rejected due to invalid password or invalid user id.</Description>
            </Constant>
            <Constant name="USER_ACCOUNT_LOCKED" encodingId="3" value="-2">
                <Description>User account is locked due to too many erroneous login attempts.</Description>
            </Constant>
            <Constant name="PASSWORD_EXPIRED" encodingId="4" value="-3">
                <Description>The password has expired.</Description>
            </Constant>
            <Constant name="LOGIN_ACCESS_DENIED" encodingId="5" value="-4">
                <Description>User does not have access to login service for this application.</Description>
            </Constant>
            <Constant name="WRONG_VERSION" encodingId="6" value="-5">
                <Description>Client and TAX server versions are not compatible.</Description>
            </Constant>
            <Constant name="INITIAL_LOGIN" encodingId="7" value="-6">
                <Description>Initial login, password must be changed.</Description>
            </Constant>
            <Constant name="USER_ACCOUNT_DISABLED" encodingId="8" value="-7">
                <Description>Account disabled by operational staff.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="MemberType" type="Integer">
            <Description>Defines the different member/participant types.</Description>
            <Constant name="MARKETPLACE" encodingId="1" value="1">
                <Description>The Clearing House itself.</Description>
            </Constant>
            <Constant name="INFORMATION_VENDOR" encodingId="4" value="5">
                <Description>An Information Vendor.</Description>
            </Constant>
            <Constant name="MEMBER_UNIT" encodingId="6" value="7">
                <Description>A member unit is a type of member that must be connected to a parent member, for example to divide an organization into different departments. Trading Member Branches and Clients are both of the type MEMBER_UNIT.</Description>
            </Constant>
            <Constant name="CLEARING_ONLY_MEMBER" encodingId="7" value="8">
                <Description>A Clearing Member.</Description>
            </Constant>
            <Constant name="TRADING_ONLY_MEMBER" encodingId="8" value="9">
                <Description>A Trading Member.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="OptionAllocationModelType" type="int">
            <Description>Allocation model for option exercise.</Description>
            <Constant name="PRO_RATA" encodingId="1" value="1">
                <Description>Pro-rata allocation.</Description>
            </Constant>
            <Constant name="RANDOM" encodingId="2" value="2">
                <Description>Random allocation.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="OptionStyle" type="Integer">
            <Description>Style of the Option</Description>
            <Constant name="FUTURE_STYLE" encodingId="1" value="1">
                <Description>Future styled</Description>
            </Constant>
            <Constant name="UPFRONT_PREMIUM" encodingId="2" value="2">
                <Description>Upfront premium</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="ParticipantUnitType" type="Integer">
            <Description>Participant type. Defines the type of participant a member has in the member tree.</Description>
            <Constant name="CLEARING_MEMBER" encodingId="1" value="1">
                <Description>Clearing Member.</Description>
            </Constant>
            <Constant name="TRADING_MEMBER" encodingId="7" value="2">
                <Description>Trading Member</Description>
            </Constant>
            <Constant name="CLIENT" encodingId="6" value="3">
                <Description>Client.</Description>
            </Constant>
            <Constant name="TRADING_MEMBER_BRANCH" encodingId="8" value="4">
                <Description>Trading Member Branch.</Description>
            </Constant>
            <Constant name="INFORMATION_VENDOR" encodingId="9" value="5">
                <Description>Information Vendor.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="PaymentAdviceState" type="int">
            <Description>The states of a Payment Advice.</Description>
            <Constant name="RECEIVED" encodingId="1" value="0">
                <Description/>
            </Constant>
            <Constant name="NOTIFIED_TO_CM" encodingId="2" value="1">
                <Description/>
            </Constant>
            <Constant name="REJECTED_BY_CM" encodingId="3" value="2">
                <Description/>
            </Constant>
            <Constant name="CONFIRMED_BY_CM" encodingId="4" value="3">
                <Description/>
            </Constant>
            <Constant name="SETTLED_BY_CM" encodingId="5" value="4">
                <Description/>
            </Constant>
            <Constant name="CANCELLED" encodingId="6" value="5">
                <Description/>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="PeriodType" type="String">
            <Description>Period type.</Description>
            <Constant name="DAYS" encodingId="1" value="&quot;DAYS&quot;">
                <Description>Days.</Description>
            </Constant>
            <Constant name="MONTHS" encodingId="2" value="&quot;MONTHS&quot;">
                <Description>Months.</Description>
            </Constant>
            <Constant name="YEARS" encodingId="3" value="&quot;YEARS&quot;">
                <Description>Years.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="PositionAccountSubType" type="Integer">
            <Description>The sub type of the position account.</Description>
            <Constant name="SUSPENSE" encodingId="1" value="1">
                <Description>Suspense</Description>
            </Constant>
            <Constant name="MAIN" encodingId="2" value="2">
                <Description>Main</Description>
            </Constant>
            <Constant name="SUB" encodingId="3" value="3">
                <Description>Sub</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="PositionAccountType" type="Integer">
            <Description>The type of the position account.</Description>
            <Constant name="HOUSE" encodingId="1" value="1">
                <Description>House</Description>
            </Constant>
            <Constant name="CLIENT" encodingId="2" value="2">
                <Description>Client</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="PositionType" type="int">
            <Description>Defines different Position types.</Description>
            <Constant name="ACTUAL" encodingId="1" value="1">
                <Description>A position of type ACTUAL represents ownership of the position.</Description>
            </Constant>
            <Constant name="SETTLEMENT" encodingId="2" value="2">
                <Description>A position of type SETTLEMENT represents changed of the position on the settlement date.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="PositionReason" type="int">
            <Description>Reason for position update</Description>
            <Constant name="UNKNOWN_REASON" encodingId="1" value="0">
                <Description>Unknown reason, an internal error has occured.</Description>
            </Constant>
            <Constant name="FEE" encodingId="2" value="1">
                <Description>Booking Fee.</Description>
            </Constant>
            <Constant name="TRADE" encodingId="3" value="2">
                <Description>New trade.</Description>
            </Constant>
            <Constant name="EXERCISE" encodingId="6" value="5">
                <Description>The position in the option was closed out due to early exercise, or the option is in-of-money and the option is exercised automatically. The future trade is the result of an option exercise. (early or in-the-money automatically by the system)</Description>
            </Constant>
            <Constant name="CASH_SETTLEMENT_VM" encodingId="8" value="7">
                <Description>Cash settlement of variation margin</Description>
            </Constant>
            <Constant name="SETTLEMENT_NETTING" encodingId="18" value="17">
                <Description>Positions are concentrated to the settlement accounts and netted out on the original accounts.</Description>
            </Constant>
            <Constant name="SETTLED" encodingId="66" value="18">
                <Description>A payment or delivery has been processed by an external system and the settlement position is netted out.</Description>
            </Constant>
            <Constant name="COLLATERAL" encodingId="20" value="19">
                <Description>Collateral position update.</Description>
            </Constant>
            <Constant name="ALLOCATED_FROM" encodingId="27" value="26">
                <Description>The trade is allocated from a trading member account to a client account.</Description>
            </Constant>
            <Constant name="ALLOCATED_TO" encodingId="28" value="27">
                <Description>The trade origins from an allocation from a trading member account to a client account.</Description>
            </Constant>
            <Constant name="ALLOCATION_CORRECTION_FROM" encodingId="29" value="28">
                <Description>The deal is erroneously moved from the client account to another client account.</Description>
            </Constant>
            <Constant name="ALLOCATION_CORRECTION_TO" encodingId="30" value="29">
                <Description>The deal originates from a move from one client account to another client account.</Description>
            </Constant>
            <Constant name="PRINCIPAL_CORRECTION_FROM" encodingId="31" value="30">
                <Description>A position is moved from a house main account to a house sub account or from a house sub account to a house main account by creating a new deal.</Description>
            </Constant>
            <Constant name="PRINCIPAL_CORRECTION_TO" encodingId="32" value="31">
                <Description>The deal originates from a move from a client account.</Description>
            </Constant>
            <Constant name="ACCUMULATED_FROM" encodingId="33" value="32">
                <Description>The deal was aggregated to another deal.</Description>
            </Constant>
            <Constant name="ACCUMULATED_TO" encodingId="34" value="33">
                <Description>The deal originates from a deal aggregation activity.</Description>
            </Constant>
            <Constant name="POS_SUBACCOUNT_MOD_FROM" encodingId="35" value="34">
                <Description>The position sub account was moved from this account..</Description>
            </Constant>
            <Constant name="POS_SUBACCOUNT_MOD_TO" encodingId="36" value="35">
                <Description>The position sub account was moved to this account.</Description>
            </Constant>
            <Constant name="ASSIGNED_FROM" encodingId="37" value="36">
                <Description>The deal assign source.</Description>
            </Constant>
            <Constant name="ASSIGNED_TO" encodingId="38" value="37">
                <Description>The deal originates from a deal assign activity.</Description>
            </Constant>
            <Constant name="ASSIGN_INITIATED" encodingId="41" value="40">
                <Description>The deal assign initiated from.</Description>
            </Constant>
            <Constant name="ASSIGN_REJECTED" encodingId="42" value="41">
                <Description>The deal assign rejected by receiver.</Description>
            </Constant>
            <Constant name="ASSIGN_CANCELLED" encodingId="43" value="42">
                <Description>The deal assign cancelled by initiator.</Description>
            </Constant>
            <Constant name="ASSIGN_EXPIRED" encodingId="44" value="43">
                <Description>The deal assign has expired.</Description>
            </Constant>
            <Constant name="START_OF_DAY" encodingId="45" value="44">
                <Description>Start of day position snapshot.</Description>
            </Constant>
            <Constant name="TRIPARTITE_FROM" encodingId="46" value="45">
                <Description>The deal has been assigned using Tripartite agreement.</Description>
            </Constant>
            <Constant name="TRIPARTITE_TO" encodingId="48" value="47">
                <Description>The deal origins from an assign using Tripartite agreement.</Description>
            </Constant>
            <Constant name="TRIPARTITE_INITIATED" encodingId="50" value="49">
                <Description>Tripartite assign has been initiated.</Description>
            </Constant>
            <Constant name="TRIPARTITE_APPROVED" encodingId="51" value="50">
                <Description>Tripartite assign has been approved.</Description>
            </Constant>
            <Constant name="TRIPARTITE_REJECTED" encodingId="52" value="51">
                <Description>Tripartite assign has been rejected.</Description>
            </Constant>
            <Constant name="TRIPARTITE_CANCELLED" encodingId="53" value="52">
                <Description>Tripartite assign has been cancelled.</Description>
            </Constant>
            <Constant name="TRIPARTITE_EXPIRED" encodingId="54" value="53">
                <Description>Tripartite assign has expired.</Description>
            </Constant>
            <Constant name="TRADE_SUBACCOUNT_MOD_FROM" encodingId="55" value="54">
                <Description>Position has been moved from this account as Sub account modification.</Description>
            </Constant>
            <Constant name="TRADE_SUBACCOUNT_MOD_TO" encodingId="56" value="55">
                <Description>Position has been moved to this account as Sub account modification.</Description>
            </Constant>
            <Constant name="ZERO_FEE" encodingId="57" value="56">
                <Description>Trade updated for zero fee.</Description>
            </Constant>
            <Constant name="ABANDON" encodingId="62" value="59">
                <Description>Option abandon.</Description>
            </Constant>
            <Constant name="TRANSFERRED_SP_FROM" encodingId="63" value="60">
                <Description>Position has been moved from this account by Transfer Single Position.</Description>
            </Constant>
            <Constant name="TRANSFERRED_SP_TO" encodingId="64" value="61">
                <Description>Position has been moved to this account by Transfer Single Position.</Description>
            </Constant>
            <Constant name="CLOSE_OUT" encodingId="65" value="62">
                <Description>A close-out deal is created by the system to close open positions in a future on expiration of a tradable instrument.</Description>
            </Constant>
            <Constant name="PARTIALLY_SETTLED" encodingId="67" value="63">
                <Description>Partially settled payment.</Description>
            </Constant>
            <Constant name="NET_PAYMENT" encodingId="68" value="64">
                <Description>Payment from external system.</Description>
            </Constant>
            <Constant name="FEE_VAT" encodingId="69" value="65">
                <Description>VAT amount for booking fee.</Description>
            </Constant>
            <Constant name="CANCELLED" encodingId="70" value="66">
                <Description>Trade cancelled.</Description>
            </Constant>
            <Constant name="CANCELLED_BUST" encodingId="71" value="67">
                <Description>Trade busted.</Description>
            </Constant>
            <Constant name="CANCELLED_PRICE_ADJUST" encodingId="72" value="68">
                <Description>Trade cancelled for price adjust</Description>
            </Constant>
            <Constant name="DIVIDEND" encodingId="73" value="69">
                <Description>Dividend payment for dividend neutral contracts</Description>
            </Constant>
            <Constant name="CLOSE_OUT_CA" encodingId="74" value="70">
                <Description>Close out position for Corporate Action.</Description>
            </Constant>
            <Constant name="NEW_POSITION_CA" encodingId="75" value="71">
                <Description>Created position for Corporate Action.</Description>
            </Constant>
            <Constant name="INTEREST_ON_COLLATERAL" encodingId="77" value="73">
                <Description>Interest amount on collateral.</Description>
            </Constant>
            <Constant name="FUNDING_INTEREST" encodingId="78" value="74">
                <Description>Funding interest payment for CFDs.</Description>
            </Constant>
            <Constant name="DEPOSIT" encodingId="86" value="76">
                <Description>A deposit of an asset in an account.</Description>
            </Constant>
            <Constant name="WITHDRAWAL" encodingId="87" value="77">
                <Description>A withdrawal of an asset from an account.</Description>
            </Constant>
            <Constant name="TRANSFERRED_FROM" encodingId="79" value="78">
                <Description>An opposite trade was created at the original account as a result of a client or TM position transfer.</Description>
            </Constant>
            <Constant name="TRANSFERRED_TO" encodingId="80" value="79">
                <Description>A trade was created at the destination account as a result of a client or TM position transfer.</Description>
            </Constant>
            <Constant name="END_OF_DAY" encodingId="81" value="80">
                <Description>End of day position snapshot.</Description>
            </Constant>
            <Constant name="SYSTEM_STARTUP" encodingId="82" value="81">
                <Description>RTC system startup snapshot.</Description>
            </Constant>
            <Constant name="DEFAULT_FROM" encodingId="83" value="82">
                <Description>The position was transferred due to a defaulted member or client.</Description>
            </Constant>
            <Constant name="DEFAULT_TO" encodingId="84" value="83">
                <Description>The position was transferred due to a defaulted member or client.</Description>
            </Constant>
            <Constant name="MANUAL" encodingId="85" value="84">
                <Description>Event due to a manual update.</Description>
            </Constant>
            <Constant name="MIGRATION" encodingId="88" value="85">
                <Description>An add/update due to migration.</Description>
            </Constant>
            <Constant name="COMMISSION" encodingId="89" value="86">
                <Description>Commissions added by members.</Description>
            </Constant>
            <Constant name="RISK_FEE" encodingId="91" value="88">
                <Description>Risk Fee.</Description>
            </Constant>
            <Constant name="RISK_FEE_VAT" encodingId="93" value="90">
                <Description>VAT amount for risk fee.</Description>
            </Constant>
            <Constant name="REVERSE_TRANSACTION" encodingId="94" value="91">
                <Description>A position was updated due to a revert of the EOD step.</Description>
            </Constant>
            <Constant name="DELETED" encodingId="95" value="92">
                <Description>A close out, option exercise or abandon trade was marked as deleted due to a revert of the EOD step.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="RollsOnConvention" type="String">
            <Description>Rolls on convetion. Needed to determine coupon dates.</Description>
            <Constant name="DAY" encodingId="1" value="&quot;DAY&quot;">
                <Description>Day(m).</Description>
            </Constant>
            <Constant name="START_OF_MONTH" encodingId="2" value="&quot;START_OF_MONTH&quot;">
                <Description>Start of month.</Description>
            </Constant>
            <Constant name="END_OF_MONTH" encodingId="3" value="&quot;END_OF_MONTH&quot;">
                <Description>End of month.</Description>
            </Constant>
            <Constant name="IMM_DAY" encodingId="4" value="&quot;IMM_DAY&quot;">
                <Description>IMM Day. (3rd Monday of month).</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="CommissionStatus" type="int">
            <Description>The state of the commission.</Description>
            <Constant name="NEW" encodingId="1" value="1">
                <Description>New</Description>
            </Constant>
            <Constant name="CANCELLED" encodingId="2" value="2">
                <Description>Cancelled</Description>
            </Constant>
            <Constant name="REJECTED" encodingId="3" value="3">
                <Description>Rejected</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="ReplayRequestType" type="int">
            <Description>Literals describing the type of replay request</Description>
            <Constant name="REPLAY" encodingId="1" value="0">
                <Description>Request to replay specific events; no future updates</Description>
            </Constant>
            <Constant name="REPLAY_UNSEGMENTED" encodingId="2" value="1">
                <Description>Request to replay specific events without having to issue requests for new segments</Description>
            </Constant>
            <Constant name="REPLAY_SUBSCRIPTION" encodingId="3" value="2">
                <Description>Request for unsegmented replay of events up to the latest and for subsequent subscription to future updates</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="RtcState" type="String">
            <Description>System state in RTC.</Description>
            <Constant name="OPEN" encodingId="1" value="&quot;OPEN&quot;">
                <Description>Open.</Description>
            </Constant>
            <Constant name="END_OF_TRADE_MANAGEMENT" encodingId="2" value="&quot;END_OF_TRADE_MANAGEMENT&quot;">
                <Description>Trade management is no longer allowed.</Description>
            </Constant>
            <Constant name="END_OF_DAY" encodingId="3" value="&quot;END_OF_DAY&quot;">
                <Description>End of Day process started.</Description>
            </Constant>
            <Constant name="POST_END_OF_DAY" encodingId="4" value="&quot;POST_END_OF_DAY&quot;">
                <Description>End of Day process completed.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="RtcTradeType" type="String">
            <Description>Trade type (from Trading System).</Description>
            <Constant name="ORDER" encodingId="1" value="&quot;ORDER&quot;">
                <Description>Order.</Description>
            </Constant>
            <Constant name="REPORT" encodingId="2" value="&quot;REPORT&quot;">
                <Description>Report.</Description>
            </Constant>
            <Constant name="CANCEL_TRADE" encodingId="3" value="&quot;CT&quot;">
                <Description>Cancel trade.</Description>
            </Constant>
            <Constant name="TRADE_BUST" encodingId="4" value="&quot;TB&quot;">
                <Description>Trade bust.</Description>
            </Constant>
            <Constant name="CANCEL_PRICE_ADJUST" encodingId="5" value="&quot;PA&quot;">
                <Description>Cancel price adjust.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="SessionStatus" type="int">
            <Description>Session status</Description>
            <Constant name="FORCED_LOGOFF_BY_NEW_LOGIN" encodingId="1" value="1">
                <Description>The session has been terminated due a new login with the same user.</Description>
            </Constant>
            <Constant name="FORCED_LOGOFF_USER_DISABLED" encodingId="2" value="2">
                <Description>The session has been terminated because the user has been disabled.</Description>
            </Constant>
            <Constant name="FORCED_LOGOFF_USER_DELETED" encodingId="3" value="3">
                <Description>The session has been terminated because the user has been deleted.</Description>
            </Constant>
            <Constant name="FORCED_LOGOFF" encodingId="4" value="4">
                <Description>User session logout was forced. Caused by an operator terminating the session.</Description>
            </Constant>
            <Constant name="DISCONNECT" encodingId="5" value="5">
                <Description>User session disconnected</Description>
            </Constant>
            <Constant name="NORMAL_LOGOFF" encodingId="6" value="6">
                <Description>Normal user requested logout</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="SettlementType" type="int">
            <Description>Defines the type of option</Description>
            <Constant name="CASH" encodingId="1" value="1">
                <Description/>
            </Constant>
            <Constant name="PHYSICAL" encodingId="2" value="2">
                <Description/>
            </Constant>
            <Constant name="CASH_OR_PHYSICAL" encodingId="3" value="3">
                <Description/>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="SchedulerState" type="Integer">
            <Description>State of the scheduler.</Description>
            <Constant name="NORMAL" encodingId="1" value="1">
                <Description>Normal state during daily operations.</Description>
            </Constant>
            <Constant name="RERUN_EOD" encodingId="2" value="2">
                <Description>This state is used during End of Day rerun.</Description>
            </Constant>
            <Constant name="INTRADAY_MARGIN_CALL" encodingId="3" value="3">
                <Description>This current system state is used during Intraday Margin Call.</Description>
            </Constant>
            <Constant name="REBALANCING" encodingId="4" value="4">
                <Description>This current system state is used during Intraday Collateral Rebalancing.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="SubscriptionRequestType" type="int">
            <Description>Literals describing the type of subscription request</Description>
            <Constant name="CURRENT_VALUE" encodingId="1" value="1">
                <Description>Request for current values only; no future updates</Description>
            </Constant>
            <Constant name="SUBSCRIPTION" encodingId="2" value="2">
                <Description>Request for subscription of future updates only; no current value</Description>
            </Constant>
            <Constant name="CURRENT_VALUES_AND_SUBSCRIPTION" encodingId="3" value="3">
                <Description>Request for current values and future updates</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="ValuationModelType" type="String">
            <Description>Valuation Model Type.</Description>
            <Constant name="MARK_TO_MODEL" encodingId="1" value="&quot;MARK_TO_MODEL&quot;">
                <Description>Mark to model.</Description>
            </Constant>
            <Constant name="MARK_TO_MARKET" encodingId="2" value="&quot;MARK_TO_MARKET&quot;">
                <Description>Mark to market.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="ValuationSubType" type="String">
            <Description>Valuation Sub Type.</Description>
            <Constant name="COST_OF_CARRY_DIVIDEND_PROJECTION" encodingId="6" value="&quot;COST_OF_CARRY_DIVIDEND_PROJECTION&quot;">
                <Description>Cost of Carry dividend projection.</Description>
            </Constant>
            <Constant name="COST_OF_CARRY_DIVIDEND_YIELD" encodingId="7" value="&quot;COST_OF_CARRY_DIVIDEND_YIELD&quot;">
                <Description>Cost of Carry dividend yield.</Description>
            </Constant>
            <Constant name="COST_OF_CARRY_DIVIDEND_NEUTRAL" encodingId="8" value="&quot;COST_OF_CARRY_DIVIDEND_NEUTRAL&quot;">
                <Description>Cost of Carry dividend neutral.</Description>
            </Constant>
            <Constant name="BLACK76" encodingId="2" value="&quot;BLACK76&quot;">
                <Description>Black76.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="YieldType" type="String">
            <Description>Yield Type.</Description>
            <Constant name="YIELD_TO_MATURITY" encodingId="1" value="&quot;YIELD_TO_MATURITY&quot;">
                <Description>fixed income done in yield to maturity</Description>
            </Constant>
            <Constant name="DIVIDEND_YIELD" encodingId="2" value="&quot;DIVIDEND_YIELD&quot;">
                <Description>Percentage value represented as the annual dividend payouts (cash flow) of the instrument in relation to the current market price of the instrument.</Description>
            </Constant>
            <Constant name="INTEREST_RATE" encodingId="3" value="&quot;INTEREST_RATE&quot;">
                <Description>Interest specified as a percentage value.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="ClearingMemberLinkStatus" type="Integer">
            <Description>The status of the clearing member link. The value may be null and means a new link has been added.</Description>
            <Constant name="IN_PROGRESS" encodingId="1" value="1">
                <Description>The EOD transfer of member is in progress. This happens when a link shall be changed according to effective date of the link.</Description>
            </Constant>
            <Constant name="ACTIVE" encodingId="2" value="2">
                <Description>The EOD transfer of member is finished and the new link became active.</Description>
            </Constant>
            <Constant name="OLD" encodingId="3" value="3">
                <Description>The link that became old after the EOD transfer of member.</Description>
            </Constant>
            <Constant name="FAILED" encodingId="4" value="4">
                <Description>The EOD transfer of member failed.</Description>
            </Constant>
            <Constant name="NEW" encodingId="5" value="5">
                <Description>The EOD transfer of member is not applicable for this link. It is a new link and nothing to transfer from.</Description>
            </Constant>
        </ConstantGroup>
        <ConstantGroup name="SettlementInstructionState" type="String">
            <Description>Settlement Instruction State.</Description>
            <Constant name="CREATED" encodingId="1" value="&quot;CREATED&quot;">
                <Description>The instruction has been created but processing has not yet started.</Description>
            </Constant>
            <Constant name="PENDING" encodingId="2" value="&quot;PENDING&quot;">
                <Description>The processing has started for the instruction.</Description>
            </Constant>
            <Constant name="PARTIALLY_SETTLED" encodingId="3" value="&quot;PARTIALLY_SETTLED&quot;">
                <Description>The instruction has been partially settled.</Description>
            </Constant>
            <Constant name="SETTLED" encodingId="4" value="&quot;SETTLED&quot;">
                <Description>The instruction has been completely settled, i.e. the settled amount is the same as the requested amount. This is an end state.</Description>
            </Constant>
            <Constant name="CANCELLED" encodingId="5" value="&quot;CANCELLED&quot;">
                <Description>The instruction has been cancelled. This is an end state.</Description>
            </Constant>
            <Constant name="FAILED" encodingId="6" value="&quot;FAILED&quot;">
                <Description>The instruction has failed. This may be used by an external part if there is something wrong with the instruction, for example an erroneous account number. Not used in JSE.</Description>
            </Constant>
        </ConstantGroup>
    </ConstantGroups>
    <StatusCodes>
        <StatusCode name="Ok" value="3001" text="OK">
            <Description>OK</Description>
        </StatusCode>
        <StatusCode name="Warning" value="3002" text="The processing succeeded but some errors occurred">
            <Description>Warning</Description>
        </StatusCode>
        <StatusCode name="Deferred" value="3003" text="The request is queued">
            <Description>Deferred</Description>
        </StatusCode>
        <StatusCode name="DeferredWithWarning" value="3004" text="The request is enqueued but some errors occurred">
            <Description>DeferredWithWarning</Description>
        </StatusCode>
        <StatusCode name="AfwFailMsgVal" value="4001" text="Message validation failed, see explanation">
            <Description>Message validation failed,</Description>
        </StatusCode>
        <StatusCode name="AccNoRightsDefined" value="12001" text="User is not authorized for this service">
            <Description/>
        </StatusCode>
        <StatusCode name="AccNoUserFound" value="12002" text="No user found">
            <Description/>
        </StatusCode>
        <StatusCode name="AccNoRulesDefined" value="12003" text="User is not authorized for this service">
            <Description/>
        </StatusCode>
        <StatusCode name="AccUserDeniedService" value="12004" text="The service is not allowed">
            <Description/>
        </StatusCode>
        <StatusCode name="AccUserDeniedServiceForObject" value="12005" text="The service is not allowed for this object">
            <Description/>
        </StatusCode>
        <StatusCode name="AfwQueueInfoMissing" value="16001" text="The queue information in the configuration is missing. Please check your configuration file.">
            <Description>The queue information in the configuration is missing. Please check your configuration file.</Description>
        </StatusCode>
        <StatusCode name="AfwFailDynVal" value="16002" text="Dynamic validation error: This failure should be replaced by a specific one.">
            <Description>Dynamic validation error: This failure should be replaced by a specific one.</Description>
        </StatusCode>
        <StatusCode name="AfwFailStatVal" value="16003" text="Static validation error: This failure should be replaced by a specific one.">
            <Description>Static validation error: This failure should be replaced by a specific one.</Description>
        </StatusCode>
        <StatusCode name="AfwDynValTapStatusErr" value="16004" text="Program error, dynamic validation inconsistency for TapStatus">
            <Description>Program error, dynamic validation inconsistency for TapStatus</Description>
        </StatusCode>
        <StatusCode name="AfwApplTapStatusErr" value="16005" text="Program error, application service inconsistency for TapStatus">
            <Description>Program error, application service inconsistency for TapStatus</Description>
        </StatusCode>
        <StatusCode name="AfwApplNullReturn" value="16006" text="Program error, null not allowed return from service">
            <Description>Program error, null not allowed return from service</Description>
        </StatusCode>
        <StatusCode name="AfwFailValTokenValue" value="16007" text="Token value must not be undefined">
            <Description>Token value must not be undefined</Description>
        </StatusCode>
        <StatusCode name="AfwFailValMessage" value="16008" text="The message must not be null">
            <Description>The message is not allowed to be null</Description>
        </StatusCode>
        <StatusCode name="AfwFailValState" value="16009" text="The request is not allowed during this trading state">
            <Description>The request is not allowed during this trading state</Description>
        </StatusCode>
        <StatusCode name="AfwFailValUser" value="16010" text="User is not allowed to perform request">
            <Description>User is not allowed to perform request</Description>
        </StatusCode>
        <StatusCode name="AfwNoResponseFound" value="16011" text="No response message found within specified time interval">
            <Description>No response message found within specified time interval</Description>
        </StatusCode>
        <StatusCode name="AfwQueued" value="16012" text="The request is queued for processing">
            <Description>The request is queued for processing</Description>
        </StatusCode>
        <StatusCode name="AfwCancelled" value="16013" text="The request is cancelled">
            <Description>The request is cancelled</Description>
        </StatusCode>
        <StatusCode name="AfwExecuting" value="16014" text="The request is executing">
            <Description>The request is executing</Description>
        </StatusCode>
        <StatusCode name="AfwNotFound" value="16015" text="The request is not found">
            <Description>The request is not found</Description>
        </StatusCode>
        <StatusCode name="AfwVersionMismatchThrowaway" value="16016" text="The request could not be served by the server">
            <Description>The request could not be served by the server</Description>
        </StatusCode>
        <StatusCode name="AfwServiceNotAvailable" value="16017" text="The requested service is not available in the recipient server">
            <Description>The requested service is not available in the recipient server</Description>
        </StatusCode>
        <StatusCode name="AfwInvalidStateForCatchUp" value="16018" text="Cannot perform catch-up when in current state">
            <Description>Cannot perform catch-up when in current state</Description>
        </StatusCode>
        <StatusCode name="AfwInitiateCatchUpFailed" value="16019" text="Failed to initiate catch-up">
            <Description>Failed to initiate catch-up</Description>
        </StatusCode>
        <StatusCode name="AfwInvalidStateForRecoveryNegotiation" value="16020" text="Cannot perform recovery negotiation when in current state">
            <Description>Cannot perform recovery negotiation when in current state</Description>
        </StatusCode>
        <StatusCode name="AfwInitiateRecoveryNegotiationFailed" value="16021" text="Failed to initiate recovery negotiation">
            <Description>Failed to initiate recovery negotiation</Description>
        </StatusCode>
        <StatusCode name="AfwDbClassNoMsgIf" value="16022" text="The requested object class is not a MessageIf">
            <Description>The requested object class is not a MessageIf</Description>
        </StatusCode>
        <StatusCode name="AfwDbClassNoDbTable" value="16023" text="The requested object class is not a database table">
            <Description>The requested object class is not a database table</Description>
        </StatusCode>
        <StatusCode name="AfwDbUnrecognizedChildColumn" value="16024" text="The requested child attribute is not a database column">
            <Description>The requested child attribute is not a database column</Description>
        </StatusCode>
        <StatusCode name="AfwDbChainError" value="16025" text="There was an error in the in-chain database service">
            <Description>There was an error in the in-chain database service</Description>
        </StatusCode>
        <StatusCode name="AfwCvSegmentTooOld" value="16026" text="The requested snapshot segment is too old and has been dropped by the server">
            <Description>The requested snapshot segment is too old and has been dropped by the server</Description>
        </StatusCode>
        <StatusCode name="AfwCvSegmentTooMany" value="16027" text="The server cannot allocate more snapshot segments at this time. Try again later.">
            <Description>The server cannot allocate more snapshot segments at this time. Try again later.</Description>
        </StatusCode>
        <StatusCode name="AfwFailedToUnpackRawRequest" value="16028" text="Failed to unpack raw request">
            <Description>Failed to unpack raw request</Description>
        </StatusCode>
        <StatusCode name="AfwUnknowRawRequestUnpacker" value="16029" text="Failed to find unpacker for a raw request">
            <Description>Failed to find unpacker for a raw request</Description>
        </StatusCode>
        <StatusCode name="AfwUnknowRawRequestDestination" value="16030" text="Failed to find destination for a raw request">
            <Description>Failed to find destination for an unpacked raw request</Description>
        </StatusCode>
        <StatusCode name="AfwXioConnectRefused" value="16031" text="Connection to the xio messaging server was refused">
            <Description>Connection to the xio messaging server was refused</Description>
        </StatusCode>
        <StatusCode name="AfwXioConnectFailed" value="16032" text="Failed to connect to the xio messaging server">
            <Description>Failed to connect to the xio messaging server</Description>
        </StatusCode>
        <StatusCode name="AfwInitiateCatchUpNeedTruncate" value="16033" text="Standby object store might need to be truncated">
            <Description>Standby object store might need to be truncated</Description>
        </StatusCode>
        <StatusCode name="TaxSessionMissing" value="17001" text="There is no valid session available for the user.">
            <Description>There is no valid session available for the user.</Description>
        </StatusCode>
        <StatusCode name="TaxGateletFailure" value="17002" text="The gatelet failed to forward the request.">
            <Description>The gatelet failed to forward the request.</Description>
        </StatusCode>
        <StatusCode name="TaxServiceFailure" value="17003" text="The service returned a null response.">
            <Description>The service returned a null response.</Description>
        </StatusCode>
        <StatusCode name="TaxMissingMessage" value="17004" text="Cannot service request: Unknown message">
            <Description>The incoming message is not included in the classpath for TAX.</Description>
        </StatusCode>
        <StatusCode name="TaxMissingGatelet" value="17005" text="Cannot service request: No gatelet reqistered for the message.">
            <Description>The incoming message does not have an associated gatelet.</Description>
        </StatusCode>
        <StatusCode name="TaxComponentActionFailed" value="17006" text="Cannot service request: Failed to start/stop component.">
            <Description>Illegal state transition</Description>
        </StatusCode>
        <StatusCode name="TaxComponentNotFound" value="17007" text="Cannot service request: Component not found.">
            <Description>No such component</Description>
        </StatusCode>
        <StatusCode name="TaxMissingTepsSubscription" value="17008" text="No TEPS subscription connection">
            <Description>No TEPS subscription connection</Description>
        </StatusCode>
        <StatusCode name="TaxInvalidTepsSubscription" value="17009" text="Failed to activate TEPS subscription">
            <Description>Failed to activate TEPS subscription</Description>
        </StatusCode>
        <StatusCode name="TaxUnknownClientSubscription" value="17010" text="Failed to find client subscription">
            <Description>Failed to find client subscription</Description>
        </StatusCode>
        <StatusCode name="TaxUserDisabled" value="17011" text="Session no longer valid - user disabled">
            <Description>Session no longer valid - user disabled</Description>
        </StatusCode>
        <StatusCode name="TaxUserDeleted" value="17012" text="Session no longer valid - user deleted">
            <Description>Session no longer valid - user deleted</Description>
        </StatusCode>
        <StatusCode name="TaxSessionThrottled" value="17013" text="Session over-utilized - throttled">
            <Description>Session throttled, request delayed</Description>
        </StatusCode>
        <StatusCode name="TaxRejectedThrottled" value="17014" text="Request rejected - rate too high">
            <Description>Request rejected - rate too high</Description>
        </StatusCode>
        <StatusCode name="TaxSessionThrottledResetOnly" value="17015" text="Session over-utilized: throttled, delayed - timestamp reset">
            <Description>Session throttled, return code not returned, but timestamp was reset.</Description>
        </StatusCode>
        <StatusCode name="TaxTargetPartitionDown" value="17016" text="Cannot service request. There are no servers available for the target partition.">
            <Description>Cannot service request. There are no servers available for the target partition.</Description>
        </StatusCode>
        <StatusCode name="TaxFailoverInProgress" value="17017" text="Cannot service request: A failover is currently in progress.">
            <Description>Cannot service request: A failover is currently in progress.</Description>
        </StatusCode>
        <StatusCode name="TaxServiceException" value="17018" text="The request resulted in an exception in the target service.">
            <Description>The request resulted in an exception in the target service.</Description>
        </StatusCode>
        <StatusCode name="TaxTransportInterrupted" value="17019" text="Cannot service request: Internal communication was interrupted.">
            <Description>Cannot service request: Internal communication was interrupted.</Description>
        </StatusCode>
        <StatusCode name="AlertUnknownId" value="18001" text="Unknown alert id">
            <Description>The id of the alert is not known.</Description>
        </StatusCode>
        <StatusCode name="CdInternalJavaError" value="52001" text="CD internal java error, unexpected exception occurred.">
            <Description>CD internal java error, unexpected exception occurred.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidFirmId" value="52002" text="The provided member ID does not exist.">
            <Description>The provided member ID does not exist.</Description>
        </StatusCode>
        <StatusCode name="CdIllegalFirmId" value="52003" text="The provided member ID is illegal.">
            <Description>The provided member ID is illegal.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidUserId" value="52004" text="The provided user ID does not exist.">
            <Description>The provided user ID does not exist.</Description>
        </StatusCode>
        <StatusCode name="CdIllegalUserId" value="52005" text="The provided user ID is illegal.">
            <Description>The provided user ID is illegal.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidPwd" value="52006" text="Invalid user ID or password.">
            <Description>For some reason the user action failed.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidPwdSameAsBefore" value="52007" text="Invalid password, new password cannot be same as old.">
            <Description>Invalid password, new password cannot be same as old.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidLoginTicket" value="52008" text="Login ticket from pre-login is not valid">
            <Description>Invalid login ticket</Description>
        </StatusCode>
        <StatusCode name="CdInvalidPwdFormat" value="52009" text="Invalid password format">
            <Description>Invalid password format</Description>
        </StatusCode>
        <StatusCode name="CdUserDisabled" value="52010" text="User account is disabled">
            <Description>User account is disabled</Description>
        </StatusCode>
        <StatusCode name="CdUserPasswordNotInitialized" value="52011" text="User password not initialized must be changed before login">
            <Description>User password not initialized must be changed before login</Description>
        </StatusCode>
        <StatusCode name="CdUserPasswordHasExpired" value="52012" text="User password has expired">
            <Description>User password has expired</Description>
        </StatusCode>
        <StatusCode name="CdNoSuchUser" value="52013" text="User does not exists.">
            <Description>For some reason the user action failed.</Description>
        </StatusCode>
        <StatusCode name="CdUnknownError" value="52014" text="An unexpected error occurred.">
            <Description>Use this error code with care. It is better to construct a specific message.</Description>
        </StatusCode>
        <StatusCode name="CdUserActionFailed" value="52015" text="The user action failed.">
            <Description>For some reason the user action failed.</Description>
        </StatusCode>
        <StatusCode name="CdPreLoginNotUsed" value="52016" text="Pre-Login service is not configured and used">
            <Description>Pre-Login service is not configured and used</Description>
        </StatusCode>
        <StatusCode name="CdPwdLocked" value="52017" text="Account locked.">
            <Description>For some reason the user action failed.</Description>
        </StatusCode>
        <StatusCode name="CdPwdExpired" value="52018" text="Password expired.">
            <Description>For some reason the user action failed.</Description>
        </StatusCode>
        <StatusCode name="CdAccProfileUnavailable" value="52019" text="Unable to fetch the acc profile.">
            <Description>For some reason the user action failed.</Description>
        </StatusCode>
        <StatusCode name="CdAlreadyLoggedOn" value="52020" text="The user is already logged on.">
            <Description>User attempted to logon but is already logged on.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidRoleChangeFIX" value="52021" text="It's not allowed to change rules of a FIX_Trader.">
            <Description>.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidRoleChangeNonFIX" value="52022" text="It's not allowed to change rules for a non-FIX_Trader to a FIX_Trader.">
            <Description>.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidFIXLogin" value="52023" text="User is FIX user. Not allowed to login via GUI.">
            <Description>.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidPwdProperties" value="52024" text="Invalid value: Minimum value is 1.">
            <Description>.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidOrderBookRuleGroup" value="52025" text="The supplied OrderBookRuleGroup does not exist">
            <Description>The supplied OrderBookRuleGroup does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidOrderBook" value="52026" text="The supplied OrderBook does not exist">
            <Description>The supplied OrderBook does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidCombinationOrderBookLeg" value="52027" text="The supplied Combination OrderBook Leg does not exist">
            <Description>The supplied OrderBook does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidSubscriptionGroup" value="52028" text="The supplied SubscriptionGroup does not exist">
            <Description>The supplied SubscriptionGroup does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidCurrency" value="52029" text="The supplied CurrencyId does not exist">
            <Description>The supplied CurrencyId does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidTickSizeTableId" value="52030" text="The supplied TickSizeTableId does not exist">
            <Description>The supplied TickSizeTableId does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidTradingScheduleTableId" value="52031" text="The supplied TradingScheduleTableId does not exist">
            <Description>The supplied TradingScheduleTableId does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidAllowedRequestGroupId" value="52032" text="The supplied AllowedRequestGroupId is invalid">
            <Description>The supplied AllowedRequestGroupId does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidProcessingSequenceId" value="52033" text="The supplied processingSequenceId is invalid">
            <Description>The supplied processingSequenceId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidUserPropertiesCategory" value="52034" text="The supplied UserPropertiesCategory is invalid">
            <Description>The supplied UserPropertiesCategory is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServiceProfileId" value="52035" text="The supplied ServiceProfileId is invalid">
            <Description>The supplied ServiceProfileId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServiceProfileGroupId" value="52036" text="The supplied ServiceProfileGroupId is invalid">
            <Description>The supplied ServiceProfileGroupId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServiceProfileRefId" value="52037" text="The supplied ServiceProfileRefId is invalid">
            <Description>The supplied ServiceProfileRefId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdIllegalServiceProfileId" value="52038" text="The supplied ServiceProfileId contains illegal characters">
            <Description>The supplied ServiceProfileId contains illegal characters</Description>
        </StatusCode>
        <StatusCode name="CdIllegalServiceProfileGroupId" value="52039" text="The supplied ServiceProfileGroupId contains illegal characters">
            <Description>The supplied ServiceProfileGroupId contains illegal characters</Description>
        </StatusCode>
        <StatusCode name="CdIllegalServiceProfileRefId" value="52040" text="The supplied ServiceProfileRefId contains illegal characters">
            <Description>The supplied ServiceProfileRefId contains illegal characters</Description>
        </StatusCode>
        <StatusCode name="CdIllegalServiceProfileEntryDelayClassId" value="52041" text="The supplied ServiceProfileEntryDelayClassId contains illegal characters">
            <Description>The supplied ServiceProfileEntryDelayClassId contains illegal characters</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServiceProfileEntryDelayClassId" value="52042" text="The supplied ServiceProfileEntryDelayClassId is invalid">
            <Description>The supplied InvalidServiceProfileRefId contains illegal characters</Description>
        </StatusCode>
        <StatusCode name="CdIllegalServiceProfileEntryInfoLevelClassId" value="52043" text="The supplied ServiceProfileEntryInfoLevelClassId contains illegal characters">
            <Description>The supplied ServiceProfileEntryInfoLevelClassId contains illegal characters</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServiceProfileEntryInfoLevelClassId" value="52044" text="The supplied ServiceProfileEntryInfoLevelClassId is invalid">
            <Description>The supplied ServiceProfileEntryInfoLevelClassId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdCombinationOrdersLegsMustBelongToTheSameSubscriptionGroup" value="52045" text="All legs in a combination order must belong to the same subscription group">
            <Description/>
        </StatusCode>
        <StatusCode name="CdCombinationOrdersLegsMustUseSameSorting" value="52046" text="All legs in a combination order must belong to order books using the same type of sorting">
            <Description/>
        </StatusCode>
        <StatusCode name="CdCombinationOrderLegsMustNotShareTheSameOrderBook" value="52047" text="Combination order legs may not share the same order book">
            <Description/>
        </StatusCode>
        <StatusCode name="CdTooManyCombinationOrderLegs" value="52048" text="There were too many legs in the combination order">
            <Description/>
        </StatusCode>
        <StatusCode name="CdCombinationOrderLegsMustNotBeCombinationOrder" value="52049" text="Combination order legs may not be a combination order">
            <Description/>
        </StatusCode>
        <StatusCode name="CdInvalidServerGroupId" value="52050" text="The supplied ServerGroupId is invalid">
            <Description>The supplied ServerGroupId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdIllegalServerGroupId" value="52051" text="The supplied ServerGroupId contains illegal characters">
            <Description>he supplied ServerGroupId contains illegal characters</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServerProcessId" value="52052" text="The supplied ServerProcessId is invalid">
            <Description>The supplied ServerProcessId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdIllegalServerProcessId" value="52053" text="The supplied ServerProcessId contains illegal characters">
            <Description>The supplied ServerProcessId contains illegal characters</Description>
        </StatusCode>
        <StatusCode name="CdInvalidCalendarDate" value="52054" text="The supplied CalendarDate is invalid">
            <Description>The supplied CalendarDate is invalid</Description>
        </StatusCode>
        <StatusCode name="CdIllegalRemoveOperationType" value="52055" text="The supplied cache remove type is invalid">
            <Description>The supplied cache remove type is invalid</Description>
        </StatusCode>
        <StatusCode name="CdPartitionMismatch" value="52056" text="Invalid Partition/Subscription group/Orderbook rule group/Orderbook combination">
            <Description>Thre is a missmatch between the defaultPartition in the OrderbookRulegroup and the partition for the supplied subscription group</Description>
        </StatusCode>
        <StatusCode name="CdInvalidPwdUserOrFirm" value="52057" text="Invalid userid, password or member firm">
            <Description>The login parameters are invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidPartitionTableId" value="52058" text="Invalid partition table ID">
            <Description>The supplied partition table is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidPartitionId" value="52059" text="Invalid partition ID">
            <Description>The supplied partition ID does not exist</Description>
        </StatusCode>
        <StatusCode name="CdInvalidTickSizeTable" value="52060" text="The supplied ticksize table has no rows">
            <Description>The supplied ticksize table has no rows.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidLowerLimit" value="52061" text="The supplied lower limit is invalid">
            <Description>The supplied lower limit is invalid.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidFractionalTick" value="52062" text="The supplied fractional tick is invalid">
            <Description>The supplied fractional tick is invalid.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidTradeTick" value="52063" text="The supplied trade tick is invalid">
            <Description>The supplied trade tick is invalid.</Description>
        </StatusCode>
        <StatusCode name="CdTransactionValidationError" value="52064" text="Transaction failed validation">
            <Description>Transaction failed validation. One or more mandatory fields are missing or have illegal values.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidInstrumentId" value="52065" text="The supplied instrumentId is invalid">
            <Description>The supplied InstrumentId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidDisplayName" value="52066" text="The supplied displayName is invalid">
            <Description>The supplied DisplayName is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidOrderBookParameterId" value="52067" text="The supplied OrderBookParameter ID is invalid">
            <Description>The supplied OrderBookParameter ID is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidOrderBookRuleGroupParameterId" value="52068" text="The supplied OrderBookRuleGroupParameter is invalid">
            <Description>The supplied OrderBookRuleGroupParameter is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidModificationSchedule" value="52069" text="The supplied serviceId is invalid">
            <Description>The supplied serviceId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidModificationScheduleDates" value="52070" text="The supplied startTime and endTime are invalid">
            <Description>The supplied startTime and/or endTime is invalid</Description>
        </StatusCode>
        <StatusCode name="CdUserNotAuthorizedForAnySessionType" value="52071" text="The user is not authorized to use any session type">
            <Description>The user is not authorized to use any TAX-type</Description>
        </StatusCode>
        <StatusCode name="CdNoConnectorForSessionTypeAvailable" value="52072" text="No connectors for the user's session types are available">
            <Description>The user is not authorized to use any TAX-type</Description>
        </StatusCode>
        <StatusCode name="CdInvalidUserPropertiesCategoryId" value="52073" text="The supplied UserPropertiesCategory ID is invalid">
            <Description>The supplied UserPropertiesCategory ID is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidExternalMarketId" value="52074" text="The supplied ExternalMarketId is invalid">
            <Description>The supplied ExternalMarketId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServerPartitionTable" value="52075" text="The supplied ServerPartitionTable is invalid">
            <Description>The supplied ServerPartitionTable is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServerPartitionTableId" value="52076" text="The supplied ServerPartitionTableId is invalid">
            <Description>The supplied ServerPartitionTableId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServerPartition" value="52077" text="The supplied ServerPartition is invalid">
            <Description>The supplied ServerPartition is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidServerPartitionId" value="52078" text="The supplied ServerPartition ID is invalid">
            <Description>The supplied ServerPartitionId ID is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidGlobalPasswordProperties" value="52079" text="The supplied GlobalPasswordProperties is invalid">
            <Description>The supplied GlobalPasswordProperties is invalid</Description>
        </StatusCode>
        <StatusCode name="CdInvalidDefaultSvcProfHandling" value="52080" text="Invalid default ServiceProfile handling">
            <Description>Invalid default ServiceProfile handling</Description>
        </StatusCode>
        <StatusCode name="CdXmlParsingFailure" value="52081" text="The supplied document could not be parsed">
            <Description>There where fatal syntax errors in the provided XML document.</Description>
        </StatusCode>
        <StatusCode name="CdXmlLoadPartialFailure" value="52082" text="Some entities were not loaded into CD">
            <Description>The loading of CD data was not a complete success.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidPostBootAction" value="52083" text="The specified post boot action is unknown.">
            <Description>The specified post boot action is unknown and could not be executed.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidDateOrTime" value="52084" text="The specified date or time has incorrect format or is inappropriate">
            <Description>The specified post boot action is unknown and could not be executed.</Description>
        </StatusCode>
        <StatusCode name="CdScheduledUpdateError" value="52085" text="Scheduled reference data update transaction failed.">
            <Description>Scheduled reference data update transaction failed.</Description>
        </StatusCode>
        <StatusCode name="CdScheduledUpdatePreValidationError" value="52086" text="Scheduled reference data update pre-validation failed.">
            <Description>Scheduled reference data update pre-validation failed.</Description>
        </StatusCode>
        <StatusCode name="CdScheduledUpdatePreValidationWarning" value="52087" text="Scheduled reference data update pre-validaion resulted in warnings.">
            <Description>Scheduled reference data update pre-validaion resulted in warnings.</Description>
        </StatusCode>
        <StatusCode name="CdPendingScheduledUpdateWarning" value="52088" text="A scheduled update has been issued for this object. The scheduled update may be lost.">
            <Description>A scheduled update has been issued for this object. The scheduled update may be lost.</Description>
        </StatusCode>
        <StatusCode name="CdInvalidCombinationOrderLegDisplayOrder" value="52089" text="Duplicate display order numbers on combination legs are not allowed. All numbers null is allowed.">
            <Description/>
        </StatusCode>
        <StatusCode name="CdUpdateWarning" value="52090" text="The validation of the request resulted in warning.">
            <Description>The validation of the request resulted in warning(s). This code is returned when a reference data operation may conflict with other operations or is potentially dangerous. The actual transction is not performed. To override the warning (and execute the transaction anyway), use the set the overrideWarning attribute to true in the request.</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidMarketId" value="53001" text="The marketId field is invalid">
            <Description>The marketId field is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidName" value="53002" text="The name field is invalid">
            <Description>The name field is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidCountryCode" value="53003" text="The countryCode field is invalid">
            <Description>The name countryCode is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidMarketListId" value="53004" text="The marketListId field is invalid">
            <Description>The marketListId field is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidSegmentId" value="53005" text="The supplied segmentId is invalid">
            <Description>The supplied SegmentId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidInstrumentId" value="53006" text="The supplied instrumentId is invalid">
            <Description>The supplied InstrumentId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidTradableInstrumentId" value="53007" text="The supplied tradableInstrumentId is invalid">
            <Description>The supplied TradableInstrumentId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidViewId" value="53008" text="The supplied viewId is invalid">
            <Description>The supplied ViewId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidViewElementId" value="53009" text="The supplied viewElementId is invalid">
            <Description>The supplied ViewElementId is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidInstrumentType" value="53010" text="The supplied instrumentType is invalid">
            <Description>The supplied InstrumentType is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidSegmentType" value="53011" text="The supplied segmentType is invalid">
            <Description>The supplied SegmentType is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidValidFromDate" value="53012" text="The supplied validFromDate field is invalid">
            <Description>The supplied validFromDate is unacceptable</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidValidToDate" value="53013" text="The supplied validToDate field is invalid">
            <Description>The supplied validToDate is a mess</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidNavigationLevel" value="53014" text="The supplied mimLevel field is invalid">
            <Description>The supplied mimLevel is not a valid MarketInstrumentModelLevel literal.</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidAction" value="53015" text="The supplied action field is invalid">
            <Description>The supplied action is not a valid MarketInstrumentModelAction literal.</Description>
        </StatusCode>
        <StatusCode name="CdMimXmlParsingFailure" value="53016" text="The supplied document could not be parsed">
            <Description>There were fatal syntax errors in the provided XML document.</Description>
        </StatusCode>
        <StatusCode name="CdMimXmlLoadPartialFailure" value="53017" text="Some entities were not loaded into CD">
            <Description>The loading of CD data was not a complete success.</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidRoleList" value="53018" text="Invalid comma-separated role list">
            <Description>The format of the supplied role list is invalid.</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidMemberType" value="53019" text="Invalid member type">
            <Description>The supplied member types does not match any of the values in MemberType.</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidListOfAliases" value="53020" text="The supplied listOfAliases is invalid">
            <Description>The supplied listOfAliases is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimRecursiveEnableFailed" value="53021" text="Failed to enable some of the requested Elements">
            <Description>Failed to enable some of the requested Elements, sorry</Description>
        </StatusCode>
        <StatusCode name="CdMimRecursiveDisableFailed" value="53022" text="Failed to disable some of the requested Elements">
            <Description>Failed to disable some of the requested Elements, sorry</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidHolidayScheduleId" value="53023" text="Invalid holidayScheduleId field">
            <Description>Invalid holidayScheduleId field supplied</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidHolidayId" value="53024" text="Invalid holidayId field">
            <Description>Invalid holidayId field supplied</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidTime" value="53025" text="Invalid time format or value">
            <Description>A specified time either hade an invalid format or value</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidConvertibleData" value="53026" text="Invalid ConvertibleData">
            <Description>The supplied ConvertibleData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidRightData" value="53027" text="Invalid RightData">
            <Description>The supplied RightData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidSubscriptionOptionData" value="53028" text="Invalid SubscriptionOptionData">
            <Description>The supplied SubscriptionOptionData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidInterimShareData" value="53029" text="Invalid InterimShareData">
            <Description>The supplied InterimShareData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidWarrantData" value="53030" text="Invalid WarrantData">
            <Description>The supplied WarrantData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidCertificateData" value="53031" text="Invalid CertificateData">
            <Description>The supplied CertificateData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidIndustrySector" value="53032" text="Invalid IndustrySector">
            <Description>The supplied IndustrySector is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidTradableInstrumentData" value="53033" text="Invalid TradableInstrumentData">
            <Description>The supplied TradableInstrumentData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidGenericInstrumentData" value="53034" text="Invalid GenericInstrumentData">
            <Description>The supplied GenericInstrumentData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidInstrumentTypeData" value="53035" text="Invalid InstrumentTypeData">
            <Description>The supplied InstrumentTypeData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidTradableInstrumentTypeData" value="53036" text="Invalid TradableInstrumentTypeData">
            <Description>The supplied TradableInstrumentTypeData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidScheduledCorporateActionId" value="53037" text="Invalid ScheduledCorporateActionId">
            <Description>The supplied TradableInstrumentTypeData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimInvalidCorporateActionEffectId" value="53038" text="Invalid CorporateActionEffectId">
            <Description>The supplied TradableInstrumentTypeData is invalid</Description>
        </StatusCode>
        <StatusCode name="CdMimNoGlobalTradingProtectionLimitDefined" value="53039" text="No global Trading Protection Limit defined">
            <Description>There is no Global Trading Protection Limit Defined in the system.</Description>
        </StatusCode>
        <StatusCode name="CdMimRatioCombLegError" value="53040" text="A ratio combination has to have exactly two legs.">
            <Description>A ratio combination has to have exactly two legs.</Description>
        </StatusCode>
        <StatusCode name="CacheConcurrentModification" value="69001" text="Error updating cache, recursive call to updateCache">
            <Description/>
        </StatusCode>
        <StatusCode name="CacheError" value="69002" text="Error updating the Cache. Possible causes: \n    1) A cache Add on something that already exists in the cache. \n    2) A cache update on something that does not exist in the cache.">
            <Description/>
        </StatusCode>
        <StatusCode name="CacheInvalidKey" value="69003" text="Key node not found">
            <Description>Supplied key does not match a cache node</Description>
        </StatusCode>
        <StatusCode name="CacheDbError" value="69004" text="Exception from db">
            <Description>Cache has encountered a db exception while updating</Description>
        </StatusCode>
        <StatusCode name="CacheEmptyUpdateReq" value="69005" text="Update Req did not supply any update messages">
            <Description>Update Req did not supply any update messages</Description>
        </StatusCode>
        <StatusCode name="CacheNoSuchNode" value="69006" text="Update req, node not found">
            <Description>No node found matching update req</Description>
        </StatusCode>
        <StatusCode name="CacheNodeAlreadyExists" value="69007" text="Add req, cache does already contain node">
            <Description>Cache already contains node</Description>
        </StatusCode>
        <StatusCode name="CacheValidationFailed" value="69008" text="Cache failed validation">
            <Description>Cache failed validation</Description>
        </StatusCode>
        <StatusCode name="CacheValidationIsReferenced" value="69009" text="Node is referenced and can not be removed">
            <Description>Node is referenced and can not be removed</Description>
        </StatusCode>
        <StatusCode name="CacheInvalidId" value="69010" text="Id can not be null">
            <Description>MessageDataIf Id can not be null</Description>
        </StatusCode>
        <StatusCode name="CacheBlobError" value="69011" text="Error encoding or decoding a blob">
            <Description>A BlobMangler implementation has thrown an exception</Description>
        </StatusCode>
        <StatusCode name="TaxUnknownFlow" value="72001" text="unknown broadcast flow">
            <Description>Client has specified and unknown broadcast flow when setting up a subscription</Description>
        </StatusCode>
        <StatusCode name="TaxSubscriptionHandleNotFound" value="72002" text="no active subscription found matching provided subscription handle">
            <Description>Client has provided an subscription handle that can not be found</Description>
        </StatusCode>
        <StatusCode name="TaxUnknownInvalidRqst" value="72003" text="unknown or invalid EMAPI request">
            <Description>EMAPI message is not known or is invalid</Description>
        </StatusCode>
        <StatusCode name="TaxUnknownInvalidRsp" value="72004" text="was not able to translate TAP response to EMAPI response">
            <Description>EMAPI message is not known or is invalid</Description>
        </StatusCode>
        <StatusCode name="TaxUncompleteSnapshot" value="72005" text="not all information could be collected successfully in the snapshot">
            <Description>Snapshot did not complete successfully</Description>
        </StatusCode>
        <StatusCode name="TaxUncompleteRecovery" value="72006" text="not all information could be collected successfully in the recovery">
            <Description>Recovery did not complete successfully</Description>
        </StatusCode>
        <StatusCode name="TaxLoginFailed" value="72007" text="user login request failed">
            <Description>TAX server was not able to logon the user</Description>
        </StatusCode>
        <StatusCode name="TaxUserSessionAlreadyLoggedIn" value="72008" text="user session already logged in">
            <Description>User has already logged in the session</Description>
        </StatusCode>
        <StatusCode name="TaxPreLoginServiceNotUsed" value="72009" text="PreLogin service is not used">
            <Description>PreLogin service is not used</Description>
        </StatusCode>
        <StatusCode name="TaxUserHeartbeatInactivity" value="72010" text="Have not received heartbeats for user, session will be disconnected">
            <Description>Have not received heartbeats for user, session will be disconnected</Description>
        </StatusCode>
        <StatusCode name="TaxServiceNotAvailable" value="72011" text="The TAX server has yet not reached routing state Active, the client should retry later">
            <Description>The TAX server has not reached routing state Active. Thus it can not service the request yet. The client should retry later.</Description>
        </StatusCode>
        <StatusCode name="TaxSubscriptionNotAllowed" value="72012" text="Subscription not allow, it may still be possible to retrieve the current values">
            <Description>Client has to poll for data instead of setting up a subscription</Description>
        </StatusCode>
        <StatusCode name="TaxClientVersionMismatch" value="72013" text="The client version is not compatible with the server, logon was rejected.">
            <Description/>
        </StatusCode>
        <StatusCode name="TaxInvalidOrderBookFilter" value="72014" text="Invalid or zero length order book filter.">
            <Description>Invalid or zero length order book filter.</Description>
        </StatusCode>
        <StatusCode name="TaxUserSessionLoginInternalError" value="72015" text="login service failed internally">
            <Description>Login service failed internally</Description>
        </StatusCode>
        <StatusCode name="TaxUnknownPartition" value="72016" text="Can't map request to any partition">
            <Description>Partition mapping failed</Description>
        </StatusCode>
        <StatusCode name="TaxUnknownRequestType" value="72017" text="Unknown subscription request type">
            <Description>Client has specified an unknown request type when setting up a subscription</Description>
        </StatusCode>
        <StatusCode name="TaxOwnerMappingNoUser" value="72018" text="Can't determine user">
            <Description>User can't be determined from the request</Description>
        </StatusCode>
        <StatusCode name="TaxOwnerMappingNoTradingMember" value="72019" text="Can't determine member">
            <Description>Member can't be determined from the request</Description>
        </StatusCode>
        <StatusCode name="TaxSystemReverse" value="72020" text="The system has reverted to a prior state. Some prevoiusly sent updates may be obsolete. Reverse your data structures accordingly and re-synchronize">
            <Description>The system has reverted to a prior state. This typically happens when an emergency server is activated, which means that some prevoiusly sent updates may be obsolete and must be reverted.</Description>
        </StatusCode>
        <StatusCode name="TaxTradeReportCounterpartyMemberUnknown" value="72021" text="Can't determine the counter party member of the trade report">
            <Description>TradeReportReqProcessor, which fills in trading member information in trade reports, can not find the specified counter party member in the reference data.</Description>
        </StatusCode>
        <StatusCode name="AhsInternalError" value="85001" text="Internal error">
            <Description/>
        </StatusCode>
        <StatusCode name="AhsInvalidSql" value="85002" text="The SQL query does not make sense">
            <Description/>
        </StatusCode>
        <StatusCode name="CdRtcMessageValidationFailed" value="1503001" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="CdRtcCacheModificationError" value="1503002" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="CdRtcTransactionNotAllowedInCurrentSystemState" value="1503003" text="The transaction is not allowed in the current system state">
            <Description>Some transactions, particularly reference data update transactions, are only allowed in the system maintenance state.</Description>
        </StatusCode>
        <StatusCode name="CdRtcMulipleErrors" value="1503004" text="">
            <Description>Multiple errors occured. More information is provided in the text message.</Description>
        </StatusCode>
        <StatusCode name="CdRtcSwitchScheduleError" value="1503005" text="Error when trying to switch the current rtc schedule to another schedule.                           More information is provided in the text message.">
            <Description>Error when trying to switch the current rtc schedule to another schedule. More information is provided in the text message.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingInvalidTradableInstrumentOnTrade" value="1504001" text="Tradable instrument on trade is missing">
            <Description>Tradable instrument on trade is invalid.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingInvalidBuyerTradingMember" value="1504002" text="Buyer trading member on trade is invalid">
            <Description>Buyer trading member on trade is invalid.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingInvalidSellingTradingMember" value="1504003" text="Selling trading member on trade is invalid">
            <Description>Selling trading member on trade is invalid.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingDealManagementNotAllowedForAccount" value="1504004" text="The service is not allowed for this combination of from and/or to accounts">
            <Description>The service is not allowed for this combination of from and/or to accounts.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingInvalidMember" value="1504005" text="Member Specified in the request is not valid.">
            <Description>Member Specified in the request is not valid.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingNoValidCmLinkForBuyerTm" value="1504006" text="Buyer Trading Member Specified in the request has no valid Clearing Member Link.">
            <Description>Buyer Trading Member Specified in the request is not valid.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingNoValidCmLinkForSellerTm" value="1504007" text="Seller Trading Member Specified in the request has no valid Clearing Member Link.">
            <Description>Seller Trading Member Specified in the request is not valid.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingInvalidAccount" value="1504008" text="Account Specified in the request is not valid.">
            <Description>Account Specified in the request is not valid.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingNotHouseAccount" value="1504009" text="Account Specified is not a house account.">
            <Description>Account Specified is not a house account.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingMessageValidationFailed" value="1504010" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingCashSettlementVMFailed" value="1504011" text="An error occured during the execution of cash settlement variation margin">
            <Description>An error occured during the execution of cash settlement variation margin.</Description>
        </StatusCode>
        <StatusCode name="RtcClearingInvalidCollateralAccount" value="1504012" text="Collateral Account Specified in the request is not valid.">
            <Description>Collateral Account Specified in the request is not valid.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_UNKNOWN_INSTRUMENT" value="1504013" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_UNKNOWN_ACCOUNT" value="1504014" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_QUANTITY" value="1504015" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_PRICE" value="1504016" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_MISSING_ALLOCATIONS" value="1504017" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_MESSAGE_VALIDATION_FAILED" value="1504018" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_ALLOCATION" value="1504019" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NOT_VALID_FOR_CASH_SETTLEMENT" value="1504020" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NO_MARKET_PRICE" value="1504021" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_CASH_SETTLEMENT_FAILED" value="1504022" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_EXPIRATION_FAILED" value="1504023" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_EXPIRATION_NOT_SUPPORTED_IN_CURRENT_STATE" value="1504024" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_EXPIRATION_NOT_SUPPORTED" value="1504025" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_INSTRUMENT_STATE" value="1504026" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_INSTRUMENT_PLUGIN" value="1504027" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_BASIC_ATTRIBUTES" value="1504028" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_ADDITIONAL_ATTRIBUTES" value="1504029" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_PRODUCT_REFERENCE" value="1504030" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_CURRENCY_REFERENCE" value="1504031" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NO_BUSINESS_DATE" value="1504032" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_UNBALANCED_TRANSACTION" value="1504033" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_REVERSE_OPERATION_FAILED" value="1504034" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_PM_PARTITION" value="1504035" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_PRODUCT_NAME" value="1504036" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_SYMBOL" value="1504037" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_NAME_FOR_ID" value="1504038" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_OPERATION_PENDING" value="1504039" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_TRADABLE_INSTRUMENT_ATTRIBUTES" value="1504040" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_ID_NOT_UNIQUE" value="1504041" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_ID_FOR_NAME" value="1504042" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_PRODUCT_ID" value="1504043" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_TRADABLE_INSTRUMENT_ID" value="1504044" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_ACCOUNT_ID" value="1504045" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_ACCOUNT_NAME" value="1504046" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_TRADE_NOT_FOUND" value="1504047" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_TRADE_DESTINATION" value="1504048" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_TRADE_DESTINATION_ACCOUNT" value="1504049" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_AUTOMATIC_MOVE_ACCOUNT_ID" value="1504050" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_POSITION_NOT_FOUND" value="1504051" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_EXERCISE_FAILED" value="1504052" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_TIMESTAMP_IN_THE_PAST" value="1504053" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_FOUR_EYES_NOT_FOUND" value="1504054" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_OPTION_IS_NOT_AMERICAN" value="1504055" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INSTRUMENT_IS_NOT_AN_OPTION" value="1504056" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_POSITION" value="1504057" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_FOUR_EYES_EXPIRED" value="1504058" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_FOUR_EYES_STATE" value="1504059" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_FOUR_EYES_FILTER" value="1504060" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_DUPLICATE_MOVE_TRADE" value="1504061" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_SAVE_OBJECT_FAILED" value="1504062" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_CALENDAR_UNDEFINED" value="1504063" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_TRANSACTION_NOT_FOUND" value="1504064" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_SEQ_NO" value="1504065" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_SOURCE_ID" value="1504066" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_SUBSCRIPTION_ID" value="1504067" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NOT_SAME_ACCOUNT" value="1504068" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NOT_SAME_INSTRUMENT" value="1504069" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NOT_SAME_SIDE" value="1504070" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NO_REMAINING_QTY" value="1504071" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_CASH_SETTL_OF_VM_INVALID" value="1504072" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_CLIENT_DEAL_ID" value="1504073" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_CONCURRENT_POSITION_MODIFICATION" value="1504074" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_SESSION_TOKEN_REQUIRED" value="1504075" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_GATHER_CASH_NOT_ALLOWED" value="1504076" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_GATHER_CASH_FAILURE" value="1504077" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_AMBIGUOUS_INSTRUMENT_ROUTING" value="1504078" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_INSTRUMENT" value="1504079" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_BOOKMARK" value="1504080" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_DUPLICATE_TRADE_ID" value="1504081" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_INSTRUMENT_LIST" value="1504082" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_DEAL_BUNDLE_LIST" value="1504083" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_HISTORY_FILTER" value="1504084" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_UNDERLYING_REFERENCE" value="1504085" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NOT_VALID_FOR_GENERIC_EVENT" value="1504086" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_GENERIC_EVENT_FAILED" value="1504087" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_INSTRUMENT_SPECIFIC_ATTRIBUTES" value="1504088" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_SERVICE_UNAVAILABLE" value="1504089" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_UNKNOWN_REQUEST_TYPE" value="1504090" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INTERNAL_DATABASE_ERROR" value="1504091" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INTERNAL_TIMEOUT_ERROR" value="1504092" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INTERNAL_ERROR" value="1504093" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_NOT_INITIALIZED" value="1504094" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_TIMED_OUT_OPERATION" value="1504095" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_CONCURRENT_OPERATION" value="1504096" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_FROM_ACCOUNT" value="1504097" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_TRADE_IN_THE_PAST" value="1504098" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_DEAL_MANAGEMENT_NOT_ALLOWED" value="1504099" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_FOUR_EYES_ALREADY_EXISTS" value="1504100" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_INITIATOR" value="1504101" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_CLIENT" value="1504102" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_MTM_PRICE_MISSING_FOR_INSTRUMENT" value="1504103" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_DELIVERY_INSTRUCTION_ID" value="1504104" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_ONGOING_FUTURES_EXPIRY" value="1504105" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_ONGOING_CASH_SETTLEMENT" value="1504106" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_CALC_DIVIDEND_FAILED" value="1504107" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_TRADE_MANAGEMENT_NOT_OPEN" value="1504108" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_ORIGINAL_TRADING_SYSTEM_TRADE_MATCH_ID" value="1504109" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_SUB_ACCOUNT_MODIFICATION_NOT_ALLOWED" value="1504110" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INSTRUMENT_NOT_EXPIRED" value="1504111" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_AUTHORIZATION_FAILED" value="1504112" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_UNKNOW_COMMISSION" value="1504113" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_EXISTING_COMMISSION" value="1504114" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_STATUS" value="1504115" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_INVALID_MEMBER" value="1504116" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcClearing_OPEN_INTEREST_NETTING_GROUP_ALREADY_EXISTS" value="1504117" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMessageAlreadyProcessed" value="1505001" text="This message has already been processed">
            <Description>This message has already been processed. No action taken.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_QUANTITY" value="1506001" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_VALUE" value="1506002" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_SETTLEMENT_DATE" value="1506003" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_NO_BUSINESS_DATE" value="1506004" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_INSTRUMENT_PLUGIN" value="1506005" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_BASIC_ATTRIBUTES" value="1506006" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_ADDITIONAL_ATTRIBUTES" value="1506007" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_PRODUCT_REFERENCE" value="1506008" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_CURRENCY_REFERENCE" value="1506009" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_TRADABLE_INSTRUMENT_ATTRIBUTES" value="1506010" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_DUPLICATE_ID" value="1506011" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_NAME_FOR_ID" value="1506012" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_IDENTICAL_OPERATION_PENDING" value="1506013" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_RISK_NODE" value="1506014" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_ACCOUNT" value="1506015" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_INSTRUMENT" value="1506016" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_PARTITION" value="1506017" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_PRODUCT_NAME" value="1506018" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_SYMBOL" value="1506019" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_ID_NOT_UNIQUE" value="1506020" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_ID_FOR_NAME" value="1506021" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_PRODUCT_ID" value="1506022" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_TRADABLE_INSTRUMENT_ID" value="1506023" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_ACCOUNT_ID" value="1506024" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_ACCOUNT_NAME" value="1506025" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_CALCULATOR_PROVIDER_ID" value="1506026" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_CALCULATOR_CONFIG_ATTRIBUTES" value="1506027" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_CALCULATOR_ID" value="1506028" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_FOREX_ID" value="1506029" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_FOREX_ATTRIBUTES" value="1506030" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_FILTER_ID" value="1506031" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_EVALUATOR_ID" value="1506032" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_DUPLICATE_CHANNEL_NAME" value="1506033" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_RISK_LIMIT" value="1506034" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_RISK_NODE_NOT_READY_FOR_UPDATE" value="1506035" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_CHANNEL" value="1506036" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_DEFAULT_CHANNEL_MUST_EXIST" value="1506037" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_OBJECT" value="1506038" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_FILTER_CONFIGURATION" value="1506039" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_EVALUATOR_CONFIGURATION" value="1506040" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_EVALUATOR_IS_IN_USE" value="1506041" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_FILTER_IS_IN_USE" value="1506042" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_CALCULATOR_IS_IN_USE" value="1506043" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_BOOKMARK" value="1506044" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_MARKETDATA_MISSING" value="1506045" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_POSITION_MISSING" value="1506046" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_DUPLICATE_FOREX" value="1506047" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_BUSINESS_DATE" value="1506048" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_TRACEABLE_CALC_ID" value="1506049" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_BACKTESTING_ID" value="1506050" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_SUBSCRIPTION_ERROR" value="1506051" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_UNDERLYING_REFERENCE" value="1506052" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_SERVICE_UNAVAILABLE" value="1506053" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_FAILED_RISK_CALCULATION" value="1506054" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_CALCULATOR_ERROR" value="1506055" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_CANNOT_HANDLE_RISKNODE" value="1506056" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_TIMED_OUT_OPERATION" value="1506057" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_CONCURRENT_OPERATION" value="1506058" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_CALCULATION_RESULT_EVALUATOR_ERROR" value="1506059" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INTERNAL_ERROR" value="1506060" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_CURRENCY_CONVERSION_ERROR" value="1506061" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_MULTIPLE_CALCULATOR_ERROR" value="1506062" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_MISSING_HISTORICAL_PRICES" value="1506063" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_MISSING_CLOSING_PRICES" value="1506064" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_MISSING_JSPAN_ATTRIBUTES" value="1506065" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_DB_OPERATION_FAILED" value="1506066" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_IMR_CALCULATION_FAILED" value="1506067" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_MARKET" value="1506068" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_FAILED_RISK_ARRAY_CALCULATION" value="1506069" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_MARKETDATAPRICEKEYS" value="1506070" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_DELETE" value="1506071" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_NO_MARKET_PRICE" value="1506072" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_NO_INSTRUMENTS_FOR_BACKTESTING" value="1506073" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_HISTORICAL_DATA_NOT_FOUND" value="1506074" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_UNKNOWN_STRESS_SCENARIO_FACTOR" value="1506075" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_HISTORICAL_STRESSTEST_NOT_PERMITTED" value="1506076" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_CALCULATOR_CONFIG" value="1506077" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_AUTHORIZATION_FAILED" value="1506078" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_SERVICE_NOT_SUPPORTED" value="1506079" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_MULTIPLE_PARTITIONS_REQUESTED" value="1506080" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_LAMBDA_NAME" value="1506081" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_WHAT_IF_CALC_ID" value="1506082" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcRisk_INVALID_WHAT_IF_REQUEST" value="1506083" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_PARTIAL_SUCCESS" value="1507001" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_INTERNAL_SERVER_ERROR" value="1507002" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_NO_RECORD_FOUND" value="1507003" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_TARGET_SERVER_NOT_AVAILABLE" value="1507004" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_REQUEST_INTERNAL_TIMEOUT" value="1507005" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_REFERENCE_DATA_MISSING" value="1507006" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_MARKET_DATA_MISSING" value="1507007" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_VALUATION_FAILED" value="1507008" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_DISPATCH_ERROR" value="1507009" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_MISSING_HISTORICAL_PRICES" value="1507010" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_MISSING_CLOSING_PRICES" value="1507011" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_MISSING_JSPAN_ATTRIBUTES" value="1507012" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_DB_OPERATION_FAILED" value="1507013" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_IMR_CALCULATION_FAILED" value="1507014" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_INVALID_MARKET" value="1507015" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_EXTERNAL_USER_ERROR" value="1507016" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_ILLEGAL_ARGUMENT_VALUE" value="1507017" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_ERRONEOUS_SUBSCRIPTION_ID" value="1507018" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_SERVICE_UNAVAILABLE" value="1507019" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_INVALID_BOOKMARK" value="1507020" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_INSTRUMENT_DOES_NOT_EXIST" value="1507021" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_INCORRECT_INSTRUMENT_TYPE" value="1507022" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_MISSING_REQUIRED_FIELD" value="1507023" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_REFERENCE_DATA_UPDATING" value="1507024" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_UNHANDLED_INSTRUMENT_CLASS" value="1507025" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_PARTIALSUCCESS" value="1507026" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcMarketData_AUTHORIZATION_FAILED" value="1507027" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_NETTING_RULE_ID" value="1508001" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_NETTING_RULE_NAME" value="1508002" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_NETTING_RULE_ACCOUNT" value="1508003" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_EXTERNAL_ACCOUNT_REF" value="1508004" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_CONCURRENT_POSITION_MODIFICATION" value="1508005" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_ACCOUNT_ID" value="1508006" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_EXTERNAL_REF_NOT_DEFINED" value="1508007" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_NO_CLEARING_HOUSE_ACCOUNT" value="1508008" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_INSTRUCTION_ID" value="1508009" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_NETTING_RULE_TYPE" value="1508010" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_NETTING_RULE_FILTER" value="1508011" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_AMOUNT" value="1508012" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_ACCOUNT" value="1508013" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_DUPLICATE_CLIENT_DEPOSIT_ID" value="1508014" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_TOO_LARGE_WITHDRAWAL" value="1508015" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_NO_USER_SPECIFIED" value="1508016" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_BOOKMARK" value="1508017" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_SETTLEMENT_RUN_ID" value="1508018" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_INSTRUCTION" value="1508019" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_UNKNOWN_ACCOUNT" value="1508020" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_UNKNOWN_SSI" value="1508021" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_UNKNOWN_INSTRUCTION" value="1508022" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_UNKNOWN_SETTLEMENT_RUN" value="1508023" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_SSI_ID" value="1508024" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_MESSAGE_ALREADY_PROCESSED" value="1508025" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_INSTRUCTION_STATE" value="1508026" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_EXTERNAL_ACCOUNT_NOT_FOUND" value="1508027" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_SETTLEMENT_RUN_IN_STARTED_STATE" value="1508028" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_ADD_SETTLED_AMOUNT_FAILED" value="1508029" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_INSTRUCTION_AMOUNT" value="1508030" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_SETTLEMENT_RUN_STATE" value="1508031" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_SETTLEMENT_RUN_NOT_IN_CREATED_STATE" value="1508032" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_SETTLEMENT_RUN_IS_CANCELED" value="1508033" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_SETTLEMENT_RUN_FILTER" value="1508034" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_INSTRUCTION_FILTER" value="1508035" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INVALID_TRADABLE_INSTRUMENT_ID" value="1508036" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_SERVICE_UNAVAILABLE" value="1508037" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_INTERNAL_ERROR" value="1508038" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_REQUEST_TIMED_OUT" value="1508039" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_REQUEST_TIMED_OUT_STATE_MAY_HAVE_CHANGED" value="1508040" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_VALIDATION_ERROR" value="1508041" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_NO_INSTRUMENTS" value="1508042" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_AUTHORIZATION_FAILED" value="1508043" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcSettlement_DAS_OBJECT_NOT_CREATED" value="1508044" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="BdxRtcMessageValidationFailed" value="1510001" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcDatawarehouse_VALIDATION_ERROR" value="1512001" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcDatawarehouse_SERVICE_UNAVAILABLE" value="1512002" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcDatawarehouse_INTERNAL_ERROR" value="1512003" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="RtcDatawarehouse_SUCCESS" value="1512004" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="TaxEndOfDayServiceNotAvailable" value="1513001" text="The end of day service is not available in this TAX server">
            <Description>End of day service not available.</Description>
        </StatusCode>
        <StatusCode name="Tax_MORE_THAN_EXPECTED_POSITIONS" value="1513002" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
        <StatusCode name="TaxMessageValidationFailed" value="1513003" text="">
            <Description>Generic no-text error message, text will be set by reporting code.</Description>
        </StatusCode>
    </StatusCodes>
</Emapi>
