{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/toast-tab/refs/heads/main/json-schema/restaurants-schedules-schema.json", "title": "Schedules", "description": "Describes the types of service and hours of operation for the\nrestaurant over a one week period. The schedules object contains\nservice and hour schedules for types of days and the types of\ndays for each day of the calendar week.\n", "type": "object", "properties": { "daySchedules": { "type": "object", "description": "A map of `DaySchedule` objects.\nThe value names in this object are key identifiers that are\nused to associate a day schedule with a day of the week in\nthe `weekSchedule` value.\n", "properties": { "identifier": { "type": "string" } }, "additionalProperties": { "$ref": "#/$defs/DaySchedule" } }, "weekSchedule": { "$ref": "#/$defs/WeekSchedule" } }, "$defs": { "DaySchedule": { "type": "object", "description": "Information about the services and hours that are scheduled for a\nrestaurant during a type of day. For example, a restaurant might\nhave different services available on a type of day named\n`weekday` than it does on a type of day named `weekend`.\n", "properties": { "scheduleName": { "type": "string", "description": "The name of the type of day. For example, `weekday`.", "example": "Example Name" }, "services": { "type": "array", "items": { "$ref": "#/$defs/Service" }, "description": "An array of `Service` objects that are available during the\ntype of day.\n" }, "openTime": { "type": "string", "description": "The time of day that the first service for the type of day\nbegins. For example, the first service might begin at\n`06:00:00.000`.\n", "example": "2026-06-03T12:00:00.000+0000" }, "closeTime": { "type": "string", "description": "The time of day that the last service for the type of day\nends. For example, the last service might end at\n`02:00:00.000`.\n", "example": "2026-06-03T12:00:00.000+0000" } } }, "Service": { "type": "object", "description": "A time-based division of the operation of the restaurant. For\nexample, a service might be named `lunch` and it might be\navailable between specific hours during the day.\n", "properties": { "name": { "type": "string", "example": "Example Name" }, "hours": { "$ref": "#/$defs/Hours" }, "overnight": { "type": "boolean", "description": "Indicates whether any portion of the period of time that a\nservice is available occurs after 00:00 (midnight) and before\nthe business day cutoff time for the restaurant which is \navailable in the `closeoutHour` property. An\novernight shift spans two calendar dates but occurs during\none business day.\n", "example": true } } }, "Hours": { "type": "object", "description": "The period of time that the restaurant offers a service. For\nexample, a service might be named \"lunch\" and it might be offered\nbetween `10:00:00.000` and `16:00:00.000`.\n", "properties": { "startTime": { "type": "string", "description": "The time of day that the service begins.", "example": "2026-06-03T12:00:00.000+0000" }, "endTime": { "type": "string", "description": "The time of day that the service ends.", "example": "2026-06-03T12:00:00.000+0000" } } }, "WeekSchedule": { "type": "object", "description": "The day schedule used for each day of the week. A day schedule is \nthe set of services (for example, \"lunch\") that a restaurant \noffers and the hours that it offers each one. If a day of the \nweek value in this object is `null`, the restaurant is closed on \nthat day. Values for each day of the week are identifiers for day \nschedules in the map of `DaySchedule` objects in the \n`daySchedules` value of the `Schedules` object.\n", "properties": { "monday": { "type": "string", "description": "A key identifier for the `DaySchedule` object\nthat represents the services and hours for the restaurant on\nthis day of the week.\n", "example": "string" }, "tuesday": { "type": "string", "description": "A key identifier for the `DaySchedule` object\nthat represents the services and hours for the restaurant on\nthis day of the week.\n", "example": "string" }, "wednesday": { "type": "string", "description": "A key identifier for the `DaySchedule` object\nthat represents the services and hours for the restaurant on\nthis day of the week.\n", "example": "string" }, "thursday": { "type": "string", "description": "A key identifier for the `DaySchedule` object\nthat represents the services and hours for the restaurant on\nthis day of the week.\n", "example": "string" }, "friday": { "type": "string", "description": "A key identifier for the `DaySchedule` object\nthat represents the services and hours for the restaurant on\nthis day of the week.\n", "example": "90a86f12" }, "saturday": { "type": "string", "description": "A key identifier for the `DaySchedule` object\nthat represents the services and hours for the restaurant on\nthis day of the week.\n", "example": "string" }, "sunday": { "type": "string", "description": "A key identifier for the `DaySchedule` object\nthat represents the services and hours for the restaurant on\nthis day of the week.\n", "example": "string" } } } } }