Skip to main content

oanda_v20_openapi/models/
trade_client_extensions_modify_reject_transaction.rs

1/*
2 * OANDA v20 API
3 *
4 * The full OANDA v20 API Specification. This specification defines how to interact with v20 Accounts, Trades, Orders, Pricing and more.
5 *
6 * The version of the OpenAPI document: 0.2.1
7 * Contact: jmicoud02@gmail.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// TradeClientExtensionsModifyRejectTransaction : A TradeClientExtensionsModifyRejectTransaction represents the rejection of the modification of a Trade's Client Extensions.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TradeClientExtensionsModifyRejectTransaction {
17    /// The Transaction's Identifier.
18    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
19    pub id: Option<i32>,
20    /// A date and time value using either RFC3339 or UNIX time representation. The RFC 3339 representation is a string conforming to https://tools.ietf.org/rfc/rfc3339.txt. The Unix representation is a string representing the number of seconds since the Unix Epoch (January 1st, 1970 at UTC). The value is a fractional number, where the fractional part represents a fraction of a second (up to nine decimal places).
21    #[serde(rename = "time", skip_serializing_if = "Option::is_none")]
22    pub time: Option<String>,
23    /// The ID of the user that initiated the creation of the Transaction.
24    #[serde(rename = "userID", skip_serializing_if = "Option::is_none")]
25    pub user_id: Option<i32>,
26    /// The Account's identifier
27    #[serde(rename = "accountID", skip_serializing_if = "Option::is_none")]
28    pub account_id: Option<String>,
29    /// The ID of the \"batch\" that the Transaction belongs to. Transactions in the same batch are applied to the Account simultaneously.
30    #[serde(rename = "batchID", skip_serializing_if = "Option::is_none")]
31    pub batch_id: Option<i32>,
32    /// The Request ID of the request which generated the transaction.
33    #[serde(rename = "requestID", skip_serializing_if = "Option::is_none")]
34    pub request_id: Option<String>,
35    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
36    pub r#type: Option<models::TransactionType>,
37    /// The reason that the Reject Transaction was created
38    #[serde(rename = "rejectReason", skip_serializing_if = "Option::is_none")]
39    pub reject_reason: Option<RejectReason>,
40    /// The ID of the Trade who's client extensions are to be modified.
41    #[serde(rename = "tradeID", skip_serializing_if = "Option::is_none")]
42    pub trade_id: Option<i32>,
43    /// The original Client ID of the Trade who's client extensions are to be modified.
44    #[serde(rename = "clientTradeID", skip_serializing_if = "Option::is_none")]
45    pub client_trade_id: Option<String>,
46    #[serde(rename = "tradeClientExtensionsModify", skip_serializing_if = "Option::is_none")]
47    pub trade_client_extensions_modify: Option<Box<models::ClientExtensions>>,
48}
49
50impl TradeClientExtensionsModifyRejectTransaction {
51    /// A TradeClientExtensionsModifyRejectTransaction represents the rejection of the modification of a Trade's Client Extensions.
52    pub fn new() -> TradeClientExtensionsModifyRejectTransaction {
53        TradeClientExtensionsModifyRejectTransaction {
54            id: None,
55            time: None,
56            user_id: None,
57            account_id: None,
58            batch_id: None,
59            request_id: None,
60            r#type: None,
61            reject_reason: None,
62            trade_id: None,
63            client_trade_id: None,
64            trade_client_extensions_modify: None,
65        }
66    }
67}
68/// The reason that the Reject Transaction was created
69#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
70pub enum RejectReason {
71    #[serde(rename = "INTERNAL_SERVER_ERROR")]
72    InternalServerError,
73    #[serde(rename = "INSTRUMENT_PRICE_UNKNOWN")]
74    InstrumentPriceUnknown,
75    #[serde(rename = "ACCOUNT_NOT_ACTIVE")]
76    AccountNotActive,
77    #[serde(rename = "ACCOUNT_LOCKED")]
78    AccountLocked,
79    #[serde(rename = "ACCOUNT_ORDER_CREATION_LOCKED")]
80    AccountOrderCreationLocked,
81    #[serde(rename = "ACCOUNT_CONFIGURATION_LOCKED")]
82    AccountConfigurationLocked,
83    #[serde(rename = "ACCOUNT_DEPOSIT_LOCKED")]
84    AccountDepositLocked,
85    #[serde(rename = "ACCOUNT_WITHDRAWAL_LOCKED")]
86    AccountWithdrawalLocked,
87    #[serde(rename = "ACCOUNT_ORDER_CANCEL_LOCKED")]
88    AccountOrderCancelLocked,
89    #[serde(rename = "INSTRUMENT_NOT_TRADEABLE")]
90    InstrumentNotTradeable,
91    #[serde(rename = "PENDING_ORDERS_ALLOWED_EXCEEDED")]
92    PendingOrdersAllowedExceeded,
93    #[serde(rename = "ORDER_ID_UNSPECIFIED")]
94    OrderIdUnspecified,
95    #[serde(rename = "ORDER_DOESNT_EXIST")]
96    OrderDoesntExist,
97    #[serde(rename = "ORDER_IDENTIFIER_INCONSISTENCY")]
98    OrderIdentifierInconsistency,
99    #[serde(rename = "TRADE_ID_UNSPECIFIED")]
100    TradeIdUnspecified,
101    #[serde(rename = "TRADE_DOESNT_EXIST")]
102    TradeDoesntExist,
103    #[serde(rename = "TRADE_IDENTIFIER_INCONSISTENCY")]
104    TradeIdentifierInconsistency,
105    #[serde(rename = "INSUFFICIENT_MARGIN")]
106    InsufficientMargin,
107    #[serde(rename = "INSTRUMENT_MISSING")]
108    InstrumentMissing,
109    #[serde(rename = "INSTRUMENT_UNKNOWN")]
110    InstrumentUnknown,
111    #[serde(rename = "UNITS_MISSING")]
112    UnitsMissing,
113    #[serde(rename = "UNITS_INVALID")]
114    UnitsInvalid,
115    #[serde(rename = "UNITS_PRECISION_EXCEEDED")]
116    UnitsPrecisionExceeded,
117    #[serde(rename = "UNITS_LIMIT_EXCEEDED")]
118    UnitsLimitExceeded,
119    #[serde(rename = "UNITS_MIMIMUM_NOT_MET")]
120    UnitsMimimumNotMet,
121    #[serde(rename = "PRICE_MISSING")]
122    PriceMissing,
123    #[serde(rename = "PRICE_INVALID")]
124    PriceInvalid,
125    #[serde(rename = "PRICE_PRECISION_EXCEEDED")]
126    PricePrecisionExceeded,
127    #[serde(rename = "PRICE_DISTANCE_MISSING")]
128    PriceDistanceMissing,
129    #[serde(rename = "PRICE_DISTANCE_INVALID")]
130    PriceDistanceInvalid,
131    #[serde(rename = "PRICE_DISTANCE_PRECISION_EXCEEDED")]
132    PriceDistancePrecisionExceeded,
133    #[serde(rename = "PRICE_DISTANCE_MAXIMUM_EXCEEDED")]
134    PriceDistanceMaximumExceeded,
135    #[serde(rename = "PRICE_DISTANCE_MINIMUM_NOT_MET")]
136    PriceDistanceMinimumNotMet,
137    #[serde(rename = "TIME_IN_FORCE_MISSING")]
138    TimeInForceMissing,
139    #[serde(rename = "TIME_IN_FORCE_INVALID")]
140    TimeInForceInvalid,
141    #[serde(rename = "TIME_IN_FORCE_GTD_TIMESTAMP_MISSING")]
142    TimeInForceGtdTimestampMissing,
143    #[serde(rename = "TIME_IN_FORCE_GTD_TIMESTAMP_IN_PAST")]
144    TimeInForceGtdTimestampInPast,
145    #[serde(rename = "PRICE_BOUND_INVALID")]
146    PriceBoundInvalid,
147    #[serde(rename = "PRICE_BOUND_PRECISION_EXCEEDED")]
148    PriceBoundPrecisionExceeded,
149    #[serde(rename = "ORDERS_ON_FILL_DUPLICATE_CLIENT_ORDER_IDS")]
150    OrdersOnFillDuplicateClientOrderIds,
151    #[serde(rename = "TRADE_ON_FILL_CLIENT_EXTENSIONS_NOT_SUPPORTED")]
152    TradeOnFillClientExtensionsNotSupported,
153    #[serde(rename = "CLIENT_ORDER_ID_INVALID")]
154    ClientOrderIdInvalid,
155    #[serde(rename = "CLIENT_ORDER_ID_ALREADY_EXISTS")]
156    ClientOrderIdAlreadyExists,
157    #[serde(rename = "CLIENT_ORDER_TAG_INVALID")]
158    ClientOrderTagInvalid,
159    #[serde(rename = "CLIENT_ORDER_COMMENT_INVALID")]
160    ClientOrderCommentInvalid,
161    #[serde(rename = "CLIENT_TRADE_ID_INVALID")]
162    ClientTradeIdInvalid,
163    #[serde(rename = "CLIENT_TRADE_ID_ALREADY_EXISTS")]
164    ClientTradeIdAlreadyExists,
165    #[serde(rename = "CLIENT_TRADE_TAG_INVALID")]
166    ClientTradeTagInvalid,
167    #[serde(rename = "CLIENT_TRADE_COMMENT_INVALID")]
168    ClientTradeCommentInvalid,
169    #[serde(rename = "ORDER_FILL_POSITION_ACTION_MISSING")]
170    OrderFillPositionActionMissing,
171    #[serde(rename = "ORDER_FILL_POSITION_ACTION_INVALID")]
172    OrderFillPositionActionInvalid,
173    #[serde(rename = "TRIGGER_CONDITION_MISSING")]
174    TriggerConditionMissing,
175    #[serde(rename = "TRIGGER_CONDITION_INVALID")]
176    TriggerConditionInvalid,
177    #[serde(rename = "ORDER_PARTIAL_FILL_OPTION_MISSING")]
178    OrderPartialFillOptionMissing,
179    #[serde(rename = "ORDER_PARTIAL_FILL_OPTION_INVALID")]
180    OrderPartialFillOptionInvalid,
181    #[serde(rename = "INVALID_REISSUE_IMMEDIATE_PARTIAL_FILL")]
182    InvalidReissueImmediatePartialFill,
183    #[serde(rename = "TAKE_PROFIT_ORDER_ALREADY_EXISTS")]
184    TakeProfitOrderAlreadyExists,
185    #[serde(rename = "TAKE_PROFIT_ON_FILL_PRICE_MISSING")]
186    TakeProfitOnFillPriceMissing,
187    #[serde(rename = "TAKE_PROFIT_ON_FILL_PRICE_INVALID")]
188    TakeProfitOnFillPriceInvalid,
189    #[serde(rename = "TAKE_PROFIT_ON_FILL_PRICE_PRECISION_EXCEEDED")]
190    TakeProfitOnFillPricePrecisionExceeded,
191    #[serde(rename = "TAKE_PROFIT_ON_FILL_TIME_IN_FORCE_MISSING")]
192    TakeProfitOnFillTimeInForceMissing,
193    #[serde(rename = "TAKE_PROFIT_ON_FILL_TIME_IN_FORCE_INVALID")]
194    TakeProfitOnFillTimeInForceInvalid,
195    #[serde(rename = "TAKE_PROFIT_ON_FILL_GTD_TIMESTAMP_MISSING")]
196    TakeProfitOnFillGtdTimestampMissing,
197    #[serde(rename = "TAKE_PROFIT_ON_FILL_GTD_TIMESTAMP_IN_PAST")]
198    TakeProfitOnFillGtdTimestampInPast,
199    #[serde(rename = "TAKE_PROFIT_ON_FILL_CLIENT_ORDER_ID_INVALID")]
200    TakeProfitOnFillClientOrderIdInvalid,
201    #[serde(rename = "TAKE_PROFIT_ON_FILL_CLIENT_ORDER_TAG_INVALID")]
202    TakeProfitOnFillClientOrderTagInvalid,
203    #[serde(rename = "TAKE_PROFIT_ON_FILL_CLIENT_ORDER_COMMENT_INVALID")]
204    TakeProfitOnFillClientOrderCommentInvalid,
205    #[serde(rename = "TAKE_PROFIT_ON_FILL_TRIGGER_CONDITION_MISSING")]
206    TakeProfitOnFillTriggerConditionMissing,
207    #[serde(rename = "TAKE_PROFIT_ON_FILL_TRIGGER_CONDITION_INVALID")]
208    TakeProfitOnFillTriggerConditionInvalid,
209    #[serde(rename = "STOP_LOSS_ORDER_ALREADY_EXISTS")]
210    StopLossOrderAlreadyExists,
211    #[serde(rename = "STOP_LOSS_ORDER_GUARANTEED_REQUIRED")]
212    StopLossOrderGuaranteedRequired,
213    #[serde(rename = "STOP_LOSS_ORDER_GUARANTEED_PRICE_WITHIN_SPREAD")]
214    StopLossOrderGuaranteedPriceWithinSpread,
215    #[serde(rename = "STOP_LOSS_ORDER_GUARANTEED_NOT_ALLOWED")]
216    StopLossOrderGuaranteedNotAllowed,
217    #[serde(rename = "STOP_LOSS_ORDER_GUARANTEED_HALTED_CREATE_VIOLATION")]
218    StopLossOrderGuaranteedHaltedCreateViolation,
219    #[serde(rename = "STOP_LOSS_ORDER_GUARANTEED_HALTED_TIGHTEN_VIOLATION")]
220    StopLossOrderGuaranteedHaltedTightenViolation,
221    #[serde(rename = "STOP_LOSS_ORDER_GUARANTEED_HEDGING_NOT_ALLOWED")]
222    StopLossOrderGuaranteedHedgingNotAllowed,
223    #[serde(rename = "STOP_LOSS_ORDER_GUARANTEED_MINIMUM_DISTANCE_NOT_MET")]
224    StopLossOrderGuaranteedMinimumDistanceNotMet,
225    #[serde(rename = "STOP_LOSS_ORDER_NOT_CANCELABLE")]
226    StopLossOrderNotCancelable,
227    #[serde(rename = "STOP_LOSS_ORDER_NOT_REPLACEABLE")]
228    StopLossOrderNotReplaceable,
229    #[serde(rename = "STOP_LOSS_ORDER_GUARANTEED_LEVEL_RESTRICTION_EXCEEDED")]
230    StopLossOrderGuaranteedLevelRestrictionExceeded,
231    #[serde(rename = "STOP_LOSS_ORDER_PRICE_AND_DISTANCE_BOTH_SPECIFIED")]
232    StopLossOrderPriceAndDistanceBothSpecified,
233    #[serde(rename = "STOP_LOSS_ORDER_PRICE_AND_DISTANCE_BOTH_MISSING")]
234    StopLossOrderPriceAndDistanceBothMissing,
235    #[serde(rename = "STOP_LOSS_ON_FILL_REQUIRED_FOR_PENDING_ORDER")]
236    StopLossOnFillRequiredForPendingOrder,
237    #[serde(rename = "STOP_LOSS_ON_FILL_GUARANTEED_NOT_ALLOWED")]
238    StopLossOnFillGuaranteedNotAllowed,
239    #[serde(rename = "STOP_LOSS_ON_FILL_GUARANTEED_REQUIRED")]
240    StopLossOnFillGuaranteedRequired,
241    #[serde(rename = "STOP_LOSS_ON_FILL_PRICE_MISSING")]
242    StopLossOnFillPriceMissing,
243    #[serde(rename = "STOP_LOSS_ON_FILL_PRICE_INVALID")]
244    StopLossOnFillPriceInvalid,
245    #[serde(rename = "STOP_LOSS_ON_FILL_PRICE_PRECISION_EXCEEDED")]
246    StopLossOnFillPricePrecisionExceeded,
247    #[serde(rename = "STOP_LOSS_ON_FILL_GUARANTEED_MINIMUM_DISTANCE_NOT_MET")]
248    StopLossOnFillGuaranteedMinimumDistanceNotMet,
249    #[serde(rename = "STOP_LOSS_ON_FILL_GUARANTEED_LEVEL_RESTRICTION_EXCEEDED")]
250    StopLossOnFillGuaranteedLevelRestrictionExceeded,
251    #[serde(rename = "STOP_LOSS_ON_FILL_DISTANCE_INVALID")]
252    StopLossOnFillDistanceInvalid,
253    #[serde(rename = "STOP_LOSS_ON_FILL_PRICE_DISTANCE_MAXIMUM_EXCEEDED")]
254    StopLossOnFillPriceDistanceMaximumExceeded,
255    #[serde(rename = "STOP_LOSS_ON_FILL_DISTANCE_PRECISION_EXCEEDED")]
256    StopLossOnFillDistancePrecisionExceeded,
257    #[serde(rename = "STOP_LOSS_ON_FILL_PRICE_AND_DISTANCE_BOTH_SPECIFIED")]
258    StopLossOnFillPriceAndDistanceBothSpecified,
259    #[serde(rename = "STOP_LOSS_ON_FILL_PRICE_AND_DISTANCE_BOTH_MISSING")]
260    StopLossOnFillPriceAndDistanceBothMissing,
261    #[serde(rename = "STOP_LOSS_ON_FILL_TIME_IN_FORCE_MISSING")]
262    StopLossOnFillTimeInForceMissing,
263    #[serde(rename = "STOP_LOSS_ON_FILL_TIME_IN_FORCE_INVALID")]
264    StopLossOnFillTimeInForceInvalid,
265    #[serde(rename = "STOP_LOSS_ON_FILL_GTD_TIMESTAMP_MISSING")]
266    StopLossOnFillGtdTimestampMissing,
267    #[serde(rename = "STOP_LOSS_ON_FILL_GTD_TIMESTAMP_IN_PAST")]
268    StopLossOnFillGtdTimestampInPast,
269    #[serde(rename = "STOP_LOSS_ON_FILL_CLIENT_ORDER_ID_INVALID")]
270    StopLossOnFillClientOrderIdInvalid,
271    #[serde(rename = "STOP_LOSS_ON_FILL_CLIENT_ORDER_TAG_INVALID")]
272    StopLossOnFillClientOrderTagInvalid,
273    #[serde(rename = "STOP_LOSS_ON_FILL_CLIENT_ORDER_COMMENT_INVALID")]
274    StopLossOnFillClientOrderCommentInvalid,
275    #[serde(rename = "STOP_LOSS_ON_FILL_TRIGGER_CONDITION_MISSING")]
276    StopLossOnFillTriggerConditionMissing,
277    #[serde(rename = "STOP_LOSS_ON_FILL_TRIGGER_CONDITION_INVALID")]
278    StopLossOnFillTriggerConditionInvalid,
279    #[serde(rename = "TRAILING_STOP_LOSS_ORDER_ALREADY_EXISTS")]
280    TrailingStopLossOrderAlreadyExists,
281    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_PRICE_DISTANCE_MISSING")]
282    TrailingStopLossOnFillPriceDistanceMissing,
283    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_PRICE_DISTANCE_INVALID")]
284    TrailingStopLossOnFillPriceDistanceInvalid,
285    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_PRICE_DISTANCE_PRECISION_EXCEEDED")]
286    TrailingStopLossOnFillPriceDistancePrecisionExceeded,
287    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_PRICE_DISTANCE_MAXIMUM_EXCEEDED")]
288    TrailingStopLossOnFillPriceDistanceMaximumExceeded,
289    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_PRICE_DISTANCE_MINIMUM_NOT_MET")]
290    TrailingStopLossOnFillPriceDistanceMinimumNotMet,
291    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_TIME_IN_FORCE_MISSING")]
292    TrailingStopLossOnFillTimeInForceMissing,
293    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_TIME_IN_FORCE_INVALID")]
294    TrailingStopLossOnFillTimeInForceInvalid,
295    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_GTD_TIMESTAMP_MISSING")]
296    TrailingStopLossOnFillGtdTimestampMissing,
297    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_GTD_TIMESTAMP_IN_PAST")]
298    TrailingStopLossOnFillGtdTimestampInPast,
299    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_CLIENT_ORDER_ID_INVALID")]
300    TrailingStopLossOnFillClientOrderIdInvalid,
301    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_CLIENT_ORDER_TAG_INVALID")]
302    TrailingStopLossOnFillClientOrderTagInvalid,
303    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_CLIENT_ORDER_COMMENT_INVALID")]
304    TrailingStopLossOnFillClientOrderCommentInvalid,
305    #[serde(rename = "TRAILING_STOP_LOSS_ORDERS_NOT_SUPPORTED")]
306    TrailingStopLossOrdersNotSupported,
307    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_TRIGGER_CONDITION_MISSING")]
308    TrailingStopLossOnFillTriggerConditionMissing,
309    #[serde(rename = "TRAILING_STOP_LOSS_ON_FILL_TRIGGER_CONDITION_INVALID")]
310    TrailingStopLossOnFillTriggerConditionInvalid,
311    #[serde(rename = "CLOSE_TRADE_TYPE_MISSING")]
312    CloseTradeTypeMissing,
313    #[serde(rename = "CLOSE_TRADE_PARTIAL_UNITS_MISSING")]
314    CloseTradePartialUnitsMissing,
315    #[serde(rename = "CLOSE_TRADE_UNITS_EXCEED_TRADE_SIZE")]
316    CloseTradeUnitsExceedTradeSize,
317    #[serde(rename = "CLOSEOUT_POSITION_DOESNT_EXIST")]
318    CloseoutPositionDoesntExist,
319    #[serde(rename = "CLOSEOUT_POSITION_INCOMPLETE_SPECIFICATION")]
320    CloseoutPositionIncompleteSpecification,
321    #[serde(rename = "CLOSEOUT_POSITION_UNITS_EXCEED_POSITION_SIZE")]
322    CloseoutPositionUnitsExceedPositionSize,
323    #[serde(rename = "CLOSEOUT_POSITION_REJECT")]
324    CloseoutPositionReject,
325    #[serde(rename = "CLOSEOUT_POSITION_PARTIAL_UNITS_MISSING")]
326    CloseoutPositionPartialUnitsMissing,
327    #[serde(rename = "MARKUP_GROUP_ID_INVALID")]
328    MarkupGroupIdInvalid,
329    #[serde(rename = "POSITION_AGGREGATION_MODE_INVALID")]
330    PositionAggregationModeInvalid,
331    #[serde(rename = "ADMIN_CONFIGURE_DATA_MISSING")]
332    AdminConfigureDataMissing,
333    #[serde(rename = "MARGIN_RATE_INVALID")]
334    MarginRateInvalid,
335    #[serde(rename = "MARGIN_RATE_WOULD_TRIGGER_CLOSEOUT")]
336    MarginRateWouldTriggerCloseout,
337    #[serde(rename = "ALIAS_INVALID")]
338    AliasInvalid,
339    #[serde(rename = "CLIENT_CONFIGURE_DATA_MISSING")]
340    ClientConfigureDataMissing,
341    #[serde(rename = "MARGIN_RATE_WOULD_TRIGGER_MARGIN_CALL")]
342    MarginRateWouldTriggerMarginCall,
343    #[serde(rename = "AMOUNT_INVALID")]
344    AmountInvalid,
345    #[serde(rename = "INSUFFICIENT_FUNDS")]
346    InsufficientFunds,
347    #[serde(rename = "AMOUNT_MISSING")]
348    AmountMissing,
349    #[serde(rename = "FUNDING_REASON_MISSING")]
350    FundingReasonMissing,
351    #[serde(rename = "CLIENT_EXTENSIONS_DATA_MISSING")]
352    ClientExtensionsDataMissing,
353    #[serde(rename = "REPLACING_ORDER_INVALID")]
354    ReplacingOrderInvalid,
355    #[serde(rename = "REPLACING_TRADE_ID_INVALID")]
356    ReplacingTradeIdInvalid,
357}
358
359impl Default for RejectReason {
360    fn default() -> RejectReason {
361        Self::InternalServerError
362    }
363}
364