Toast · Schema

Check

Represents a single check within an order. The `externalId` value for a check must be unique. If you submit a check with an `externalId` that already exists for another check, the request will fail. You can use this behavior to implement idempotent check submission by always providing a consistent `externalId` for each unique check attempt.

Food ServicePoint of SaleRestaurantsHospitality
View JSON Schema on GitHub

JSON Schema

orders-check-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-check-schema.json",
  "title": "Check",
  "description": "Represents a single check within an order.\n\nThe `externalId` value for a check must be unique. If you submit a check\nwith an `externalId` that already exists for another check, the request\nwill fail. You can use this behavior to implement idempotent check\nsubmission by always providing a consistent `externalId` for each unique\ncheck attempt.\n",
  "type": "object",
  "allOf": [
    {
      "$ref": "#/definitions/ExternalReference"
    },
    {
      "type": "object",
      "required": [
        "selections"
      ],
      "properties": {
        "createdDate": {
          "description": "The date and time that the Toast platform received the check.",
          "type": "string",
          "format": "date-time"
        },
        "openedDate": {
          "description": "The date on which this check was opened. If not specified, it is set to the current system time.",
          "type": "string",
          "format": "date-time"
        },
        "closedDate": {
          "type": "string",
          "format": "date-time",
          "description": "The most recent date on which this check's payment status was set to `CLOSED`."
        },
        "modifiedDate": {
          "type": "string",
          "format": "date-time",
          "description": "The most recent date on which this check was modified."
        },
        "deletedDate": {
          "type": "string",
          "format": "date-time",
          "description": "The date on which this check was deleted.\n\n`deletedDate` is only applicable when `deleted` is true.\n\nIf `deleted` is false, then `deletedDate` is set to the UNIX epoch, `1970-01-01T00:00:00.000+0000`.\n"
        },
        "deleted": {
          "type": "boolean",
          "description": "Set to `true` if this check was deleted."
        },
        "selections": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Selection"
          }
        },
        "customer": {
          "description": "A `Customer` object\nthat holds information about a restaurant guest\nthat is associated with the check.\n\nRequired for `POST` requests for orders that use the\ntakeout or delivery dining options.\n\nFor checks that apply or accrue Toast loyalty points, a\n`GET` request returns a `Customer` object\neven when restaurant employees do not enter guest\ninformation for a check. In this case, the `Customer` object\ncontains only the Toast platform GUID of the guest.\nAll other values are `null`.\n",
          "$ref": "#/definitions/Customer"
        },
        "appliedLoyaltyInfo": {
          "description": "Information about the customer loyalty program account associated with the check. Used to accrue loyalty program benefits and to redeem loyalty program discounts.",
          "$ref": "#/definitions/AppliedLoyaltyInfo"
        },
        "taxExempt": {
          "type": "boolean",
          "default": false,
          "description": "Set to `true` if this check is tax exempt."
        },
        "displayNumber": {
          "type": "string",
          "description": "Generally starts at one each day and counts up. The Toast platform fills this in if it is not specified when the order is POSTed. Not guaranteed to be unique."
        },
        "appliedServiceCharges": {
          "type": "array",
          "description": "Any restaurant-configured service charges that applied to this check.",
          "items": {
            "$ref": "#/definitions/AppliedServiceCharge"
          }
        },
        "amount": {
          "x-toast-read-only": true,
          "type": "number",
          "format": "double",
          "description": "The total calculated price of the check including discounts and service charges. The `amount` does not include gratuity or taxes. Response only."
        },
        "taxAmount": {
          "x-toast-read-only": true,
          "type": "number",
          "format": "double",
          "description": "The calculated tax amount. Includes service charge and item level taxes. Response only."
        },
        "totalAmount": {
          "type": "number",
          "format": "double",
          "description": "The total calculated price of this check including discounts and taxes. Not affected by refunds."
        },
        "payments": {
          "type": "array",
          "description": "Payments made on this check.",
          "minItems": 0,
          "items": {
            "$ref": "#/definitions/Payment"
          }
        },
        "tabName": {
          "type": "string",
          "description": "The name of the tab on this check. This displays on the KDS (Kitchen Display System) for pending orders.\n\nThe `tabName` value can contain up to 255 characters.\n"
        },
        "paymentStatus": {
          "x-toast-read-only": true,
          "type": "string",
          "description": "The payment status of this check.\n\nValid values:\n\n* `OPEN` - There is an outstanding balance.\n\n* `PAID` - A credit card payment was applied, but the tip has not been adjusted.\n\n* `CLOSED`  - There is no remaining amount due on this check. For credit card payments, the payment has been adjusted to reflect the tip. Toast does not prevent a `CLOSED` check from transitioning back to `OPEN` or `PAID`.\n\nResponse only.\n",
          "enum": [
            "OPEN",
            "PAID",
            "CLOSED"
          ]
        },
        "appliedDiscounts": {
          "type": "array",
          "description": "The discounts applied to this check. In a `POST` request, only one `appliedDiscount` is allowed per check.",
          "minItems": 0,
          "items": {
            "$ref": "#/definitions/AppliedDiscount"
          }
        },
        "voided": {
          "x-toast-read-only": true,
          "type": "boolean",
          "description": "True if this check is voided. Response only."
        },
        "voidDate": {
          "x-toast-read-only": true,
          "type": "string",
          "format": "date-time",
          "description": "The date when this check was voided. Response only."
        },
        "voidBusinessDate": {
          "x-toast-read-only": true,
          "type": "integer",
          "description": "The business date (yyyyMMdd) on which this check was voided. Response only."
        },
        "paidDate": {
          "type": "string",
          "format": "date-time",
          "description": "The most recent date when this check received payment. If not specified when `POST`ing, it is set to the current system time."
        },
        "createdDevice": {
          "description": "The Toast POS device that created the check. This value is `null` if the check was not created using a Toast POS device.",
          "$ref": "#/definitions/Device"
        },
        "lastModifiedDevice": {
          "description": "The Toast POS device that modified the check most recently. This value is `null` if the check was never modified using a Toast POS device.\n\nIf the check is modified but the modification was not made using a Toast POS device, then this value does not change.\n",
          "type": "object",
          "$ref": "#/definitions/Device"
        },
        "duration": {
          "x-toast-read-only": true,
          "type": "integer",
          "description": "The number of seconds between creation and payment. Response only."
        },
        "openedBy": {
          "description": "The restaurant employee, or server, who opened the check.",
          "$ref": "#/definitions/ExternalReference"
        }
      }
    }
  ]
}