Order Cancel Request Reject

XCDE will respond with an OrderCancelReject message when it receives a Cancel Request or a cancel/replace request message which cannot be honoured. Requests to change price or decrease quantity of an Order are possible only when an outstanding quantity exists.

When rejecting a Cancel/Replace Request (or Cancel Request), the Cancel Reject message will provide the ClOrdID which was specified on the Cancel/Replace Request (or Cancel Request) message for identification, and the OrigClOrdId should be that of the last accepted Order message (except in the case of CxlRejReason = “Unknown Order”.

To accept CancelRequest and cancel/replace request messages, XCDE will send an simple ExecutionReport message.

Message format:

Field NameFormatReq'dComments
MsgTypeString9 = OrderCancelReject
MsgSeqNumSeqNumUser generated incremental number to allow receiver to identify possible message gaps
SendingTimeUTCTimestampTime of sending this message
OrderIDStringAssigned by XCDE for this message. If CxlRejReason = "Unknown order", specify "NONE".
ClOrdIDStringUser generated Unique identifier of this replacement order
ClOrdLinkIDStringIn case of grouping of Orders e.g. with OCAO
OrigClOrdIDStringClOrdID(11) which could not be canceled/replaced. This is of the previously accepted order (NOT the initial order of the day).
OrdStatusCharOrdStatus value after this cancel reject is applied.
If CxlRejReason = "Unknown Order", will be “Rejected”. Possible values:
1 =Partially filled
2 = Filled
4 = Canceled
8 = Rejected
C = Expired
AccountStringUser account as defined by XCDE (not in use)
TransactTimeUTCTimestampTime of creation of this reject message
CxlRejResponseToCharIdentifies which cancel type this reject responds to:
1 = Cancel request
2 = Cancel/replace request
CxlRejReasonIntPossible values:
0 = Too late to cancel
1 = Unknown order
3 = Order already in Pending Cancel or Pending Replace status
4 = Unable to process Order Mass Cancel Request
6 = Duplicate ClOrdID (11) received
99 = Other
TextStringUnessential freeform field to post information
Example:
 1MsgType: 9
 2MsgSeqNum: 98287534
 3SendingTime: 20220907-02:45:32.274
 4OrderID: jdjg8786864-hsf
 5ClOrdID: dgte4-5762
 6OrigClOrdID: dgte4-5758
 7OrdStatus: 1
 8Account: 42119
 9TransactTime: 20220907-02:45:32.003
10CxlRejResponseTo: 1
11CxlRejReason: 0
12Text: already partially filled
 1{
 2  "Header": {
 3    "MsgType": "9",
 4    "MsgSeqNum": "98287534",
 5    "SenderCompID": "SENDER",
 6    "TargetCompID": "TARGET",
 7    "SendingTime": "20220907-02:45:32.274"
 8  },
 9  "OrderID": "jdjg8786864-hsf",
10  "ClOrdID": "dgte4-5762",
11  "OrigClOrderID": "dgte4-5758",
12  "OrdStatus": "1",
13  "TransactTime": "20220907-02:45:32.003",
14  "CxlRejResponseTo": "1",
15  "CxlRejReason": "0",
16  "Text": "Already partially filled"
17}