Skip to main content

Repeating Dates for Events and Reservations

Handling Repeating Events in RSVP System

When building event calendars, one of the first design questions is how to handle repeating events. In Drupal, there are two main approaches:

Option 1: Single Event + Repeat Rule (RRULE)

This approach stores one master event with a recurrence rule (like “every Tuesday until December”). The system calculates the dates dynamically.

✅ Efficient and simple

❌ Harder to manage exceptions, RSVPs, or per-event customizations

Option 2: Materialized Occurrences

This method creates individual event entities for each instance in a recurring series. Each occurrence can have its own RSVP list, host, capacity, and survey results.

✅ Great for managing sign-ups, cancellations, attendance, and analytics

✅ Easier to handle schedule changes or exceptions

⚙️ Slightly more complex to generate and maintain


Our Direction

For the RSVP System, we’re adopting the Materialized Occurrence model. This gives us the flexibility to build advanced features like:

Individual RSVP signups per date

Host and participant surveys after each event

Precise capacity tracking and reporting

Custom notifications for each occurrence

This design lays the foundation for a professional-grade reservation and feedback system—built entirely on open Drupal tools like ECA, Smart Date, and Views.

Stay tuned as we roll out a demonstration of recurring event generation and per-instance RSVPs in our upcoming demo site.

https://www.drupal.org/project/date_augmenter
https://www.mandclu.com/modules/date-content-augmenter


 

Image

Option 2 Materialize Occurrence

Image