Skip to content

Feature: Schedule Groups and Events#594

Open
mrshll1001 wants to merge 8 commits into
3.3-devfrom
feature-schedule-groups-and-events
Open

Feature: Schedule Groups and Events#594
mrshll1001 wants to merge 8 commits into
3.3-devfrom
feature-schedule-groups-and-events

Conversation

@mrshll1001

@mrshll1001 mrshll1001 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor
  • schema: add schedule.group
  • schema: deprecate service.schedules
  • docs: update changelog

Related issues

Description

This PR enacts the 2026-07-16 decision of the Standing Technical Committee to accept the following proposals for the specification:

Merge checklist

  • Update the changelog

If you have edited any schema files:

  • Run hsds_schema.py to update datapackage.json and example files

If you are working towards a new MINOR release:

  • Update any $id values in schema files where appropriate
  • Update the $ref values in openapi.json

This commit adds the `group` property to the schedule.json schema, based
on the proposal for Schedule Groups which was accepted at the 2026-07-17
Technical Committee Meeting.

This commit also tidies the schema file formatting using `jq .`, which
may result in a larger diff. This is intended to make further changes
easier to parse in the future.

Proposal link:
https://docs.google.com/document/d/15ioyklDOWVJnKrp0K-Rs3sbsFmw1oXHzR05yMMh_K9Q/edit?tab=t.0

Meeting Minutes:
https://docs.google.com/document/d/1SYmsSa_U8uQKZW0zhEq8H6CNttNeWPqP7BAV0HDJa2o/edit?tab=t.blv4nr28fynh#heading=h.c7sdwf2uccyh
This commit declares the `schedules` property on the `service.json`
schema as deprecated, and adds two new properties: `operating_hours` and
`events` in its stead.

This is in accordance with the 2026-07-16 Standing Technical Committee
Meeting decision to accept the proposal on deprecating
`service.schedules` in favour of `service.operating_hours` and
`service.events`.

Proposal:

https://docs.google.com/document/d/1z4BF8w-slDu69cQ9IFak3kLYnJSSjSlBmdrU3OPxnYc/edit?tab=t.0#heading=h.ye0dggmm63xe

Standing Technical Committee Meeting Minutes:

https://docs.google.com/document/d/1SYmsSa_U8uQKZW0zhEq8H6CNttNeWPqP7BAV0HDJa2o/edit?tab=t.blv4nr28fynh#heading=h.c7sdwf2uccyh
The changes in this branch constitute a new MINOR upgrade to HSDS, so
have added the details in the changelog section of the docs.

Since the release does not exist yet, the link to the release on Github
uses a URL which will exist if this PR is merged.
Updated openapi.json to reflect the MINOR release number, so the API
spec declares the correct schema files.

As per merge checklist, have run `hsds-schema.py docs-all` to reflect
schema changes in the compiled schemas.
@mrshll1001
mrshll1001 marked this pull request as ready for review July 17, 2026 09:28
Pinned sphinxcontrib-opendataservices-jsonschema to a specific commit

JSON Schema 2020-12 introduced the boolean `deprecated` keyword which is
used to declare deprecated properties.

The docs use the sphinxcontrib-opendataservices-jsonschema package,
which is used to draw schema tables. The main branch of this package
currently does not handle the boolean `deprecated` keyword correctly, as
it expects the non-standard object `deprecated`, to produce a message
explaining the deprecation.

OpenDataServices/sphinxcontrib-opendataservices-jsonschema#64

This has been fixed in a PR, but has not been merged. Rather than let
that block us issuing the upgrade, I have made the necessary
modifications to the requirements to work around this problem.
Added `operating_hours` and `events` to the list of collapsed properties
in the schema table for `service.json`
Added a `deprecatedDetails` property to `service.schedules`, which
declares some details of when/why it has been deprecated. This is to
support correct rendering in the docs by the
sphinxcontrib-opendataservices-jsonschema library.
Fixed "`Schedule `" to be "`Schedule`" in description of
`service.events`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant