Events & Calendars

Event Scheduling & Calendars

The **Events** module facilitates scheduling, registration, and attendance tracking for all church gatherings.

Event Scheduling & Calendars

The Events module facilitates scheduling, registration, and attendance tracking for all church gatherings.


1. Event Parameters

Every scheduled event holds specific structural properties:

  • name (text): The title of the event (required).
  • start_date / end_date (timestamptz): Stored in UTC. The user interface translates these values to the organization’s local timezone.
  • all_day (boolean): Flag indicating whether the event spans the entire day, ignoring specific hours.
  • location (text): Detailed meeting address or classroom room number.
  • campus (text): Links the event to a physical church campus.

2. Recurrence Patterns (recurrence)

Gatherings can repeat on a defined schedule using the recurrence enum:

  • 'none': One-off events (e.g., special parish seminars).
  • 'daily': Occurs every day.
  • 'weekly': Repeats every week (e.g., Sunday Liturgy).
  • 'biweekly': Repeats every two weeks.
  • 'monthly': Repeats on the same day monthly.
  • 'yearly': Annual repetitions (e.g., Feast celebrations).

3. Status Lifecycle (status)

Events transition through distinct states:

  1. draft: The event is visible only to leaders and planners. It is hidden from public calendars and registration widgets.
  2. published: Active event. Displays on standard calendars and opens registration lines.
  3. cancelled: Suspended event. Retained in the database for tracking, but marked cancelled in calendar views.
  4. completed: Past event. Automatically set when the end date passes and attendance records are closed.

4. Ministry & Group Linking

Events can be associated with organizational sub-units to delegate responsibility:

  • ministry_id (uuid): Links the event to a church department (e.g., associating a service with the “Worship” ministry).
  • group_id (uuid): Scopes the event to a specific social circle (e.g., a meeting for the “Youth Fellowship” small group).