## Description
The RSVP attendees list is not showing team users' RSVP statuses on the event detail page. When users RSVP to an event (Yes/No/Maybe), their responses should appear in the "Attendees" card at the bottom of the event detail page, but currently the list appears empty or fails to load.
## Original Report
> RSVP not showing RSVP statuses of team users in event detail page
>
>
Context (auto-captured)
> - Team: Team Flexslot
> - Subscription: team
> - Browser: Chrome 144.0.0.0 (Windows)
## Steps to Reproduce
  1. Navigate to
    /events
    and select an event
  2. Have multiple team members RSVP to the event using the "Your Response" buttons
  3. View the event detail page
  4. Observe the "Attendees" card at the bottom of the page
  5. Expected
    : See list of RSVPs grouped by response (Going, Maybe, Not Going)
  6. Actual
    : Attendees list is empty or not loading
## Technical Context
### Frontend Components
  • Event Detail Page
    :
    /apps/frontend/src/app/(app)/events/[id]/event-detail-content.tsx
- Fetches event via
tournamentsRetrieveOptions({ path: { id } })
- Fetches RSVP summary via
tournamentsRsvpsSummaryRetrieveOptions({ path: { event_pk: id } })
- Renders
RSVPSummary
(line 173) - shows compact badge with counts
- Renders
RSVPButton
(line 184-188) - allows user to set their RSVP
- Renders
RSVPAttendees
(line 419) - shows full attendee list grouped by response
  • RSVPAttendees Component
    :
    /apps/frontend/src/components/events/rsvp-attendees.tsx
- Fetches attendees via
tournamentsRsvpsListOptions({ path: { event_pk: eventId }, query: { page_size: 100 } })
- Groups RSVPs by response type (yes/maybe/no)
- Displays avatar, name, and optional note for each attendee
  • RSVPSummary Component
    :
    /apps/frontend/src/components/events/rsvp-summary.tsx
- Shows counts (X going, +Y maybe) in a badge
- Tooltip shows breakdown
### Backend API
  • ViewSet
    :
    /apps/backend/apps/tournaments/views/event_rsvp.py
-
list
action: Lists all RSVPs for event, uses
list_rsvps_for_event()
selector
-
summary
action: Returns counts + current user's RSVP
  • Selector
    :
    /apps/backend/apps/tournaments/selectors/event_rsvp.py
-
list_rsvps_for_event()
: Filters by event_id, uses
select_related("user")
-
get_rsvp_counts_for_event()
: Aggregates counts with Django Count/Q
  • Serializer
    :
    /apps/backend/apps/tournaments/serializers/event_rsvp.py
-
EventRSVPSerializer
: Returns user details (id, first_name, last_name, display_name, avatar_url)
### API Endpoints
  • GET /api/v1/tournaments/{event_pk}/rsvps/
    - List all RSVPs for event
  • GET /api/v1/tournaments/{event_pk}/rsvps/summary/
    - Get counts + my RSVP
  • POST /api/v1/tournaments/{event_pk}/rsvps/set/
    - Set/update RSVP
  • DELETE /api/v1/tournaments/{event_pk}/rsvps/remove/
    - Remove RSVP
## Potential Root Causes
  1. API returning empty results
    - The
    /rsvps/
    endpoint may not be returning RSVPs despite them existing in the database
  2. Multi-tenancy filtering
    - EventRSVP model uses BaseModel (not TenantModel), but the event itself is team-scoped; ensure RSVPs are correctly filtered by event
  3. Missing pagination handling
    - Frontend requests page_size=100 but API may be returning paginated response differently
  4. Response serialization issue
    - User data may not be properly nested in the response
## Investigation Steps
  1. Check browser Network tab for the
    /rsvps/
    API response
  2. Verify RSVPs exist in database for the specific event (ID: 247c9324-7d03-42a3-b18b-e9d3dd4bab9e)
  3. Test the endpoint directly:
    GET /api/v1/tournaments/247c9324-7d03-42a3-b18b-e9d3dd4bab9e/rsvps/
  4. Check if
    RSVPSummary
    counts are showing correctly (if yes, data exists)
  5. Inspect component render - check if
    data?.results
    is being accessed correctly
## Acceptance Criteria
  • [ ] RSVPs are correctly fetched from the API when viewing event detail page
  • [ ] Attendees card displays all team members who have RSVPed
  • [ ] RSVPs are grouped correctly by response (Going, Maybe, Not Going)
  • [ ] User avatars and display names render correctly
  • [ ] RSVP notes display if provided
  • [ ] Empty state shows "No responses yet" when no RSVPs exist
## Questions for Stakeholder
  1. Is the RSVP summary badge (showing "X going +Y maybe") working correctly? This would help narrow down frontend vs backend issue.
  2. Does this affect all events or only specific ones?
  3. Are the RSVP buttons (Yes/No/Maybe) working to set your own RSVP?
## Estimated Complexity
S (Small)
- Likely a data fetching or serialization issue that can be fixed with targeted debugging