UNPKG

@openactive/data-models

Version:

Data models used to drive that OpenActive validator, developer documentation, and model libraries

217 lines (216 loc) 6.99 kB
{ "type": "Schedule", "derivedFrom": "https://pending.schema.org/Schedule", "derivedFromPending": true, "hasId": false, "requiredFields": [ "type", "scheduledEventType", "startTime", "endTime", "scheduleTimezone" ], "requiredOptions": [ { "description": [ "While these properties are marked as optional, a data publisher must provide either a `byDay`, `byMonth`, `byMonthDay` or `repeatFrequency` for a schedule." ], "options": [ "byDay", "byMonth", "byMonthDay", "repeatFrequency" ] } ], "commonTypos": { "frequency": "repeatFrequency" }, "recommendedFields": [ "duration", "startDate", "endDate", "idTemplate", "urlTemplate" ], "inSpec": [ "type", "repeatFrequency", "byDay", "startDate", "endDate", "startTime", "endTime", "repeatCount", "byMonth", "byMonthDay", "exceptDate", "duration", "scheduledEventType", "scheduleTimezone", "idTemplate", "urlTemplate" ], "fields": { "type": { "fieldName": "type", "requiredType": "https://schema.org/Text", "requiredContent": "Schedule" }, "byDay": { "fieldName": "byDay", "sameAs": "https://pending.schema.org/byDay", "requiredType": "ArrayOf#https://schema.org/DayOfWeek", "alternativeTypes": ["ArrayOf#https://schema.org/Text"], "example": ["https://schema.org/Monday"], "description": [ "Defines the day of the week upon which the Event takes place.", "When using string values, this MUST conform to iCal BYDAY rule." ] }, "byMonth": { "fieldName": "byMonth", "sameAs": "https://pending.schema.org/byMonth", "requiredType": "ArrayOf#https://schema.org/Integer", "example": [2], "description": [ "Defines the months of the year on which the Event takes place. Specified as an integer between 1 and 12, with 1 representing January." ] }, "byMonthDay": { "fieldName": "byMonthDay", "sameAs": "https://pending.schema.org/byMonthDay", "requiredType": "ArrayOf#https://schema.org/Integer", "example": [28], "description": [ "Defines the days of the month on which the Event takes place. Specified as an integer between 1 and 31" ] }, "duration": { "fieldName": "duration", "sameAs": "https://schema.org/duration", "requiredType": "https://schema.org/Duration", "description": [ "The duration of the event given in [ISO8601] format." ], "example": "PT1H" }, "endDate": { "fieldName": "endDate", "sameAs": "https://schema.org/endDate", "requiredType": "https://schema.org/Date", "description": [ "The end date of the schedule." ], "example": "2018-01-27" }, "endTime": { "fieldName": "endTime", "sameAs": "https://schema.org/endTime", "requiredType": "https://schema.org/Time", "description": [ "The end time of the event." ], "example": "12:00:00" }, "exceptDate": { "fieldName": "exceptDate", "sameAs": "https://pending.schema.org/exceptDate", "requiredType": "ArrayOf#https://schema.org/Date", "alternativeTypes": ["ArrayOf#https://schema.org/DateTime"], "example": [ "2016-04-13T17:10:00Z", "2016-09-14T17:10:00Z", "2016-12-14T18:10:00Z", "2016-12-21T18:10:00Z", "2016-12-28T18:10:00Z", "2017-01-04T18:10:00Z" ], "description": [ "Exception dates where the schedule should not generate an event." ] }, "idTemplate": { "fieldName": "idTemplate", "sameAs": "https://openactive.io/idTemplate", "requiredType": "https://schema.org/Text", "example": "https://api.example.org/session-series/123/{startDate}", "description": [ "An RFC6570 compliant URI template that can be used to generate a unique identifier (`@id`) for every event described by the schedule. This property is required if the data provider is supporting third-party booking via the Open Booking API, or providing complimentary individual `subEvent`s." ], "valueConstraint": "UriTemplate" }, "repeatCount": { "fieldName": "repeatCount", "sameAs": "https://pending.schema.org/repeatCount", "requiredType": "https://schema.org/Integer", "example": 3, "description": [ "Defines the number of times a recurring Event will take place." ], "minValueInclusive": 1 }, "repeatFrequency": { "fieldName": "repeatFrequency", "sameAs": "https://pending.schema.org/repeatFrequency", "requiredType": "https://schema.org/Duration", "example": "P1D", "description": [ "Defines the frequency at which Events will occur according to a Schedule. The intervals between events should be defined as a Duration of time." ] }, "scheduledEventType": { "fieldName": "scheduledEventType", "sameAs": "https://openactive.io/scheduledEventType", "requiredType": "https://schema.org/Text", "options": [ "Event", "HeadlineEvent", "SessionSeries", "ScheduledSession", "CourseInstance" ], "description": [ "The type of event this schedule related to." ], "example": "Event" }, "startDate": { "fieldName": "startDate", "sameAs": "https://schema.org/startDate", "requiredType": "https://schema.org/Date", "description": [ "The start date of the event." ], "example": "2018-01-27" }, "startTime": { "fieldName": "startTime", "sameAs": "https://schema.org/startTime", "requiredType": "https://schema.org/Time", "description": [ "The start time of the event." ], "example": "12:00:00" }, "scheduleTimezone": { "fieldName": "scheduleTimezone", "sameAs": "https://pending.schema.org/scheduleTimezone", "requiredType": "https://schema.org/Text", "example": "Europe/London", "description": [ "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." ] }, "urlTemplate": { "fieldName": "urlTemplate", "sameAs": "https://schema.org/urlTemplate", "requiredType": "https://schema.org/Text", "example": "https://example.org/session-series/123/{startDate}", "description": [ "An RFC6570 compliant URI template that can be used to generate a unique `url` for every event described by the schedule. This property is required if the data provider wants to provide participants with a unique URL to book to attend an event." ], "valueConstraint": "UriTemplate" } } }