Story 5.13: Moderation Assignment - Wireframe
Epic: Epic 5 - Enhanced Organizer Workflows
Overview
This wireframe defines the organizer interface for assigning a moderator to an event and the moderatorβs view of their assigned events. The system provides a simple dropdown selection with notification to the assigned moderator.
Key Features:
- Simple moderator selection dropdown (select from organizers)
- Notification to assigned moderator
- Moderator dashboard showing assigned events
- Event details visible to moderator
MVP Scope:
- β Simple dropdown field (select from organizers)
- β Notification to assigned moderator
- β Moderator sees event dashboard
- β No special briefing materials (Phase 2)
- β No day-of tools (Phase 2)
Screen 1: Moderator Assignment (Organizer View)
Context: Event Detail page β βSettingsβ tab β βModerationβ section
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Event: Spring BATbern 2025 - Nachhaltiges Bauen β
β [Event Details] [Speakers] [Agenda] [Settings] [Communication] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Event Settings β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Basic Information β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Event Type: [Hauptveranstaltung βΌ] β β
β β Date: [2025-03-15 ] Time: [18:00] β β
β β Location: [Zunfthaus zur Zimmerleuten, Bern ] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Moderation β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Moderator Assignment β β
β β β β
β β Assign Moderator: β β
β β [Thomas MΓΌller (mueller@batbern.ch) βΌ] β β
β β β β
β β Status: β Assigned β β
β β Assigned: 2025-02-01 by Anna Schmidt β β
β β Notification sent: 2025-02-01 14:30 β β
β β β β
β β [Change Moderator] [Send Reminder] β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Contact Information β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Primary Contact: [Anna Schmidt βΌ] β β
β β Email: [schmidt@batbern.ch ] β β
β β Phone: [+41 31 123 45 67 ] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β [Cancel] [Save Changes] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Interactions:
-
Moderator Dropdown
- Lists all users with βOrganizerβ role
- Shows name and email address
- Selecting moderator enables βSave Changesβ button
- Empty option: β-- Select Moderator --β (unassign moderator)
-
Status Indicator
- Shows current assignment status
- ββ Assignedβ (moderator assigned)
- ββ§ Pendingβ (moderator assigned but not yet notified)
- ββ Unassignedβ (no moderator)
-
Assignment Metadata
- Shows when moderator was assigned
- Shows who assigned the moderator
- Shows when notification email was sent
-
Change Moderator Button
- Clears current selection
- Allows new moderator selection
- Confirmation dialog: βSend notification to new moderator?β
-
Send Reminder Button
- Only visible if moderator assigned
- Sends reminder email to moderator with event details
- Shows toast: βReminder sent to Thomas MΓΌllerβ
-
Save Changes
- Saves moderator assignment
- Sends notification email to moderator
- Shows success toast: βModerator assigned. Notification sent to Thomas MΓΌller.β
Screen 2: Moderator Assignment Notification Email
Context: Email sent to moderator when assigned to event
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β From: BATbern Event Management <noreply@batbern.ch> β
β To: mueller@batbern.ch β
β Subject: Sie wurden als Moderator fΓΌr Spring BATbern 2025 zugeteilt β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Guten Tag Thomas MΓΌller,
Sie wurden als Moderator fΓΌr die folgende Veranstaltung zugeteilt:
Event: Spring BATbern 2025 - Nachhaltiges Bauen
Datum: 15. MΓ€rz 2025, 18:00 Uhr
Ort: Zunfthaus zur Zimmerleuten, Bern
Aufgaben des Moderators:
β’ BegrΓΌssung der Teilnehmer
β’ Vorstellung der Referenten
β’ Zeitmanagement wΓ€hrend der VortrΓ€ge
β’ Moderation der Diskussionsrunde
Eventdetails anzeigen:
https://platform.batbern.ch/events/evt_12345/moderator-view
Bei Fragen wenden Sie sich bitte an:
Anna Schmidt (schmidt@batbern.ch)
Mit freundlichen GrΓΌssen,
BATbern Event Management System
---
Diese E-Mail wurde automatisch generiert. Bitte antworten Sie nicht auf diese E-Mail.
Screen 3: Moderator Dashboard
Context: Moderator logs in and sees their assigned events
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BATbern Event Management [Thomas MΓΌller βΌ]β
β [Dashboard] [Events] [Profile] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β My Moderator Assignments β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Upcoming Events β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Spring BATbern 2025 - Nachhaltiges Bauen β β
β β β β
β β Datum: 15. MΓ€rz 2025, 18:00 Uhr β β
β β Ort: Zunfthaus zur Zimmerleuten, Bern β β
β β Status: Agenda Finalized β β
β β β β
β β Referenten: 3 confirmed β β
β β Teilnehmer: 142 registered β β
β β β β
β β Kontakt: Anna Schmidt (schmidt@batbern.ch) β β
β β β β
β β [View Event Details] [Download Agenda]β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Autumn BATbern 2025 - Digitalisierung in der Architektur β β
β β β β
β β Datum: 20. September 2025, 18:00 Uhr β β
β β Ort: Kornhausforum, Bern β β
β β Status: Planning β β
β β β β
β β Referenten: 2 confirmed, 1 pending β β
β β Teilnehmer: 45 registered β β
β β β β
β β Kontakt: Peter Weber (weber@batbern.ch) β β
β β β β
β β [View Event Details] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Past Events β
β β
β ββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββ¬βββββββββββ β
β β Date β Event β Attendees β Status β β
β ββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββΌβββββββββββ€ β
β β 2024-09-15 β Autumn BATbern 2024 β 156 β Complete β β
β β 2024-03-20 β Spring BATbern 2024 β 148 β Complete β β
β ββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββ΄βββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Interactions:
-
Upcoming Events Cards
- Shows all events where user is assigned as moderator
- Sorted by event date (earliest first)
- Color-coded status (Planning/Agenda Finalized/In Progress)
-
View Event Details
- Navigates to Event Detail page (read-only for moderator)
- Shows full agenda, speaker bios, registered attendees
- Shows organizer contact information
-
Download Agenda
- Only available when agenda status = βfinalizedβ
- Downloads PDF with full agenda and speaker information
- Used for moderator preparation
-
Past Events Table
- Shows historical moderator assignments
- Clicking row navigates to archived event details
Screen 4: Moderator Event Detail View
Context: Moderator clicks βView Event Detailsβ from dashboard
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Event: Spring BATbern 2025 - Nachhaltiges Bauen β
β [Overview] [Agenda] [Speakers] [Attendees] β
β Moderator View β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Overview β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Your Role: Moderator β
β β
β Event Information β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Event: Spring BATbern 2025 - Nachhaltiges Bauen β β
β β Date: 15. MΓ€rz 2025 β β
β β Time: 18:00 - 21:00 Uhr β β
β β Location: Zunfthaus zur Zimmerleuten, Limmatquai 40, Bern β β
β β Expected Attendees: 142 registered β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Moderator Responsibilities β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β Review event agenda (see Agenda tab) β β
β β β Familiarize with speaker bios (see Speakers tab) β β
β β β Prepare opening remarks β β
β β β Prepare speaker introductions β β
β β β Prepare closing remarks β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Organizer Contact β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Primary Contact: Anna Schmidt β β
β β Email: schmidt@batbern.ch β β
β β Phone: +41 31 123 45 67 β β
β β β β
β β [Send Message] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β [Download Agenda] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Agenda β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Time β Session β β
β ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β 18:00β BegrΓΌssung & Einleitung (Moderator: Thomas MΓΌller) β β
β β β β’ Welcome attendees β β
β β β β’ Event overview β β
β β β β’ Introduce first speaker β β
β ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β 18:10β Dr. Anna MΓΌller - Kreislaufwirtschaft im Bauwesen β β
β β β Abstract: Strategien fΓΌr nachhaltiges Bauen... β β
β β β Duration: 25 min presentation + 5 min Q&A β β
β ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β 18:40β Prof. Thomas Schneider - CO2-neutrale Baustoffe β β
β β β Abstract: Innovative Materialien fΓΌr klimaneutrales... β β
β β β Duration: 25 min presentation + 5 min Q&A β β
β ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β 19:10β Pause & Networking β β
β ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β 19:30β Dipl.-Arch. Sarah Weber - Energieeffizienz in Praxis β β
β β β Abstract: Praxisbeispiele aus realisierten Projekten... β β
β β β Duration: 25 min presentation + 5 min Q&A β β
β ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β 20:00β Diskussionsrunde (Moderator: Thomas MΓΌller) β β
β β β β’ Panel discussion with all speakers β β
β β β β’ Audience Q&A β β
β ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β 20:30β Schlusswort & ApΓ©ro (Moderator: Thomas MΓΌller) β β
β β β β’ Thank speakers and attendees β β
β β β β’ Announce next event β β
β ββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Interactions:
-
Moderator View Badge
- Indicates this is read-only view for moderator
- No edit capabilities
-
Moderator Responsibilities Checklist
- Static checklist (not interactive in MVP)
- Provides guidance on moderator tasks
- Future: Make interactive with progress tracking
-
Organizer Contact
- Click βSend Messageβ to email organizer
- Opens default email client with pre-filled subject/recipient
-
Download Agenda
- Downloads PDF with full agenda
- Includes speaker bios and session details
- Used for moderator preparation
-
Agenda Tab
- Shows detailed time-blocked agenda
- Highlights moderator responsibilities (BegrΓΌssung, Diskussionsrunde, Schlusswort)
- Read-only view
-
Speakers Tab
- Shows speaker bios, photos, contact info
- Helps moderator prepare introductions
-
Attendees Tab
- Shows registered attendee count
- Future: Show attendee list (privacy permitting)
Navigation Map
Event Detail Page (Organizer)
β
ββ Settings Tab
β β
β ββ Moderation Section
β β
β ββ Moderator Dropdown (Screen 1)
β β β
β β ββ Save β Sends Notification Email (Screen 2)
β β
β ββ Send Reminder β Sends Reminder Email
Moderator Dashboard (Screen 3)
β
ββ View Event Details β Moderator Event Detail View (Screen 4)
β
ββ Overview Tab
ββ Agenda Tab
ββ Speakers Tab
ββ Attendees Tab
API Requirements
Service: Event Management Service
All moderator assignment functionality is part of the Event Management Service. The moderator is simply a field on the Event entity referencing a user with the Organizer role.
PATCH /api/v1/events/{eventCode}
Purpose: Update event details including moderator assignment
Request:
{
"moderatorUserId": "john.doe"
}
Response:
{
"id": "BATbern56",
"eventNumber": 56,
"title": "Spring BATbern 2025 - Nachhaltiges Bauen",
"eventDate": "2025-03-15T18:00:00Z",
"status": "agenda_finalized",
"organizerId": "anna.schmidt",
"moderatorUserId": "john.doe",
"moderatorAssignedAt": "2025-02-01T14:30:00Z",
"moderatorAssignedBy": "anna.schmidt",
"updatedAt": "2025-02-01T14:30:00Z"
}
Notes:
eventCodeuses meaningful identifier (e.g., βBATbern56β) per ADR-003moderatorUserIdis username (e.g., βjohn.doeβ), not UUID, per Story 1.16.2- Validation:
moderatorUserIdmust reference a user with Organizer role - Side effect: Triggers email notification to assigned moderator
Error Response:
{
"error": "INVALID_MODERATOR",
"message": "User 'john.doe' does not have Organizer role",
"code": "MODERATOR_NOT_ORGANIZER"
}
POST /api/v1/events/{eventCode}/notifications/moderator-reminder
Purpose: Send reminder email to assigned moderator
Response:
{
"notificationId": "notif_12345",
"eventId": "BATbern56",
"recipientUserId": "john.doe",
"recipientEmail": "mueller@batbern.ch",
"notificationType": "MODERATOR_REMINDER",
"sentAt": "2025-02-10T09:00:00Z",
"status": "sent"
}
Error Response:
{
"error": "NO_MODERATOR_ASSIGNED",
"message": "Event BATbern56 has no moderator assigned",
"code": "MODERATOR_NOT_SET"
}
GET /api/v1/events?moderatorUserId={username}
Purpose: Get all events where current user is assigned as moderator
Query Parameters:
moderatorUserId: Filter events by moderator username (e.g., βjohn.doeβ)status: Filter by event status (optional)timeframe: Filter by timeframe (upcoming,past,all) (default:all)
Response:
{
"events": [
{
"id": "BATbern56",
"eventNumber": 56,
"title": "Spring BATbern 2025 - Nachhaltiges Bauen",
"eventDate": "2025-03-15T18:00:00Z",
"location": {
"name": "Zunfthaus zur Zimmerleuten",
"address": "Limmatquai 40, 8001 Bern"
},
"status": "agenda_finalized",
"speakerCount": 3,
"attendeeCount": 142,
"organizerId": "anna.schmidt",
"moderatorUserId": "john.doe",
"moderatorAssignedAt": "2025-02-01T14:30:00Z"
}
],
"pagination": {
"total": 2,
"page": 1,
"limit": 20
}
}
Usage Example:
// Get current user's moderator assignments
const response = await fetch('/api/v1/events?moderatorUserId=john.doe&timeframe=upcoming');
GET /api/v1/events/{eventCode}
Purpose: Get full event details (includes moderator information for moderator view)
Response:
{
"id": "BATbern56",
"eventNumber": 56,
"title": "Spring BATbern 2025 - Nachhaltiges Bauen",
"description": "Event zum Thema nachhaltiges Bauen...",
"eventDate": "2025-03-15T18:00:00Z",
"eventType": "HAUPTVERANSTALTUNG",
"venue": {
"name": "Zunfthaus zur Zimmerleuten",
"address": "Limmatquai 40, 8001 Bern",
"capacity": 200
},
"status": "agenda_finalized",
"organizerId": "anna.schmidt",
"organizerDetails": {
"userId": "anna.schmidt",
"name": "Anna Schmidt",
"email": "schmidt@batbern.ch",
"phone": "+41 31 123 45 67"
},
"moderatorUserId": "john.doe",
"moderatorDetails": {
"userId": "john.doe",
"name": "Thomas MΓΌller",
"email": "mueller@batbern.ch"
},
"moderatorAssignedAt": "2025-02-01T14:30:00Z",
"moderatorAssignedBy": "anna.schmidt",
"sessions": [
{
"sessionId": "session_1",
"time": "18:10",
"title": "Kreislaufwirtschaft im Bauwesen",
"abstract": "Strategien fΓΌr nachhaltiges Bauen...",
"duration": 30,
"speaker": {
"name": "Dr. Anna MΓΌller",
"bio": "Dr. MΓΌller ist Expertin fΓΌr...",
"photo": "https://cdn.batbern.ch/speakers/mueller.jpg"
}
}
],
"attendeeCount": 142,
"capacity": 200
}
Notes:
- Standard event detail endpoint used by both organizers and moderators
- Moderator sees same data as organizers (read-only)
- Frontend determines UI based on user role
Validation Rules
-
Moderator Selection
- Only users with βOrganizerβ role can be assigned as moderators
- Cannot assign same user as both organizer and moderator (warning only, not blocking)
-
Notification
- Notification email sent immediately after assignment
- If email send fails, show error but still save assignment
- Organizer can manually resend notification via βSend Reminderβ
-
Unassignment
- Can unassign moderator at any time
- Sends unassignment notification email to moderator
- Confirmation dialog: βRemove Thomas MΓΌller as moderator?β
Edge Cases
-
Moderator User Deleted
- If assigned moderator is deleted from system, show warning
- βAssigned moderator (Thomas MΓΌller) no longer active. Please reassign.β
- Allow reassignment without error
-
Event Cancelled After Assignment
- Send cancellation email to moderator
- Remove event from moderator dashboard
-
Multiple Events Same Day
- Moderator dashboard shows all events
- Warning if moderator assigned to events with overlapping times
-
Email Send Failure
- Show error toast: βFailed to send notification email. Assignment saved. Use βSend Reminderβ to retry.β
- Log failure for debugging
-
Moderator Without Email
- Block assignment if moderator user has no email address
- Show error: βCannot assign moderator without email addressβ
Internationalization (i18n)
FROM MVP LAUNCH (Day 1):
Language Support
- Primary: German (de-CH) - Swiss German locale (default)
- Secondary: English (en-US)
- Language Selector: Header shows
π DE βΌ | ENfor language switching
UI Text Translation
All interface text translated in both languages:
- Moderator assignment dropdown label
- Status indicators (Assigned/Pending/Unassigned)
- Button labels (Change Moderator, Send Reminder, Save Changes)
- Moderator dashboard headings (Upcoming Events, Past Events)
- Moderator responsibilities checklist
- Organizer contact section labels
- All notification and confirmation messages
Email Notifications
- Bilingual AWS SES Templates: Moderator notification emails in both German and English
- Language Detection: Email sent in moderatorβs preferred language (from user profile
preferredLanguagefield) - Fallback: German (de-CH) if no preference set
- Template IDs:
moderator_assignment_notification_demoderator_assignment_notification_enmoderator_reminder_demoderator_reminder_en
Translation Keys
// Moderator Assignment (Organizer View)
moderation.title = "Moderation" | "Moderation"
moderation.assignLabel = "Assign Moderator" | "Moderator zuweisen"
moderation.status.assigned = "Assigned" | "Zugeteilt"
moderation.status.pending = "Pending" | "Ausstehend"
moderation.status.unassigned = "Unassigned" | "Nicht zugeteilt"
moderation.assignedBy = "Assigned: {date} by {name}" | "Zugeteilt: {date} von {name}"
moderation.notificationSent = "Notification sent: {date}" | "Benachrichtigung gesendet: {date}"
moderation.button.change = "Change Moderator" | "Moderator Γ€ndern"
moderation.button.sendReminder = "Send Reminder" | "Erinnerung senden"
moderation.success.assigned = "Moderator assigned. Notification sent to {name}." | "Moderator zugeteilt. Benachrichtigung an {name} gesendet."
moderation.success.reminder = "Reminder sent to {name}" | "Erinnerung an {name} gesendet"
// Moderator Dashboard
moderator.dashboard.title = "My Moderator Assignments" | "Meine Moderationsaufgaben"
moderator.dashboard.upcoming = "Upcoming Events" | "Anstehende Events"
moderator.dashboard.past = "Past Events" | "Vergangene Events"
moderator.button.viewDetails = "View Event Details" | "Event-Details anzeigen"
moderator.button.downloadAgenda = "Download Agenda" | "Agenda herunterladen"
moderator.contact = "Contact" | "Kontakt"
moderator.attendees = "Attendees" | "Teilnehmer"
moderator.speakers = "Speakers" | "Referenten"
moderator.status = "Status" | "Status"
// Moderator Event Detail View
moderator.role = "Your Role: Moderator" | "Ihre Rolle: Moderator"
moderator.responsibilities.title = "Moderator Responsibilities" | "Moderationsaufgaben"
moderator.responsibilities.reviewAgenda = "Review event agenda" | "Event-Agenda prΓΌfen"
moderator.responsibilities.reviewSpeakers = "Familiarize with speaker bios" | "Mit Referenten-Biografien vertraut machen"
moderator.responsibilities.openingRemarks = "Prepare opening remarks" | "BegrΓΌssungsworte vorbereiten"
moderator.responsibilities.speakerIntros = "Prepare speaker introductions" | "Referenten-Vorstellungen vorbereiten"
moderator.responsibilities.closingRemarks = "Prepare closing remarks" | "Schlussworte vorbereiten"
moderator.organizer.contact = "Organizer Contact" | "Organisator-Kontakt"
moderator.button.sendMessage = "Send Message" | "Nachricht senden"
Implementation
- Framework: react-i18next with i18next-browser-languagedetector
- Translation Files:
/locales/de/moderation.json/locales/en/moderation.json
- Dynamic Switching: Language change applies immediately without page reload
- Namespace:
moderationnamespace for all moderator-related translations - Date Formatting: Use
date-fnswith locale support- German: β15. MΓ€rz 2025, 18:00 Uhrβ
- English: βMarch 15, 2025, 6:00 PMβ
Email Template Content (Example)
German (de-CH):
Betreff: Sie wurden als Moderator fΓΌr {eventTitle} zugeteilt
Guten Tag {moderatorName},
Sie wurden als Moderator fΓΌr die folgende Veranstaltung zugeteilt:
Event: {eventTitle}
Datum: {eventDate}
Ort: {eventLocation}
Aufgaben des Moderators:
β’ BegrΓΌssung der Teilnehmer
β’ Vorstellung der Referenten
β’ Zeitmanagement wΓ€hrend der VortrΓ€ge
β’ Moderation der Diskussionsrunde
Eventdetails anzeigen:
{eventUrl}
Bei Fragen wenden Sie sich bitte an:
{organizerName} ({organizerEmail})
Mit freundlichen GrΓΌssen,
BATbern Event Management System
English (en-US):
Subject: You have been assigned as moderator for {eventTitle}
Dear {moderatorName},
You have been assigned as moderator for the following event:
Event: {eventTitle}
Date: {eventDate}
Location: {eventLocation}
Moderator Responsibilities:
β’ Welcome attendees
β’ Introduce speakers
β’ Time management during presentations
β’ Moderate discussion panel
View event details:
{eventUrl}
For questions, please contact:
{organizerName} ({organizerEmail})
Best regards,
BATbern Event Management System
Future Enhancements (Phase 2)
- Moderator Briefing Materials: Auto-generate moderator briefing PDF with speaker bios, agenda, Q&A guidelines (bilingual PDF support)
- Day-of Tools: Real-time agenda timer, speaker cue cards, Q&A tracking (bilingual UI)
- Interactive Checklist: Track moderator preparation tasks with completion status
- Speaker Communication: Direct messaging between moderator and speakers
- Feedback Collection: Post-event moderator feedback form (bilingual)
- Moderator Availability: Check moderator calendar before assignment
- French Support: Add French language option for trilingual Switzerland
Related Stories
- Story 5.10: Progressive Publishing Engine (publishes agenda for moderator view)
- Story 5.11: Agenda Finalization (triggers moderator notification)
- Epic 2 Story 2.1: User Management (defines Organizer role)
- Epic 4: Public Website (publishes event details visible to moderator)
Accessibility Notes
- Moderator dropdown must be keyboard accessible (arrow keys to navigate)
- Screen reader support for status indicators
- Email notifications must be accessible (plain text + HTML)
- Moderator dashboard must support screen readers
- Color-blind safe status colors
Responsive Behavior
- Desktop (>1024px): Full layout with sidebar
- Tablet (768-1024px): Stacked layout
- Mobile (<768px): Single column, simplified moderator dashboard