MemberPulse

UJ-C-012: Create Event

Client staff creates a new event with all configuration options

Journey Overview

AttributeValue
Journey IDUJ-C-012
ActorClient Admin / Staff
GoalCreate a new event for members
TriggerOrganization needs to host an event
OutcomeEvent created and optionally published

Preconditions

  • Staff has ROLE_CLIENT_ADMIN permission
  • Event categories configured
  • Ticket types defined (if paid)

Journey Flow

flowchart TD
    A[Navigate to Events] --> B[Click Create Event]
    B --> C[Enter basic details]
    C --> D[Set date and time]
    D --> E[Configure location]
    E --> F[Add tickets]
    F --> G[Add speakers]
    G --> H[Configure CPD]
    H --> I[Set visibility]
    I --> J{Save as?}
    J -->|Draft| K[Save as draft]
    J -->|Publish| L[Publish event]
    K --> M[Event saved]
    L --> M

Detailed Steps

  1. Access Event Creation

    Navigate to Events:

    • Client Portal → Events
    • Click "Create Event" or "+"
  2. Basic Information

    Enter event details:

    ┌─────────────────────────────────────────────────────────────┐
    │ Create Event                                                │
    ├─────────────────────────────────────────────────────────────┤
    │                                                             │
    │ Step 1: Basic Information                                   │
    │ ─────────────────────────                                   │
    │                                                             │
    │ Event Title *                                               │
    │ [________________________________________________]         │
    │                                                             │
    │ Short Description *                                         │
    │ [________________________________________________]         │
    │ Used in event cards and emails                              │
    │                                                             │
    │ Full Description *                                          │
    │ ┌─────────────────────────────────────────────────────────┐ │
    │ │ [Rich text editor with formatting]                      │ │
    │ │                                                         │ │
    │ │                                                         │ │
    │ └─────────────────────────────────────────────────────────┘ │
    │                                                             │
    │ Event Type *              Category *                        │
    │ [○ Live ○ Online ○ Hybrid] [Select Category ▼]             │
    │                                                             │
    │ Featured Image                                              │
    │ [📷 Upload Image] Recommended: 1200x630px                  │
    │                                                             │
    │ [Next: Date & Time →]                                       │
    └─────────────────────────────────────────────────────────────┘
  3. Date and Time

    Configure event schedule:

    FieldDescription
    Start DateEvent start date
    Start TimeEvent start time
    End DateEvent end date
    End TimeEvent end time
    TimezoneEvent timezone
    All DayToggle for all-day events
    Multi-dayToggle for multi-day events

    Options:

    • Single day event
    • Multi-day event (conference)
    • Recurring event (series)
    • Schedule for later publishing
  4. Location Configuration

    For Live Events:

    ┌─────────────────────────────────────────────────────────────┐
    │ Location (Live Event)                                       │
    ├─────────────────────────────────────────────────────────────┤
    │                                                             │
    │ Venue Name *                                                │
    │ [Convention Center                              ]           │
    │                                                             │
    │ Address *                                                   │
    │ [123 Main Street                                ]           │
    │                                                             │
    │ City *              State *         Postcode                │
    │ [Sydney        ]   [NSW ▼]         [2000    ]              │
    │                                                             │
    │ [🗺️ Preview on Map]                                        │
    │                                                             │
    │ Parking Information                                         │
    │ [________________________________________________]         │
    │                                                             │
    │ Access Instructions                                         │
    │ [________________________________________________]         │
    │                                                             │
    └─────────────────────────────────────────────────────────────┘

    For Online Events:

    ┌─────────────────────────────────────────────────────────────┐
    │ Online Event Configuration                                  │
    ├─────────────────────────────────────────────────────────────┤
    │                                                             │
    │ Meeting Platform                                            │
    │ [○ Zoom (Auto-generate) ○ Manual Link]                     │
    │                                                             │
    │ If Zoom Auto-generate:                                      │
    │ Meeting will be created automatically when event is saved.  │
    │                                                             │
    │ If Manual:                                                  │
    │ Meeting Link                                                │
    │ [https://zoom.us/j/...                           ]         │
    │                                                             │
    │ Access Password (optional)                                  │
    │ [________]                                                  │
    │                                                             │
    │ Join Instructions                                           │
    │ [________________________________________________]         │
    │                                                             │
    └─────────────────────────────────────────────────────────────┘
  5. Ticket Configuration

    Set up ticket types:

    ┌─────────────────────────────────────────────────────────────┐
    │ Tickets                                                     │
    ├─────────────────────────────────────────────────────────────┤
    │                                                             │
    │ ☐ Free Event (no tickets required)                          │
    │                                                             │
    │ Ticket Types:                                               │
    │ ┌─────────────────────────────────────────────────────────┐ │
    │ │ Name: [Member Ticket        ]                           │ │
    │ │ Price: [$99.00  ] Quantity: [100    ]                   │ │
    │ │ Description: [Standard member admission     ]           │ │
    │ │ Available: [Start Date    ] to [End Date    ]           │ │
    │ │ [🗑️ Remove]                                              │ │
    │ └─────────────────────────────────────────────────────────┘ │
    │                                                             │
    │ ┌─────────────────────────────────────────────────────────┐ │
    │ │ Name: [Non-Member Ticket    ]                           │ │
    │ │ Price: [$149.00 ] Quantity: [50     ]                   │ │
    │ │ Description: [Non-member admission          ]           │ │
    │ │ [🗑️ Remove]                                              │ │
    │ └─────────────────────────────────────────────────────────┘ │
    │                                                             │
    │ [+ Add Ticket Type]                                         │
    │                                                             │
    │ Early Bird Settings:                                        │
    │ ☐ Enable early bird pricing                                 │
    │ Discount: [20  ]% until [Date        ]                     │
    │                                                             │
    └─────────────────────────────────────────────────────────────┘
  6. Add Speakers

    Add event speakers:

    FieldRequired
    NameYes
    Title/RoleYes
    CompanyNo
    BioYes
    PhotoRecommended
    Is Main SpeakerToggle

    Options:

    • Add new speaker
    • Select from speaker library
    • Import from LinkedIn
  7. CPD Configuration

    Set CPD points:

    ┌─────────────────────────────────────────────────────────────┐
    │ CPD Points                                                  │
    ├─────────────────────────────────────────────────────────────┤
    │                                                             │
    │ ☑ Award CPD points for attendance                           │
    │                                                             │
    │ CPD Category: [Professional Development ▼]                  │
    │ Points: [6      ]                                           │
    │                                                             │
    │ ☐ Auto-award on check-in                                    │
    │ ☐ Require minimum attendance (online)                       │
    │   Minimum: [80  ]% of event duration                        │
    │                                                             │
    └─────────────────────────────────────────────────────────────┘
  8. Visibility and Publishing

    Set event visibility:

    SettingDescription
    PublicVisible to all, searchable
    Members OnlyRequires login
    DraftNot visible
    PrivateInvite only

    Publishing Options:

    • Publish immediately
    • Schedule publishing date/time
    • Save as draft
  9. Review and Create

    Review all settings and create event.

    On creation:

    • Event record saved
    • Zoom meeting created (if enabled)
    • Event indexed for search
    • Notifications sent (if configured)

Acceptance Criteria

Frontend

  • Multi-step event creation wizard
  • Rich text editor for description
  • Image upload with preview
  • Date/time pickers with timezone
  • Location configuration (live/online)
  • Ticket type management
  • Speaker management
  • CPD configuration
  • Visibility/publishing options
  • Draft saving

Backend

  • POST /api/events - Create event
  • POST /api/events/{id}/tickets - Add tickets
  • POST /api/events/{id}/speakers - Add speakers
  • Zoom integration for online events
  • Event validation

Permissions

  • ROLE_CLIENT_ADMIN can create events

Business Rules

  • End date after start date
  • At least one ticket type (or free)
  • Zoom meeting created on publish
  • CPD rules validated

Error Handling

  • Validation errors displayed
  • Zoom creation failure handling
  • Image upload errors

On this page