Struct square_api_client::models::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
sourceimpl Clone for OrderLineItemDiscount
impl Clone for OrderLineItemDiscount
sourcefn clone(&self) -> OrderLineItemDiscount
fn clone(&self) -> OrderLineItemDiscount
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for OrderLineItemDiscount
impl Debug for OrderLineItemDiscount
sourceimpl Default for OrderLineItemDiscount
impl Default for OrderLineItemDiscount
sourcefn default() -> OrderLineItemDiscount
fn default() -> OrderLineItemDiscount
sourceimpl<'de> Deserialize<'de> for OrderLineItemDiscount
impl<'de> Deserialize<'de> for OrderLineItemDiscount
sourcefn 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>,
sourceimpl PartialEq<OrderLineItemDiscount> for OrderLineItemDiscount
impl PartialEq<OrderLineItemDiscount> for OrderLineItemDiscount
sourcefn eq(&self, other: &OrderLineItemDiscount) -> bool
fn eq(&self, other: &OrderLineItemDiscount) -> bool
sourceimpl Serialize for OrderLineItemDiscount
impl Serialize for OrderLineItemDiscount
impl Eq for OrderLineItemDiscount
impl StructuralEq for OrderLineItemDiscount
impl StructuralPartialEq for OrderLineItemDiscount
Auto Trait Implementations
impl RefUnwindSafe for OrderLineItemDiscount
impl Send for OrderLineItemDiscount
impl Sync for OrderLineItemDiscount
impl Unpin for OrderLineItemDiscount
impl UnwindSafe for OrderLineItemDiscount
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.