Match

A Match object describes a single match scheduled between two teams. A Match object with MatchTeam objects but without MatchPlayer objects can be used to describe a match that has been scheduled but not played. Matches are contained in Round objects, which are contained in Phase objects of the Tournament.

If a Match includes Lineup objects on its MatchTeam objects and includes MatchQuestion objects, a complete scoresheet can be reconstructed.

tossups_readNumber

The number of tossups read, including any tossups read in overtime. This should be absent or null (not 0) in forfeit matches.

overtime_tossups_readNumber

The number of tossups read in overtime. This should be absent or null (not 0) in forfeit matches.

locationString

The location of the match. Probably a room name.

packetsString

The packet(s) used for the match if different from that implied by the packet field of the Round containing the match. This would be used if a small number of matches used different packet(s) than most matches in that round, e.g. by mistake, to fix a previous mistake, or to accommodate a team that had written the packet used for most games in the round.

tiebreakerBoolean

Was the match a tiebreaker match?

moderatorString

Moderator's name.

scorekeeperString

Scorekeeper's name.

serialString

"For control room use only"-type serial number.

match_teamsArray of MatchTeam

The performances of the teams in this match; see below.

carryover_phasesArray of Phase

Additional phases in which this match should count, besides the one that actually contains it. This is used for "carrying over" games.

match_questionsArray of MatchQuestion

The question-by-question account of what happened.

notesString

Freeform text field to record any notes about the match, such as protests or questions read out of order.

MatchTeam

teamTeam

The team playing this side of the match.

At least one of team or card is required.

cardString

The card this team was holding at the beginning of this match.

At least one of team or card is required.

forfeit_lossBoolean

Did this team forfeit this match? If absent, assumed to be false. Note that it is possible for both teams in a match to forfeit.

pointsNumber

The total score for this team in this match.

It is invalid to provide both points and bonus_points since that could allow for inconsistent data. Generally, bonus_points is preferred; points is for results that do not include detailed (player-level) statistics.

bonus_pointsNumber

The number of points this team earned on bonuses.

It is invalid to provide both points and bonus_points since that could allow for inconsistent data. Generally, bonus_points is preferred; points is for results that do not include detailed (player-level) statistics.

correct_tossups_without_bonusesNumber

The number of tossups this team answered correctly (in any form) without earning a bonus. If absent, assumed to be 0. Generally this occurs in overtime, but some formats may use tossups without bonuses in one phase of the game. This field can be used to correctly calculate points per bonus, whose denominator in most formats would be the total number of tossups answered correctly by the team minus this field's value. For more complicated overtime scenarios (e.g. involving nonstandard AnswerTypes), you will need to create different AnswerTypes with different values of awards_bonus.

bonus_bounceback_pointsNumber

The number of points this team earned on bonuses bounced back from the opponent.

lightning_pointsNumber

The number of points this team earned on lightning questions.

lightning_bounceback_pointsNumber

The number of points this team earned on lightning questions bounced back from the opponent.

match_playersArray of MatchPlayer

The performances of the players on this team; see below.

lineupsArray of Lineup

Which players were playing when; see below.

signatureSignature

An object containing information that documents a team's acceptance of the result of the match. The absence of this object could mean the team has not yet accepted the result, the team has refused to accept the result, or simply that the tournament does not care to track acceptance of results. The exact meaning of "acceptance" is up to the tournament—it could mean acceptance of the overall outcome, acceptance of the final score, acceptance of every detail, or something else.

suppress_from_statisticsBoolean

Indicates that the match should be excluded from calculations of standings, statistics, etc. If absent, this will be assumed to be false.

MatchPlayer

playerPlayer

The player whose performance in this match is being stored.

tossups_heardNumber

The number of tossups this player heard.

answer_countsArray of PlayerAnswerCount

The number of this player's answers for each answer value.

PlayerAnswerCount

numberNumber

Number of questions answered for this many points.

answer_typeAnswerType

For nonstandard question types, the particular details about this answer type.

Lineup

first_questionNumber

Which question number this lineup heard first. The players in this lineup will be credited with hearing all tossups until another lineup takes precendence or until the end of the game, whichever comes first.

playersArray of Player

Which players were in this lineup, in the same order that they would appear on the scoresheet. This array's length is less than or equal to the maximum_players_per_team field from the tournament's ScoringRules object.

captainPlayer

Which player serves as the captain during the time this Lineup is in effect. This player must be listed in the players field.

reasonOne of the following:
  • initial
  • own_timeout
  • other_timeout
  • halftime
  • segment_break
  • before_overtime

What opportunity the team had to set or change its lineup.

If reason is "initial", then first_question should be 1.

The "segment_break" option represents a moment between portions of a match such as the end of the first quarter in a four-quarter format. "halftime" can be thought of as equivalent to "segment_break" for the common case of match formats whose regulation segments are simply two halves. "before_overtime" can be thought of as a special case of "segment_break".

Signature

image_urlString

The URL of an image of the signature of a member of the team (typically a coach or captain), indicating their acceptance of the result.

notesString

Any comments the signer made related to acceptance of the result.

MatchQuestion

question_numberNumber

Which tossup-bonus cycle number this was. Starts at 1.

tossup_questionQuestion

Information about the tossup question in this cycle.

tossup_start_timeDate

The time at which the moderator began reading the tossup. An ISO 8601-formatted string, with time zone, in the tournament's local time zone.

replacement_tossup_questionQuestion

Information about the tossup question used as a replacement in this cycle, if any. Omit if the tossup was not replaced. Multiple replacement tossups are not currently supported.

replacement_tossup_start_timeDate

The time at which the moderator began reading the replacement tossup. An ISO 8601-formatted string, with time zone, in the tournament's local time zone.

replacement_tossup_question_match_teamsArray of MatchTeam

The MatchTeams who were eligible to answer the replacement tossup. Any MatchTeams in this match but not in this field should be understood to have been eligible to answer the original tossup_question.

buzzesArray of MatchQuestionBuzz

The number of points scored and by whom on each buzz. The length of this array will be equal to or less than the number of teams playing the match.

bonus_pointsNumber

How many bonus points were awarded on this question. May be omitted if the question type doesn't award a bonus; must be omitted if bonus is present.

bonus_bounceback_pointsNumber

How many bonus points were awarded when this question's bonus bounced back. May be omitted if bonus is present, if the question type doesn't award a bonus, or if bonuses don't bounce back.

bonusMatchQuestionBonus

Information about the bonus that was read for this question. Must be omitted if bonus_points is present; may be omitted if no bonus was read for this question, but should not be omitted merely because no points were earned on the bonus.

bonus_start_timeDate

The time at which the moderator began reading the bonus. An ISO 8601-formatted string, with time zone, in the tournament's local time zone.

replacement_bonusMatchQuestionBonus

Information about the bonus question used as a replacement in this cycle, if any. Omit if the bonus was not replaced. Multiple replacement bonuses are not currently supported.

MatchQuestionBuzz

teamTeam

Which team's player buzzed in.

playerPlayer

Which player buzzed in.

buzz_positionBuzzPosition

Details on the timing of the buzz.

resultAnswerType

The result of the player's buzz, representing how many points the player's team received.

BuzzPosition

timeDate

The time of the buzz. An ISO 8601-formatted string, with time zone, in the tournament's local time zone. May not be before the start time of reading the relevant question.

word_indexNumber

The (0-based) index of the word on which the player buzzed. Hearing any part of a word should be considered the same as hearing the entire word. So if a question begins "Abraham Lincoln…" and the player buzzes on "Abra—", this value would be 0.

clue_indexNumber

The (0-based) index of the clue on which the player buzzed. Clues may be defined in the Question object. Hearing any part of a clue should be considered the same as hearing the entire clue.

MatchQuestionBonus

questionQuestion

Information about the question used as a bonus.

partsArray of MatchQuestionBonusPart

Information about each part of the bonus.

eligible_match_teamsArray of MatchTeam

The MatchTeams who were eligible to answer this bonus. This is primarily useful for replacement questions. If omitted, it is assumed to be only the team who answered the tossup correctly (in scoring rules that do not use bouncebacks) or all teams (in scoring rules that use bouncebacks).

MatchQuestionBonusPart

For bonuses that do not have distinguishable parts — e.g. “Name any m of the n things that…” or 30–20–10-style bonuses, treat the entire bonus as a single MatchQuestionBonusPart.

controlled_pointsNumber

Number of points earned by the controlling team. In all formats with which we are familiar, this must be a nonnegative integer.

bounceback_pointsNumber

Number of points earned by the non-controlling team. May be omitted if bonuses do not bounce back, but should not be omitted merely because the non-controlling team earned no points.

In all formats with which we are familiar, this must be a nonnegative integer. Usually it can only be positive if controlled_points is 0, but for bonuses of the form "Name any m of the n…") it would be possible for both controlling_points and bounceback_points to be positive.