Skip to main content

Order

Struct Order 

Source
#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional 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 Clone for Order

Source§

fn clone(&self) -> Order

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Order

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Order

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Hash for Order

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Order

Source§

fn eq(&self, other: &Order) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryFrom<Order> for OrderRequest

Source§

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.

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

impl Eq for Order

Source§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,