Story 5.7 (BAT-11): Dedicated Slot Assignment Page - Wireframe
Story: BAT-11 - Slot Assignment & Progressive Publishing
Overview
This is a dedicated full-page workflow for assigning session timings to placeholder sessions. Organizers use drag-and-drop to assign accepted speakers to specific time slots, with real-time preference matching and conflict detection.
Key Difference from Story 3.1: This is specifically for assigning timings to sessions (start_time, end_time, room), not initial speaker matching. Sessions already exist as placeholders when speakers accept invitations.
Full-Page Wireframe
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Event Management > BATbern 2025 > Slot Assignment [Back to Event] [Help] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Assign Session Timings - BATbern 2025 Status: In Planning β
β β
β ββββ SPEAKERS βββββββββββββββββββ ββββ SESSION TIMELINE ββββββββββββββββββββββββββββββββ β
β β πΆ 5 Unassigned β β β β
β β β β June 10, 2025 β β
β β Progress: 3 of 8 (37%) β β β β
β β ββββββββββββββββ β β Room A Room B Main Hall β β
β β β β ββββββββββββββββββββββββββββββββββββββββββββββ β β
β β [All] [βAssigned] [βUnassigned]β β 08:00 β β
β β βββββββββββββββββββββββββββββ β β 08:30 β β
β β β β 09:00 ββββββββββββββ¬ββββββββββββ¬βββββββββββββββ β β
β β πΆ Dr. Sarah Miller βοΈ π β β β Keynote: β β β β β
β β AI in Architecture β β β Future of β [Empty] β [Empty] β β β
β β Swiss Re β β β Arch β β β β β
β β [View Preferences] β β β ββββββββββ β β β β β
β β β Drag to assign β β β 09:30 β John Chen β β β β β
β β βββββββββββββββββββββββββββββ β β ββββββββββββββ΄ββββββββββββ΄βββββββββββββββ β β
β β β β 10:00 ββββββββββββββ¬ββββββββββββ¬βββββββββββββββ β β
β β πΆ Prof. Anna Meyer βοΈ β β β Workshop 1:β β β β β
β β Sustainable Design β β β (No timing)β [Empty] β Panel: β β β
β β Credit Suisse β β 10:30 β Grayed out β β Industry β β β
β β [View Preferences] β β β Dashed β» β β Trends β β β
β β β Drag to assign β β β β β β ββββββββ β β β
β β βββββββββββββββββββββββββββββ β β 11:00 β Drop here β β 3 speakers β β β
β β β β ββββββββββββββ΄ββββββββββββ΄βββββββββββββββ β β
β β πΆ Thomas Weber π β β 11:30 β β
β β DevOps Practices β β 12:00 LUNCH BREAK β β
β β Swisscom β β 13:00 ββββββββββββββ¬ββββββββββββ¬βββββββββββββββ β β
β β [View Preferences] β β β Workshop 2:β Workshop β β β β
β β β Drag to assign β β β 13:30 β (No timing)β 3: Mobile β [Empty] β β β
β β βββββββββββββββββββββββββββββ β β β Grayed out β Dev β β β β
β β β β β Dashed β» β βββββ β β β β
β β β Peter Muller β β 14:00 β Drop here β M. Weber β β β β
β β Kubernetes Expert β β ββββββββββββββ΄ββββββββββββ΄βββββββββββββββ β β
β β Assigned: Jun 10, 14:00 β β 14:30 β β
β β [Edit Timing] [Details] β β 15:00 ββββββββββββββ¬ββββββββββββ¬βββββββββββββββ β β
β β βββββββββββββββββββββββββββββ β β β Closing: β β β β β
β β β β 15:30 β (No timing)β [Empty] β [Empty] β β β
β β β Marc Baum β β β Grayed out β β β β β
β β Cloud Architecture β β β Dashed β» β β β β β
β β PostFinance β β 16:00 β Drop here β β β β β
β β Assigned: Jun 10, 16:30 β β ββββββββββββββ΄ββββββββββββ΄βββββββββββββββ β β
β β [Edit Timing] [Details] β β 16:30 β β
β β β β β β
β β β β β Drag speakers from left to assign to slots β β β
β β [Auto-Assign All] β β β β
β βββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββ QUICK ACTIONS ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Sessions: 8 total β’ 3 assigned β’ 5 pending β β
β β [Auto-Assign All] [Clear All Assignments] [Export Schedule PDF] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
State 2: Dragging Speaker (Preference Matching)
When a speaker is being dragged, session slots highlight with preference match colors:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Event Management > BATbern 2025 > Slot Assignment [Back to Event] [Help] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Assign Session Timings - BATbern 2025 Status: In Planning β
β β
β ββββ SPEAKERS βββββββββββββββββββ ββββ SESSION TIMELINE ββββββββββββββββββββββββββββββββ β
β β πΆ 5 Unassigned β β β β
β β β β Dragging: Dr. Sarah Miller (prefers afternoons) β β
β β πΆ Dr. Sarah Miller βοΈ π β β β β
β β βββββββββββββββββββββββββββ β β Room A Room B Main Hall β β
β β β [DRAGGING...] β β β ββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β AI in Architecture β β β 09:00 ββββββββββββββ¬ββββββββββββ¬βββββββββββββββ β β
β β β β β β β π΄ 25% β π΄ 20% β π΄ 15% β β β
β β βββββββββββββββββββββββββββ β β β Poor Match β Poor β Poor β β β
β β β β 09:30 β Morning β β β β β
β β βββββββββββββββββββββββββββββ β β ββββββββββββββ΄ββββββββββββ΄βββββββββββββββ β β
β β β β ... β β
β β πΆ Prof. Anna Meyer β β 13:00 ββββββββββββββ¬ββββββββββββ¬βββββββββββββββ β β
β β Sustainable Design β β β π‘ 65% β π’ 85% β π’ 90% β β β
β β Credit Suisse β β 13:30 β Acceptable β Strong β Strong β β β
β β [View Preferences] β β β Afternoon β Match! β Match! β β β
β β β Drag to assign β β β 14:00 β β Natural β Projector β β β
β β β β β β light β β Available β β β β
β β β β ββββββββββββββ΄ββββββββββββ΄βββββββββββββββ β β
β β β β β β
β β β β Hover tooltip: "85% Strong Match - Afternoon β β
β β β β slot (preferred), Room B has natural light, β β
β β β β projector available" β β
β βββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Legend:
π’ Green (80-100%): Strong match - preferred time, good room setup, A/V available
π‘ Yellow (50-79%): Acceptable match - some preferences met
π΄ Red (<50%): Poor match - conflicts with preferences or avoid times
State 3: Success State (All Timings Assigned)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Event Management > BATbern 2025 > Slot Assignment [Back to Event] [Help] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β All Session Timings Assigned! β β
β β β β
β β 8 of 8 sessions complete. Ready to proceed to publishing. β β
β β β β
β β [View Publishing Options β] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Assign Session Timings - BATbern 2025 Status: Ready β
β β
β ββββ SPEAKERS βββββββββββββββββββ ββββ SESSION TIMELINE ββββββββββββββββββββββββββββββββ β
β β β All Assigned β β β β
β β β β June 10, 2025 - Full Schedule β β
β β Progress: 8 of 8 (100%) β β β β
β β ββββββββββββββββββββ β β Room A Room B Main Hall β β
β β β β ββββββββββββββββββββββββββββββββββββββββββββββ β β
β β [All] [βAssigned] β β 09:00 ββββββββββββββ¬ββββββββββββ¬βββββββββββββββ β β
β β βββββββββββββββββββββββββββββ β β β Keynote β Workshop β β β β
β β β β β John Chen β A. Meyer β Panel β β β
β β β Dr. Sarah Miller β β 09:30 β ββββββββ β ββββββββ β ββββββ β β β
β β AI in Architecture β β β 09:00-10:30β 09:00-10:30β 09:00-11:00 β β β
β β Assigned: Jun 10, 13:30 β β ββββββββββββββ΄ββββββββββββ΄βββββββββββββββ β β
β β Match: 85% [Edit] [Details] β β 10:00 β β
β β βββββββββββββββββββββββββββββ β β 10:30 ββββββββββββββ¬ββββββββββββ¬βββββββββββββββ β β
β β β β β Workshop 1 β β β β β
β β β Prof. Anna Meyer β β 11:00 β S. Miller β Workshop β Closing β β β
β β Sustainable Design β β β ββββββββ β 4 β ββββββββ β β β
β β Assigned: Jun 10, 09:00 β β 11:30 β 11:00-12:00β T. Weber β M. Baum β β β
β β Match: 90% [Edit] [Details] β β β β ββββββββ β 11:00-12:00β β β
β β βββββββββββββββββββββββββββββ β β 12:00 ββββββββββββββ΄ββββββββββββ΄βββββββββββββββ β β
β β β β β β
β β [8 more assigned speakers...] β β ... (full schedule with all 8 sessions assigned) β β
β β β β β β
β β [Export Schedule PDF] β β Average match score: 78% (Good) β β
β β [Clear All] [Auto-Optimize] β β β β
β βββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββ NEXT STEPS ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Session timings complete β β
β β Next: Proceed to Publishing tab to publish the agenda β β
β β [Go to Publishing Tab β] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Key Interactive Elements
Speaker Pool Sidebar (Left)
- Progress Indicator: Visual progress bar showing X/Y sessions assigned
- Unassigned Badge: Orange βπΆ N Unassignedβ count
- Filter Buttons: [All] [Assigned] [Unassigned] to show/hide speakers
- Speaker Cards:
- Unassigned: Orange border, preference icons (βοΈ morning, π evening)
- Assigned: Green checkmark, shows assigned time and match score
- Draggable: Visual grab handle for drag-and-drop
- [View Preferences]: Opens speaker preferences drawer
- Actions: [Auto-Assign All] for bulk algorithmic assignment
Session Timeline Grid (Center)
- Multi-Day View: Tabs for different days (if multi-day event)
- Time Slots: Hourly rows from 08:00 to 20:00
- Room Columns: Separate column per room (Room A, Room B, Main Hall)
- Session Cells:
- Placeholder (No Timing): Gray background, dashed border, βDrop hereβ prompt
- Assigned: Speaker name, session title, time range, colored border
- Empty: Available drop zone for new sessions
- Preference Highlights (during drag):
- π’ Green (80-100%): Strong match - preferred time, good room
- π‘ Yellow (50-79%): Acceptable match - some preferences met
- π΄ Red (<50%): Poor match - conflicts with preferences
- Hover Tooltips: Show detailed match score breakdown
Quick Actions Panel (Bottom)
- Session Summary: β8 total β’ 3 assigned β’ 5 pendingβ
- [Auto-Assign All]: Opens algorithm selection modal
- [Clear All Assignments]: Confirmation dialog, removes all timings
- [Export Schedule PDF]: Downloads printable schedule
Navigation
- Breadcrumb: Event Management > BATbern 2025 > Slot Assignment
- [Back to Event]: Returns to
/organizer/events/:eventCode - Success State: [View Publishing Options β] links to
?tab=publishing
Functional Requirements Met
- AC5: Drag-and-drop UI for timing assignment β
- AC6: Visual timeline showing all slots β
- AC7: Display speaker preferences (icons on cards, drawer on click) β
- AC8: Track A/V needs (shown in preferences drawer) β
- AC9: Conflict warnings (modal triggered on conflict) β (see story-5.7-conflict-resolution-modal.md)
- AC10: Optimal order suggestion (via Auto-Assign feature) β (see story-5.7-bulk-auto-assignment.md)
- AC11: Preference match highlighting (green/yellow/red during drag) β
- AC12: Unassigned speakers list with real-time updates β
User Interactions
Primary Workflow
- View Unassigned Speakers: Browse speaker pool sidebar filtered to unassigned
- Drag Speaker Card: Click and drag speaker from pool
- See Preference Matches: Session grid highlights with match scores
- Hover for Details: Tooltip shows why match is strong/weak
- Drop on Slot: Assign speaker to specific time/room
- Handle Conflicts: If conflict detected, modal appears (see conflict wireframe)
- Track Progress: Progress bar updates showing N/M complete
- Complete Assignment: When all slots filled, success banner appears
- Proceed to Publishing: Click [View Publishing Options] to publish agenda
Advanced Features
- View Preferences: Click [View Preferences] to open drawer (see preferences wireframe)
- Auto-Assign: Click [Auto-Assign All] to use algorithm (see bulk-assign wireframe)
- Edit Timing: Click [Edit Timing] on assigned speaker to change time/room
- Filter Speakers: Toggle [All]/[Assigned]/[Unassigned] to focus view
- Export Schedule: Click [Export Schedule PDF] to download printable agenda
Technical Notes
Drag-and-Drop Implementation
- Library: Use
react-beautiful-dndor@dnd-kitfor accessible drag-drop - Visual Feedback:
- Ghost image of speaker card during drag
- Drop zones highlighted with preference colors
- Smooth animations on drop
- Optimistic Updates: Immediate UI update before API confirmation
- Rollback on Error: If API fails, revert to previous state with error toast
Preference Matching Algorithm
- Match Scoring:
- Time preference: Β±40 points (morning/afternoon/evening match)
- Avoid times: -50 points if conflicts
- Room setup: Β±20 points (natural light, flip chart, etc.)
- A/V requirements: Β±15 points (projector, mic, etc.)
- Duration preference: Β±10 points (1h vs 1.5h session)
- Color Mapping:
- 80-100%: Green (strong match)
- 50-79%: Yellow (acceptable)
- <50%: Red (poor match)
Real-Time Updates
- WebSocket Connection: Listen for timing changes from other organizers
- Conflict Detection: Check on drop:
- Room overlap (same room, overlapping time)
- Speaker double-booking (same speaker, overlapping sessions)
- Speaker unavailability (conflicts with avoid times)
- Lock Mechanism: Prevent concurrent edits to same session
API Integration
- GET /api/v1/events/:eventCode/sessions: Load all sessions with timing status
- GET /api/v1/events/:eventCode/speaker-pool: Load accepted speakers with preferences
- PUT /api/v1/sessions/:sessionId/timing: Assign timing to session
- Payload:
{ startTime, endTime, room } - Returns: Updated session with timing
- Payload:
- POST /api/v1/sessions/timing/validate: Check for conflicts before assignment
- Payload:
{ sessionId, startTime, endTime, room } - Returns:
{ valid: boolean, conflicts: [...] }
- Payload:
Navigation Map
Entry Points (How to Reach This Page)
From Speakers Tab (/organizer/events/:eventCode?tab=speakers):
- Button: [Assign Session Timings β]
- Location: Top of Speakers tab, below summary metrics
- Condition: Visible when β₯1 accepted speaker exists
- Context: Opens slot assignment page with all accepted speakers loaded
From Overview Tab (/organizer/events/:eventCode?tab=overview):
- Card: βSlot Assignmentβ quick action card
- Status Badge: βNot Startedβ / βIn Progress (5/8)β / βComplete (8/8)β
- Button: [Assign Timings]
- Context: Opens slot assignment page
From Publishing Tab (/organizer/events/:eventCode?tab=publishing):
- Validation Item: βSession Timingsβ validation row
- Status: βIncomplete (5/8 sessions)β
- Button: [Assign Timings] or [Assign] on specific session
- Context: Opens slot assignment page, optionally focused on specific session
Exit Points (Navigation From This Page)
Success Completion:
- Button: [View Publishing Options β]
- Target:
/organizer/events/:eventCode?tab=publishing - Context: All timings assigned, proceed to publish agenda
Return to Event:
- Button: [Back to Event] (top-right)
- Target:
/organizer/events/:eventCode - Context: Returns to event page, preserves timing assignments
Breadcrumb Navigation:
- Event Management: Returns to
/organizer/events(event list) - BATbern 2025: Returns to
/organizer/events/:eventCode(event details) - Slot Assignment: Current page (not clickable)
Accessibility
- Keyboard Navigation:
- Tab through speaker cards
- Arrow keys to navigate session grid
- Enter to select speaker, Arrow keys + Enter to drop
- Escape to cancel drag operation
- ARIA Labels:
aria-grabbed="true"when speaker selectedaria-dropeffect="move"on valid drop zonesaria-live="polite"for progress updatesaria-describedbyfor preference match tooltips
- Screen Reader Announcements:
- βGrabbed Dr. Sarah Millerβ on drag start
- βDropped on Workshop 2, 13:30-15:00, Room A. Match: 85% Strongβ on drop
- βConflict detected: Room overlapβ if conflict occurs
- βProgress: 4 of 8 sessions assignedβ after assignment
Mobile/Tablet Adaptation
Tablet (768px - 1024px):
- Collapsible speaker sidebar (swipe from left edge)
- Session grid scrolls horizontally
- Two-column grid (combine rooms)
Mobile (<768px):
- Bottom sheet for speaker pool (swipe up)
- Single-column timeline (stack rooms vertically)
- No drag-drop - use [Assign] button β picker modal
- Simplified match scoring (just icon: π’/π‘/π΄)
Enhanced Progress Tracking (AC12)
Progress Indicator States
Speaker Pool Header - Initial State (0% Complete):
ββββ SPEAKERS βββββββββββββββββββ
β πΆ 8 Unassigned β
β β
β Progress: 0 of 8 (0%) β
β ββββββββββββββββββββ β
β β
β [All] [βAssigned] [βUnassigned]β
β βββββββββββββββββββββββββββββββ
Speaker Pool Header - In Progress (37% Complete):
ββββ SPEAKERS βββββββββββββββββββ
β πΆ 5 Remaining β
β β
β Progress: 3 of 8 (37%) β
β ββββββββββββββββββββ β
β β
β [All] [βAssigned] [βUnassigned]β
β βββββββββββββββββββββββββββββββ
Speaker Pool Header - Nearly Complete (87% Complete):
ββββ SPEAKERS βββββββββββββββββββ
β πΆ 1 Remaining β
β β
β Progress: 7 of 8 (87%) β
β ββββββββββββββββββββ β
β β
β [All] [βAssigned] [βUnassigned]β
β βββββββββββββββββββββββββββββββ
β β
β β οΈ Almost done! β
β Just 1 more session to assign β
β βββββββββββββββββββββββββββββββ
Speaker Pool Header - Complete (100%):
ββββ SPEAKERS βββββββββββββββββββ
β β All Assigned β
β β
β Progress: 8 of 8 (100%) β
β ββββββββββββββββββββ β
β β
β [βAll] [Assigned] [Unassigned] β
β βββββββββββββββββββββββββββββββ
β β
β π Congratulations! β
β All sessions have timings β
β βββββββββββββββββββββββββββββββ
Speaker Card Visual Distinction
Unassigned Speaker Card (Orange Border, Draggable):
ββββββββββββββββββββββββββββββββββββββββ
β πΆ Dr. Sarah Miller βοΈ π β β Orange badge
β ββββββββββββββββββββββββββββββββββββ β
β β β β
β β AI in Modern Architecture β β
β β Swiss Re β β
β β β β
β β Preferences: β β
β β β’ Time: Afternoon preferred β β
β β β’ A/V: Projector + Mic required β β
β β β β
β β [View Full Preferences β] β β
β β β β
β ββββββββββββββββββββββββββββββββββββ β
β β
β Status: Awaiting timing assignment β
β β
β β Drag to assign to session β β
ββββββββββββββββββββββββββββββββββββββββ
Border: 2px solid #ff9800 (Orange)
Background: #fff3e0 (Light orange tint)
Cursor: grab (draggable indicator)
Assigned Speaker Card (Green Border, Checkmark):
ββββββββββββββββββββββββββββββββββββββββ
β β Peter Muller β β Green checkmark
β ββββββββββββββββββββββββββββββββββββ β
β β β β
β β Kubernetes Expert β β
β β PostFinance β β
β β β β
β β Assigned: β β
β β β’ June 10, 14:00-15:30 β β
β β β’ Conference Room B β β
β β β’ Match: 92% π’ (Strong) β β
β β β β
β β [Edit Timing] [View Details] β β
β β β β
β ββββββββββββββββββββββββββββββββββββ β
β β
β Status: β Timing assigned β
β β
β Assigned 5 minutes ago β
ββββββββββββββββββββββββββββββββββββββββ
Border: 2px solid #4caf50 (Green)
Background: #e8f5e9 (Light green tint)
Cursor: default (not draggable)
Filter States
Filter: [All] - Shows both assigned and unassigned speakers
ββββ SPEAKERS βββββββββββββββββββ
β πΆ 5 Remaining β
β Progress: 3 of 8 (37%) β
β [βAll] [Assigned] [Unassigned] β
β βββββββββββββββββββββββββββββββ
β Showing: 8 speakers β
β βββββββββββββββββββββββββββββββ
β β
β β Peter Muller β β Assigned (green)
β Kubernetes Expert β
β Assigned: Jun 10, 14:00 β
β βββββββββββββββββββββββββββββββ
β β
β πΆ Dr. Sarah Miller βοΈ π β β Unassigned (orange)
β AI in Architecture β
β β Drag to assign β β
β βββββββββββββββββββββββββββββββ
β β
β β Marc Baum β β Assigned (green)
β Cloud Architecture β
β Assigned: Jun 10, 16:30 β
β βββββββββββββββββββββββββββββββ
β β
β πΆ Prof. Anna Meyer βοΈ β β Unassigned (orange)
β Sustainable Design β
β β Drag to assign β β
β βββββββββββββββββββββββββββββββ
β β
β ... (4 more speakers) β
β β
βββββββββββββββββββββββββββββββββββ
Filter: [Assigned] - Shows only assigned speakers
ββββ SPEAKERS βββββββββββββββββββ
β β 3 Assigned β
β Progress: 3 of 8 (37%) β
β [All] [βAssigned] [Unassigned] β
β βββββββββββββββββββββββββββββββ
β Showing: 3 of 8 speakers β
β βββββββββββββββββββββββββββββββ
β β
β β Peter Muller β
β Kubernetes Expert β
β Assigned: Jun 10, 14:00 β
β Room B β’ Match: 92% π’ β
β [Edit Timing] [Details] β
β βββββββββββββββββββββββββββββββ
β β
β β Marc Baum β
β Cloud Architecture β
β Assigned: Jun 10, 16:30 β
β Main Hall β’ Match: 85% π’ β
β [Edit Timing] [Details] β
β βββββββββββββββββββββββββββββββ
β β
β β John Chen β
β DevOps Practices β
β Assigned: Jun 11, 09:00 β
β Room A β’ Match: 78% π’ β
β [Edit Timing] [Details] β
β βββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββββββββββββββββββ
Filter: [Unassigned] - Shows only speakers awaiting timing
ββββ SPEAKERS βββββββββββββββββββ
β πΆ 5 Remaining β
β Progress: 3 of 8 (37%) β
β [All] [Assigned] [βUnassigned] β
β βββββββββββββββββββββββββββββββ
β Showing: 5 of 8 speakers β
β βββββββββββββββββββββββββββββββ
β β
β πΆ Dr. Sarah Miller βοΈ π β
β AI in Architecture β
β Swiss Re β
β [View Preferences] β
β β Drag to assign β β
β βββββββββββββββββββββββββββββββ
β β
β πΆ Prof. Anna Meyer βοΈ β
β Sustainable Design β
β Credit Suisse β
β [View Preferences] β
β β Drag to assign β β
β βββββββββββββββββββββββββββββββ
β β
β πΆ Thomas Weber π β
β DevOps Practices β
β Swisscom β
β [View Preferences] β
β β Drag to assign β β
β βββββββββββββββββββββββββββββββ
β β
β ... (2 more unassigned) β
β β
β [Auto-Assign All] β
β Let AI assign these 5 speakersβ
β β
βββββββββββββββββββββββββββββββββββ
Real-Time Progress Updates
On Assignment (Live Update):
User Action: Drags Dr. Sarah Miller to Workshop 2 slot (14:00-15:30, Room B)
System Response: Immediate visual updates across UI
1. Speaker Card Updates:
πΆ Dr. Sarah Miller β β Dr. Sarah Miller
Border: Orange β Green
Background: Light orange β Light green
2. Progress Bar Updates:
3 of 8 (37%) β 4 of 8 (50%)
ββββββββββββββββββββ β ββββββββββββββββββββ
3. Header Badge Updates:
πΆ 5 Remaining β πΆ 4 Remaining
4. Session Grid Updates:
Workshop 2 slot: "No timing" β "Dr. S. Miller β’ 14:00-15:30"
Border: Dashed gray β Solid blue
5. Toast Notification:
β Workshop 2 assigned to Dr. Sarah Miller (Match: 85%)
6. Screen Reader Announcement:
"Workshop 2 assigned to Dr. Sarah Miller at 14:00 to 15:30, Room B.
Match score: 85 percent, strong match.
Progress: 4 of 8 sessions assigned, 50 percent complete."
Animation Timing:
- Progress bar fill: 300ms ease-in-out
- Badge count update: 200ms fade transition
- Speaker card border color: 400ms transition
- Toast appears: Slide up 300ms, auto-dismiss after 3s
Success State with Celebration
Full Success Banner (appears when 100% complete):
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π π SUCCESS! All Session Timings Assigned! π π β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Congratulations! You've successfully assigned timings to all 8 β β
β β sessions for BATbern 2025. β β
β β β β
β β ββββ Summary Statistics βββββββββββββββββββββββββββββββββββββββββββ β β
β β β β β β
β β β Total Sessions: 8 of 8 (100% complete) β β β β
β β β Average Match Score: 82% (High quality assignments) β β β
β β β Strong Matches (β₯80%): 6 sessions β β β
β β β Good Matches (50-79%): 2 sessions β β β
β β β Conflicts Detected: 0 (All assignments valid) β β β
β β β β β β
β β β Time to Complete: 12 minutes β β β
β β β β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β ββββ What's Next? βββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β β β
β β β β Review the full agenda timeline below β β β
β β β β Make any final adjustments if needed β β β
β β β β Proceed to Publishing to make schedule public β β β
β β β β β β
β β β Once published, attendees can view the full event schedule β β β
β β β and register for sessions. β β β
β β β β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β [View Publishing Options β] [Review Timeline] [Close] β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Confetti animation plays for 3 seconds π β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Celebration Features:
- Confetti Animation: CSS particles falling from top for 3 seconds
- Success Sound: Optional audio cue (can be disabled in settings)
- Banner Color: Gradient background (green to blue)
- Auto-Scroll: Page scrolls to show success banner at top
- Persistent: Banner remains visible until user clicks [Close]
Primary CTA:
- [View Publishing Options β]: Most prominent button
- Links to
/organizer/events/:eventCode?tab=publishing - Keyboard shortcut: Enter key activates this button
Secondary Actions:
- [Review Timeline]: Scrolls to session grid below
- [Close]: Dismisses banner (can be reopened via notice icon)
Progress Milestones
Milestone Notifications (appear at key progress points):
25% Complete (2 of 8 sessions):
βΉοΈ Good progress! You've assigned 2 sessions. 6 more to go.
[Continue] [Auto-Assign Remaining]
50% Complete (4 of 8 sessions):
π― Halfway there! 4 sessions assigned, 4 remaining.
Average match score so far: 85% (excellent!)
[Continue] [Auto-Assign Remaining]
75% Complete (6 of 8 sessions):
π₯ Almost done! Only 2 sessions left to assign.
You're making great progress.
[Continue] [Auto-Assign Remaining]
100% Complete (8 of 8 sessions):
π Success! All session timings assigned.
[View Publishing Options β]
Toast Position: Bottom-right corner, auto-dismiss after 5 seconds
Accessibility for Progress Tracking
ARIA Live Regions:
<!-- Progress indicator -->
<div aria-live="polite" aria-atomic="true">
Progress: 4 of 8 sessions assigned (50% complete)
</div>
<!-- Milestone notification -->
<div role="status" aria-live="polite">
Halfway there! 4 sessions assigned, 4 remaining.
Average match score: 85 percent.
</div>
<!-- Success banner -->
<div role="alert" aria-live="assertive">
Success! All 8 session timings have been assigned.
Ready to proceed to publishing.
</div>
Screen Reader Announcements on Assignment:
"Workshop 2 assigned to Dr. Sarah Miller.
Match score: 85 percent, strong match.
Progress: 4 of 8 sessions assigned, 50 percent complete.
4 sessions remaining."
Keyboard Shortcuts:
Ctrl + P: View progress summaryCtrl + F: Toggle filter (All/Assigned/Unassigned)Ctrl + A: Auto-assign all remaining sessions
Related Wireframes
- story-5.7-navigation-integration.md: Shows entry points from Speakers/Overview/Publishing tabs
- story-5.7-conflict-resolution-modal.md: Modal UI when conflict detected during assignment
- story-5.7-speaker-preference-panel.md: Drawer showing speaker preferences, A/V needs, match details
- story-5.7-bulk-auto-assignment.md: Auto-assignment algorithm modal and preview
- story-2.3-basic-publishing-engine.md: Publishing tab with session timing validation (updated)
Version History
| Date | Version | Changes | Author |
|---|---|---|---|
| 2025-12-25 | 1.0 | Initial wireframe creation | Sally (UX Expert) |