Calendar
What this section is for
The Calendar is a shared community calendar for all of the org's teams. It shows one-off events and repeating ones — team meetings, regular workshops, planning sessions, whatever a team wants to put on the radar.
Anyone signed in can browse the calendar, add events to any team, and edit or cancel existing ones. Every change is written to the audit log, so there's always a clear record of who did what. The calendar is deliberately open — keeping a record is the safeguard, not locking people out.
Key pages at a glance
- Month view (
/Calendar) — the main calendar grid for the current month; filter by team with?teamId - List view (
/Calendar/List) — the same month as a simple list - Agenda (
/Calendar/Agenda) — what's coming up, from today onwards (the next 60 days by default) - One team's calendar (
/Calendar/Team/{teamId}) — one team's month, day by day, as a list - Event detail (
/Calendar/Event/{id}) — full details, including the next few times a repeating event happens - Add an event (
/Calendar/Event/Create) — the new-event form - Edit an event (
/Calendar/Event/{id}/Edit) — change an event or a whole repeating series
As a Volunteer
Anyone signed in can do everything on the calendar — view, add, edit, cancel, and manage repeating events. There are no role restrictions. Every change is recorded in the audit log.
Browse what's on
Use the month grid at /Calendar, the list at /Calendar/List, or the upcoming agenda at /Calendar/Agenda. You can filter any of them by team, or look at one team's calendar at /Calendar/Team/{teamId}. Open any event for the full details. Times are shown in the timezone picked at the top of the page; change it there and the page reloads in the new zone.
The unfiltered calendar also shows public items from other parts of the system, labelled with where they came from; their links take you back there rather than to a calendar event.
![TODO: screenshot — month grid with a team filter and a mix of one-off and repeating events]
Add an event
Go to /Calendar/Event/Create. Every event needs a title and a team it belongs to — the team list covers every active, non-hidden team. Tick All-day event and you pick a start date and an end date (the end date is included, so a one-day event uses the same date twice); leave it unticked and you pick a start time and an optional end time instead. You can also add a description, a location, and a link. For repeating events, set how often it repeats and the timezone (the default is Madrid time).
Edit or cancel
Open an event and use edit or delete. Editing a repeating event changes the whole series. If you only want to change one occurrence of a repeating event — a different time or place that week — use Edit this occurrence next to it in the upcoming list. To drop a single occurrence without affecting the rest, use Cancel this occurrence. Deleted events disappear from the calendar but stay in the audit record.
Every event page ends with a change-history panel listing who created, edited, or cancelled what, so you can see the record without leaving the event.
Subscribe in your own calendar app
Below the month grid at /Calendar is your personal feed URL. Copy it into any calendar app that subscribes to iCal feeds and it shows your shift signups, the guide events you saved and your working groups' meetings — not the community calendar's events. The URL is private: anyone who has it can read the feed. Regenerate URL replaces it, and every copy you handed out before stops working.