import { ChangeReason } from "../enums/changeReason";
import { OrderState } from "../enums/orderState";
import { OrderTypeInt } from "../enums/orderType";
import { OrderSide } from "../enums/orderSide";

export interface Order {
  OMSId: number;
  Side: OrderSide;
  OrderId: number;
  Price: number;
  Quantity: number;
  DisplayQuantity: number;
  Instrument: number;
  Account: number;
  AccountName: string;
  OrderType: OrderTypeInt;
  ClientOrderId: number;
  OrderState: OrderState;
  ReceiveTime: number;
  ReceiveTimeTicks: number;
  LastUpdatedTime: number;
  LastUpdatedTimeTicks: number;
  OrigQuantity: number;
  QuantityExecuted: number;
  GrossValueExecuted: number;
  ExecutableValue: number;
  AvgPrice: number;
  CounterPartyId: number;
  ChangeReason: ChangeReason;
  OrigOrderId: number;
  OrigClOrdId: number;
  EnteredBy: number;
  UserName: string;
  IsQuote: false;
  InsideAsk: number;
  InsideAskSize: number;
  InsideBid: number;
  InsideBidSize: number;
  LastTradePrice: number;
  RejectReason?: any;
  IsLockedIn: false;
  CancelReason?: any;
  OrderFlag: string;
  UseMargin: false;
  StopPrice: number;
  PegPriceType: string;
  PegOffset: number;
  PegLimitOffset: number;
  IpAddress?: any;
  IPv6a: number;
  IPv6b: number;
  ClientOrderIdUuid?: any;
}
