use crate::model::NumberString;
use serde::Deserialize;
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
#[non_exhaustive]
pub struct AlgoOrderResult {
#[serde(default)]
pub algo_id: String,
#[serde(default)]
pub algo_cl_ord_id: String,
#[serde(default)]
pub s_code: String,
#[serde(default)]
pub s_msg: String,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
#[non_exhaustive]
pub struct AlgoOrder {
#[serde(default)]
pub algo_id: String,
#[serde(default)]
pub algo_cl_ord_id: String,
#[serde(default)]
pub inst_type: String,
#[serde(default)]
pub inst_id: String,
#[serde(default)]
pub td_mode: String,
#[serde(default)]
pub side: String,
#[serde(default)]
pub pos_side: String,
#[serde(default)]
pub ord_type: String,
#[serde(default)]
pub state: String,
#[serde(default)]
pub sz: NumberString,
#[serde(default)]
pub actual_sz: NumberString,
#[serde(default)]
pub actual_px: NumberString,
#[serde(default)]
pub trigger_px: NumberString,
#[serde(default)]
pub order_px: NumberString,
#[serde(default)]
pub trigger_px_type: String,
#[serde(default)]
pub tp_trigger_px: NumberString,
#[serde(default)]
pub tp_ord_px: NumberString,
#[serde(default)]
pub sl_trigger_px: NumberString,
#[serde(default)]
pub sl_ord_px: NumberString,
#[serde(default)]
pub callback_ratio: NumberString,
#[serde(default)]
pub callback_spread: NumberString,
#[serde(default)]
pub active_px: NumberString,
#[serde(default)]
pub tag: String,
#[serde(default)]
pub c_time: NumberString,
#[serde(default)]
pub u_time: NumberString,
}