Schedule
This term is proposed for full integration into Schema.org, pending implementation feedback and adoption from applications and websites.A schedule defines a repeating time period used to describe a regularly occurring Event. At a minimum a schedule will specify repeatFrequency which describes the interval between occurences of the event. Additional information can be provided to specify the schedule more precisely.
This includes identifying the day(s) of the week or month when the recurring event will take place, in addition to its start and end time. Schedules may also
have start and end dates to indicate when they are active, e.g. to define a limited calendar of events.
- Canonical URL: http://schema.org/Schedule
- Leave public feedback on this term 💬
- Check for open issues.
- 'Schedule' is mentioned in the pending extention.
Property | Expected Type | Description |
---|---|---|
Properties from Schedule | ||
byDay
|
DayOfWeek or Text | Defines the day(s) of the week on which a recurring Event takes place. May be specified using either DayOfWeek, or alternatively Text conforming to iCal's syntax for byDay recurrence rules |
byMonth
|
Integer | Defines the month(s) of the year on which a recurring Event takes place. Specified as an Integer between 1-12. January is 1. |
byMonthDay
|
Integer | Defines the day(s) of the month on which a recurring Event takes place. Specified as an Integer between 1-31. |
duration
|
Duration | The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format. |
endDate
|
Date or DateTime | The end date and time of the item (in ISO 8601 date format). |
exceptDate
|
Date or DateTime | Defines a Date or DateTime during which a scheduled Event will not take place. The property allows exceptions to a Schedule to be specified. If an exception is specified as a DateTime then only the event that would have started at that specific date and time should be excluded from the schedule. If an exception is specified as a Date then any event that is scheduled for that 24 hour period should be excluded from the schedule. This allows a whole day to be excluded from the schedule without having to itemise every scheduled event. |
repeatCount
|
Integer | Defines the number of times a recurring Event will take place |
repeatFrequency
|
Duration or Text | Defines the frequency at which Events will occur according to a schedule Schedule. The intervals between events should be defined as a Duration of time. |
scheduleTimezone
|
Text | Indicates the timezone for which the time(s) indicated in the Schedule are given. The value provided should be among those listed in the IANA Time Zone Database. |
startDate
|
Date or DateTime | The start date and time of the item (in ISO 8601 date format). |
Properties from Thing | ||
additionalType
|
URL | An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally. |
alternateName
|
Text | An alias for the item. |
description
|
Text | A description of the item. |
disambiguatingDescription
|
Text | A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation. |
identifier
|
PropertyValue or Text or URL | The identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See background notes for more details. |
image
|
ImageObject or URL | An image of the item. This can be a URL or a fully described ImageObject. |
mainEntityOfPage
|
CreativeWork or URL | Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See background notes for details. Inverse property: mainEntity. |
name
|
Text | The name of the item. |
potentialAction
|
Action | Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role. |
sameAs
|
URL | URL of a reference Web page that unambiguously indicates the item's identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or official website. |
subjectOf
|
CreativeWork or Event | A CreativeWork or Event about this Thing. Inverse property: about. |
url
|
URL | URL of the item. |
Instances of Schedule may appear as values for the following properties
Property | On Types | Description |
---|---|---|
eventSchedule
|
Event | Associates an Event with a Schedule. There are circumstances where it is preferable to share a schedule for a series of repeating events rather than data on the individual events themselves. For example, a website or application might prefer to publish a schedule for a weekly gym class rather than provide data on every event. A schedule could be processed by applications to add forthcoming events to a calendar. An Event that is associated with a Schedule using this property should not have startDate or endDate properties. These are instead defined within the associated Schedule, this avoids any ambiguity for clients using the data. The property might have repeated values to specify different schedules, e.g. for different months or seasons. |
Source
https://github.com/schemaorg/schemaorg/issues/1457
ExamplesA Tai-Chi class runs throughout 2017. The class occurs weekly, every Wednesday at 7pm.
Example is JSON-LD only.
Example is JSON-LD only.
<script type="application/ld+json"> { "@context": "http://schema.org/", "@type": "Event", "url": "http://www.example.org/events/1", "name": "Tai chi Class", "description": "A weekly Tai-Chi class", "duration": "PT60M", "eventSchedule": { "@type": "Schedule", "startDate": "2017-01-01", "endDate": "2017-12-31", "repeatFrequency": "P1W", "byDay": "http://schema.org/Wednesday", "startTime": "19:00", "endTime": "20:00", "scheduleTimezone": "Europe/London" } } </script>
A Meetup takes place on the 1st and 15th of every month between 9-10am
Example is JSON-LD only.
Example is JSON-LD only.
<script type="application/ld+json"> { "@context": "http://schema.org/", "@type": "Event", "name": "Example Meetup", "eventSchedule": { "@type": "Schedule", "repeatFrequency": "P1M", "byMonthDay": [1,15], "startTime": "09:00", "endTime": "10:00", "scheduleTimezone": "America/Glace_Bay" } } </script>
Starting from 2th December an Event will run daily between 9-10am for 10 occurences.
Example is JSON-LD only.
Example is JSON-LD only.
<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Event", "name": "Count Example", "eventSchedule": { "@type": "Schedule", "startDate": "2016-12-24", "repeatFrequency": "P1D", "repeatCount": 10, "startTime": "09:00", "endTime": "10:00", "scheduleTimezone": "Europe/London" } } </script>
An Event runs twice a day, at 9am-10am and 2pm-3pm but only Monday to Friday
Example is JSON-LD only.
Example is JSON-LD only.
<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Event", "name": "Example", "eventSchedule": [ { "@type": "Schedule", "repeatFrequency": "P1D", "byDay": [ "http://schema.org/Monday", "http://schema.org/Tuesday", "http://schema.org/Wednesday", "http://schema.org/Thursday", "http://schema.org/Friday" ], "startTime": "09:00", "endTime": "10:00", "scheduleTimezone": "America/Glace_Bay" }, { "@type": "Schedule", "repeatFrequency": "P1D", "byDay": [ "http://schema.org/Monday", "http://schema.org/Tuesday", "http://schema.org/Wednesday", "http://schema.org/Thursday", "http://schema.org/Friday" ], "startTime": "14:00", "endTime": "15:00", "scheduleTimezone": "America/Glace_Bay" } ] } </script>
An Event runs on the second Monday of every month, from 6pm-7:30pm. Because this kind of recurrence goes beyond that expressible using <a href="http://schema.org/DayOfWeek">http://schema.org/DayOfWeek</a>, it is specified instead using iCal's <a href="https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html">syntax for byDay recurrence rules</a>.
Example is JSON-LD only.
Example is JSON-LD only.
<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Event", "name": "Example", "eventSchedule": [ { "@type": "Schedule", "repeatFrequency": "P1M", "byDay": "2MO", "startTime": "18:00", "endTime": "19:30", "scheduleTimezone": "Asia/Shanghai" } ] } </script>