Skip to main content

Ad Hoc (Flex Rounds)

Overview​

An Ad Hoc draw (also known as Flex Rounds) allows an arbitrary number of matchUps to be added to an arbitrary number of rounds. Unlike elimination or round robin draws, there is no predetermined bracket structure -- matchUps are created as needed.

In the factory, this draw type is represented by the constant AD_HOC. The alias FLEX_ROUNDS resolves to the same value.

Structure​

  • No fixed draw size or bracket shape.
  • Rounds can contain any number of matchUps.
  • Participants can appear in multiple rounds without being eliminated.
  • There are no links between rounds -- each round is independent.
  • No automatic advancement between rounds.
Round 1: P1 vs P2, P3 vs P4, P5 vs P6
Round 2: P1 vs P3, P2 vs P5
Round 3: P3 vs P5, P1 vs P6, P2 vs P4

Use Cases​

  • Informal or social tournaments without a fixed bracket.
  • Practice sessions or training events.
  • Formats where a tournament director manually assigns matchUps each round based on availability or other criteria.
  • Events where the number of rounds and matchUps per round are not known in advance.

Generation​

const { drawDefinition } = engine.generateDrawDefinition({
drawSize: 12,
drawType: 'AD_HOC',
});

MatchUps can be added to the draw after generation using the appropriate engine methods.

Automated Pairing with DrawMatic​

For events where participants should be paired by skill level with dynamic ratings, Ad Hoc draws support automated pairing via DrawMatic — a probabilistic algorithm that generates fair, balanced matchups each round while avoiding repeat opponents and same-team pairings.

Pairing Shapes​

Where the full schedule is known before play begins — a league in which everyone plays everyone, possibly home-and-home — a round robin pairing shape generates it in one call:

const { drawDefinition } = engine.generateDrawDefinition({
drawType: 'AD_HOC',
drawSize: 8,
eventId,
pairingProfile: { shape: 'ROUND_ROBIN', encounters: 2 },
});

Unlike DrawMatic, a shape guarantees that every entrant meets every other entrant, and supports partial schedules via roundsCount.

Rotating Partners (Americano and Mexicano)​

In an Americano or Mexicano draw, individuals change partner every round. A draw-level competition profile stores the format, scoring contract and pairing seed, and the factory generates each round deterministically. Americano rotates partners so that each player partners every other player exactly once; Mexicano pairs each round from the individual standings of the rounds before it. See Rotating Partner Pairing for previews, applying rounds, individual standings and audited settlements.