📅
Content

Event Management

Admin Settings

Complete event system with tickets, registrations, and check-in

Overview

Full-featured event management extending the content system. Create online or in-person events with flexible ticketing (free, paid, donation, exchange), capacity limits, waitlists, and attendee registration. Includes QR code check-in, calendar integration (ICS), and custom registration questions.

Design Considerations

UX patterns and visual design notes for this feature:

  • Event cards should show date prominently - it's the key info
  • Ticket selection should feel like shopping - clear prices, availability
  • Registration confirmation needs to build excitement
  • Check-in scanner works best with large QR code display

Key Benefits

What makes this feature stand out:

  • Four ticket types: free, fixed, donation, exchange
  • Online and in-person event support
  • Capacity limits with waitlist option
  • QR code-based attendee check-in
  • Calendar integration (ICS download)
  • Custom registration questions
Technical Note

EventHelper provides event operations. Events extend Content with ContentEvent model. Tickets in ContentEventTicket, registrations in ContentEventRegistration. Check-in via unique tokens.

Helpers
EventHelper
Models
ContentEventContentEventTicketContentEventRegistration
Database Tables
content_eventcontent_event_ticketcontent_event_registration

Configuration

Config Relationship Legend
DB overrides params.php🔗 DB related setting📋 DB stores value only
params.php Configuration

Config path: params['events']

params['features']['events'] => trueparams['events']['siteLabel'] => 'Events'params['events']['registration']['guestAllowed'] => trueparams['events']['registration']['confirmationRequired'] => trueparams['events']['tickets']['defaultCurrency'] => 'EUR'
Database Settings (system_setting table)
KeyTypeDescriptionRelation
events_site_labelstringSite label for events section
events_default_currencystringDefault currency for tickets