#[non_exhaustive]pub struct Order {Show 36 fields
pub session: Option<Session>,
pub duration: Option<Duration>,
pub order_type: Option<OrderType>,
pub cancel_time: Option<DateTime<Utc>>,
pub complex_order_strategy_type: Option<ComplexOrderStrategyType>,
pub quantity: Option<Decimal>,
pub filled_quantity: Option<Decimal>,
pub remaining_quantity: Option<Decimal>,
pub requested_destination: Option<RequestedDestination>,
pub destination_link_name: Option<String>,
pub release_time: Option<DateTime<Utc>>,
pub stop_price: Option<Decimal>,
pub stop_price_link_basis: Option<StopPriceLinkBasis>,
pub stop_price_link_type: Option<StopPriceLinkType>,
pub stop_price_offset: Option<Decimal>,
pub stop_type: Option<StopType>,
pub price_link_basis: Option<PriceLinkBasis>,
pub price_link_type: Option<PriceLinkType>,
pub price: Option<Decimal>,
pub tax_lot_method: Option<TaxLotMethod>,
pub order_leg_collection: Vec<OrderLegCollection>,
pub activation_price: Option<Decimal>,
pub special_instruction: Option<SpecialInstruction>,
pub order_strategy_type: Option<OrderStrategyType>,
pub order_id: Option<OrderId>,
pub cancelable: Option<bool>,
pub editable: Option<bool>,
pub status: Option<ApiOrderStatus>,
pub entered_time: Option<DateTime<Utc>>,
pub close_time: Option<DateTime<Utc>>,
pub tag: Option<String>,
pub account_number: Option<AccountNumber>,
pub order_activity_collection: Vec<OrderActivity>,
pub replacing_order_collection: Vec<Order>,
pub child_order_strategies: Vec<Order>,
pub status_description: Option<String>,
}Expand description
One order, as returned by the read endpoints. Schwab marks almost no
field as required, so everything outside the discriminator-bearing
enums is Option.
order_id is wrapped in OrderId, which serializes transparently as
the same int64.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.session: Option<Session>Trading session the order is valid in.
duration: Option<Duration>Time-in-force.
order_type: Option<OrderType>Order type (market / limit / stop / …).
cancel_time: Option<DateTime<Utc>>Scheduled cancel time for time-bound orders.
complex_order_strategy_type: Option<ComplexOrderStrategyType>Multi-leg option strategy shape; NONE for single-leg orders.
quantity: Option<Decimal>Total order quantity.
filled_quantity: Option<Decimal>Quantity filled so far.
remaining_quantity: Option<Decimal>Quantity still working.
requested_destination: Option<RequestedDestination>Response-only: the venue Schwab routed the order to.
destination_link_name: Option<String>Schwab-internal name for the routing destination.
release_time: Option<DateTime<Utc>>Scheduled release time for orders held for later activation.
stop_price: Option<Decimal>Stop trigger price, USD.
stop_price_link_basis: Option<StopPriceLinkBasis>Reference price the stop is linked to.
stop_price_link_type: Option<StopPriceLinkType>How the linked stop offset is interpreted.
stop_price_offset: Option<Decimal>Offset from the linked reference price.
stop_type: Option<StopType>Which feed triggers the stop (bid / ask / last / mark).
price_link_basis: Option<PriceLinkBasis>Reference price the limit is linked to.
price_link_type: Option<PriceLinkType>How the linked limit offset is interpreted.
price: Option<Decimal>Limit price, USD.
tax_lot_method: Option<TaxLotMethod>Tax-lot relief method to apply when closing.
order_leg_collection: Vec<OrderLegCollection>One entry per order leg.
activation_price: Option<Decimal>Activation price for stop / trigger orders.
special_instruction: Option<SpecialInstruction>Schwab special-instruction flag (e.g. all-or-none).
order_strategy_type: Option<OrderStrategyType>Top-level structure of the order envelope.
order_id: Option<OrderId>Schwab-assigned order id.
cancelable: Option<bool>true if the order can currently be cancelled.
editable: Option<bool>true if the order can currently be replaced.
status: Option<ApiOrderStatus>Lifecycle status.
entered_time: Option<DateTime<Utc>>Time Schwab recorded the order.
close_time: Option<DateTime<Utc>>Time the order reached a terminal state.
tag: Option<String>Response-only: Schwab-assigned classification of the order’s origin. Not settable on the request; consumers cannot use this for client-side correlation.
account_number: Option<AccountNumber>Plain account number that owns this order.
order_activity_collection: Vec<OrderActivity>Per-event activity history (fills, lifecycle actions).
replacing_order_collection: Vec<Order>Orders that have replaced this one (replace lineage).
child_order_strategies: Vec<Order>Child legs for OCO / TRIGGER / other compound strategies.
status_description: Option<String>Schwab’s free-form description of the current status (rejection reason, etc.).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Order
impl<'de> Deserialize<'de> for Order
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl TryFrom<Order> for OrderRequest
impl TryFrom<Order> for OrderRequest
Source§fn try_from(order: Order) -> Result<Self, Self::Error>
fn try_from(order: Order) -> Result<Self, Self::Error>
Convert a fetched Order into an OrderRequest body. Useful for
constructing the body of a replace request from a previously-fetched
order: take the live order, mutate the field(s) you want to change,
and send it back.
Broker-assigned fields (orderId, status, enteredTime,
cancelable, editable, fills, lineage, etc.) are not part of a
request body and are dropped. Child strategies (OCO / TRIGGER)
are converted recursively. Fields that cannot be represented in a
request (a leg missing its instrument, an instrument missing its
symbol) surface as Error::OrderResponseNotRepresentable.
impl Eq for Order
impl StructuralPartialEq for Order
Auto Trait Implementations§
impl Freeze for Order
impl RefUnwindSafe for Order
impl Send for Order
impl Sync for Order
impl Unpin for Order
impl UnsafeUnpin for Order
impl UnwindSafe for Order
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.