Events Addon The Events Addon is a comprehensive event management system for organizing, scheduling, and displaying events and calendars. It allows you to create detailed event listings with date and time information, locations, recurring schedules, and rich content. Introduction What is the Events Addon? The Events Addon is a comprehensive event management system for organizing, scheduling, and displaying events and calendars. It allows you to create detailed event listings with date and time information, locations, recurring schedules, and rich content. What can you do with it? Create and manage events with detailed information including dates, times, locations, and descriptions Set up recurring events with daily, weekly, monthly, or yearly recurrence patterns Organize events using categories and event types Link events to destinations to show where events take place Enable user submissions so visitors can submit their own events for review Search and filter events by date, category, destination, and other criteria Display featured events to highlight special events Sync with Google Calendar for external calendar integration Provide API access for frontend applications to retrieve and display event data Key Features Event Management: Create comprehensive event profiles with dates, times, locations, and descriptions Recurring Events: Support for daily, weekly, monthly, and yearly recurring patterns with flexible scheduling options Date and Time Management: Start and end dates/times with timezone support Location Integration: Link events to destinations or specify custom locations Category Organization: Organize events using categories Event Types: Different event types with customizable layouts Image Management: Support for main images, header images, and image galleries User Submissions: Allow authenticated users to create and manage their own events Approval Workflow: Review and approve user-submitted events before they go live Search and Filter: Powerful search capabilities with date range filtering API Access: RESTful API endpoints for retrieving event data Google Calendar Integration: Sync events with Google Calendar RRULE Support: Standard recurrence rule format support Who is this for? This addon is designed for: Content Managers: Who need to create and maintain event information Administrators: Who manage the overall system and approve user submissions Frontend Developers: Who need to integrate event data into websites or applications End Users: Who may submit their own events through the API Getting Started Accessing the Events Module Log into the admin panel Navigate to the Events module in the main navigation menu You'll see the main Events dashboard with various sections Overview of the Admin Interface The Events module is organized into several sections accessible from the left sidebar: Events: Manage all event entries Categories: Manage event categories Types: Manage event types (different layouts and configurations) Fields: Manage custom fields for events Calendars: Manage calendar integrations Notifications: Manage event notifications Basic Navigation Click on any section name to view a list of all entries in that section Use the New button to create a new entry Click on an existing entry to edit it Use the search and filter options to find specific entries For events, you can choose an event type when creating a new event Understanding Content Types The Events Addon uses several content types to organize and classify events. Understanding these types will help you effectively manage your event data. Events What are events? Events are the main content type in this addon. An event represents a scheduled occurrence at a specific date and time. Examples include concerts, festivals, workshops, meetings, performances, or any time-based activity. What information do they contain? Events can store a wide variety of information including: Basic details (title, summary, description) Date and time information (start date/time, end date/time, publish date) Location information (destination link, custom address, coordinates) Images (main image, header image, gallery) Contact information (phone, email, website) Recurrence patterns (daily, weekly, monthly, yearly) Categories and event types Rich content blocks for detailed descriptions SEO information When to use it: Create an event entry for any scheduled activity you want to feature in your system. Categories What are categories? Categories are used to organize events into groups. Examples include "Music", "Sports", "Arts & Culture", "Food & Drink", or "Community Events". Categories help visitors find events by topic or type. How do they relate to events? Events can be assigned to one or more categories. When a visitor searches for events in a specific category, they'll see all events assigned to that category. When to use it: Create category types that represent the different kinds of events you host. Then assign these categories to relevant events. Types What are types? Event types represent different kinds of events that may have different layouts or configurations. Each type can have its own custom layout template and theme layout, allowing different event types to be displayed differently. How do they work? Event types define how events are displayed Each type can have a custom layout Types help organize events by their presentation style When creating an event, you choose its type When to use it: Create event types for different presentation needs. For example, you might have different types for "Concert Events", "Workshop Events", or "Festival Events" that display differently. Managing Events This section provides step-by-step guides for managing event entries. Creating a New Event Navigate to Events in the admin panel Click the New Event button You'll be prompted to choose an event type Select the appropriate event type Fill in the required fields: Title: The event name (required) Slug: A URL-friendly version of the name (required, must be unique) Type: The event type (required) Starts At: Start date and time (required) Ends At: End date and time (required) Publish At: When the event should be published (required) Author: Event creator (required) Fill in optional fields as needed (see Event Fields Reference for details) Click Save to create the event Editing Event Information Navigate to Events Click on the event you want to edit Make your changes Click Save to update Setting Date and Time Information Date and Time Fields: Starts At: When the event begins (date and time) Ends At: When the event ends (date and time) Publish At: When the event should become visible to the public Tips: Use the date/time picker to select dates and times Ensure end time is after start time Set publish date to control when events appear in listings Events can be published in the future for advance scheduling Adding Location Information Events can be linked to destinations or have custom location information: Linking to a Destination: Find the Destination field Select a destination from the list The event will inherit location information from the destination Custom Location: Location Name: Name of the venue or location Address: Street address City: City name State: State or province Zip: Zip or postal code Country: Country name Location: Geographic coordinates (automatically populated when address is geocoded) Adding Images Events support three types of images: Main Image: The primary image displayed for the event Used in listings and search results Recommended size: 1040x585 pixels or similar aspect ratio Header Image: A larger image used at the top of event detail pages Recommended size: 1920x600 pixels or similar wide format Gallery Images: Multiple images that can be displayed in a gallery Add as many as needed Recommended size: 1200x800 pixels or larger Image Upload: An additional image upload field for header images Shows as the page header image for the event To add images: Open the event for editing Find the image field you want to use (Main Image, Header Image, Image Upload, or Gallery Images) Click to upload or select an existing image Save your changes Adding Contact Information Contact Fields: Published Contact: Contact name to display publicly Published Phone: Phone number to display publicly Published Email: Email address to display publicly Contact: Internal contact name (not displayed) Phone: Internal phone number Email: Internal email address Website: Event website URL Comments: Internal notes or comments Adding Categories To assign an event to categories: Open the event for editing Find the Categories field Select one or more categories from the list You can select multiple categories Save your changes Tips: Start typing to search for categories Select multiple categories to create multiple associations These associations help visitors find events through search and filtering Setting Event Status Status Fields: Enabled: Whether the event is visible to the public Approved: Whether the event has been approved by an admin (for user submissions) Featured: Whether the event should be featured prominently Controlling Visibility: Uncheck Enabled to hide an event from public listings Unapproved events are not visible to the public, even if enabled Featured events can be displayed prominently on your frontend Linking Events to Destinations Events can be linked to destinations to show where they take place: Open the event for editing Find the Destination field Select a destination from the list The event will inherit location information from the destination Save your changes Benefits: Automatic location information Visitors can see events at specific destinations Search for events by destination Managing Related Content This section covers how to manage the various content types that support events. Creating and Managing Categories Navigate to Categories in the admin panel Click New Category Enter: Name: The category name (e.g., "Music Events") Slug: URL-friendly version (auto-generated from name) Description: Brief description of the category Content: Detailed content about the category Images: Main image and/or header image Save Categories help visitors find events by topic or type. Creating and Managing Event Types Navigate to Types in the admin panel Click New Type Enter: Name: The type name (e.g., "Concert") Slug: URL-friendly version Layout: Template layout for this event type Theme Layout: Theme layout configuration Description: Description of the event type Save Note: Event types are typically configured by developers or administrators. They control how events are displayed and may have different field configurations. Managing Fields Custom fields can be created for events: Navigate to Fields in the admin panel Click New Field Choose a field type Configure the field Assign it to event types as needed Note: Field management is typically done by administrators or developers. Custom fields allow you to add additional information to events beyond the standard fields. Recurring Events The Events Addon supports powerful recurring event functionality, allowing you to create events that repeat on a schedule. Understanding Recurrence Patterns Events can recur in four ways: Daily Recurrence: Event repeats every X days Example: Every 3 days Weekly Recurrence: Event repeats on specific days of the week Can repeat every X weeks Example: Every Monday and Wednesday, or every 2 weeks on Friday Monthly Recurrence: Event repeats on a specific day of the month Or on a specific occurrence of a weekday (e.g., first Monday, last Friday) Can repeat every X months Example: 15th of every month, or first Monday of every 3 months Yearly Recurrence: Event repeats on a specific date each year Or on a specific occurrence of a weekday in a specific month Example: December 25th every year, or first Saturday in May every year Setting Up Recurring Events Basic Recurrence Setup: Open the event for editing Find the Recurrence field Select the recurrence type: Daily, Weekly, Monthly, or Yearly Configure the recurrence options based on the type selected Recurrence End Date: Set an End Date for the recurrence (when recurring events should stop) If not set, recurring events will generate up to 180 days in the future Daily Recurrence: Set Daily Days: Number of days between occurrences (e.g., 1 for daily, 3 for every 3 days) Weekly Recurrence: Set Weekly Weeks: Number of weeks between occurrences (e.g., 1 for weekly, 2 for bi-weekly) Select Weekly Day(s): Which day(s) of the week (Mon, Tue, Wed, Thu, Fri, Sat, Sun) You can select multiple days Monthly Recurrence: Choose one of two options: Monthly First: Repeats on a specific day of the month (e.g., 15th of every month) Monthly Second: Repeats on a specific occurrence of a weekday (e.g., first Monday, last Friday) Set Monthly Months: Number of months between occurrences For Monthly First: Set the day of month For Monthly Second: Set the weekday and occurrence (first, second, third, fourth, last) Yearly Recurrence: Choose one of two options: Yearly First: Repeats on a specific date each year (e.g., December 25th) Yearly Second: Repeats on a specific occurrence of a weekday in a specific month For Yearly First: Set the month and day For Yearly Second: Set the month, weekday, and occurrence How Recurring Events Work When you create a recurring event: The original event is stored with recurrence settings The system generates individual event instances based on the recurrence pattern Each instance appears in search results and listings Recurring instances are marked with a special ID prefix The system generates recurring events up to 180 days in advance (or until the end date) Important Notes: Recurring events are generated dynamically when searched or listed The original event remains the "master" event Editing the master event affects all future recurring instances Past recurring instances are not affected by edits Searching and Filtering The Events Addon provides powerful search and filtering capabilities through both the admin interface and the API. How to Search Events In the Admin Interface: Use the search box at the top of the events list Search by title, location, or other text fields Results update when you click Filter Available Search Filters You can filter events by: Title: Search for events by title (partial matches supported) Dates: Filter by date range (start date and end date) Categories: Filter by one or more categories Destinations: Filter by destination Featured: Filter to show only featured events Understanding Search Results Search results include: Event title Start and end dates/times Main image (if available) Brief summary or content preview Associated categories Location information Results can be sorted by: Upcoming (chronological by start date - default) Recent (most recently published first) Date Filtering: Events are filtered to show upcoming events by default You can specify a date range to see events within that range Recurring events that fall within the date range are included User-Submitted Content The Events Addon allows authenticated users to submit their own events through the API. How Users Can Submit Events Users with authenticated API access can: Create new events using the API Update their existing events Delete their events Reviewing and Approving Submissions Review Process: Navigate to Events in the admin panel Look for events where Approved is unchecked Review all submitted information: Verify accuracy of date and time information Check that location information is correct Ensure content meets your standards Verify images are appropriate Make any necessary edits Check the Approved checkbox Ensure Enabled is checked if you want it visible immediately Save What Happens: Unapproved events are not visible to the public Once approved, events become visible (if also enabled) Users receive notifications when their submissions are approved or updated Managing User-Created Content Best Practices: Review submissions regularly, especially for date-sensitive events Provide feedback to users if submissions need changes Use the comments field to track review status Consider creating guidelines for user event submissions Common Tasks: Edit user-submitted content for accuracy Correct date and time information Add missing location details Improve descriptions Add or replace images Verify recurrence patterns are set correctly Event Fields Reference This section provides a comprehensive reference for all fields available on event entries. Use this as a guide when creating or editing events. Basic Information Field Type Required Description Title Text Yes The event's title Slug Text Yes URL-friendly version of the title (must be unique) Summary Text No Brief summary or excerpt Content Rich Text No Full detailed description of the event String ID Text Yes Unique string identifier (auto-generated) Date and Time Field Type Required Description Starts At DateTime Yes When the event begins Ends At DateTime Yes When the event ends Publish At DateTime Yes When the event should be published Location Information Field Type Required Description Destination Select No Link to a destination entry Location Name Text No Name of the venue or location Address Text No Street address City Text No City name State Text No State or province Zip Text No Zip or postal code Country Text No Country name Location Geolocation No Geographic coordinates (auto-populated) Contact Information Field Type Required Description Published Contact Text No Contact name to display publicly Published Phone Text No Phone number to display publicly Published Email Text No Email address to display publicly Contact Text No Internal contact name (not displayed) Phone Text No Internal phone number Email Text No Internal email address Website URL No Event website URL Comments Text No Internal notes or comments Event Details Field Type Required Description Producer Text No Event producer or organizer Duration Text No Event duration description Times Text No Additional time information Admission Text No Admission information (price, requirements, etc.) Images Field Type Required Description Main Image Image No Primary image (used in listings) Header Image Image No Large header image (used on detail pages) Image Upload Image No Additional header image upload Gallery Images Multiple Images No Image gallery (multiple images) Map Image Image No Static map image Recurrence Settings Field Type Required Description Recurrence Select No Recurrence type: daily, weekly, monthly, yearly, or none Range Select No Recurrence range type Range Occurrences Number No Number of occurrences R End Date Date No When recurring events should stop Daily Recurrence: Daily Days: Number of days between occurrences Weekly Recurrence: Weekly Weeks: Number of weeks between occurrences Weekly Day: Array of day abbreviations (Mon, Tue, Wed, Thu, Fri, Sat, Sun) Monthly Recurrence: Monthly First: Checkbox to use day-of-month pattern Monthly Second: Checkbox to use weekday occurrence pattern Monthly Months: Number of months between occurrences Monthly Day: Day of month (for Monthly First) Monthly Weekday: Day of week (for Monthly Second) Monthly Occurrence: Occurrence (first, second, third, fourth, last) Yearly Recurrence: Yearly First: Checkbox to use date pattern Yearly Second: Checkbox to use weekday occurrence pattern Yearly Month: Month name (for both patterns) Yearly Day: Day of month (for Yearly First) Yearly Weekday: Day of week (for Yearly Second) Yearly Occurrence: Occurrence (first, second, third, fourth, last) RRULE Support: R RRULE: Raw recurrence rule string (iCal RRULE format) R WKST: Week start day for RRULE (MO, TU, WE, TH, FR, SA, SU) Relationships Field Type Required Description Type Select Yes Event type (controls layout) Categories Multiple Select No Associated categories Author Select Yes Event creator Entry Select Yes Content entry (for rich content) Status and Visibility Field Type Required Description Enabled Checkbox No Whether the event is visible to the public Approved Checkbox No Whether the event has been approved by an admin Featured Checkbox No Whether the event is featured SEO Fields Field Type Required Description Meta Title Text No SEO meta title Meta Description Text No SEO meta description Meta Keywords Text No SEO meta keywords Additional Fields Field Type Required Description Tags Tags No Tags for additional organization Google ID Text No Google Calendar event ID (for sync) Google Link URL No Link to Google Calendar event Yodel ID Text No Yodel integration ID Auto Updates Checkbox No Whether to automatically update from external sources Common Tasks and Workflows This section provides step-by-step guides for common tasks you'll perform when managing events. Setting Up a New Event from Scratch What you'll need: Event title and basic information Start and end dates/times Location information (destination or custom address) At least one image (recommended) Categories (recommended) Steps: Navigate to Events → New Event Choose an event type Fill in required fields: Title Slug (or let it auto-generate) Type Starts At Ends At Publish At Author Add location information (link to destination or enter custom address) Upload a main image Write a description in the Content field Select at least one category Fill in contact information if needed Check Enabled to make it visible Check Approved (if you're an admin creating it directly) Click Save Tips: Start with the essentials, you can always add more details later Use a descriptive title that clearly identifies the event Choose a slug that's readable and SEO-friendly Set publish date appropriately (can be in the future) Creating a Recurring Event Setting up weekly recurring events: Create a new event with the first occurrence's date and time Set Recurrence to "Weekly" Set Weekly Weeks (e.g., 1 for weekly, 2 for bi-weekly) Select Weekly Day(s) (e.g., Mon, Wed, Fri) Set R End Date (when recurring should stop) Save Setting up monthly recurring events: Create a new event Set Recurrence to "Monthly" Choose pattern: Monthly First: Specific day of month (e.g., 15th of every month) Monthly Second: Specific weekday occurrence (e.g., first Monday) Set Monthly Months (e.g., 1 for monthly, 3 for quarterly) Configure the specific day/weekday settings Set R End Date Save Adding Multiple Events When adding many events: Prepare your data in a spreadsheet with columns for: Title, start date/time, end date/time Location, contact information Categories, etc. Create events one at a time: Start with the first event Fill in all information Save and move to the next Use consistent naming for easier management later Time-saving tips: Copy similar events and modify rather than starting from scratch Use the same categories for similar events Batch upload images if possible, then assign them to events Organizing Events with Categories Planning your category structure: List all the main types of events you have Group them into categories Create the categories in the admin panel Example categories: Music Sports Arts & Culture Food & Drink Community Events Workshops Festivals Assigning categories: Open an event for editing Find the Categories field Select one or more appropriate categories Save Best practices: Don't create too many categories (aim for 5-10 main categories) Assign multiple categories if an event fits in more than one Review and refine your category structure periodically Creating a Featured Events List To highlight special events: Identify events you want to feature Open each event for editing Check the Featured checkbox Save Featured events will appear when using featured event filters and can be displayed prominently on your frontend. Tips: Feature events that are particularly noteworthy or popular Rotate featured events periodically to keep content fresh Consider featuring seasonal or special events Limit the number of featured events for better impact Managing User Submissions Daily workflow: Check for new unapproved events Review each submission: Verify date and time information is accurate Check that location information is correct Ensure descriptions are complete and well-written Verify images are appropriate Check recurrence patterns if applicable Make any necessary edits Approve and enable if ready, or contact the user for more information Communication: Use the comments field to track review status Contact users if submissions need changes Provide clear guidelines for what makes a good event submission Quality control: Ensure all required information is present Verify dates and times are logical (end after start) Check for duplicate events Verify location information is accurate Updating Event Information When to update: Date or time changes Location changes Contact information changes New images become available Event details change Recurrence patterns need adjustment How to update: Find the event (use search if needed) Open it for editing Make your changes Save For user-submitted events: Users can update their own events via the API Admins can update any event Changes to approved events may trigger notifications For recurring events: Editing the master event affects all future recurring instances Past instances are not affected You can change recurrence patterns, which will affect future instances Archiving or Removing Events Disabling an event: Open the event Uncheck the Enabled checkbox Save The event will no longer appear in public listings but remains in the system. Deleting an event: Open the event Use the delete option (if available) Confirm deletion Note: Deleting a recurring event's master will remove all future recurring instances. Past instances may remain in search results until they expire. When to archive vs. delete: Disable/Archive: Event cancelled but you want to keep the data, or event ended but you want historical records Delete: Test entry, duplicate entry, or permanently remove with no need to keep data Tips and Best Practices Best Practices for Event Descriptions Writing effective descriptions: Be specific: Include unique details about what makes the event special Include practical information: Date, time, location, admission, what to bring Use keywords naturally: Include terms people might search for Tell a story: Help visitors understand what to expect Keep it readable: Use short paragraphs and bullet points for easy scanning Update regularly: Keep information current, especially for recurring events Content structure: Opening hook (what makes it special) Key details (date, time, location, admission) What to expect How to participate or attend Contact information Image Recommendations Main Image: Size: At least 1040x585 pixels (or similar 16:9 aspect ratio) Content: Best representation of the event Quality: High resolution, well-lit, in focus Format: JPG or PNG Header Image: Size: 1920x600 pixels or similar wide format Content: Scenic view, venue, or representative scene Quality: High resolution, professional if possible Format: JPG Gallery Images: Size: 1200x800 pixels or larger Content: Variety of views, venue, activities, performers Quantity: 5-10 images is ideal Quality: Consistent quality and style General tips: Use original photos when possible Ensure proper lighting Include people when appropriate (shows activity and scale) Show different angles and perspectives Keep file sizes reasonable for web (optimize before uploading) Category Organization Tips Creating an effective category structure: Keep it simple: Create 5-10 main categories Use clear names: Category names should be immediately understandable Consider your audience: Organize in a way that makes sense to your visitors Review regularly: Refine your structure as you add more events Common mistakes to avoid: Creating too many categories Using vague or unclear category names Creating categories for only one or two events Not reviewing and consolidating similar categories Recurring Events Best Practices Setting up recurring events: Test the pattern: Create a test event and verify the recurrence generates correctly Set end dates: Always set an end date for recurring events to prevent infinite generation Use appropriate patterns: Choose the simplest pattern that works (weekly is often better than daily) Document exceptions: Note any dates when recurring events won't occur Managing recurring events: Edit the master: Always edit the master event, not individual instances Plan ahead: Recurring events generate up to 180 days in advance Monitor end dates: Ensure end dates are appropriate for the event type Consider one-time changes: For special cases, you may need to create separate one-time events SEO Tips Optimizing for search engines: Use descriptive titles: Event titles should be clear and include location when relevant Write unique descriptions: Avoid duplicate content across events Use meta titles and descriptions: Fill these in for better search engine visibility Include location keywords: Naturally include city, region, and area names Use proper headings: Structure content with headings when using rich text Optimize images: Use descriptive alt text for images Create quality content: Search engines favor comprehensive, useful content Meta title best practices: Keep under 60 characters Include event name, date, and location when possible Make it compelling and descriptive Meta description best practices: Keep under 160 characters Summarize what makes the event special Include key details (date, location) when space allows Performance Considerations For content managers: Optimize images before uploading: Compress images to reduce file size Use appropriate image sizes: Don't upload unnecessarily large images Limit gallery images: While you can add many images, 10-15 is usually sufficient Keep descriptions concise: While detailed descriptions are good, extremely long content can impact performance For API consumers: Use appropriate limits: Don't request more data than you need Use date filters: Filter by date range to reduce result sets Cache responses: API responses are cached, but implement client-side caching too Use search filters: Filter results on the server rather than loading everything Request only needed fields: The API returns comprehensive data, but you may not need everything For recurring events: Set appropriate end dates: Don't create recurring events that extend too far into the future Be mindful of generation: Recurring events generate instances dynamically, which can impact performance with very large date ranges Use date filters: Always use date filters when searching to limit recurring event generation General tips: Regularly review and update content to keep it fresh Remove outdated or irrelevant events Archive old events rather than deleting if you might need the data later Monitor API usage and optimize queries as needed