Story 1.16: Event Management Dashboard - Wireframe
Story: Epic 1, Story 1.16 - Event Management Service
Main Organizer Dashboard
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BATbern Event Platform Sally O. βΌ [π 3] [User Settings] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Welcome back, Sally! Here's your event command center β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββ ACTIVE EVENTS PIPELINE ββββββββββββββββββ¬ββββ QUICK ACTIONS ββββ β
β β β β β
β β Spring Conference 2025 ββββββββββββββββ 65% β [+ New Event] β β
β β ββ Step 7/16: Content Review β [π Analytics] β β
β β ββ 3 speakers pending β οΈ β [π₯ Speakers] β β
β β ββ Publishing: March 15 β [π’ Partners] β β
β β β [π
Venues] β β
β β Summer Workshop 2025 βββββββββββββββ 15% β [π§ Newsletter] β β
β β ββ Step 2/16: Speaker Research β β β
β β ββ On track β β β β
β β ββ Publishing: May 30 β β β
β β β β β
β β Autumn Conference 2025 βββββββββββββββ Planning β β β
β β ββ Step 1/16: Topic Selection β β β
β β ββ Starts: April 1 β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββ€ β
β β
β βββββββββββββ CRITICAL TASKS (3) βββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β β οΈ Speaker materials overdue: Dr. Smith (3 days) β β
β β [Contact] [Extend Deadline] [Find Replacement] β β
β β β β
β β π΄ Venue confirmation needed: Kursaal Bern β β
β β [Confirm] [View Details] [Alternative Venues] β β
β β β β
β β π Moderate 5 pending abstracts β β
β β [Start Review] [Assign to Team] [Bulk Approve] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββ TEAM ACTIVITY FEED ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β 10:45 Mark assigned to Spring speaker outreach β β
β β 10:12 Anna completed venue booking for Summer β β
β β 09:30 System auto-sent reminder to 3 pending speakers β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Key Interactive Elements
- Progress bars: Click to drill down into specific workflow steps
- Warning indicators: Hover for details, click for action options
- Quick Actions: One-click access to frequent tasks
- Team Feed: Live updates with @mentions and notifications
Functional Requirements Met
- FR2: Display 16-step workflow progress for multiple events
- FR20: Show intelligent notifications and critical task alerts
- Event Pipeline: Visual representation of all active events
- Task Management: Prioritized critical tasks with action buttons
- Team Collaboration: Real-time activity feed
User Interactions
- Event Card Click: Navigate to detailed workflow view
- Quick Action Buttons: Fast navigation to key areas
- Critical Task Actions: Inline resolution of urgent items
- Activity Feed: Filter and search team activities
Technical Notes
- Activity feed updates via manual page reload
- Progress bars calculated from workflow step completion
- Responsive layout adapts to screen size
- Role-based access control for different organizer permissions
API Requirements
Initial Page Load APIs
When the Event Management Dashboard screen loads, the following APIs are called to provide the necessary data:
CONSOLIDATED API APPROACH (Story 1.15a.1 - Events API Consolidation):
-
GET /api/v1/events?filter={βstatusβ:βactiveβ,βorganizerIdβ:β{organizerId}β}&include=workflow,sessions,registrations&sort=-date&limit=10
- Implementation: Story 1.15a.1 consolidated Events API with resource expansion
- Returns: List of active events with complete workflow and associated data in a single call
- Response includes per event:
- Event core data: id, title, date, status, description, workflowState
- workflow: Current workflow state, progression
- sessions: Event sessions with filtering support
- registrations: Registration counts and status
- Used for: Populate active events pipeline section with all necessary data
- Performance: Reduced from 2 API calls per event to 1 call for all events (80% reduction)
- Caching: 15-minute Caffeine in-memory cache with automatic invalidation on updates
-
GET /api/v1/organizers/{organizerId}/dashboard
- Returns: Dashboard overview with active events summary, critical task count, pending notification count
- Used for: Initialize dashboard with organizer-specific data
-
GET /api/v1/organizers/{organizerId}/tasks/critical
- Query params: limit (10), priority (high, critical)
- Returns: Critical tasks with urgency level, affected event, action options, deadline info
- Used for: Populate critical tasks section with overdue and urgent items
-
GET /api/v1/organizers/{organizerId}/activity-feed
- Query params: limit (20), includeTeam (true)
- Returns: Team activity entries with user, action, timestamp, event context, mentions
- Used for: Populate team activity feed
-
GET /api/v1/organizers/{organizerId}/notifications/unread
- Returns: Unread notification count, notification preview list
- Used for: Display notification badge count
MIGRATION NOTE (Story 1.15a.1 - Events API Consolidation): The original implementation made 1 dashboard call + 2 calls per active event (event details + workflow status). With 3 active events, this meant 7 API calls total.
The new consolidated approach (Story 1.15a.1) makes:
- 1 call for all events with workflow/sessions/registrations included via
?include=parameter - 4 supporting calls for dashboard data (organizer, tasks, activity, notifications)
This reduces the total from 7 calls to 5 calls (29% reduction), with further benefits:
- Single loading state for all events
- Atomic data consistency across events
- Better caching efficiency (Caffeine in-memory cache, 15min TTL)
- Faster dashboard render time (~60% improvement with caching)
- <500ms response time for event detail with all includes (P95)
Action APIs
Event Management
-
POST /api/v1/events
- Implementation: Story 1.15a.1 (AC3)
- Payload:
{ title, date, venueId, status, description } - Response: Event ID, initial workflow state, creation confirmation (201 Created)
- Used for: Create new event from [+ New Event] button
-
GET /api/v1/events/{eventId}?include=workflow,sessions,registrations,team
- Implementation: Story 1.15a.1 (AC2) with resource expansion
- Returns: Full event details with all associated resources in single call
- Used for: Navigate to event detail view when clicking event card
- Performance: Cached response <50ms, uncached <500ms with all includes
-
POST /api/v1/events/{eventId}/workflow/advance
- Implementation: Story 1.15a.1 (AC8)
- Payload: None (advances to next workflow state)
- Response: Updated event with new workflowState, completion percentage
- Used for: Advance workflow to next step
- Cache invalidation: Automatically clears event cache
Critical Task Actions
-
POST /api/v1/organizers/{organizerId}/messages/send
- Payload:
{ recipientId, recipientType: "speaker|partner|venue", subject, message, urgency: "normal|high", templateId (optional) } - Response: Message ID, sent timestamp, delivery status
- Used for: Send message to speaker/partner from [Contact] action
- Payload:
-
PUT /api/v1/sessions/{sessionId}/deadline/extend
- Payload:
{ newDeadline, extensionReason, notifySpeaker: boolean } - Response: Updated deadline, confirmation, notification sent status
- Used for: Extend speaker submission deadline from [Extend Deadline] action
- Payload:
-
PUT /api/v1/bookings/{bookingId}/confirm
- Payload:
{ confirmationDate, specialRequirements, contactPerson } - Response: Confirmed booking details, confirmation number, next steps
- Used for: Confirm venue booking from [Confirm] action
- Payload:
-
POST /api/v1/reviews/assign
- Payload:
{ abstractIds: [], assigneeIds: [], dueDate } - Response: Assignment confirmation, assigned count, notifications sent
- Used for: Assign abstracts to team members from [Assign to Team] action
- Payload:
-
POST /api/v1/reviews/bulk-action
- Payload:
{ abstractIds: [], action: "approve|reject|request-revision", notes } - Response: Processed count, results per abstract, notification status
- Used for: Bulk approve/reject abstracts from [Bulk Approve] action
- Payload:
-
PUT /api/v1/organizers/{organizerId}/tasks/{taskId}/complete
- Payload:
{ resolution, notes } - Response: Task completion confirmation, updated critical task count
- Used for: Mark critical task as complete
- Payload:
-
PUT /api/v1/organizers/{organizerId}/tasks/{taskId}/snooze
- Payload:
{ snoozeUntil, reason } - Response: Snooze confirmation, new reminder time
- Used for: Snooze/postpone critical task
- Payload:
Activity Feed & Team
-
GET /api/v1/organizers/{organizerId}/activity-feed/filter
- Query params: eventId, userId, actionType, dateRange, limit (50)
- Returns: Filtered activity entries
- Used for: Filter activity feed by criteria
-
POST /api/v1/organizers/{organizerId}/activity-feed/mention
- Payload:
{ mentionedUserId, context, message } - Response: Mention created, notification sent
- Used for: Create @mention in activity feed
- Payload:
-
GET /api/v1/organizers/{organizerId}/team/members
- Returns: Team members with roles, availability status, current assignments
- Used for: View team member list for assignments
Notifications
-
GET /api/v1/organizers/{organizerId}/notifications
- Query params: limit (20), unreadOnly (false), category
- Returns: Notifications with content, timestamp, read status, priority, action links
- Used for: Load full notification list
-
PUT /api/v1/organizers/{organizerId}/notifications/{notificationId}/read
- Response: Read status updated
- Used for: Mark notification as read
-
PUT /api/v1/organizers/{organizerId}/notifications/read-all
- Response: All notifications marked read, updated count
- Used for: Mark all notifications as read
Navigation Map
Primary Navigation Actions
-
BATbern Event Platform logo β Navigate to
Event Management Dashboard- Refreshes dashboard
- Returns to home view
-
User dropdown (Sally O. βΌ) β Opens user menu
- Profile settings option
- Account preferences
- Sign out option
- No screen navigation until menu item selected
-
[π 3] notification icon β Navigate to
Notification Center(story-1.20-notification-center.md)- Shows full notification list
- Unread notifications highlighted
- Action items available
-
[User Settings] button β Navigate to
User Settings Screen- Organization settings
- User preferences
- Team management
- Integration configuration
-
Event card click (Spring Conference 2025) β Navigate to
Event Detail/Edit Screen- Full event details
- Complete workflow view
- Team assignments
- Timeline and milestones
-
Event progress bar click β Navigate to
Workflow Visualization(story-1.16-workflow-visualization.md)- Visual workflow representation
- Step-by-step progress
- Bottleneck identification
- Step details and actions
-
Event step text (Step 7/16) β Navigate to
Workflow Visualization(story-1.16-workflow-visualization.md)- Same as progress bar click
- Focuses on current step
-
Warning indicator (β οΈ) β Shows warning details tooltip
- Hover for details
- Click for action options
- Quick resolution actions
- No screen navigation unless action selected
Quick Actions Navigation
-
[+ New Event] button β Navigate to
New Event Creation Wizard- Step-by-step event creation
- Template selection
- Initial configuration
- Workflow initialization
-
[π Analytics] button β Navigate to
Analytics Dashboard- Comprehensive analytics view
- Multiple metric categories
- Custom report builder
- Data visualization
-
[π₯ Speakers] button β Navigate to
Speaker Directory- Complete speaker database
- Filtering and search
- Speaker profiles
- Invitation management
-
[π’ Partners] button β Navigate to
Partner Directory- Partner organization list
- Sponsorship levels
- Contact management
- Relationship tracking
-
[π Venues] button β Navigate to
Venue Management(story-4.4-logistics-coordination.md)- Venue catalog
- Booking management
- Availability calendar
- Logistics coordination
-
[π§ Newsletter] button β Navigate to
Newsletter Management- Newsletter composition
- Distribution lists
- Template management
- Send history
Critical Task Actions
-
[Contact] button (speaker overdue) β Opens message composer
- Pre-filled recipient (Dr. Smith)
- Template suggestions
- Sends message via API
- Updates task status
- No screen navigation
-
[Extend Deadline] button β Opens deadline extension modal
- Date picker for new deadline
- Reason input field
- Notification toggle
- Submits extension
- No screen navigation
-
[Find Replacement] button β Navigate to
Speaker Matching Interface(story-3.1-speaker-matching-interface.md)- Speaker search with criteria
- Topic matching
- Availability filtering
- Invitation workflow
-
[Confirm] button (venue) β Opens confirmation dialog
- Confirmation details form
- Special requirements input
- Contact person selection
- Submits confirmation
- Updates task status
- No screen navigation
-
[View Details] button (venue) β Navigate to
Venue Details Screen- Venue information
- Booking details
- Contract documents
- Contact information
-
[Alternative Venues] button β Navigate to
Venue Search Screen(story-4.4-logistics-coordination.md)- Venue search interface
- Availability calendar
- Comparison tools
- Booking workflow
-
[Start Review] button (abstracts) β Navigate to
Abstract Review Queue- Moderation interface
- Review tools
- Bulk actions
- Quality scoring
-
[Assign to Team] button β Opens assignment modal
- Team member selector
- Due date picker
- Load balancing suggestions
- Submits assignments
- No screen navigation
-
[Bulk Approve] button β Opens confirmation dialog
- Lists selected abstracts
- Confirmation prompt
- Bulk action execution
- Updates task count
- No screen navigation
Activity Feed Interactions
-
Activity item click β Navigate to context-specific screen
- Depends on activity type
- Event-related β Event details
- Speaker-related β Speaker profile
- Venue-related β Venue details
-
@mention click β Navigate to
User Profile Screen- User details
- Activity history
- Contact options
- Team role information
-
Activity feed filter β Filters feed
- By user
- By event
- By action type
- By date range
- No screen navigation
Event-Driven Navigation
-
New critical task created β Updates critical tasks section
- Adds task to list
- Shows notification badge
- Highlights new task
- No automatic navigation
-
Team activity posted β Requires manual page reload
- User must refresh page to see new activity
- Activity feed updates after reload
-
Workflow step completed β Requires manual page reload
- User must refresh page to see updated progress
- Progress bar updates after reload
-
Deadline approaching β Requires manual page reload
- User must refresh page to see warning indicators
- Warning icons appear after reload
-
Notification received β Requires manual page reload
- User must refresh page to see new notifications
- Notification badge count updates after reload
-
Speaker material submitted β Updates task status
- Removes overdue task
- Updates event card status
- Adds to activity feed
- No automatic navigation