Drop-in schedules across all City of Ottawa recreation facilities.
Query language reference
Combine match functions with logical operators, evaluated against every activity time. Whitespace is insignificant and the schedule timezone (America/Toronto) is implied.
Examples
Lane swims happening right now.activity("lane sw") and schdate(today) and time(today @ now)
Weekend skating, excluding figure skating.activity("skat") and not activity("figure") and time(sa su)
Racquet sports on weekday evenings.(activity("pickleball") or activity("badminton")) and time(mo we fr @ 18:00-21:00)
Specific or nearby facilities.facility("splash", "wave") or latlng(45.42620, -75.69205, 5)
Weekday evening skating, excluding adult sessions.schdate(today) and time(mo tu we th fr @ 16:00-22:00) and activity("skat") and not activity("adult")
Swims on a holiday's schedule.activity("swim") and schdate(2025-12-25)
Weekend activities starting at any of several times.time(sa su @ 8:00 9:00 10:00)
Reference
facility("name", ...)
Matches facility names against any of the quoted strings. Matching is fuzzy: each case-insensitive word of the query must be a prefix of a word in the facility name, in the same order, ignoring punctuation. For example, facility("st laurent") matches "St. Laurent Complex", and facility("rj kennedy") matches "R.J. Kennedy Community Centre and Arena".
activity("name", ...)
Like facility(), but matches activity names (both normalized and as written in the schedule). Names are normalized to the infinitive form, e.g., "skate" rather than "skating", so prefer prefixes like activity("skat") or activity("lane sw").
Matches activity weekdays and times. Days and times are each OR'd, and either side can be omitted (along with the @). Activities with unparseable times are not filtered out. Weekdays are two-letter, three-letter, or full names (mo, mon, monday). Dates are YYYY-MM-DD or today. Times are 24-hour HH:MM, 12-hour HH:MMam/HH:MMpm (or a/p), or now. Time ranges are two dash-separated times; an end time earlier than the start extends into the next day. For example: time(now), time(mo tu we th fr), time(sa su @ 12:00), time(mo @ 6:00a-10:00a 6:00p-9:00p).
schdate(date)
Matches schedule groups applicable on the date (YYYY-MM-DD or today), e.g., schdate(today) to show current schedules. Groups without a valid date range are not filtered out.
latlng(lat, lng, km)
Matches facilities within the radius (kilometers) of the coordinates, e.g., latlng(45.42620, -75.69205, 2) matches within 2km of Rideau station.