Skip to main content
Petanque Life
← Back to all features
05

Officials & Judiciary

99 features · 9 subsystems

Management of umpires (all grades L1-L5), competition officials, disciplinary processes, and the judicial framework of petanque. Covers training, certification, assignment, and the entire disciplinary pipeline.

Umpire Registry

F05.01
Planned
How it works
  • F05.01.01 Shipped

    Configurable umpire grade system per tenant — each federation defines its own grade names, count, and progression path. Examples: Sweden (3: distrikts→nationell→internationell), Germany (4: Landesverband→DPV→CEP→FIPJP), France (5: club→départemental→régional→national→international). Grade list is tenant configuration, not hardcoded.

    ✅ PL-F0501a
  • F05.01.02 Shipped

    Umpire profile (grade, languages, specializations, photo, exam history)

    ✅ PL-F0501a
  • F05.01.03 Shipped

    Grade progression tracking (configurable path per tenant)

    ✅ PL-F0501a
  • F05.01.04 Shipped

    Certification exam management (schedule, results, pass/fail). Supports FIPJP exam rules: max 2 candidates per nation per year, age limit 60, exam held at VM.

    ✅ PL-F0501a
  • F05.01.05 Shipped

    Annual license renewal for umpires

    ✅ PL-F0501a
  • F05.01.06 Shipped

    Umpire availability calendar

    ✅ PL-F0501b
  • F05.01.07 Shipped

    Languages spoken (for international assignments)

    ✅ PL-F0501b
  • F05.01.08 Shipped

    Umpire statistics (matches officiated, competitions, incidents)

    ✅ PL-F0501b
  • F05.01.09 Shipped

    Umpire directory (searchable by grade, district/region, language, availability)

    ✅ PL-F0501b
  • F05.01.10 Shipped

    Umpire ID card (digital)

    ✅ PL-F0501b
  • F05.01.11 Shipped

    CEP/FIPJP certification tracking — umpire can hold both national and international certifications. CEP certification as stepping stone to FIPJP. Candidacy period (Germany: 1 year).

    ✅ PL-F0501c
  • F05.01.12 Shipped

    Playing umpire flag — configurable per tenant/competition level: some nations allow umpires to also play at local events (Sweden: local only), others never.

    ✅ PL-F0501c
  • F05.01.13 Shipped

    Required umpire grade per competition level — configurable per tenant (e.g., Sweden: distriktsdomare for local/regional, nationell for national, internationell for international)

    ✅ PL-F0501c

Umpire Assignment

F05.02
Planned
How it works
  • F05.02.01 Shipped

    Competition umpire requirements definition

    ✅ PL-F0502a
  • F05.02.02 Shipped

    Umpire invitation and acceptance workflow

    ✅ PL-F0502a
  • F05.02.03 Shipped

    Automatic assignment suggestions (based on grade, location, availability)

    ✅ PL-F0502a
  • F05.02.04 Shipped

    Conflict of interest detection (umpire vs. participating club/player)

    ✅ PL-F0502a
  • F05.02.05 Shipped

    Umpire expense reimbursement tracking

    ✅ PL-F0502b
  • F05.02.06 Shipped

    Post-competition umpire evaluation

    ✅ PL-F0502b
  • F05.02.07 Shipped

    Assignment history per umpire

    ✅ PL-F0502b
  • F05.02.08 Shipped

    Referee team composition — for major events: designate head referee (arbitre principal) + supporting referees. Configurable team structure per competition level.

    ✅ PL-F0502b

Umpire Training

F05.03
Planned
How it works
  • F05.03.01 Shipped

    Training course catalog (per grade level)

    ✅ PL-F0503a
  • F05.03.02 Shipped

    Online training modules (rules, scenarios, video)

    ✅ PL-F0503a
  • F05.03.03 Shipped

    Practical exam scheduling

    ✅ PL-F0503a
  • F05.03.04 Shipped

    Mentorship program (experienced umpire + trainee)

    ✅ PL-F0503a
  • F05.03.05 Shipped

    Continuing education requirements

    ✅ PL-F0503a
  • F05.03.06 Shipped

    Training material management (per language)

    ✅ PL-F0503b
  • F05.03.07 Shipped

    Candidacy/apprentice status — configurable per tenant: formal candidacy period between grades where candidate is observed before exam (Germany: Anwärterjahr, 1 year). Time-based progression gate.

    ✅ PL-F0503b
  • F05.03.08 Shipped

    Re-certification after license lapse — configurable per tenant: referees who stop for a period must complete refresher course before regaining grade (Spain: reciclaje).

    ✅ PL-F0503b
  • F05.03.09 Shipped

    Exam question bank management — configurable per tenant: question banks with point thresholds, multi-part exams (written + practical). Germany: 204 questions, 368 points. FIPJP: max 2 candidates/nation/year, age limit 60.

    ✅ PL-F0503b
  • F05.03.10 Shipped

    Training-module content-CRUD — UmpireTrainingModule med versionerade kapitel, multi-lang body_md, embedded MediaAsset, prereq-DAG och publish-validering (final_quiz_required, cyclic_prerequisite).

    ✅ PL-T224
  • F05.03.11 Shipped

    Practice-exam engine — timed, randomized, auto-scored attempts (single/multi/ordered/scenario), cooldown + max-attempts, manual-review-routing för scenario_judgement utan deterministisk korrekthet.

    ✅ PL-T224
  • F05.03.12 Shipped

    Certification progress vy — denormaliserad CertificationProgress med next_required_action-derivation, CE-credit-rolling-12m, mentor- och commission-visibility.

    ✅ PL-T224
  • F05.03.13 Shipped

    Official evaluation från template — EvaluationTemplate med diplomatic-phrase-library + OfficialEvaluation med visibility-nivåer, validering av incomplete_responses, ack-flöde mot pathway-step.

    ✅ PL-T224

Competition Jury

F05.04
Planned
How it works
  • F05.04.01 Shipped

    Jury composition per competition (president, members)

    ✅ PL-F0504
  • F05.04.02 Shipped

    Jury authority and scope definition

    ✅ PL-F0504
  • F05.04.03 Shipped

    On-field decision recording

    ✅ PL-F0504
  • F05.04.04 Shipped

    Appeal handling (team appeal to jury)

    ✅ PL-F0504
  • F05.04.05 Shipped

    Jury decision publication

    ✅ PL-F0504
  • F05.04.06 Shipped

    Jury report generation post-competition

    ✅ PL-F0504

Disciplinary System

F05.05
Planned
How it works
  • F05.05.01 Shipped

    Incident reporting (by umpire, official, player, or observer)

    ✅ PL-F0505a
  • F05.05.02 Shipped

    Incident classification (misconduct, cheating, doping, violence, abuse)

    ✅ PL-F0505a
  • F05.05.03 Shipped

    Disciplinary case management (open > investigate > hearing > decision)

    ✅ PL-F0505a
  • F05.05.04 Shipped

    Hearing scheduling and management

    ✅ PL-F0505a
  • F05.05.05 Shipped

    Evidence attachment (photos, videos, witness statements)

    ✅ PL-F0505a
  • F05.05.06 Shipped

    Sanction types (warning, fine, suspension, ban, point deduction)

    ✅ PL-F0505b
  • F05.05.07 Shipped

    Sanction enforcement (automatic competition ban during suspension)

    ✅ PL-F0505b
  • F05.05.08 Shipped

    Appeal process (to higher federation level)

    ✅ PL-F0505b
  • F05.05.09 Shipped

    Sanction notification to all relevant parties

    ✅ PL-F0505b
  • F05.05.10 Shipped

    Sanction register (searchable by federation level)

    ✅ PL-F0505b
  • F05.05.11 Shipped

    Sanction expiry and rehabilitation tracking

    ✅ PL-F0505c
  • F05.05.12 Shipped

    Cross-federation sanction sharing (suspended player cannot play elsewhere)

    ✅ PL-F0505c
  • F05.05.13 Shipped

    Full audit trail on all disciplinary actions

    ✅ PL-F0505c
  • F05.05.14 Shipped

    Alternative dispute resolution — configurable per tenant: formal arbitration/mediation as alternative to disciplinary proceedings (Spain: arbitraje de equidad with 3 arbiters). Configurable escalation path.

    ✅ PL-F0505c
  • F05.05.15 Shipped

    Discipline case-spine — full state-machine: draft → submitted → triage → evidence_collection → hearing_scheduled → hearing_in_progress → deliberation → decision_issued → appeal_window_open → appeal_window_closed/under_appeal → appeal_decision_issued → archived (+ withdrawn/dismissed/escalated side-paths).

    ✅ PL-T213
  • F05.05.16 Shipped

    Role-template-based intake — five role-driven intake forms (club_referee, court_marshal, event_marshal, jury_president, public) with required-field validation per role.

    ✅ PL-T213
  • F05.05.17 Shipped

    Severity auto-classification — derives severity_hint from offence-code → severity rank table at submit time; manual override requires rationale.

    ✅ PL-T213
  • F05.05.18 Shipped

    Tenant offence vocabulary — per-tenant offence taxonomy (codes, names, severity defaults) layered on canonical FIPJP offences; configurable per federation.

    ✅ PL-T213
  • F05.05.19 Shipped

    Tamper-evident evidence locker — SHA-256 hash chain per case (chain_hash = sha256(prev

    | content_hash || iso(submitted_at) || submitted_by)); periodic verifier flags integrity_alert. | ✅ PL-T213
  • F05.05.20 Shipped

    WORM evidence blob storage — Azure Blob immutability policy via EvidenceBlobStore protocol; locked retention (default 10 years), MIME-type allow-list, EXIF stripping for photos.

    ✅ PL-T213
  • F05.05.21 Shipped

    Evidence supersede / withdraw / redact — versioned evidence with chain-preserving supersede, withdrawal marker, and GDPR-redaction overlay (original blob untouched).

    ✅ PL-T213
  • F05.05.22 Shipped

    Sanction catalog with recommended-range engine — propose-sanction validates against precedent-derived [min,max] window; deviation requires rationale.

    ✅ PL-T213
  • F05.05.23 Shipped

    Panel decision with optimistic locking — confirm_panel_decision requires expected_deliberation_version; majority-vote enforced; auto-advances case to appeal_window_open.

    ✅ PL-T213
  • F05.05.24 Shipped

    Sanction lifecycle ticks — appeal_window_close_tick (5 min), sanction_expiry_tick (15 min), automatic pending_appeal_window → active → expired.

    ✅ PL-T213
  • F05.05.25 Shipped

    Formal appeals workflow — file → admissibility → hearing → decided (overturned/modified/upheld/dismissed); cascades sanction status; opens next-tier escalation window if upheld/modified.

    ✅ PL-T213
  • F05.05.26 Shipped

    Cross-tenant suspension registry — published to FIPJP tenant, signed payload (HMAC-SHA512 stub → ES512 in prod), replicated to subscriber LocalSuspensionCache for O(1) license checks.

    ✅ PL-T213
  • F05.05.27 Shipped

    Cross-tenant fan-out reconciler — every 4 h: retries pending fan-outs (max 8 attempts), expires entries past effective_until, ack tracking per tenant.

    ✅ PL-T213
  • F05.05.28 Shipped

    Precedent materializer — every 1 h: snapshots terminal cases into SanctionPrecedent registry (anonymised case-id hash) so search & recommended-range stay warm.

    ✅ PL-T213
  • F05.05.29 Shipped

    Public protocol publication — anonymised, locked Markdown ProtocolDocument; refuses safeguarding cases and minor subjects; corrections appended as immutable diffs (original markdown preserved).

    ✅ PL-T213
  • F05.05.30 Shipped

    GDPR legal-hold + retention sweep — cases default legal_hold=True; case_retention_sweep (24 h) flags expired non-held archived cases for purge.

    ✅ PL-T213
  • F05.05.31 Shipped

    Discipline audit dual-write — every action writes both DisciplinaryAuditEntry (domain-specific) and platform AuditLog.

    ✅ PL-T213
  • F05.05.32 Shipped

    Self-service player view — /me/discipline/cases lists own cases & sanctions; /me/discipline/sanctions/{id}/appeal files appeal within window.

    ✅ PL-T213

Referee Delegate

F05.06
Planned
How it works
  • F05.06.01 Shipped

    Delegate appointment per competition

    ✅ PL-F0506
  • F05.06.02 Shipped

    Delegate report template and submission

    ✅ PL-F0506
  • F05.06.03 Shipped

    Competition compliance checklist

    ✅ PL-F0506
  • F05.06.04 Shipped

    Delegate observation notes (umpire performance)

    ✅ PL-F0506

Disciplinary Cases per Nation

F05.07
Planned

Per-nation disciplinary commission structures, investigation process configuration, appeal escalation chains, sanction catalogs, CAS appeals, anonymized public protocols, and dashboard.

How it works
  • F05.07.01 Shipped

    France — Commission de discipline (3 levels: département → régionale → nationale)

    ✅ PL-F0507a
  • F05.07.02 Shipped

    Sweden — Disciplinnämnd och Bestraffningsdomstol (RF)

    ✅ PL-F0507a
  • F05.07.03 Shipped

    Germany — Sportgericht på Landes- und Bundesebene

    ✅ PL-F0507a
  • F05.07.04 Shipped

    Standard investigation process — configurable steps, deadlines, responsible roles

    ✅ PL-F0507a
  • F05.07.05 Shipped

    Per-nation sanktionskatalog — each federation defines predefined sanctions (codes, types, durations, fines, bans) in TenantConfig. Catalog entries filterable by category, sanction_type, min_level.

    ✅ PL-F0507b
  • F05.07.06 Shipped

    CAS-överklagan (Court of Arbitration for Sport) — CAS appeal for international disciplinary cases. Requires exhausted domestic appeal. Status flow: filed → registered → under_review → hearing_scheduled → decided/withdrawn.

    ✅ PL-F0507b
  • F05.07.07 Shipped

    Anonymiserat publikt protokoll — public-facing endpoint with PII stripped (no player/club IDs, reporter, investigator, attendees, evidence URLs). Only decided/closed cases. Evidence count instead of URLs.

    ✅ PL-F0507b
  • F05.07.08 Shipped

    Discipline case management dashboard — aggregated statistics: cases by status/category, sanction distribution, open case aging buckets, appeal stats, average resolution days.

    ✅ PL-F0507b

Umpire Training & Certification per Nation

F05.08
Planned

Nation-specific training pathways, multi-part exams, prerequisite grade years, refresher/recyclage courses, exam time limits, online exams, recertification cycles, registry expiration, and assignment history.

How it works
  • F05.08.01 Shipped

    France — Arbitre Régional / National / International — multi-part exams (written + practical) with per-part scoring and pass/fail, written-before-practical ordering, training pathways (course → exam → practical) per grade, recyclage (refresher) courses for renewal, training provider levels (comité/ligue/fédération)

    ✅ PL-F0508a
  • F05.08.02 Shipped

    Sverige — SDF-baserad domarutbildning — 3-grads system (L1/L2/L3), SDF som utbildningsanordnare, spelande domare tillåten på lokalnivå, erfarenhetskrav per grad

    ✅ PL-F0508a
  • F05.08.03 Shipped

    Deutschland — Schiedsrichter A/B/C — 4-grads system (LV/DPV/CEP/FIPJP), Anwärterjahr (1 år kandidatperiod), 204-frågeexamen med poängtröskel, CEP→FIPJP kräver 5 års innehavstid

    ✅ PL-F0508a
  • F05.08.04 Shipped

    Training pathway engine — configurable training steps per grade, multi-part exam status tracking, prerequisite grade years check, exam time limit with automatic expiry, pathway progress endpoint

    ✅ PL-F0508a
  • F05.08.05 Shipped

    Domarexamen online med tidsbegränsning — online exam serving (questions without answers), draft answer saving, automatic expiry on time limit, remaining-time check, expired session listing

    ✅ PL-F0508b
  • F05.08.06 Shipped

    Recertifiering var 4:e år — recertification eligibility check (CE credits, assignments, cert status), recertification schedule (certs approaching expiry within configurable window)

    ✅ PL-F0508b
  • F05.08.07 Shipped

    Domarregister med expirering — batch process-expirations (active→expired), expiry report aggregated by grade/month, grace period listing for recently expired certs

    ✅ PL-F0508b
  • F05.08.08 Shipped

    Domarens uppdragshistorik — career summary (total assignments, head umpire count, distinct levels, career span), season breakdown (per-year role/status/level counts)

    ✅ PL-F0508b

Global Referee Registry & Cross-Tenant Lending

F05.09
Planned

FIPJP-centralt domarregister med cross-tenant domarutlåning. Aggregerar nationella certifieringar, stödjer formell utlåning mellan federationer vid internationella mästerskap.

How it works
  • F05.09.01 Shipped

    GlobalReferee-modell (FIPJP-tenant) — global_referee_id (FIPJP-REF-YYYY-NNNN), passport_id FK, certifications list, languages, status. Unique index on passport_id.

    ✅ PL-T015
  • F05.09.02 Shipped

    RefereeLoanArrangement-modell — cross-tenant loan workflow (REQUESTED→ACCEPTED→APPROVED→ACTIVE→COMPLETED), conflict detection, compensation, approval history.

    ✅ PL-T015
  • F05.09.03 Shipped

    FIPJP referee admin endpoints — CRUD + sync-certifications + promote + status change + sync-from-nation (M2M).

    ✅ PL-T015
  • F05.09.04 Shipped

    Public referee search — by-passport lookup + multi-filter search (discipline, level, language, availability). Privacy-safe: no contact info.

    ✅ PL-T015
  • F05.09.05 Shipped

    Loan workflow endpoints — create, accept-referee, approve-source, reject-source, cancel, complete. Double-booking detection (409).

    ✅ PL-T015
  • F05.09.06 Shipped

    Auto-certification-sync — TenantConfig.fipjp_referee_publish_enabled, sync service pulls from national UmpireCertification.

    ✅ PL-T015
  • F05.09.07 Shipped

    Admin UI — FIPJP referee dashboard (list, filter, sync, promote, suspend) + loan arrangement dashboard (status tracking, approve/reject/cancel/complete).

    ✅ PL-T015