openactive / modelling-opportunity-data

OpenActive Modelling Opportunity Data specification
https://www.openactive.io/modelling-opportunity-data/
Other
6 stars 6 forks source link

Remove `Date` from `startDate` and `endDate` #314

Open nickevansuk opened 4 months ago

nickevansuk commented 4 months ago

The specification states that:

In order to simplify terminology in this specification we use the term "Event" to refer to all types of opportunities, including one-off and regularly occurring events. -- https://openactive.io/modelling-opportunity-data/#events

And later:

The Schema.org schema:Event type corresponds to the definition of Event given earlier in this specification. -- https://openactive.io/modelling-opportunity-data/#describing-events-code-schema-event-code-

However, even though an Event can theoretically represent any type of event, due to the existence of more specialised types defined within the specification, Event within OpenActive is only actually ever used to represent one-off occurrences. This is consistent with the documentation added 9 Oct 2018:

These events are one-off occurrences, e.g. a fun run organised by a local group may run as a standalone event on a particular date or an organisation that runs many individual events e.g. Human Race, Race for Life, International Women's Day. -- https://developer.openactive.io/data-model/data-model-overview#events

In order to tighten up the data model and make data more usable for data users, the definition of an Event should be formally restricted to one-off occurrences, and the definition of startDate and endDate updated to include only schema:DateTime rather than also allowing for schema:Date.

This has incidentally already been implemented in the tooling as an accidental byproduct of a quick fix in the data models relating to CourseInstance (https://github.com/openactive/data-models/commit/a49e829223d738ce5bf089c9d735455fe9a8937e), with no negative impacts reported so far.