Toast · Schema
TimeSpecificPrice
Represents the pricing rules for a menu item that uses a time-specific price.
RestaurantsPoint Of SalePaymentsOnline OrderingDeliveryLoyaltyGift CardsMenusOrdersKitchenLaborSchedulingInventoryHospitalityPartner Integrations
Properties
| Name | Type | Description |
|---|---|---|
| timeSpecificPrice | number | The price of the menu item during the periods of time defined by the associated `schedule` array. |
| basePrice | number | The base price of the menu item, used for time periods when a time-specific price has not been defined. |
| schedule | array | An array of `Schedule` objects that indicate the specific days and times that a time-specific price is available. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/toast-tab/refs/heads/main/json-schema/menus-time-specific-price-schema.json",
"title": "TimeSpecificPrice",
"description": "Represents the pricing rules for a menu item that uses a time-specific price.\n",
"type": "object",
"properties": {
"timeSpecificPrice": {
"type": "number",
"format": "double",
"description": "The price of the menu item during the periods of time defined by the associated `schedule` array.\n",
"example": 1.0
},
"basePrice": {
"type": "number",
"format": "double",
"description": "The base price of the menu item, used for time periods when a time-specific price has not been defined.\n",
"example": 1.0
},
"schedule": {
"type": "array",
"description": "An array of `Schedule` objects that indicate the specific days and times that a time-specific price is available.\n",
"items": {
"$ref": "#/$defs/Schedule"
}
}
},
"$defs": {
"Schedule": {
"type": "object",
"description": "A multi-use object that is used to:\n\n* Define when a menu is available.\n* Define when a time-specific price is available for a menu item or modifier option.\n\nA `Schedule` object defines a set of days of the week and a set of time ranges for those days. Days that have identical time ranges are grouped into a single `Schedule` object, for example, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, and FRIDAY in the example below have identical time ranges and are in the same `Schedule` object while SATURDAY and SUNDAY are in a separate `Schedule` object because their time ranges differ from the weekday time ranges.\n\n```\n\"availability\": {\n \"alwaysAvailable\": false,\n \"schedule\": [\n {\n \"days\": [\n \"MONDAY\", \n \"TUESDAY\", \n \"WEDNESDAY\", \n \"THURSDAY\"\n ],\n \"timeRanges\": [\n {\n \"start\": \"09:00\",\n \"end\": \"18:00\"\n }\n ]\n },\n {\n \"days\": [\n \"FRIDAY\", \n \"SATURDAY\"\n ],\n \"timeRanges\": [\n {\n \"start\": \"09:00\",\n \"end\": \"18:00\"\n },\n {\n \"start\": \"20:00\",\n \"end\": \"23:00\"\n }\n ]\n }\n ]\n}\n```\n\nTime ranges are in 24-hour HH:MM format.\n\nIf a day is not represented in the `Schedule` objects, the menu or time-specific price is not available on that day. \n",
"properties": {
"days": {
"type": "array",
"description": "An array of days of the week that are associated with identical time ranges. The time ranges are defined in a corresponding `timeRanges` value. Names of the days are in upper case, for example, MONDAY.\n",
"items": {
"type": "string",
"description": "A day of the week, for example, SUNDAY or THURSDAY.",
"enum": [
"SUNDAY",
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY"
]
}
},
"timeRanges": {
"type": "array",
"description": "An array of `TimeRange` objects that define the time ranges that a menu or a time-specific price is available on the days defined by the corresponding `days` value. A `TimeRange` object contains a `start` time and an `end` time, expressed in the restaurant\u2019s local time. If both the `start` and `end` times for a given day are 00:00, it indicates that the menu or the time-specific price is available 24 hours on the associated days. Time ranges may also run overnight, for example, a time range that starts at \"07:00\" and ends at \"03:00\" runs from 7am until 3am the next day. \n",
"items": {
"$ref": "#/$defs/TimeRange"
}
}
}
},
"TimeRange": {
"type": "object",
"description": "Represents a time range for when a menu or a time-specific price is available.\n",
"properties": {
"start": {
"type": "string",
"description": "The start time of the time range. Expressed in the restaurant\u2019s local time.\n",
"example": "string"
},
"end": {
"type": "string",
"description": "The end time of the time range. Expressed in the restaurant\u2019s local time.\n",
"example": "string"
}
}
}
}
}