The Ultimate Schedule
Schema Generator
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 occurrences 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.
Magic Build
Paste your URL below and our AI will automatically fill the Schedule fields for you.
Configuration
Live GeneratorWhy use Schedule?
Output Panel
Want to automate this?
Connect your site to SchemaGen and our AI will automatically extract and deploy schemas for you. No manual coding required.
Launch AI GeneratorWhat is Schedule Schema?
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 occurrences 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.
Google uses Schedule structured data to understand the content and context of your pages. When correctly implemented, this schema can unlock rich results in Google Search — enhancing your listing with additional information that dramatically improves visibility and click-through rates.
Why Add Schedule Structured Data?
Appear in Rich Results
Structured data helps Google show enhanced results for your pages in search — including stars, prices, FAQs, and more.
Boost Click-Through Rate
Rich snippets can increase CTR by up to 30% compared to plain search results — more clicks with the same ranking.
Feed AI Search Engines
AI answer engines like Perplexity and Google SGE use structured data to verify and cite facts from your content.
How to Implement Schedule JSON-LD
Generate
Use the form above to fill in your details and generate valid Schedule JSON-LD markup in seconds.
Copy
Copy the generated JSON-LD output code with one click — it's already formatted and ready to deploy.
Deploy
Paste the code into your <head> tag, or use SchemaGen's SDK to deploy without touching code.
Want to skip steps 2 & 3? Connect SchemaGen's SDK to deploy directly from the dashboard.
Properties You Can Include
Schedule schema supports the following schema.org properties. Required fields are the minimum Google needs to consider your markup valid; recommended fields unlock richer search result appearances.
| Property | Description | Expected Type | Status |
|---|---|---|---|
| additionalType | 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. Typically the value is a URI-identified RDF class, and in this case corresponds to the use of rdf:type in RDF. Text values can be used sparingly, for cases where useful information can be added without their being an appropriate schema to reference. In the case of text values, the class label should follow the schema.org style guide. | Text, URL | Optional |
| alternateName | An alias for the item. | Text | Optional |
| byDay | 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. | DayOfWeek, Text | Optional |
| byMonth | Defines the month(s) of the year on which a recurring Event takes place. Specified as an Integer between 1-12. January is 1. | Integer | Optional |
| byMonthDay | Defines the day(s) of the month on which a recurring Event takes place. Specified as an Integer between 1-31. | Integer | Optional |
| byMonthWeek | Defines the week(s) of the month on which a recurring Event takes place. Specified as an Integer between 1-5. For clarity, byMonthWeek is best used in conjunction with byDay to indicate concepts like the first and third Mondays of a month. | Integer | Optional |
| description | A description of the item. | Text, TextObject | Optional |
| disambiguatingDescription | 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. | Text | Optional |
| duration | The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601). | Duration, QuantitativeValue | Optional |
| endDate | The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)). | Date, DateTime | Optional |
| endTime | The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. E.g. John wrote a book from January to *December*. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions. | DateTime, Time | Optional |
| exceptDate | 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. | Date, DateTime | Optional |
| identifier | 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](/docs/datamodel.html#identifierBg) for more details. | PropertyValue, Text, URL | Optional |
| image | An image of the item. This can be a URL or a fully described ImageObject. | ImageObject, URL | Recommended |
| mainEntityOfPage | Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details. | CreativeWork, URL | Optional |
| name | The name of the item. | Text | Required |
| owner | A person or organization who owns this Thing. | Organization, Person | Optional |
| potentialAction | Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role. | Action | Optional |
| repeatCount | Defines the number of times a recurring Event will take place. | Integer | Optional |
| repeatFrequency | 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. | Duration, Text | Optional |
Example Schedule JSON-LD
Here's what valid Schedule structured data looks like with sample values filled in. Use the generator above to replace these with your own data.
{
"@context": "https://schema.org",
"@type": "Schedule",
"name": "Example Schedule",
"image": "https://example.com/images/example.jpg",
"url": "https://example.com/page",
"additionalType": "Example additionalType",
"alternateName": "Example alternateName",
"byDay": {
"@type": "DayOfWeek",
"name": "Example DayOfWeek",
"image": "https://example.com/images/example.jpg",
"url": "https://example.com/page"
},
"byMonth": 42,
"byMonthDay": 42
}Validate Your Schedule Schema
Once deployed, validate your schema is working correctly with our free audit tool. Paste your URL and we'll check for errors, missing properties, and Google Rich Result eligibility.
Check your Schedule schema for errors and Rich Result eligibility