get_school_holidays
Retrieve school holiday periods for any Swiss canton within a specified date range, with optional filtering by school type.
Instructions
Return school holiday periods for one canton in a date range.
Look up a canton's school holidays for planning within an explicit from/to window (term breaks, parent events, campaigns). Apparent duplicates are the same period per Schulart; set school_type to collapse them. Cantons that do not differentiate return one table.
Args:
canton: ISO subdivision code, e.g. CH-ZH.
valid_from: Inclusive start date, YYYY-MM-DD.
valid_to: Inclusive end date, YYYY-MM-DD.
school_type: Optional Schulart suffix -- VS, MS, BS or EO.
Use VS for compulsory schooling (Volksschule).
language: DE, FR, IT or EN.
Records that look duplicated are usually the same period published for a
different Schulart. Set school_type to collapse them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| canton | Yes | ISO code, e.g. CH-ZH | |
| language | No | DE | |
| valid_to | Yes | Date as YYYY-MM-DD | |
| valid_from | Yes | Date as YYYY-MM-DD | |
| school_type | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Human-readable caveat, set when provenance is 'degraded'. | |
| count | Yes | ||
| source | Yes | Attribution string of the upstream source. | |
| holidays | Yes | ||
| match_type | No | How the lookup key resolved (audit ARCH-003): 'exact' (code or full name / validated canton), 'fuzzy' (a single prefix match was assumed) or 'none' (nothing matched — see `note` for suggestions). | exact |
| provenance | Yes | live_api = freshly fetched, cached = in-memory cache, degraded = upstream unreachable, stale or empty payload. | |
| retrieved_at | Yes | ISO-8601 UTC timestamp of the underlying fetch. |