syntax = "proto3"; package optiver.exchange.exec; import "common.proto"; message InsertOrderRequest { int64 request_id = 1; string instrument_symbol = 2; Side side = 3; double price = 4; int32 quantity = 5; // TODO start with LIMIT order type only } message InsertOrderResponse { int64 request_id = 1; string error_message = 2; int64 order_id = 3; int64 timestamp = 4; repeated int64 trade_ids = 5; int32 traded_quantity = 6; } message CancelOrderRequest { int64 request_id = 1; string instrument_symbol = 2; int64 order_id = 3; } message CancelOrderResponse { int64 request_id = 1; string error_message = 2; } message OnTrade { int64 trade_id = 1; string instrument_symbol = 2; int64 timestamp = 3; int64 order_id = 4; Side side = 5; double price = 6; int32 quantity = 7; bool is_aggressive = 8; }