Story 6.2: Partner Meeting Coordination - Wireframe
Story: Epic 6, Story 5
7. Partner Meeting Coordination
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Back Partner Meeting Hub [Calendar] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββ UPCOMING PARTNER MEETINGS βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Q2 2025 Partner Planning Session April 15, 2025 β’ 14:00 β β
β β Location: UBS Conference Center, Zurich Your Status: β Confirmed β β
β β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β AGENDA PARTICIPANTS (12/15) β β β
β β β β β β
β β β 14:00 Welcome & Q1 Review β UBS (You) β β β
β β β 14:30 Topic Voting Results β Swiss Re β β β
β β β 15:00 Budget Planning 2025/26 β Credit Suisse β β β
β β β 15:30 Coffee Break β Swisscom β β β
β β β 15:45 Innovation Initiatives β SBB β β β
β β β 16:30 Event Calendar Review β PostFinance β β β
β β β 17:00 Networking ApΓ©ro ? Zurich Insurance β β β
β β β [View All] β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β Your Action Items: Meeting Materials: β β
β β β Submit topic votes (Due: Apr 10) π Q1 Report.pdf β β
β β β Review budget proposal π 2025 Calendar.xlsx β β
β β β Confirm attendance π Topic Analysis.pptx β β
β β β β
β β [Add to Calendar] [View Materials] [Submit Questions] [Propose Agenda Item] β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
API Requirements
Initial Page Load APIs
Note: This wireframe has been updated to use the consolidated Partners API from Story 1.18 (109 β 20 endpoints, 82% reduction).
When the Partner Meeting Hub screen loads, the following APIs are called to provide the necessary data:
-
GET /api/v1/partners/{partnerId}/meetings?filter={βupcomingβ:true}&page=1&limit=5
- Consolidates: Former
/meetings/upcomingendpoint using standard filtering - Query params: filter (JSON filter for upcoming meetings), page, limit, sort (-scheduledDate)
- Returns: List of upcoming partner meetings with dates, times, locations, meeting types, RSVP status
- Used for: Populate upcoming partner meetings section
- Consolidation Benefit: Standard filtering pattern consistent with other list endpoints
- Consolidates: Former
-
GET /api/v1/partners/{partnerId}/meetings/{meetingId}?include=agenda,participants,materials,actionItems
- Consolidates: Former separate calls for meeting details, action items, and materials
- Query params: include (comma-separated list of embedded resources)
- Returns: Complete meeting entity including agenda with times, participants with RSVP status, materials list, action items assigned to partner, meeting host
- Used for: Display all meeting information in single request
- Consolidation Benefit: Include parameter replaces 3 separate API calls with single request
Action APIs
Meeting RSVP & Attendance
-
PUT /api/v1/partners/{partnerId}/meetings/{meetingId}
- Consolidates: Former
/meetings/{meetingId}/rsvpinto standard update pattern - Payload:
{ rsvpStatus: "confirmed|declined|tentative", attendees: [{ name, email, role }], dietaryRestrictions, specialRequests } - Response: Updated meeting with RSVP status, calendar invite generated
- Used for: Confirm or update meeting attendance
- Consolidation Benefit: Standard PUT for resource updates instead of specialized RSVP endpoint
- Consolidates: Former
-
GET /api/v1/partners/{partnerId}/meetings/{meetingId}/calendar.ics
- Consolidates: Calendar export using resource representation with file extension
- Response: iCal file content for calendar integration
- Used for: Download meeting as calendar file
- Consolidation Benefit: RESTful file representation pattern
Meeting Materials & Preparation
-
GET /api/v1/partners/{partnerId}/meetings/{meetingId}/materials/{materialId}
- Consolidates: Former
/materials/{materialId}/downloadusing content negotiation - Headers:
Accept: application/octet-streamfor download - Returns: File content with download headers OR material metadata (JSON)
- Used for: Download or view individual meeting material
- Consolidation Benefit: Single endpoint serves both metadata and file download via content negotiation
- Consolidates: Former
-
POST /api/v1/partners/{partnerId}/meetings/{meetingId}/materials/export
- Consolidates: Former
/materials/download-allusing standard export pattern - Payload:
{ format: "zip", materialIds: [] }(empty array = all materials) - Response: Export task ID, zip archive URL when ready
- Used for: Download all or selected meeting materials as archive
- Consolidation Benefit: Consistent export pattern across platform
- Consolidates: Former
-
POST /api/v1/partners/{partnerId}/meetings/{meetingId}/materials
- Consolidates: Former
/materials/uploadusing standard POST for creation - Payload: File upload (multipart/form-data) with metadata
- Response: Created material ID, material object, upload confirmation
- Used for: Upload additional materials to share with meeting participants
- Consolidation Benefit: Standard RESTful POST pattern for creating materials
- Consolidates: Former
Questions & Discussion
-
POST /api/v1/partners/{partnerId}/meetings/{meetingId}/questions
- Consolidates: Simplified creation endpoint (removed
/submitsuffix) - Payload:
{ question, relatedAgendaItem, anonymous: boolean } - Response: Created question ID, confirmation
- Consolidation Benefit: Standard RESTful POST pattern
- Consolidates: Simplified creation endpoint (removed
-
GET /api/v1/partners/{partnerId}/meetings/{meetingId}/questions?filter={}
- Maintains standard list endpoint with filtering
- Returns: List of submitted questions, answers if available
- Consolidation Benefit: Standard filtering for own vs. all questions
Agenda Management (Embedded in Meeting Resource)
-
POST /api/v1/partners/{partnerId}/meetings/{meetingId}/agenda
- Consolidates: Former
/agenda/proposesimplified - Payload:
{ title, description, estimatedDuration, priority: "high|medium|low", supportingMaterials: [] } - Response: Proposal ID, review status
- Consolidation Benefit: Standard sub-resource creation pattern
- Consolidates: Former
-
GET /api/v1/partners/{partnerId}/meetings/{meetingId}/agenda?status=proposed
- Consolidates: Former separate proposals endpoint
- Returns: Agenda items filtered by status (proposed, approved, completed)
- Consolidation Benefit: Standard filtering replaces specialized endpoint
-
PATCH /api/v1/partners/{partnerId}/meetings/{meetingId}/agenda/{itemId}
- Consolidates: Support voting via PATCH operation
- Payload:
{ supportedBy: ["partnerId"], supportCount: increment } - Consolidation Benefit: Standard PATCH for partial updates
Action Items (Already in Meeting Include)
- PATCH /api/v1/partners/{partnerId}/meetings/{meetingId}/action-items/{itemId}
- Consolidates: Status updates via PATCH
- Payload:
{ status: "completed|in-progress|blocked", notes, completionDate, evidence: fileUrl } - Response: Updated action item
- Consolidation Benefit: Standard PATCH pattern; evidence included in same request
Meeting Scheduling & Requests
-
POST /api/v1/partners/{partnerId}/meetings
- Consolidates: Standard POST for creating meetings (includes requests)
- Payload:
{ type: "planning|review|strategic|ad-hoc", proposedDates: [], attendees: [], agenda, objectives, requestStatus: "pending" } - Response: Created meeting ID, review status
- Consolidation Benefit: Single endpoint for both scheduled meetings and requests
-
GET /api/v1/partners/{partnerId}/meetings?filter={βscheduledDateβ:{β$gteβ:β2025-05-01β,β$lteβ:β2025-05-31β}}
- Consolidates: Calendar functionality via date filtering
- Query params: filter (date range), view metadata
- Returns: Meetings within date range for calendar rendering
- Consolidation Benefit: Standard filtering eliminates specialized calendar endpoint
Navigation Map
Primary Navigation Actions
-
β Back button β Navigate back to
Partner Analytics Dashboard- Returns to main partner dashboard
-
[Calendar] button β Navigate to
Meeting Calendar View- Full calendar interface
- All partner meetings
- Meeting types color-coded
- Filter and search capabilities
-
Meeting title click β Navigate to
Meeting Details Screen- Comprehensive meeting information
- Full agenda with descriptions
- All participants
- Materials and resources
- Historical context
-
Agenda item click β Opens agenda item details modal
- Full description
- Supporting materials
- Presenter information
- Expected outcomes
- No screen navigation
-
Participant name click β Shows participant info tooltip
- Partner company
- Role/title
- RSVP status
- Contact information
- No screen navigation
-
[View All] participants button β Opens participants list modal
- Complete list of participants
- RSVP statuses
- Dietary restrictions (for organizer)
- Contact details
- No screen navigation
-
Action item checkbox β Toggles completion status
- Marks item as complete/incomplete
- Updates status via API
- Shows completion timestamp
- No screen navigation
-
Action item click β Opens action item details modal
- Full description
- Assignee information
- Due date
- Related materials
- Evidence upload option
- No screen navigation
-
Material file click β Triggers download
- Downloads document
- Opens in browser or saves locally
- No screen navigation
-
[Add to Calendar] button β Triggers calendar export
- Generates iCal file
- Downloads calendar invite
- Includes all meeting details
- No screen navigation
-
[View Materials] button β Navigate to
Meeting Materials Library Screen- All materials organized by topic
- Preview capabilities
- Batch download options
- Upload interface
-
[Submit Questions] button β Opens question submission modal
- Question form
- Agenda item selector
- Anonymous option
- Preview submitted questions
- No screen navigation after submit
-
[Propose Agenda Item] button β Navigate to
Agenda Proposal Screen- Agenda item form
- Duration estimation
- Supporting materials upload
- Priority selection
Secondary Navigation (Data Interactions)
-
RSVP status indicator β Opens RSVP modification modal
- Change attendance status
- Update attendee list
- Add special requests
- No screen navigation after update
-
Meeting location link β Opens location details modal
- Full address
- Map integration
- Parking/directions
- Virtual meeting link if applicable
- No screen navigation
Event-Driven Navigation
-
Meeting invitation received β Shows notification
- Meeting details preview
- Quick RSVP options
- Links to meeting details
- No automatic navigation
-
RSVP confirmed β Shows confirmation notification
- Calendar invite sent
- Confirmation email sent
- Action items reminder
- No automatic navigation
-
New agenda item proposed β Shows notification
- Proposed item preview
- Support/vote option
- Links to proposal details
- No automatic navigation
-
Question answered β Shows notification
- Answer preview
- Links to full Q&A
- Notification of who answered
- No automatic navigation
-
New material uploaded β Shows notification
- Material name and type
- Uploaded by information
- Download link
- No automatic navigation
-
Action item due date approaching β Shows reminder notification
- Days until due
- Action item description
- Quick status update option
- Links to action item details
-
Meeting materials available β Shows notification
- Materials ready for download
- List of new materials
- Download all option
- No automatic navigation
-
Meeting reminder (24 hours before) β Shows reminder notification
- Meeting time and location
- Action items status check
- Links to meeting details
-
Meeting starting soon (1 hour) β Shows urgent reminder
- Join virtual meeting link (if applicable)
- Last-minute material access
- Quick attendance confirmation
- No automatic navigation