Story 5.7: Bulk Auto-Assignment Feature - Slot Assignment

Story: Epic 5, Story 5.7 - Slot Assignment & Progressive Publishing

Last updated: January 5, 2026 Reading time: 21 minutes File size: 56.85 KB

Purpose

This wireframe documents the bulk auto-assignment feature that allows organizers to automatically assign multiple unassigned sessions at once using an intelligent matching algorithm. The feature reduces manual work while ensuring high-quality speaker-slot matches.

Context: Triggered from the dedicated slot assignment page when organizer has multiple unassigned sessions.


Entry Points

Entry Point 1: Slot Assignment Page - Quick Actions Panel

Location: Right sidebar on slot assignment page

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Slot Assignment - BATbern 2025                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                 β”‚
β”‚  [Speaker Pool]  [Session Timeline Grid]  [Quick Actions]      β”‚
β”‚                                                                 β”‚
β”‚  β”Œβ”€β”€β”€ Quick Actions ────────────────────────────────────────┐  β”‚
β”‚  β”‚                                                           β”‚  β”‚
β”‚  β”‚  Session Progress: 3 of 8 assigned (37%)                 β”‚  β”‚
β”‚  β”‚  πŸ”Ά 5 sessions awaiting timing                            β”‚  β”‚
β”‚  β”‚                                                           β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚  β”‚
β”‚  β”‚  β”‚ [Auto-Assign All]                                   β”‚ β”‚  β”‚
β”‚  β”‚  β”‚                                                       β”‚ β”‚  β”‚
β”‚  β”‚  β”‚ Let the system automatically assign remaining       β”‚ β”‚  β”‚
β”‚  β”‚  β”‚ sessions based on speaker preferences and           β”‚ β”‚  β”‚
β”‚  β”‚  β”‚ availability.                                       β”‚ β”‚  β”‚
β”‚  β”‚  β”‚                                                       β”‚ β”‚  β”‚
β”‚  β”‚  β”‚ β€’ Analyzes 5 unassigned sessions                    β”‚ β”‚  β”‚
β”‚  β”‚  β”‚ β€’ Matches with 5 available speakers                 β”‚ β”‚  β”‚
β”‚  β”‚  β”‚ β€’ Optimizes for preference scores                   β”‚ β”‚  β”‚
β”‚  β”‚  β”‚                                                       β”‚ β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚
β”‚  β”‚                                                           β”‚  β”‚
β”‚  β”‚  [Clear All Assignments]                                 β”‚  β”‚
β”‚  β”‚                                                           β”‚  β”‚
β”‚  β”‚  Export Options:                                         β”‚  β”‚
β”‚  β”‚  [Download Schedule PDF]                                 β”‚  β”‚
β”‚  β”‚                                                           β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

User Action: Click [Auto-Assign All]
Result: Opens Algorithm Selection Modal (Step 1)

Button States:

  • Enabled: When β‰₯2 unassigned sessions AND β‰₯2 available speakers
  • Disabled: When <2 unassigned sessions OR <2 available speakers
  • Tooltip (Disabled): β€œAuto-assignment requires at least 2 unassigned sessions and 2 available speakers”

Entry Point 2: Slot Assignment Page - Empty State Banner

Trigger: When organizer first lands on slot assignment page with 0 assignments

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Slot Assignment - BATbern 2025                                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€ Getting Started ────────────────────────────────────────────────┐│
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  🎯 No sessions assigned yet                                        β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  You have 8 accepted speakers awaiting session timing assignment.  β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Choose your approach:                                             β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚β”‚
β”‚  β”‚  β”‚ [Let AI Auto-Assign]      β”‚  β”‚ [Assign Manually]             β”‚ β”‚β”‚
β”‚  β”‚  β”‚                           β”‚  β”‚                               β”‚ β”‚β”‚
β”‚  β”‚  β”‚ Automatically assign all  β”‚  β”‚ Drag and drop speakers to     β”‚ β”‚β”‚
β”‚  β”‚  β”‚ sessions using intelligentβ”‚  β”‚ session slots for full controlβ”‚ β”‚β”‚
β”‚  β”‚  β”‚ matching algorithm        β”‚  β”‚ over timing assignments       β”‚ β”‚β”‚
β”‚  β”‚  β”‚                           β”‚  β”‚                               β”‚ β”‚β”‚
β”‚  β”‚  β”‚ ⚑ Fast (30 seconds)      β”‚  β”‚ 🎨 Flexible (custom control)  β”‚ β”‚β”‚
β”‚  β”‚  β”‚ πŸ“Š High match scores      β”‚  β”‚ πŸ‘οΈ Visual preference feedbackβ”‚ β”‚β”‚
β”‚  β”‚  β”‚                           β”‚  β”‚                               β”‚ β”‚β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Tip: You can also use a hybrid approach - auto-assign most        β”‚β”‚
β”‚  β”‚       sessions, then manually adjust any that need special handlingβ”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

User Action: Click [Let AI Auto-Assign]
Result: Opens Algorithm Selection Modal (Step 1)

Step 1: Algorithm Selection Modal

Trigger: User clicks [Auto-Assign All] button

Purpose: Allow organizer to choose optimization strategy and configure constraints

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ πŸ€– Auto-Assign Session Timings                                     [X] β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                         β”‚
β”‚  Configure how the system should assign sessions to time slots.        β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€ Optimization Strategy ──────────────────────────────────────────┐│
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Choose what to prioritize when assigning sessions:                β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  β—‹ Optimize for Speaker Preferences                                β”‚β”‚
β”‚  β”‚    Prioritize matching speakers to their preferred time slots      β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚    Best for: Maximizing speaker satisfaction and availability      β”‚β”‚
β”‚  β”‚    Algorithm: Time preference matching (weights: Time 40%, Room 20%)β”‚β”‚
β”‚  β”‚    Expected avg match score: ~85%                                  β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ─────────────────────────────────────────────────────────────     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  β—‹ Optimize for Expertise Match                                    β”‚β”‚
β”‚  β”‚    Prioritize matching speaker expertise to session topics         β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚    Best for: Content quality and topic relevance                   β”‚β”‚
β”‚  β”‚    Algorithm: Topic similarity scoring (NLP-based)                 β”‚β”‚
β”‚  β”‚    Expected avg match score: ~78%                                  β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ─────────────────────────────────────────────────────────────     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ● Optimize for Balanced Schedule (Recommended)                    β”‚β”‚
β”‚  β”‚    Balance speaker preferences, expertise, and time distribution   β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚    Best for: Overall event quality and attendee experience         β”‚β”‚
β”‚  β”‚    Algorithm: Multi-criteria optimization (Time 30%, Expertise 25%,β”‚β”‚
β”‚  β”‚                Room 15%, Distribution 30%)                          β”‚β”‚
β”‚  β”‚    Expected avg match score: ~82%                                  β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€ Advanced Options ───────────────────────────────────────────────┐│
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  [Show Advanced Options β–Ό]                                         β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€ Sessions to Assign ─────────────────────────────────────────────┐│
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Unassigned sessions: 5                                            β”‚β”‚
β”‚  β”‚  Available speakers: 5                                             β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  β˜‘ Workshop 1: Advanced Cloud Architecture (Dr. Sarah Miller)      β”‚β”‚
β”‚  β”‚  β˜‘ Panel Discussion: Industry Trends (Multiple speakers)           β”‚β”‚
β”‚  β”‚  β˜‘ Afternoon Workshop: Practical DevOps (Dr. Maria Lopez)          β”‚β”‚
β”‚  β”‚  β˜‘ Evening Session: Q&A and Networking (Robert Williams)           β”‚β”‚
β”‚  β”‚  β˜‘ Lightning Talks: Community Showcase (Multiple speakers)         β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  [Deselect All]  [Select All]                                      β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                                         β”‚
β”‚  Estimated processing time: ~15 seconds                                β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ [Preview Assignments]                           [Cancel]          β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Advanced Options Expanded:

β”‚  β”Œβ”€β”€β”€ Advanced Options ───────────────────────────────────────────────┐│
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  [Hide Advanced Options β–²]                                         β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Constraints:                                                      β”‚β”‚
β”‚  β”‚  β˜‘ Respect hard constraints (avoid times, speaker conflicts)       β”‚β”‚
β”‚  β”‚     Never violate speaker-specified avoid times                    β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  β˜‘ Balance session distribution across days                        β”‚β”‚
β”‚  β”‚     Avoid clustering all sessions on one day                       β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ☐ Prioritize keynotes in prime time slots                         β”‚β”‚
β”‚  β”‚     Assign keynote sessions to morning/early afternoon slots       β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ─────────────────────────────────────────────────────────────     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Room Preferences:                                                 β”‚β”‚
β”‚  β”‚  β—‹ Use all available rooms                                         β”‚β”‚
β”‚  β”‚  ● Prefer specific rooms for certain session types                 β”‚β”‚
β”‚  β”‚    β€’ Keynotes β†’ Main Hall                                          β”‚β”‚
β”‚  β”‚    β€’ Workshops β†’ Conference Rooms A/B                              β”‚β”‚
β”‚  β”‚    β€’ Panels β†’ Main Hall or Conference Room A                       β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ─────────────────────────────────────────────────────────────     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Conflict Resolution:                                              β”‚β”‚
β”‚  β”‚  ● Stop and ask (recommended - show conflicts for review)          β”‚β”‚
β”‚  β”‚  β—‹ Auto-resolve (find alternatives, may reduce match scores)       β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚

Validation:

  • At least 1 session must be selected
  • Selected optimization strategy required
  • If β€œRespect hard constraints” unchecked β†’ warning confirmation

Button States:

  • [Preview Assignments]: Primary CTA, enabled when β‰₯1 session selected
  • [Cancel]: Secondary, always enabled

Step 2: Processing Indicator

Display: After clicking [Preview Assignments], modal transitions to processing state

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ πŸ€– Auto-Assign Session Timings                                     [X] β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  ⏳ Analyzing assignments...                                    β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘  78%                        β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  Status: Evaluating speaker preferences for Workshop 2          β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚   β”‚
β”‚  β”‚  β”‚ βœ“ Analyzed 5 sessions                                     β”‚ β”‚   β”‚
β”‚  β”‚  β”‚ βœ“ Calculated preference scores for 5 speakers             β”‚ β”‚   β”‚
β”‚  β”‚  β”‚ βœ“ Evaluated 120 possible slot combinations                β”‚ β”‚   β”‚
β”‚  β”‚  β”‚ ⏳ Optimizing assignments (Hungarian algorithm)            β”‚ β”‚   β”‚
β”‚  β”‚  β”‚ ⏳ Validating for conflicts...                             β”‚ β”‚   β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  Estimated time remaining: 5 seconds                           β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                         β”‚
β”‚  [Cancel Processing]                                                   β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Processing Steps:

  1. βœ“ Analyzed sessions (2s)
  2. βœ“ Calculated preference scores (3s)
  3. βœ“ Evaluated slot combinations (5s)
  4. ⏳ Optimizing assignments (3s)
  5. ⏳ Validating for conflicts (2s)

Total: ~15 seconds


Step 3: Preview Assignments

Display: After processing completes, modal transitions to preview state

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ πŸ€– Preview Auto-Assignments                                        [X] β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                         β”‚
β”‚  Algorithm: Balanced Schedule                                          β”‚
β”‚  Sessions Analyzed: 5                                                  β”‚
β”‚  Assignments Generated: 5                                              β”‚
β”‚  Overall Match Score: 82% 🟒 (Good)                                     β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€ Side-by-Side Comparison ────────────────────────────────────────┐│
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Current State                    β†’    Proposed Assignments        β”‚β”‚
β”‚  β”‚  ───────────────────────────────────────────────────────────────   β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Workshop 1                       β†’    Workshop 1                  β”‚β”‚
β”‚  β”‚  Dr. Sarah Miller                      Dr. Sarah Miller             β”‚β”‚
β”‚  β”‚  No timing assigned                    June 10, 14:00-15:30        β”‚β”‚
β”‚  β”‚                                        Conference Room B            β”‚β”‚
β”‚  β”‚                                        Match: 92% 🟒 (Strong)       β”‚β”‚
β”‚  β”‚                                        [View Details]               β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ─────────────────────────────────────────────────────────────     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Panel Discussion                 β†’    Panel Discussion            β”‚β”‚
β”‚  β”‚  John Smith, Jane Doe, R. Chen         John Smith, Jane Doe, R.C.  β”‚β”‚
β”‚  β”‚  No timing assigned                    June 10, 16:00-17:30        β”‚β”‚
β”‚  β”‚                                        Main Hall                    β”‚β”‚
β”‚  β”‚                                        Match: 78% 🟒 (Good)         β”‚β”‚
β”‚  β”‚                                        [View Details]               β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ─────────────────────────────────────────────────────────────     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Afternoon Workshop               β†’    Afternoon Workshop          β”‚β”‚
β”‚  β”‚  Dr. Maria Lopez                       Dr. Maria Lopez              β”‚β”‚
β”‚  β”‚  No timing assigned                    June 11, 13:00-14:30        β”‚β”‚
β”‚  β”‚                                        Conference Room A            β”‚β”‚
β”‚  β”‚                                        Match: 85% 🟒 (Strong)       β”‚β”‚
β”‚  β”‚                                        [View Details]               β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ─────────────────────────────────────────────────────────────     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Evening Session                  β†’    Evening Session             β”‚β”‚
β”‚  β”‚  Robert Williams                       Robert Williams              β”‚β”‚
β”‚  β”‚  No timing assigned                    June 11, 18:00-19:30        β”‚β”‚
β”‚  β”‚                                        Conference Room B            β”‚β”‚
β”‚  β”‚                                        Match: 65% 🟑 (Acceptable)   β”‚β”‚
β”‚  β”‚                                        ⚠️ Speaker prefers afternoon β”‚β”‚
β”‚  β”‚                                        [View Details] [Adjust]      β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ─────────────────────────────────────────────────────────────     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Lightning Talks                  β†’    Lightning Talks             β”‚β”‚
β”‚  β”‚  Multiple speakers                     Multiple speakers            β”‚β”‚
β”‚  β”‚  No timing assigned                    June 12, 10:00-11:30        β”‚β”‚
β”‚  β”‚                                        Main Hall                    β”‚β”‚
β”‚  β”‚                                        Match: 88% 🟒 (Strong)       β”‚β”‚
β”‚  β”‚                                        [View Details]               β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€ Detected Issues ────────────────────────────────────────────────┐│
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ⚠️ 1 Warning:                                                      β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  β€’ Evening Session: Low match score (65%)                          β”‚β”‚
β”‚  β”‚    Speaker Robert Williams prefers afternoon slots but was         β”‚β”‚
β”‚  β”‚    assigned to 18:00-19:30 (evening). This was the best available β”‚β”‚
β”‚  β”‚    slot that avoids conflicts.                                     β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚    Recommendation: Contact speaker to confirm availability OR      β”‚β”‚
β”‚  β”‚    manually adjust after accepting assignments.                    β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  ℹ️ 0 Conflicts detected - all assignments are valid               β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€ Summary Statistics ─────────────────────────────────────────────┐│
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Total sessions assigned:         5 of 5 (100%)                    β”‚β”‚
β”‚  β”‚  Average match score:             82% (Good overall quality)       β”‚β”‚
β”‚  β”‚  Strong matches (β‰₯80%):           4 sessions                       β”‚β”‚
β”‚  β”‚  Acceptable matches (50-79%):     1 session                        β”‚β”‚
β”‚  β”‚  Poor matches (<50%):             0 sessions                       β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Time distribution:                                                β”‚β”‚
β”‚  β”‚  β€’ June 10: 2 sessions (Workshop 1, Panel)                         β”‚β”‚
β”‚  β”‚  β€’ June 11: 2 sessions (Afternoon Workshop, Evening Session)       β”‚β”‚
β”‚  β”‚  β€’ June 12: 1 session (Lightning Talks)                            β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  Room utilization:                                                 β”‚β”‚
β”‚  β”‚  β€’ Main Hall: 2 sessions                                           β”‚β”‚
β”‚  β”‚  β€’ Conference Room A: 1 session                                    β”‚β”‚
β”‚  β”‚  β€’ Conference Room B: 2 sessions                                   β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                                         β”‚
β”‚  What would you like to do?                                            β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ [Accept All Assignments]    [Customize Before Applying]  [Cancel]β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

[View Details] Button (expands inline):

β”‚  β”‚  Workshop 1                       β†’    Workshop 1                  β”‚β”‚
β”‚  β”‚  Dr. Sarah Miller                      Dr. Sarah Miller             β”‚β”‚
β”‚  β”‚  No timing assigned                    June 10, 14:00-15:30        β”‚β”‚
β”‚  β”‚                                        Conference Room B            β”‚β”‚
β”‚  β”‚                                        Match: 92% 🟒 (Strong)       β”‚β”‚
β”‚  β”‚                                        [Hide Details β–²]             β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚β”‚
β”‚  β”‚  β”‚ Match Score Breakdown:                                        β”‚β”‚β”‚
β”‚  β”‚  β”‚                                                               β”‚β”‚β”‚
β”‚  β”‚  β”‚ βœ“ Time of Day:      Afternoon (preferred)        +30 points  β”‚β”‚β”‚
β”‚  β”‚  β”‚ βœ“ Avoid Times:      No conflicts                 +40 points  β”‚β”‚β”‚
β”‚  β”‚  β”‚ βœ“ Room Features:    Natural light, quiet room    +12 points  β”‚β”‚β”‚
β”‚  β”‚  β”‚ βœ“ A/V Setup:        Projector + mic available    +10 points  β”‚β”‚β”‚
β”‚  β”‚  β”‚                                                               β”‚β”‚β”‚
β”‚  β”‚  β”‚ Total: 92/100                                                 β”‚β”‚β”‚
β”‚  β”‚  β”‚                                                               β”‚β”‚β”‚
β”‚  β”‚  β”‚ Why this slot was chosen:                                     β”‚β”‚β”‚
β”‚  β”‚  β”‚ β€’ Matches speaker's preferred time (afternoon)                β”‚β”‚β”‚
β”‚  β”‚  β”‚ β€’ No conflicts with avoid times (June 10, 08:00-09:00)        β”‚β”‚β”‚
β”‚  β”‚  β”‚ β€’ Room B has natural light (speaker preference)               β”‚β”‚β”‚
β”‚  β”‚  β”‚ β€’ All required A/V equipment available                        β”‚β”‚β”‚
β”‚  β”‚  β”‚ β€’ No room or speaker conflicts                                β”‚β”‚β”‚
β”‚  β”‚  β”‚                                                               β”‚β”‚β”‚
β”‚  β”‚  β”‚ Alternative slots considered:                                 β”‚β”‚β”‚
β”‚  β”‚  β”‚ β€’ June 10, 11:00-12:30, Room A (score: 85%)                  β”‚β”‚β”‚
β”‚  β”‚  β”‚ β€’ June 11, 14:00-15:30, Main Hall (score: 78%)               β”‚β”‚β”‚
β”‚  β”‚  β”‚                                                               β”‚β”‚β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚β”‚
β”‚  β”‚                                                                     β”‚β”‚

[Adjust] Button (for sessions with warnings):

Click [Adjust] β†’ Opens mini slot picker:

β”‚  β”Œβ”€β”€β”€ Adjust Evening Session ──────────────────────────────────────┐  β”‚
β”‚  β”‚                                                                  β”‚  β”‚
β”‚  β”‚  Current Assignment:                                            β”‚  β”‚
β”‚  β”‚  June 11, 18:00-19:30, Conference Room B                        β”‚  β”‚
β”‚  β”‚  Match: 65% 🟑 (Speaker prefers afternoon)                      β”‚  β”‚
β”‚  β”‚                                                                  β”‚  β”‚
β”‚  β”‚  Alternative Slots:                                             β”‚  β”‚
β”‚  β”‚                                                                  β”‚  β”‚
β”‚  β”‚  β—‹ June 11, 14:00-15:30, Conference Room A                      β”‚  β”‚
β”‚  β”‚     Match: 82% 🟒 (Better match, afternoon slot)                β”‚  β”‚
β”‚  β”‚     ⚠️ Requires moving "Afternoon Workshop" to different slot   β”‚  β”‚
β”‚  β”‚                                                                  β”‚  β”‚
β”‚  β”‚  β—‹ June 12, 13:00-14:30, Main Hall                              β”‚  β”‚
β”‚  β”‚     Match: 75% 🟒 (Afternoon, different day)                    β”‚  β”‚
β”‚  β”‚     βœ“ No conflicts, slot available                              β”‚  β”‚
β”‚  β”‚                                                                  β”‚  β”‚
β”‚  β”‚  ● Keep current assignment (65% match)                          β”‚  β”‚
β”‚  β”‚                                                                  β”‚  β”‚
β”‚  β”‚  [Apply Change]    [Cancel]                                     β”‚  β”‚
β”‚  β”‚                                                                  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚

Step 4A: Accept All Assignments (Success Flow)

Trigger: User clicks [Accept All Assignments]

Confirmation:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ βœ“ Assignments Applied                                              [X] β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  πŸŽ‰ Success! All session timings have been assigned.           β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100%                     β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  βœ“ 5 sessions assigned                                         β”‚   β”‚
β”‚  β”‚  βœ“ Average match score: 82%                                    β”‚   β”‚
β”‚  β”‚  βœ“ 0 conflicts detected                                        β”‚   β”‚
β”‚  β”‚  βœ“ All assignments saved                                       β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€ Next Steps ──────────────────────────────────────────────────┐   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  What would you like to do now?                                β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β”‚  β€’ Review the full agenda timeline                             β”‚   β”‚
β”‚  β”‚  β€’ Manually adjust any sessions if needed                      β”‚   β”‚
β”‚  β”‚  β€’ Proceed to Publishing to make schedule public               β”‚   β”‚
β”‚  β”‚                                                                 β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ [View Timeline]   [Make Adjustments]   [Go to Publishing]       β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Auto-dismiss: Modal auto-closes after 3 seconds OR user clicks button

On Close: Returns to slot assignment page with updated timeline grid showing all assignments

Toast Notification (appears in slot assignment page):

βœ“ Auto-assignment complete: 5 sessions assigned with 82% avg match score

Step 4B: Customize Before Applying (Hybrid Flow)

Trigger: User clicks [Customize Before Applying]

Result: Modal closes, returns to slot assignment page with:

  • Proposed assignments shown as semi-transparent overlays on timeline grid
  • Speaker cards remain in pool (not moved yet)
  • Accept/Reject buttons on each proposed assignment
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Slot Assignment - BATbern 2025                                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                           β”‚
β”‚  ⚠️ Review Proposed Assignments (5 sessions)                              β”‚
β”‚  Accept or reject each suggestion, or make manual adjustments.           β”‚
β”‚  [Accept All]  [Reject All]                                              β”‚
β”‚                                                                           β”‚
β”‚  β”Œβ”€β”€β”€ Session Timeline ────────────────────────────────────────────────┐ β”‚
β”‚  β”‚                                                                      β”‚ β”‚
β”‚  β”‚  June 10, 2025                                                       β”‚ β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚ β”‚
β”‚  β”‚  β”‚       Room A           Room B           Main Hall            β”‚   β”‚ β”‚
β”‚  β”‚  β”‚ 14:00 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β”‚              β”‚ β”‚ PROPOSED:         β”‚                 β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β”‚              β”‚ β”‚ Workshop 1        β”‚                 β”‚   β”‚ β”‚
β”‚  β”‚  β”‚ 15:30 β”‚              β”‚ β”‚ Dr. S. Miller     β”‚                 β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β”‚              β”‚ β”‚ Match: 92% 🟒     β”‚                 β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β”‚              β”‚ β”‚ [βœ“Accept][βœ—Reject]β”‚                 β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚   β”‚ β”‚
β”‚  β”‚  β”‚                                                               β”‚   β”‚ β”‚
β”‚  β”‚  β”‚ 16:00 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β”‚              β”‚                      β”‚ PROPOSED:    β”‚ β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β”‚              β”‚                      β”‚ Panel        β”‚ β”‚   β”‚ β”‚
β”‚  β”‚  β”‚ 17:30 β”‚              β”‚                      β”‚ Multiple     β”‚ β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β”‚              β”‚                      β”‚ Match: 78% πŸŸ’β”‚ β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β”‚              β”‚                      β”‚ [βœ“][βœ—]       β”‚ β”‚   β”‚ β”‚
β”‚  β”‚  β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚   β”‚ β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚ β”‚
β”‚  β”‚                                                                      β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚                                                                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

User Actions:
1. Click [βœ“Accept] on individual proposals β†’ Assignment becomes permanent (overlay becomes solid)
2. Click [βœ—Reject] on individual proposals β†’ Overlay disappears, speaker returns to pool
3. Drag speaker from pool to different slot β†’ Overrides proposal
4. Click [Accept All] β†’ All proposals become permanent
5. Click [Reject All] β†’ All proposals removed, return to manual assignment

Proposed Assignment Visual:

  • Border: Dashed 2px (indicates temporary/proposed state)
  • Background: Semi-transparent with match score color (green 🟒 / yellow 🟑)
  • Badge: β€œPROPOSED” label in top-left corner
  • Buttons: Inline [βœ“Accept] and [βœ—Reject] buttons

After All Accepted/Rejected:

  • Banner disappears
  • Timeline grid shows final state
  • Success toast: β€œAll proposed assignments reviewed. X accepted, Y rejected.”

Algorithm Details (Technical Documentation)

Balanced Schedule Algorithm

Objective: Maximize overall match quality while balancing multiple criteria

Input:

  • sessions[]: Array of unassigned sessions with speaker assignments
  • speakers[]: Array of speakers with preferences
  • slots[]: Array of available time slots with room assignments

Output:

  • assignments[]: Array of { sessionId, slotId, matchScore }

Algorithm: Hungarian Algorithm (Munkres Assignment Algorithm)

typescript
interface Assignment {
  sessionId: string;
  slotId: string;
  matchScore: number;
}

function balancedScheduleAlgorithm(
  sessions: Session[],
  speakers: Speaker[],
  slots: Slot[]
): Assignment[] {
  // Step 1: Build cost matrix
  const costMatrix: number[][] = [];

  for (const session of sessions) {
    const rowCosts: number[] = [];
    for (const slot of slots) {
      const speaker = speakers.find(s => s.id === session.speakerId);
      const matchScore = calculateMatchScore(slot, speaker.preferences);

      // Convert match score (0-100) to cost (higher match = lower cost)
      const cost = 100 - matchScore;
      rowCosts.push(cost);
    }
    costMatrix.push(rowCosts);
  }

  // Step 2: Apply Hungarian algorithm to minimize total cost
  const hungarianResult = hungarianAlgorithm(costMatrix);

  // Step 3: Convert result to assignments
  const assignments: Assignment[] = [];
  for (let i = 0; i < hungarianResult.length; i++) {
    const sessionIndex = i;
    const slotIndex = hungarianResult[i];

    assignments.push({
      sessionId: sessions[sessionIndex].id,
      slotId: slots[slotIndex].id,
      matchScore: 100 - costMatrix[sessionIndex][slotIndex]
    });
  }

  // Step 4: Validate for hard conflicts
  const validated = validateAssignments(assignments);

  return validated;
}

Complexity: O(nΒ³) where n = number of sessions

Expected Runtime:

  • 5 sessions: ~5 seconds
  • 10 sessions: ~15 seconds
  • 20 sessions: ~45 seconds

Speaker Preference Algorithm

Weights:

  • Time preference: 40%
  • Avoid times: 40%
  • Room features: 10%
  • A/V setup: 10%

(Prioritizes speaker availability and time preferences)

Expertise Match Algorithm

Uses: Natural Language Processing (NLP) for topic similarity

typescript
function expertiseMatchScore(sessionTopic: string, speakerExpertise: string[]): number {
  // Use TF-IDF + cosine similarity
  const sessionVector = tfidf(sessionTopic);
  const expertiseVectors = speakerExpertise.map(e => tfidf(e));

  const similarities = expertiseVectors.map(v => cosineSimilarity(sessionVector, v));
  const maxSimilarity = Math.max(...similarities);

  return maxSimilarity * 100;  // Convert to 0-100 scale
}

Weights:

  • Topic similarity: 60%
  • Speaker credentials: 20%
  • Past speaking experience: 20%

Error Handling

Insufficient Slots

Scenario: More sessions than available slots

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ⚠️ Insufficient Available Slots                                    [X] β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                         β”‚
β”‚  Unable to auto-assign all sessions.                                   β”‚
β”‚                                                                         β”‚
β”‚  Sessions to assign: 8                                                 β”‚
β”‚  Available slots: 5                                                    β”‚
β”‚  Shortfall: 3 slots                                                    β”‚
β”‚                                                                         β”‚
β”‚  Recommendations:                                                      β”‚
β”‚  1. Add more time slots to the event schedule                         β”‚
β”‚  2. Assign only some sessions (select which to prioritize)            β”‚
β”‚  3. Increase session duration to fit more in fewer slots              β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ [Add Time Slots]   [Assign Partial]   [Cancel]                  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Unavoidable Conflicts

Scenario: Algorithm cannot find conflict-free assignments

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ⚠️ Conflicts Detected                                              [X] β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                         β”‚
β”‚  The algorithm found optimal assignments but detected 2 conflicts:     β”‚
β”‚                                                                         β”‚
β”‚  1. Workshop 2: All available slots conflict with speaker's avoid timesβ”‚
β”‚     Dr. Sarah Miller is unavailable June 10-11 (traveling)             β”‚
β”‚                                                                         β”‚
β”‚  2. Evening Session: No room available during preferred time range     β”‚
β”‚     All rooms occupied 18:00-20:00                                     β”‚
β”‚                                                                         β”‚
β”‚  What would you like to do?                                            β”‚
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ [Assign Conflict-Free Only]  [Show Best Effort]  [Cancel]       β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

[Show Best Effort]: Shows assignments with warnings, allows manual override


Accessibility

Screen Reader Support

Algorithm Selection:

"Auto-assign session timings dialog. Choose optimization strategy.
Currently selected: Balanced Schedule.
3 options available. Press Down arrow to explore options."

Preview Assignments:

"Preview auto-assignments. 5 sessions assigned with average match score 82 percent.
1 warning detected. Press Tab to review each assignment."

ARIA Attributes:

html
<div role="dialog" aria-labelledby="auto-assign-title" aria-modal="true">
  <h2 id="auto-assign-title">Auto-Assign Session Timings</h2>

  <fieldset aria-labelledby="strategy-legend">
    <legend id="strategy-legend">Optimization Strategy</legend>
    <input type="radio" id="balanced" name="strategy" aria-describedby="balanced-desc" />
    <label for="balanced">Optimize for Balanced Schedule</label>
    <p id="balanced-desc">Balance speaker preferences, expertise, and time distribution</p>
  </fieldset>
</div>

Testing Checklist



Change Log

Date Version Description Author
2025-12-25 1.0 Initial bulk auto-assignment wireframe Sally (UX Expert)