-
Notifications
You must be signed in to change notification settings - Fork 876
Description
A quick proposal based on discussion in #240.
Schema.org doesn't currently have a way to express recurring events.
While it will always be useful to share data on individual instances, e.g. the event happening this Tuesday at 6pm. There are also scenarios where it is useful to be able to share a general rule, e.g. this event happens at 6pm every Tuesday.
Use cases include sharing data about physical activities, e.g. regular gym classes or similar events.
iCalendar already refines a model and terms for expressing recurring events. And this
is independently supported in libraries like rrecurjs. We could draw on this to define a similar model for schema.org
The proposal is to define a new schedule property, a EventSchedule type and some additional properties for describing the schedule.
The schedule property will be associated with Events. It will allow the description of a schedule, expressed as a recurrence rule for describing the frequency of upcoming events.
The EventSchedule type will have properties based on those in iCalendar. But in the below, the naming has been aligned with existing schema.org properties.
startTime- the existing property, date/time at which the schedule startsendTime- existing property, date/time at which the schedule endsfrequency- "daily", "monthly", "yearly"day- DayOfWeekmonth- month of the yearhour- hourminute- minutecount- optionally specfiy the number of recurring eventsexceptionRule- repeating property, specifies date-times when the schedule doesn't apply, equivalent toexrulein ical
I think this covers the core aspects of a schedule. I may have missed something essential (am not an iCal expert) but I think this type of rule will cover many use cases so worth considering.
This structure can be easily expressed in, e.g. JSON-LD, but may be trickier in RDFa. I've not tried that yet, but wanted to float this for discussion.