Feature: Schedule Groups and Events#594
Open
mrshll1001 wants to merge 8 commits into
Open
Conversation
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
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`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issues
Description
This PR enacts the 2026-07-16 decision of the Standing Technical Committee to accept the following proposals for the specification:
service.schedulesin favor ofservice.operating_hoursandservice.eventsMerge checklist
If you have edited any schema files:
hsds_schema.pyto updatedatapackage.jsonand example filesIf you are working towards a new MINOR release:
$idvalues in schema files where appropriate$refvalues inopenapi.json