Toast · Schema

AppliedServiceCharge

A service charge that is added to a check. A service charge can represent an upcharge such as a gratuity or a delivery fee. Whether the upcharge is taxable is defined in the restaurant-configured `serviceCharge`. The fields on the `AppliedServiceCharge` are calculated based on the referenced `ServiceCharge` configuration.

Food ServicePoint of SaleRestaurantsHospitality
View JSON Schema on GitHub

JSON Schema

orders-applied-service-charge-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/toast/refs/heads/main/json-schema/orders-applied-service-charge-schema.json",
  "title": "AppliedServiceCharge",
  "description": "A service charge that is added to a check. A service charge can represent an upcharge such as a gratuity or a delivery fee.\n\nWhether the upcharge is taxable is defined in the restaurant-configured `serviceCharge`.\n\nThe fields on the `AppliedServiceCharge` are calculated based on the referenced `ServiceCharge` configuration.\n",
  "type": "object",
  "allOf": [
    {
      "$ref": "#/definitions/ExternalReference"
    },
    {
      "type": "object",
      "required": [
        "serviceCharge"
      ],
      "properties": {
        "chargeAmount": {
          "type": "number",
          "format": "double",
          "description": "The final applied amount excluding tax. Required if `chargeType` is `OPEN`."
        },
        "serviceCharge": {
          "description": "A reference to the restaurant-configured service charge. If a service charge is taxable, the tax amount is applied to the check.",
          "$ref": "#/definitions/ExternalReference"
        },
        "chargeType": {
          "x-toast-read-only": true,
          "description": "The type of service charge. Response only.\n\nValid values:\n\n* `FIXED` - The service charge is for a specific currency amount.\n\n* `PERCENT` - The service charge is for a percentage of the check amount.\n\n* `OPEN` - The service charge is not configured with an amount. The amount is specified by the restaurant employee.\n",
          "type": "string",
          "enum": [
            "FIXED",
            "PERCENT",
            "OPEN"
          ]
        },
        "name": {
          "x-toast-read-only": true,
          "description": "The configured human readable label for the service charge. Response only.",
          "type": "string"
        },
        "delivery": {
          "x-toast-read-only": true,
          "description": "Whether this service charge is a delivery charge. Response only.",
          "type": "boolean"
        },
        "takeout": {
          "x-toast-read-only": true,
          "description": "Whether this service charge is a takeout charge. Response only.",
          "type": "boolean"
        },
        "dineIn": {
          "x-toast-read-only": true,
          "description": "Whether this service charge is a dine-in charge. Response only.",
          "type": "boolean"
        },
        "gratuity": {
          "x-toast-read-only": true,
          "description": "Whether this service charge is a gratuity. Can be used to derive required tip amount on the check. Response only.",
          "type": "boolean"
        },
        "taxable": {
          "x-toast-read-only": true,
          "description": "Whether this service charge is taxable. Response only.",
          "type": "boolean"
        },
        "appliedTaxes": {
          "type": "array",
          "description": "Taxes applied to the service charge.",
          "items": {
            "$ref": "#/definitions/AppliedTaxRate"
          }
        },
        "serviceChargeCalculation": {
          "type": "string",
          "description": "Defines whether a `PERCENT` service charge is applied before (`PRE_DISCOUNT`) or after (`POST_DISCOUNT`) discounts.\n\nThis field is `null` for `FIXED` and `OPEN` service charges.\n",
          "enum": [
            "PRE_DISCOUNT",
            "POST_DISCOUNT"
          ]
        },
        "refundDetails": {
          "description": "A `RefundDetails` object that\ncontains information about refunded payment amounts for the item.\n",
          "type": "object",
          "$ref": "#/definitions/RefundDetails"
        },
        "serviceChargeCategory": {
          "x-toast-read-only": true,
          "description": "The type of service charge. Default is `SERVICE_CHARGE`. Response only.\n\nValid values:\n\n* `SERVICE_CHARGE` - The default type for a service charge.\n\n* `CREDIT_CARD_SURCHARGE` - A fee assessed _only_ on payment transactions that use a credit card.\n\n* `FUNDRAISING_CAMPAIGN` - Service charge associated with fundraising.\n\n* `CASH_ROUNDING` - Adjustment to the check total to account for cash payments with minimum denominations greater than 0.01.\n",
          "type": "string",
          "enum": [
            "SERVICE_CHARGE",
            "CREDIT_CARD_SURCHARGE",
            "FUNDRAISING_CAMPAIGN",
            "CASH_ROUNDING"
          ]
        },
        "paymentGuid": {
          "x-toast-read-only": true,
          "description": "The Toast platform unique identifier for the payment the fee is linked to. The `paymentGuid` value is always `null` unless the `serviceChargeCategory` object value is `CREDIT_CARD_SURCHARGE` or `CASH_ROUNDING`. Response only.",
          "type": "string"
        }
      }
    }
  ]
}