Veel fietsgroepen hebben regelmatige ritten - de maandagochtend woon-werkverkeer crew, de avontuurlijke rit op de eerste zaterdag van de maand, of de woensdagavond sociale ronde. Tot nu toe moesten organisatoren elk evenement handmatig aanmaken. Met onze nieuwe Terugkerende Feesten functie kunt u een schema eenmalig instellen en Party Onbici automatisch instanties laten genereren.
Het Probleem met Eenmalige Evenementen
Community fietsgroepen hebben doorgaans voorspelbare schema’s:
- “Elke dinsdag en donderdag om 6:30 uur”
- “Eerste zondag van elke maand”
- “Om de zaterdag ’s ochtends”
Het handmatig aanmaken van deze evenementen is vervelend, foutgevoelig en maakt het moeilijk om consistente routes en instellingen over gebeurtenissen te behouden.
Introductie van iCalendar RRULE
We hebben ons systeem voor terugkerende evenementen gebouwd op de iCalendar RRULE-standaard (RFC 5545). Dit is hetzelfde formaat dat wordt gebruikt door Google Calendar, Apple Calendar en Outlook - wat compatibiliteit met het bredere kalenderecosysteem garandeert.
Voorbeeld Herhalingspatronen
| |
Het Datamodel
Een RecurringParty dient als sjabloon die Party instanties genereert:
| |
Elke gegenereerde Party instantie linkt terug naar zijn ouder:
| |
Instantie Generatie
Wanneer een terugkerend feest wordt aangemaakt of het schema verandert, genereren we instanties voor de komende periode:
| |
Automatische Generatie met Celery Beat
Een dagelijkse Celery taak houdt instanties up-to-date:
| |
Het Celery Beat schema voert dit uit om middernacht:
| |
Gebruikersinterface
Een Terugkerend Feest Aanmaken
Het formulier gebruikt de django-recurrence widget voor het bouwen van RRULE patronen:
| |
De widget biedt een intuïtieve interface voor veelvoorkomende patronen:
- Dagelijks / Wekelijks / Maandelijks / Jaarlijks
- Specifieke dagen van de week
- Ordinale patronen (eerste, tweede, laatste)
- Aangepaste intervallen (elke 2 weken)
- Eindvoorwaarden (tot datum, na N gebeurtenissen, of nooit)
Instanties Beheren
Organisatoren kunnen alle gegenereerde instanties bekijken en:
- Individuele instanties bewerken - Wijzig route of tijd voor één gebeurtenis
- Instanties annuleren - Markeer specifieke data als geannuleerd
- Instanties regenereren - Handmatig generatie triggeren voor de volgende 30 dagen
Randgevallen Afhandelen
Tijdzone Bewustzijn
Alle datums worden opgeslagen in de geconfigureerde tijdzone van de organisator en weergegeven in de lokale tijd van de kijker:
| |
Feestdagen en Uitzonderingen Afhandelen
Gebruikers kunnen individuele instanties annuleren zonder het terugkerende patroon te beïnvloeden:
| |
Geannuleerde instanties verschijnen nog steeds in de lijst met een visuele indicator, waardoor verwarring wordt voorkomen.
Verweesd Instanties
Als een terugkerend feest wordt verwijderd, kunnen gegenereerde instanties optioneel behouden blijven:
| |
De Gebruikerservaring
Een wekelijkse rit aanmaken duurt slechts enkele stappen:
- Ga naar Dashboard → Terugkerende Feesten → Aanmaken
- Stel uw feestdetails in (route, tijden, moeilijkheid)
- Configureer het herhalingspatroon (bijv. “Elke zaterdag om 8 uur”)
- Stel de startdatum en optionele einddatum in
- Opslaan - instanties worden automatisch gegenereerd!
Het systeem maakt feestinstanties 30 dagen vooruit aan, en Celery blijft nieuwe genereren naarmate de tijd verstrijkt.
Voordelen voor Fietsgemeenschappen
- Instellen en vergeten - Geen wekelijkse evenementcreatie meer
- Consistentie - Dezelfde route, dezelfde tijd, dezelfde instellingen
- Flexibiliteit - Bewerk of annuleer individuele gebeurtenissen
- Ontdekking - Rijders kunnen gemakkelijk reguliere groepsritten vinden
- Kalenderintegratie - Abonneer op terugkerende evenementen in uw kalenderapp
Klaar om uw reguliere rit in te stellen? Maak een terugkerend feest aan en laat ons de planning afhandelen!
