Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Accumulation based on a set of infractions (accumulation groups)

    • e.g., 7.2(b) will result in a 1 game suspension, and 7.3(b) in a latter game will result in an accumulation sanction due to ‘any 2 majors’.

  • Multiple sanctions may be applied from a single game

    • e.g., in a fight, player may be assessed 7.10 Fighting Major + GM (1 game) + 7.11(a) Instigator (1 game)

    • e.g., 7.2(c) in game one results in 1 game suspension, then 7.8(c) in next game results in 3 games under 7.8(c) + 5 games under AS107 which is pending until after the 3 game has completed

  • Accumulation is per season

    • Head contact accumulation resets prior to minor championships

      • 🚩 Waiting to confirm if we’re isolating the championship office or setting a reset date for this accumulation group

  • Penalty in the last 10 minutes or OT, or an injury, can affect suspension severity

    • These factors do not create multiple suspensions, just a single suspension

  • Some sanctions are based on if the penalty was incurred pre/post game, or if an injury was sustained

    • Injury attribute added to penalties; pre/post meta is out of scope initially

  • Team OfficialsTeam Officials

    • Team officials may be suspended based on penalty accumulation in the same game

      • e.g., An official A staff member who’s players accumulate 3 majors in a game will be assessed a 1 game suspension, then 3 games the second game that happens, and an indefinite suspension for the third game it happens

    • Head coach is suspended by default unless they’re not present, then it would be an assistant coach or manager unless the referee reports otherwise

      • 🚩 Possibly implement this based on the signatory of the lineup?

...

Property

Type

Description

id

uuid

sanctionId

id

offense

number

1, 2, 3…

Behaviour

durationType

enum

Definite or Indefinite

games

number

Total games required to serve

lastMinutesGames

number

Optional - Total games required to serve when end of game or overtime (will hardcode to last 10 minutes for now)

(undefined → fall back to totalGames)

injuryGames

number

Optional - Total games required to serve when penalty has an injury

(undefined → fall back to totalGames)

days

number

Optional - Number of days to calculate the expiry date

lastMinutesDays

number

Optional - Number of days to calculate the expiry date in the last 10 minutes

injuryDays

number

Optional - Number of days to calculate the expiry date when penalty has an injury

Accumulation

positionGroups

enum[]

Optional - Applicable to players or bench staff

accumulationCount

Default to 1

priority

number

Priority precedence order for accumulations

minCount

number

Minimum number of infractions (>=)

maxCount

number

Maximum number of infractions (<=)

Settings Models

OfficeBreak (V2)

Required to define breaks when calculating the suspension expiry date for the season. Could also be used for the scheduler.

...

Property

Type

Description

lastMinutesDuration (V2)

number

Number of minutes before the end of the game when endGames of a sanction kicks in.

Hockey Canada defines this as 10 minutes; QC defines this as 5 minutes

suspensionActivation

enum

...

Property

Type

Description

id

uuid

gameId

id

Game the suspension originated in

participantId

id

Participant that was suspended

teamId

id

Team that the participant is suspended in

penaltyId

id

Penalty that resulted in the suspension

positionGroup

enum

Position that this participant was suspended in. Player, Staff

sanctionId

id

Sanction that was determined by the rulebook sanction rules

sanctionOffenseId

id

Is this necessary?

durationType

enum

Definite or Indefinite. This is required to be the same as the sanction duration

requiredGames

number

Number of games required to complete the suspension.

Optional when Indefinite duration type, but may be set with it

expiry

date

Optional - Date when the suspension will expire if the games requirement isn’t met

status

enum

Pending, Appealed, Active, Completed, Cancelled, Expired

externalId

uuid

For syncing with Spordle ID

Legacy suspension options (deprecated)

code

enum

Deprecated, replaced by sanctionId

Suspension Discipline

Property

Type

Description

id

uuid

suspensionId

id

Suspension

additionalGames

number

Additional games to the suspension

durationType

enum

Definite or Indefinite. To allow infinite duration

status

enum

Pending | Active | Inactive

comments

string

Comment section to allow the discipline committee to note changes

reviewedBy

string array

Array of members that reviewed the suspension

...

Discipline Committee
Status
colourBlue
titleTODO

...

As a league administrator, I want to be able to go into a suspension and increase the required number of games.

...

I also want to see a list of all the suspensions that required discipline committee actions.

  • Migration to add table

  • Add new model to API (one-to-

    Change “Supplemental” Suspension suspensions to “Manual“

    Create SuspensionDiscipline table

    Jira Legacy
    serverSystem Jira
    serverId03e16d48-9e59-3010-89f5-a1a3500d66b7
    keySPR-1344

  • SuspensionDiscipline Model

    Jira Legacy
    serverSystem Jira
    serverId03e16d48-9e59-3010-89f5-a1a3500d66b7
    keySPR-1279

    • Migration to add table

    • Add new model to API (one-to-one relation with Suspension)

      • Need to be able to do an include SuspensionDiscipline when fetching a suspension

    • Add scope suspension:managementscoresheets:discipline

  • Adjust purging logic to account for SuspensionDiscipline

    Jira Legacy
    serverSystem Jira
    serverId03e16d48-9e59-3010-89f5-a1a3500d66b7
    keySPR-1345

    • When purging sum requiredGames and additionalGames

    • If required games is indefinite count as zero when summing

    • If no required games is indefinite and there aren’t any additionalGames → indefinite suspension

  • Card to display and edit discipline committee information

    In suspension card, show initial games, discipline committee additional games, total games
    Jira Legacy
    serverSystem Jira
    serverId03e16d48-9e59-3010-89f5-a1a3500d66b7
    keySPR-1346

  • Add requireDisciplineCommittee on sanction offense

    • On create of a suspension off a sanction, if requireDisciplineCommittee is true, create a suspension discipline record with a pending status.

Lineup Status
Status
colourGreen
titlecomplete

...