Ga naar hoofdinhoud

Agenda

Iedere aangemelde gebruiker heeft maand- en weekweergaven met eenmalige en terugkerende gebeurtenissen; geplande automatiseringen tonen komende uitvoeringen en geschiedenis op hetzelfde raster.

Gebeurtenissen

Een gebeurtenis heeft titel, optionele notities, begin, optioneel einde, hele-dagvlag en optionele herhaling. Titel en notities worden in rust versleuteld.

SoortVeldenBetekenis
onceatEén keer
hourlyminute, startHour?, endHour?Elk uur in venster
dailyhour, minuteDagelijks lokaal
weeklydayOfWeek, hour, minuteWekelijks
monthlydayOfMonth, hour, minuteMaandelijks
yearlymonth, dayOfMonth, hour, minuteJaarlijks

Terugkerende gebeurtenissen worden één keer opgeslagen en server-side uitgebreid. Elke projectie heeft baseEventId; wijzigen werkt toekomstige instanties bij. dayOfMonth na maandultimo wordt begrensd. Berekeningen gebruiken de lokale servertijdzone.

Benoemde agenda's en delen

Een gebruiker kan maximaal 20 agenda's maken met optionele kleur. calendarId koppelt een gebeurtenis; zonder blijft die in de privéstandaardagenda.

Delen gebruikt het rechtenmodel: read toont agenda en gebeurtenissen, write laat ook bewerken. Door een bijdrager gemaakte gebeurtenissen worden onder de agenda-eigenaar opgeslagen, zodat quota, verwijdering en archief bij eigenaar blijven. Toegang wordt telkens opnieuw gecontroleerd; intrekken werkt bij de volgende lezing. Een agenda verwijderen koppelt gebeurtenissen terug aan de standaardagenda en verwijdert rechten.

Herinneringen

reminderMinutes kan tot 14 dagen zijn. De scheduler publiceert calendar-reminder aan de eigenaar; compare-and-set per voorkomen voorkomt herhaling.

ICS importeren/exporteren

GET /api/calendar/export?calendarId= downloadt RFC 5545 .ics met UTC, escaped tekst, eenvoudige RRULE en VALARM. POST /api/calendar/import accepteert tot 2 MB/1.000 gebeurtenissen. UTC, floating times, hele-dag DATE en eenvoudige FREQ werken. Niet exact weer te geven INTERVAL, COUNT, UNTIL, EXDATE worden zonder herhaling geïmporteerd en als vervallen regel gemeld.

Modeltoegang

list_calendar_events (lezen), create_calendar_event en delete_calendar_event (effect, goedkeuring) werken onder de identiteit van de gebruiker.

API

MethodePadDoel
GET/api/calendar/events?from=&to=Gebeurtenissen, uitgebreid
POST/api/calendar/eventsMaken
PUT/api/calendar/events/:eventIdBijwerken
DELETE/api/calendar/events/:eventIdVerwijderen
GET/api/calendar/calendarsEigen/gedeelde agenda's
POST/api/calendar/calendarsAgenda maken
PUT/api/calendar/calendars/:idNaam/kleur
DELETE/api/calendar/calendars/:idAgenda verwijderen
GET/api/calendar/exportICS export
POST/api/calendar/importICS import

from/to zijn epoch-millisecond, maximaal 13 maanden. Maximaal 2000 gebeurtenissen, titels 200 en notities 10.000 tekens.