MemberPulse

UJ-M-032: Add Event to Calendar

Member adds event to their personal calendar

Journey Overview

AttributeValue
Journey IDUJ-M-032
ActorMember
GoalAdd event to personal calendar for reminders
TriggerMember registers for event or views event details
OutcomeEvent added to member's calendar

Preconditions

  • Event exists with date/time
  • Member has calendar app access

Journey Flow

flowchart TD
    A[View event or ticket] --> B[Click Add to Calendar]
    B --> C{Calendar type?}
    C -->|Google| D[Open Google Calendar]
    C -->|Apple/Outlook| E[Download .ics file]
    C -->|Other| E
    D --> F[Event pre-filled]
    E --> G[Import to calendar app]
    F --> H[Save event]
    G --> H
    H --> I[Event in calendar]

Detailed Steps

  1. Find Add to Calendar

    Available locations:

    • Event details page
    • Registration confirmation
    • My Tickets page
    • Confirmation email
  2. Choose Calendar Type

    Options displayed:

    ┌─────────────────────────────────────┐
    │ Add to Calendar                     │
    ├─────────────────────────────────────┤
    │                                     │
    │ [📅] Add to Google Calendar         │
    │                                     │
    │ [📅] Add to Apple Calendar          │
    │                                     │
    │ [📅] Add to Outlook                 │
    │                                     │
    │ [📅] Download .ics file             │
    │                                     │
    └─────────────────────────────────────┘
  3. Google Calendar

    Opens Google Calendar with pre-filled event:

    URL Parameters:

    • Title: Event name
    • Dates: Start and end time
    • Location: Venue or meeting link
    • Description: Event details + link to portal

    Member confirms and saves in Google Calendar.

  4. Apple/Outlook/.ics

    Downloads .ics calendar file:

    File Contents:

    BEGIN:VCALENDAR
    VERSION:2.0
    BEGIN:VEVENT
    DTSTART:20250315T090000Z
    DTEND:20250315T170000Z
    SUMMARY:Annual Conference 2025
    LOCATION:Convention Center, Sydney
    DESCRIPTION:Annual industry conference...
    URL:https://portal.org/events/123
    END:VEVENT
    END:VCALENDAR

    Member opens file → imports to calendar app.

  5. Calendar Event Created

    Event in calendar includes:

    FieldContent
    TitleEvent name
    Date/TimeEvent start/end
    LocationVenue address or "Online"
    DescriptionEvent summary
    LinkURL to event/ticket
    RemindersDefault reminders

Calendar Event Details

Live Event

📅 Annual Conference 2025
📍 Convention Center, 123 Main St, Sydney
🕐 March 15, 2025 • 9:00 AM - 5:00 PM AEST

Industry conference featuring...

🔗 View event: https://portal.org/events/123
🎫 Your ticket: https://portal.org/tickets/abc

Online Event

📅 Leadership Webinar
💻 Online Event (Zoom)
🕐 March 20, 2025 • 2:00 PM - 3:30 PM AEST

Join link will be sent before the event.

🔗 View event: https://portal.org/events/456

Multiple Calendar Support

CalendarMethod
Google CalendarDirect URL integration
Apple Calendar.ics file download
Outlook (Desktop).ics file download
Outlook.comDirect URL or .ics
Yahoo Calendar.ics file download
Other.ics file universal

Acceptance Criteria

Frontend

  • Add to Calendar button/dropdown
  • Google Calendar link generation
  • .ics file generation
  • Outlook web link
  • Mobile-friendly options

Backend

  • GET /api/events/{id}/calendar - Get calendar data
  • GET /api/events/{id}/calendar.ics - Download .ics
  • Google Calendar URL generation
  • Proper timezone handling

Permissions

  • Public events accessible to all
  • Registered events include ticket link

Business Rules

  • Timezone correctly converted
  • Online events include note about link
  • Updates if event changes (for integrated calendars)

Error Handling

  • Invalid event date handling
  • .ics generation failure

On this page