Struct OrderLineItemDiscount

Source
pub struct OrderLineItemDiscount {
    pub uid: Option<String>,
    pub catalog_object_id: Option<String>,
    pub catalog_version: Option<i64>,
    pub name: Option<String>,
    pub type: Option<OrderLineItemDiscountType>,
    pub percentage: Option<String>,
    pub amount_money: Option<Money>,
    pub applied_money: Option<Money>,
    pub metadata: Option<HashMap<String, String>>,
    pub scope: Option<OrderLineItemDiscountScope>,
    pub reward_ids: Option<Vec<String>>,
    pub pricing_rule_id: Option<String>,
}
Expand description

Represents a discount that applies to one or more line items in an order.

Fixed-amount, order-scoped discounts are distributed across all non-zero line item totals. The amount distributed to each line item is relative to the amount contributed by the item to the order subtotal.

Fields§

§uid: Option<String>

A unique ID that identifies the discount only within this order.

§catalog_object_id: Option<String>

The catalog object ID referencing [CatalogDiscount].

§catalog_version: Option<i64>

The version of the catalog object that this discount references.

§name: Option<String>

The discount’s name.

§type: Option<OrderLineItemDiscountType>

The type of the discount.

Discounts that do not reference a catalog object ID must have a type of FIXED_PERCENTAGE or FIXED_AMOUNT.

§percentage: Option<String>

The percentage of the discount, as a string representation of a decimal number. A value of 7.25 corresponds to a percentage of 7.25%.

percentage is not set for amount-based discounts.

§amount_money: Option<Money>

The total declared monetary amount of the discount.

amount_money is not set for percentage-based discounts.

§applied_money: Option<Money>

The amount of discount actually applied to the line item.

The amount represents the amount of money applied as a line-item scoped discount. When an amount-based discount is scoped to the entire order, the value of applied_money is different than amount_money because the total amount of the discount is distributed across all line items.

§metadata: Option<HashMap<String, String>>

Application-defined data attached to this discount. Metadata fields are intended to store descriptive references or associations with an entity in another system or store brief information about the object. Square does not process this field; it only stores and returns it in relevant API calls. Do not use metadata to store any sensitive information (such as personally identifiable information or card details).

Keys written by applications must be 60 characters or less and must be in the character set [a-zA-Z0-9_-]. Entries can also include metadata generated by Square. These keys are prefixed with a namespace, separated from the key with a ‘:’ character.

Values have a maximum length of 255 characters.

An application can have up to 10 entries per metadata field.

Entries written by applications are private and can only be read or modified by the same application.

For more information, see Metadata.

§scope: Option<OrderLineItemDiscountScope>

Indicates the level at which the discount applies. For ORDER scoped discounts, Square generates references in applied_discounts on all order line items that do not have them. For LINE_ITEM scoped discounts, the discount only applies to line items with a discount reference in their applied_discounts field.

This field is immutable. To change the scope of a discount, you must delete the discount and re-add it as a new discount.

§reward_ids: Option<Vec<String>>

Read only The reward IDs corresponding to this discount. The application and specification of discounts that have reward_ids are completely controlled by the backing criteria corresponding to the reward tiers of the rewards that are added to the order through the Loyalty API. To manually unapply discounts that are the result of added rewards, the rewards must be removed from the order through the Loyalty API.

§pricing_rule_id: Option<String>

Read only The object ID of a pricing rule to be applied automatically to this discount. The specification and application of the discounts, to which a pricing_rule_id is assigned, are completely controlled by the corresponding pricing rule.

Trait Implementations§

Source§

impl Clone for OrderLineItemDiscount

Source§

fn clone(&self) -> OrderLineItemDiscount

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for OrderLineItemDiscount

Source§

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

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

impl Default for OrderLineItemDiscount

Source§

fn default() -> OrderLineItemDiscount

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for OrderLineItemDiscount

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 PartialEq for OrderLineItemDiscount

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 Serialize for OrderLineItemDiscount

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for OrderLineItemDiscount

Source§

impl StructuralPartialEq for OrderLineItemDiscount

Auto Trait Implementations§

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> 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>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,