pub struct OrderServiceCharge {
Show 14 fields pub uid: Option<String>, pub name: Option<String>, pub catalog_object_id: Option<String>, pub catalog_version: Option<i64>, pub percentage: Option<String>, pub amount_money: Option<Money>, pub applied_money: Option<Money>, pub total_money: Option<Money>, pub total_tax_money: Option<Money>, pub calculation_phase: Option<OrderServiceChargeCalculationPhase>, pub taxable: Option<bool>, pub applied_taxes: Option<Vec<OrderLineItemAppliedTax>>, pub metadata: Option<HashMap<String, String>>, pub type: Option<OrderServiceChargeType>,
}
Expand description

Represents a service charge applied to an order.

Fields

uid: Option<String>

A unique ID that identifies the service charge only within this order.

name: Option<String>

The name of the service charge.

catalog_object_id: Option<String>

The catalog object ID referencing the service charge [CatalogObject].

catalog_version: Option<i64>

The version of the catalog object that this service charge references.

percentage: Option<String>

The service charge percentage as a string representation of a decimal number. For example, “7.25” indicates a service charge of 7.25%.

Exactly 1 of percentage or amount_money should be set.

amount_money: Option<Money>

The amount of a non-percentage-based service charge.

Exactly one of percentage or amount_money should be set.

applied_money: Option<Money>

Read only The amount of money applied to the order by the service charge, including any inclusive tax amounts, as calculated by Square.

For fixed-amount service charges, applied_money is equal to amount_money. For percentage-based service charges, applied_money is the money calculated using the percentage.

total_money: Option<Money>

Read only The total amount of money to collect for the service charge.

Note: If an inclusive tax is applied to the service charge, total_money does not equal applied_money plus total_tax_money because the inclusive tax amount is already included in both applied_money and total_tax_money.

total_tax_money: Option<Money>

Read only The total amount of tax money to collect for the service charge.

calculation_phase: Option<OrderServiceChargeCalculationPhase>

The calculation phase at which to apply the service charge.

taxable: Option<bool>

Indicates whether the service charge can be taxed. If set to true, order-level taxes automatically apply to the service charge. Note that service charges calculated in the TOTAL_PHASE cannot be marked as taxable.

applied_taxes: Option<Vec<OrderLineItemAppliedTax>>

The list of references to the taxes applied to this service charge. Each OrderLineItemAppliedTax has a tax_uid that references the uid of a top-level OrderLineItemTax that is being applied to this service charge. On reads, the amount applied is populated.

An OrderLineItemAppliedTax is automatically created on every taxable service charge for all ORDER scoped taxes that are added to the order. OrderLineItemAppliedTax records for LINE_ITEM scoped taxes must be added in requests for the tax to apply to any taxable service charge. Taxable service charges have the taxable field set to true and calculated in the SUBTOTAL_PHASE.

To change the amount of a tax, modify the referenced top-level tax.

metadata: Option<HashMap<String, String>>

Application-defined data attached to this service charge. 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.

type: Option<OrderServiceChargeType>

Read only The type of the service charge.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.

Returns the argument unchanged.

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

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more