Capabilities
Features
Event Types
Live Events
In-person events at physical venues
Online Events
Virtual events via video conferencing
Webinars
Broadcast-style online presentations
Acceptance Criteria
Frontend
- Event list with status and date filters
- Clone event functionality
- Preview event as member would see it
- Rich text editor for descriptions
- Image upload with cropping
- Date/time picker with timezone
- Drag-and-drop schedule builder
- Speaker management interface
Backend / API
- Backend behavior supports this feature as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- Event title is required
- Start date must be in the future (for new events)
- Live events require location details
- Online events require meeting link (manual URL or auto-generated via Zoom integration)
- Published events visible based on visibility setting
- Cancelled events hidden from public, registrations notified
- End date must be after start date
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Create Event
1
Basic Details
- Event title and description
- Event type (live, online, webinar)
- Featured image upload
- CPD points allocation
2
Date & Time
- Start date and time
- End date and time
- Timezone selection
- Multi-day event configuration
3
Location
For live events:
- Venue name and address
- City, state, country
- Map integration
- Meeting provider (Zoom recommended)
- Meeting link (auto-generated via Zoom integration, or manual URL)
- Access instructions (passwords, dial-in, etc.)
4
Visibility
- Public (visible to all)
- Member-only (requires login)
- Draft (not visible)
5
Schedule (Optional)
Add multiple sessions with:
- Session name and description
- Start/end times
- Assigned speakers
- Room/location
Acceptance Criteria
Frontend
- Create event wizard with multi-step form
Backend / API
- Backend behavior supports this feature as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
UI Spec (from supplied spreadsheet)
The following field inventory is sourced fromworkspace/sources/entity-registry.csv (“Events”).
This is a UI/requirements inventory (not the ERD). Some rows (e.g. datatables) describe UI elements rather than stored fields.
Core event fields
Speakers & sponsors
Data Model Cross‑Reference (Entities)
- Event record:
Event - Ticketing + registration/check-in state:
Event Ticket - Sponsorships:
Sponsorship - CPD:
CPD RecordandCPD Category
Online Events: Zoom Integration (auto meeting link)
For Zoom-hosted online events, the platform can create the Zoom meeting/webinar automatically and store the meeting link on the event. Expected behavior:- When the event is saved/published with Zoom enabled, the backend creates (or updates) the Zoom meeting
- The generated join URL is stored as the event’s meeting link
- The meeting link is shown to registered members (and optionally sent in confirmation emails)
Acceptance Criteria
Frontend
- Event form supports selecting Zoom as the meeting provider.
- Meeting link field is read-only when Zoom auto-generation is enabled.
Backend / API
- Zoom meetings/webinars are created/updated automatically based on event start/end time.
Permissions
- Only
ROLE_CLIENT_ADMINcan connect/configure Zoom and enable auto meeting creation.
Business Rules
- Zoom join links are only visible to users who are allowed to access the event.
Error Handling
- If Zoom meeting creation fails, the UI shows an actionable error and allows retry.
CRM tags (pre/post)
When CRM sync is enabled, events apply predefined tags:event.registered.prewhen a member registersevent.attended.postwhen a member attends (check-in or Zoom import)event.no_show.postwhen a member is marked as a no-show
CRM Tag
Clone Event
Save time by duplicating existing events:- Select event to clone
- All details copied to new draft
- Modify as needed (dates, speakers, etc.)
- Publish when ready
Acceptance Criteria
Frontend
- Clone Event workflow is implemented in the UI as described.
Backend / API
- Backend behavior supports Clone Event as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Speaker Management
- Add Speaker
- Speaker Library
- Name and bio
- Photo upload
- Contact details
- Social links
- Designate as main speaker
Acceptance Criteria
Frontend
- Speaker Management workflow is implemented in the UI as described.
Backend / API
- Backend behavior supports Speaker Management as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Sponsorship Assignment
This enables the association/client to attach one or more sponsors to an event, including sponsor logos and sponsor CTA links.- Add sponsors to event
- Set sponsorship tier per sponsor
- Display sponsor logos on event page
- Track sponsor visibility metrics
Acceptance Criteria
Frontend
- Sponsorship Assignment workflow is implemented in the UI as described.
Backend / API
- Backend behavior supports Sponsorship Assignment as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Implementation Contracts
Backend (API)
Data Model
Error Handling
AI-Powered Webinar Processing
For webinars with recordings, the system automatically processes the video/recording to generate chapters and transcription.Recording Extraction
When a webinar ends, the system:1
Retrieve Recording
Automatically fetch the recording from the webinar provider (e.g., Zoom)
2
Process Video
Extract audio and video streams for AI processing
3
Generate Transcription
AI-powered speech-to-text converts the recording to a searchable transcript
4
Create Chapters
AI analyzes the content to create meaningful chapter markers with timestamps
AI-Generated Chapters
The system analyzes webinar content and automatically creates chapters:- Topic Detection: Identifies major topic shifts and key discussion points
- Timestamp Markers: Precise timestamps for each chapter
- Chapter Titles: AI-generated descriptive titles for each section
- Summary Text: Brief description of what each chapter covers
Transcription Features
- Full Transcript
- Member Experience
- Complete word-for-word transcription
- Speaker identification (when available)
- Timestamp markers throughout
- Searchable text content
Acceptance Criteria
Frontend
- Recording processing status indicator on event detail page
- Chapter navigation sidebar in video player
- Searchable transcript panel alongside video
- Click-to-jump functionality from transcript to video timestamp
- Download options for transcript (PDF, TXT)
- Edit interface for admin to modify AI-generated chapters and transcript
Backend / API
- Automatic recording retrieval from Zoom after webinar ends
- AI transcription service integration
- AI chapter generation service integration
- Storage of processed transcripts and chapters
Permissions
- Only
ROLE_CLIENT_ADMINcan edit AI-generated chapters and transcripts - Members can only view/download if they have access to the event
Business Rules
- Processing begins automatically when recording is available
- Admin notified when processing is complete
- Failed processing attempts are retried up to 3 times
- Transcript and chapters can be manually edited by admin
- Original recording preserved alongside processed content
Error Handling
- If recording retrieval fails, admin is notified to manually upload
- If transcription fails, event displays recording without transcript
- Processing errors logged with detailed diagnostics