-
-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
Feature Request
As an event using an external Passport identity provider, we could do with some API endpoints that let us:
- Retrieve a user’s internal ID from their external provider ID
- Fetch the seating plan for a specific user
- (Optionally) Fetch the full seating plan for an event
Proposed Endpoints
-
List linked accounts
GET/api/v1/linkedaccounts- Query parameters:
external_id(integer) - user’s ID in external systemsocial_provider(integer) - ID of the auth provider
- Returns: internal user object with
user_id
- Query parameters:
-
Fetch tickets and seats for a user
GET/api/v1/tickets- Query parameters:
event(integer) - event IDuser_id(integer) - internal user ID from linkedaccounts
- Returns: list of tickets, each including:
seat_idseating_plan_id?x_position(number)y_position(number)- any existing metadata
- Query parameters:
-
Fetch entire seating plan
GET/api/v1/seatingplan- Query parameters:
event(integer) - event ID
- Returns: full cached plan, with each seat entry including:
seat_idx_positiony_positionuser_id(if occupied)- whatever extra metadata is available
- Query parameters:
Why This Matters
- Makes it trivial to look up where any logged-in user is sitting
- Enables integrations without manual lookups
- Supports both individual seat queries and bulk retrieval of the seating plan
Acceptance Criteria
Endpoints are added which allow us to:
- Determine the internal user ID from an external ID
- Get a list of tickets/seats for a user from an internal user ID
- Get the full seating plan for an event with enough data that allows us to see where an internal user ID is sat, and specifically, the users that are sat around them
Metadata
Metadata
Assignees
Labels
No labels