Get desktop application:
View/edit binary Protocol Buffers messages
Input to AddDirectors should be director usernames.
Input to AddPlayers should be player usernames
CheckIn allows players to check themselves in.
date is the date of the session This is used as scheduled_start_time for the tournament now that we store this data.
GetMyTournaments returns tournaments where the authenticated user is a director.
(message has no fields)
optional limit for number of tournaments to return (default 100)
(message has no fields)
club_id
User must provide the ID, or the slug (but not both)
directors are not part of the metadata. We decided to make those individually addable/removable (See AddDirectors)
Monitoring/invigilation endpoints
MovePlayer moves a player from one division to another
If slug is not assigned, a random ID will be chosen.
tournament id
Input to RemoveDirectors should be director usernames.
Input to RemovePlayers should be player usernames
"camera" or "screenshot"
"camera" or "screenshot"
TournamentResultOverrideRequest is sent when a score needs to be edited or added by a director. Note that player one and player two need to be the players that went first and second, respectively; otherwise, we will not be able to accurately track firsts/seconds.
set_only_specified sets only the specified fields, and not the entire metadata. non-zero-value fields will be treated as "specified"
Uncheck everyone in. Use this some time before the beginning of a session.
Used as response type in: TournamentService.CreateClubSession
Used as field type in:
Note that club sessions are tournaments in our backend. We return the created tournament ID here:
slug will look like /club/{club_name}/{date}. It should be case-insensitive.
Used in: ,
A Standard tournament
A new "clubhouse"
A club session or child tournament.
A legacy tournament
Used as request type in: TournamentService.AddDivision, TournamentService.RemoveDivision
Used in:
Used in: , , , ,
description is the markdown information for the tournament on the right-hand side
a caption that shows up for the tournament in various places.
tile_style if set is default
board_style if set is default
for clubs (not tournaments) we want to be able to hard-code settings if the following parameter is set.
When setting the game request, some clubs would like some parameters to be more freeform (for example, lexicon option or time setting). The following parameter is a list of field names that are freeform. The acceptable values are: lexicon, time, challenge_rule, rating_mode, variant_name
a simple password for this tournament. Without it you can't see what is happening. Likely front-end only implementation, although password will be at least hashed. For clubs that want to be more private.
a url to a logo in the metadata card, disclaimer card and center square.
an override color for the gradient in the tournament info
irl_mode allows tournament mode to be used for pairings for an over-the-board tournament, and will not enforce that usernames are registered on the site.
monitored enables invigilation/monitoring mode requiring participants to share camera and screenshot streams via vdo.ninja
first_director is the username of the first tournament director
registrant_count is the total number of registered players across all divisions
divisions contains a summary of each division for copy/template purposes
Used in:
If player_one_id and player_two_id are the same, we should specify what we want the result to be (BYE, FORFEIT_LOSS, VOID)
Used as response type in: TournamentService.AddDirectors, TournamentService.AddDivision, TournamentService.AddPlayers, TournamentService.CheckIn, TournamentService.CloseCheckins, TournamentService.CloseRegistration, TournamentService.FinishTournament, TournamentService.InitializeMonitoringKeys, TournamentService.MovePlayer, TournamentService.OpenCheckins, TournamentService.OpenRegistration, TournamentService.PairRound, TournamentService.Register, TournamentService.RemoveAllPlayersNotCheckedIn, TournamentService.RemoveDirectors, TournamentService.RemoveDivision, TournamentService.RemovePlayers, TournamentService.RenameDivision, TournamentService.RequestMonitoringStream, TournamentService.ResetMonitoringStream, TournamentService.SetDivisionControls, TournamentService.SetPairing, TournamentService.SetResult, TournamentService.SetRoundControls, TournamentService.SetSingleRoundControls, TournamentService.SetTournamentMetadata, TournamentService.StartRoundCountdown, TournamentService.UncheckAllIn, TournamentService.UnfinishTournament, TournamentService.UnstartTournament
(message has no fields)