Client PortalJourneys
UJ-C-012: Create Event
Client staff creates a new event with all configuration options
Journey Overview
| Attribute | Value |
|---|---|
| Journey ID | UJ-C-012 |
| Actor | Client Admin / Staff |
| Goal | Create a new event for members |
| Trigger | Organization needs to host an event |
| Outcome | Event 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
- Access Event Creation
Navigate to Events:
- Client Portal → Events
- Click "Create Event" or "+"
- 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 →] │ └─────────────────────────────────────────────────────────────┘ - Date and Time
Configure event schedule:
Field Description Start Date Event start date Start Time Event start time End Date Event end date End Time Event end time Timezone Event timezone All Day Toggle for all-day events Multi-day Toggle for multi-day events Options:
- Single day event
- Multi-day event (conference)
- Recurring event (series)
- Schedule for later publishing
- 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 │ │ [________________________________________________] │ │ │ └─────────────────────────────────────────────────────────────┘ - 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 ] │ │ │ └─────────────────────────────────────────────────────────────┘ - Add Speakers
Add event speakers:
Field Required Name Yes Title/Role Yes Company No Bio Yes Photo Recommended Is Main Speaker Toggle Options:
- Add new speaker
- Select from speaker library
- Import from LinkedIn
- 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 │ │ │ └─────────────────────────────────────────────────────────────┘ - Visibility and Publishing
Set event visibility:
Setting Description Public Visible to all, searchable Members Only Requires login Draft Not visible Private Invite only Publishing Options:
- Publish immediately
- Schedule publishing date/time
- Save as draft
- 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)
Related Entities
Related Journeys
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