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
JSON Schema
{
"$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"
}
}
}
]
}