"""
Binance Spot REST API

OpenAPI Specifications for the Binance Spot REST API

API documents:
  - [Github rest-api documentation file](https://github.com/binance/binance-spot-api-docs/blob/master/rest-api.md)
  - [General API information for rest-api on website](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-api-information)

The version of the OpenAPI document: 1.0.0
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
"""

from enum import Enum


class ExchangeInfoSymbolStatusEnum(Enum):
    TRADING = "TRADING"
    END_OF_DAY = "END_OF_DAY"
    HALT = "HALT"
    BREAK = "BREAK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class DepthSymbolStatusEnum(Enum):
    TRADING = "TRADING"
    END_OF_DAY = "END_OF_DAY"
    HALT = "HALT"
    BREAK = "BREAK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class KlinesIntervalEnum(Enum):
    INTERVAL_1s = "1s"
    INTERVAL_1m = "1m"
    INTERVAL_3m = "3m"
    INTERVAL_5m = "5m"
    INTERVAL_15m = "15m"
    INTERVAL_30m = "30m"
    INTERVAL_1h = "1h"
    INTERVAL_2h = "2h"
    INTERVAL_4h = "4h"
    INTERVAL_6h = "6h"
    INTERVAL_8h = "8h"
    INTERVAL_12h = "12h"
    INTERVAL_1d = "1d"
    INTERVAL_3d = "3d"
    INTERVAL_1w = "1w"
    INTERVAL_1M = "1M"


class TickerWindowSizeEnum(Enum):
    WINDOW_SIZE_1m = "1m"
    WINDOW_SIZE_2m = "2m"
    WINDOW_SIZE_3m = "3m"
    WINDOW_SIZE_4m = "4m"
    WINDOW_SIZE_5m = "5m"
    WINDOW_SIZE_6m = "6m"
    WINDOW_SIZE_7m = "7m"
    WINDOW_SIZE_8m = "8m"
    WINDOW_SIZE_9m = "9m"
    WINDOW_SIZE_10m = "10m"
    WINDOW_SIZE_11m = "11m"
    WINDOW_SIZE_12m = "12m"
    WINDOW_SIZE_13m = "13m"
    WINDOW_SIZE_14m = "14m"
    WINDOW_SIZE_15m = "15m"
    WINDOW_SIZE_16m = "16m"
    WINDOW_SIZE_17m = "17m"
    WINDOW_SIZE_18m = "18m"
    WINDOW_SIZE_19m = "19m"
    WINDOW_SIZE_20m = "20m"
    WINDOW_SIZE_21m = "21m"
    WINDOW_SIZE_22m = "22m"
    WINDOW_SIZE_23m = "23m"
    WINDOW_SIZE_24m = "24m"
    WINDOW_SIZE_25m = "25m"
    WINDOW_SIZE_26m = "26m"
    WINDOW_SIZE_27m = "27m"
    WINDOW_SIZE_28m = "28m"
    WINDOW_SIZE_29m = "29m"
    WINDOW_SIZE_30m = "30m"
    WINDOW_SIZE_31m = "31m"
    WINDOW_SIZE_32m = "32m"
    WINDOW_SIZE_33m = "33m"
    WINDOW_SIZE_34m = "34m"
    WINDOW_SIZE_35m = "35m"
    WINDOW_SIZE_36m = "36m"
    WINDOW_SIZE_37m = "37m"
    WINDOW_SIZE_38m = "38m"
    WINDOW_SIZE_39m = "39m"
    WINDOW_SIZE_40m = "40m"
    WINDOW_SIZE_41m = "41m"
    WINDOW_SIZE_42m = "42m"
    WINDOW_SIZE_43m = "43m"
    WINDOW_SIZE_44m = "44m"
    WINDOW_SIZE_45m = "45m"
    WINDOW_SIZE_46m = "46m"
    WINDOW_SIZE_47m = "47m"
    WINDOW_SIZE_48m = "48m"
    WINDOW_SIZE_49m = "49m"
    WINDOW_SIZE_50m = "50m"
    WINDOW_SIZE_51m = "51m"
    WINDOW_SIZE_52m = "52m"
    WINDOW_SIZE_53m = "53m"
    WINDOW_SIZE_54m = "54m"
    WINDOW_SIZE_55m = "55m"
    WINDOW_SIZE_56m = "56m"
    WINDOW_SIZE_57m = "57m"
    WINDOW_SIZE_58m = "58m"
    WINDOW_SIZE_59m = "59m"
    WINDOW_SIZE_1h = "1h"
    WINDOW_SIZE_2h = "2h"
    WINDOW_SIZE_3h = "3h"
    WINDOW_SIZE_4h = "4h"
    WINDOW_SIZE_5h = "5h"
    WINDOW_SIZE_6h = "6h"
    WINDOW_SIZE_7h = "7h"
    WINDOW_SIZE_8h = "8h"
    WINDOW_SIZE_9h = "9h"
    WINDOW_SIZE_10h = "10h"
    WINDOW_SIZE_11h = "11h"
    WINDOW_SIZE_12h = "12h"
    WINDOW_SIZE_13h = "13h"
    WINDOW_SIZE_14h = "14h"
    WINDOW_SIZE_15h = "15h"
    WINDOW_SIZE_16h = "16h"
    WINDOW_SIZE_17h = "17h"
    WINDOW_SIZE_18h = "18h"
    WINDOW_SIZE_19h = "19h"
    WINDOW_SIZE_20h = "20h"
    WINDOW_SIZE_21h = "21h"
    WINDOW_SIZE_22h = "22h"
    WINDOW_SIZE_23h = "23h"
    WINDOW_SIZE_1d = "1d"
    WINDOW_SIZE_2d = "2d"
    WINDOW_SIZE_3d = "3d"
    WINDOW_SIZE_4d = "4d"
    WINDOW_SIZE_5d = "5d"
    WINDOW_SIZE_6d = "6d"


class TickerTypeEnum(Enum):
    FULL = "FULL"
    MINI = "MINI"


class TickerSymbolStatusEnum(Enum):
    TRADING = "TRADING"
    END_OF_DAY = "END_OF_DAY"
    HALT = "HALT"
    BREAK = "BREAK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class Ticker24hrTypeEnum(Enum):
    FULL = "FULL"
    MINI = "MINI"


class Ticker24hrSymbolStatusEnum(Enum):
    TRADING = "TRADING"
    END_OF_DAY = "END_OF_DAY"
    HALT = "HALT"
    BREAK = "BREAK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class TickerBookTickerSymbolStatusEnum(Enum):
    TRADING = "TRADING"
    END_OF_DAY = "END_OF_DAY"
    HALT = "HALT"
    BREAK = "BREAK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class TickerPriceSymbolStatusEnum(Enum):
    TRADING = "TRADING"
    END_OF_DAY = "END_OF_DAY"
    HALT = "HALT"
    BREAK = "BREAK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class TickerTradingDayTypeEnum(Enum):
    FULL = "FULL"
    MINI = "MINI"


class TickerTradingDaySymbolStatusEnum(Enum):
    TRADING = "TRADING"
    END_OF_DAY = "END_OF_DAY"
    HALT = "HALT"
    BREAK = "BREAK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class UiKlinesIntervalEnum(Enum):
    INTERVAL_1s = "1s"
    INTERVAL_1m = "1m"
    INTERVAL_3m = "3m"
    INTERVAL_5m = "5m"
    INTERVAL_15m = "15m"
    INTERVAL_30m = "30m"
    INTERVAL_1h = "1h"
    INTERVAL_2h = "2h"
    INTERVAL_4h = "4h"
    INTERVAL_6h = "6h"
    INTERVAL_8h = "8h"
    INTERVAL_12h = "12h"
    INTERVAL_1d = "1d"
    INTERVAL_3d = "3d"
    INTERVAL_1w = "1w"
    INTERVAL_1M = "1M"


class DeleteOrderCancelRestrictionsEnum(Enum):
    ONLY_NEW = "ONLY_NEW"
    NEW = "NEW"
    ONLY_PARTIALLY_FILLED = "ONLY_PARTIALLY_FILLED"
    PARTIALLY_FILLED = "PARTIALLY_FILLED"


class NewOrderSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class NewOrderTypeEnum(Enum):
    MARKET = "MARKET"
    LIMIT = "LIMIT"
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class NewOrderTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class NewOrderNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class NewOrderSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class NewOrderPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class NewOrderPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderCancelReplaceSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderCancelReplaceTypeEnum(Enum):
    MARKET = "MARKET"
    LIMIT = "LIMIT"
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderCancelReplaceCancelReplaceModeEnum(Enum):
    STOP_ON_FAILURE = "STOP_ON_FAILURE"
    ALLOW_FAILURE = "ALLOW_FAILURE"


class OrderCancelReplaceTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderCancelReplaceNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class OrderCancelReplaceSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderCancelReplaceCancelRestrictionsEnum(Enum):
    ONLY_NEW = "ONLY_NEW"
    NEW = "NEW"
    ONLY_PARTIALLY_FILLED = "ONLY_PARTIALLY_FILLED"
    PARTIALLY_FILLED = "PARTIALLY_FILLED"


class OrderCancelReplaceOrderRateLimitExceededModeEnum(Enum):
    DO_NOTHING = "DO_NOTHING"
    CANCEL_ONLY = "CANCEL_ONLY"


class OrderCancelReplacePegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderCancelReplacePegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderListOcoSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOcoAboveTypeEnum(Enum):
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    STOP_LOSS = "STOP_LOSS"
    LIMIT_MAKER = "LIMIT_MAKER"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"


class OrderListOcoBelowTypeEnum(Enum):
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"


class OrderListOcoAboveTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOcoAbovePegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOcoAbovePegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOcoBelowTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOcoBelowPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOcoBelowPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOcoNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class OrderListOcoSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderListOpoWorkingTypeEnum(Enum):
    LIMIT = "LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"


class OrderListOpoWorkingSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOpoPendingTypeEnum(Enum):
    LIMIT = "LIMIT"
    MARKET = "MARKET"
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"


class OrderListOpoPendingSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOpoNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class OrderListOpoSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderListOpoWorkingTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOpoWorkingPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOpoWorkingPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOpoPendingTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOpoPendingPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOpoPendingPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOpocoWorkingTypeEnum(Enum):
    LIMIT = "LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"


class OrderListOpocoWorkingSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOpocoPendingSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOpocoPendingAboveTypeEnum(Enum):
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    STOP_LOSS = "STOP_LOSS"
    LIMIT_MAKER = "LIMIT_MAKER"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"


class OrderListOpocoNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class OrderListOpocoSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderListOpocoWorkingTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOpocoWorkingPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOpocoWorkingPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOpocoPendingAboveTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOpocoPendingAbovePegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOpocoPendingAbovePegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOpocoPendingBelowTypeEnum(Enum):
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"


class OrderListOpocoPendingBelowTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOpocoPendingBelowPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOpocoPendingBelowPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOtoWorkingTypeEnum(Enum):
    LIMIT = "LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"


class OrderListOtoWorkingSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOtoPendingTypeEnum(Enum):
    LIMIT = "LIMIT"
    MARKET = "MARKET"
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"


class OrderListOtoPendingSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOtoNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class OrderListOtoSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderListOtoWorkingTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOtoWorkingPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOtoWorkingPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOtoPendingTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOtoPendingPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOtoPendingPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOtocoWorkingTypeEnum(Enum):
    LIMIT = "LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"


class OrderListOtocoWorkingSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOtocoPendingSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderListOtocoPendingAboveTypeEnum(Enum):
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    STOP_LOSS = "STOP_LOSS"
    LIMIT_MAKER = "LIMIT_MAKER"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"


class OrderListOtocoNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class OrderListOtocoSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderListOtocoWorkingTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOtocoWorkingPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOtocoWorkingPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOtocoPendingAboveTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOtocoPendingAbovePegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOtocoPendingAbovePegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderListOtocoPendingBelowTypeEnum(Enum):
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"


class OrderListOtocoPendingBelowTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderListOtocoPendingBelowPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"


class OrderListOtocoPendingBelowPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"


class OrderOcoSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderOcoStopLimitTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"


class OrderOcoNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class OrderOcoSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderTestSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class OrderTestTypeEnum(Enum):
    MARKET = "MARKET"
    LIMIT = "LIMIT"
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderTestTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderTestNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class OrderTestSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderTestPegPriceTypeEnum(Enum):
    PRIMARY_PEG = "PRIMARY_PEG"
    MARKET_PEG = "MARKET_PEG"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class OrderTestPegOffsetTypeEnum(Enum):
    PRICE_LEVEL = "PRICE_LEVEL"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class SorOrderSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class SorOrderTypeEnum(Enum):
    MARKET = "MARKET"
    LIMIT = "LIMIT"
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class SorOrderTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class SorOrderNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class SorOrderSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class SorOrderTestSideEnum(Enum):
    BUY = "BUY"
    SELL = "SELL"


class SorOrderTestTypeEnum(Enum):
    MARKET = "MARKET"
    LIMIT = "LIMIT"
    STOP_LOSS = "STOP_LOSS"
    STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
    TAKE_PROFIT = "TAKE_PROFIT"
    TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
    LIMIT_MAKER = "LIMIT_MAKER"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class SorOrderTestTimeInForceEnum(Enum):
    GTC = "GTC"
    IOC = "IOC"
    FOK = "FOK"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"


class SorOrderTestNewOrderRespTypeEnum(Enum):
    ACK = "ACK"
    RESULT = "RESULT"
    FULL = "FULL"
    MARKET = "MARKET"
    LIMIT = "LIMIT"


class SorOrderTestSelfTradePreventionModeEnum(Enum):
    NONE = "NONE"
    EXPIRE_TAKER = "EXPIRE_TAKER"
    EXPIRE_MAKER = "EXPIRE_MAKER"
    EXPIRE_BOTH = "EXPIRE_BOTH"
    DECREMENT = "DECREMENT"
    NON_REPRESENTABLE = "NON_REPRESENTABLE"
