Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 6.67 KB

order-service-charge.md

File metadata and controls

42 lines (33 loc) · 6.67 KB

Order Service Charge

Represents a service charge applied to an order.

Structure

OrderServiceCharge

Fields

Name Type Tags Description Getter
Uid String Optional A unique ID that identifies the service charge only within this order.
Constraints: Maximum Length: 60
String getUid()
Name String Optional The name of the service charge.
Constraints: Maximum Length: 512
String getName()
CatalogObjectId String Optional The catalog object ID referencing the service charge CatalogObject.
Constraints: Maximum Length: 192
String getCatalogObjectId()
CatalogVersion Long Optional The version of the catalog object that this service charge references. Long getCatalogVersion()
Percentage String Optional 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.
Constraints: Maximum Length: 10
String getPercentage()
AmountMoney Money Optional Represents an amount of money. Money fields can be signed or unsigned.
Fields that do not explicitly define whether they are signed or unsigned are
considered unsigned and can only hold positive amounts. For signed fields, the
sign of the value indicates the purpose of the money transfer. See
Working with Monetary Amounts
for more information.
Money getAmountMoney()
AppliedMoney Money Optional Represents an amount of money. Money fields can be signed or unsigned.
Fields that do not explicitly define whether they are signed or unsigned are
considered unsigned and can only hold positive amounts. For signed fields, the
sign of the value indicates the purpose of the money transfer. See
Working with Monetary Amounts
for more information.
Money getAppliedMoney()
TotalMoney Money Optional Represents an amount of money. Money fields can be signed or unsigned.
Fields that do not explicitly define whether they are signed or unsigned are
considered unsigned and can only hold positive amounts. For signed fields, the
sign of the value indicates the purpose of the money transfer. See
Working with Monetary Amounts
for more information.
Money getTotalMoney()
TotalTaxMoney Money Optional Represents an amount of money. Money fields can be signed or unsigned.
Fields that do not explicitly define whether they are signed or unsigned are
considered unsigned and can only hold positive amounts. For signed fields, the
sign of the value indicates the purpose of the money transfer. See
Working with Monetary Amounts
for more information.
Money getTotalTaxMoney()
CalculationPhase String Optional Represents a phase in the process of calculating order totals.
Service charges are applied after the indicated phase.

Read more about how order totals are calculated.
String getCalculationPhase()
Taxable Boolean Optional 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.
Boolean getTaxable()
AppliedTaxes List<OrderLineItemAppliedTax> Optional 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.
List getAppliedTaxes()
Metadata Map<String, String> Optional 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.
Map<String, String> getMetadata()
Type String Optional - String getType()
TreatmentType String Optional Indicates whether the service charge will be treated as a value-holding line item or
apportioned toward a line item.
String getTreatmentType()
Scope String Optional Indicates whether this is a line-item or order-level apportioned
service charge.
String getScope()

Example (as JSON)

{
  "uid": "uid2",
  "name": "name2",
  "catalog_object_id": "catalog_object_id6",
  "catalog_version": 104,
  "percentage": "percentage0"
}