Competition Management
342 features · 23 subsystems
End-to-end management of all petanque competitions: from calendar planning to results and rankings. Covers all formats (singles, doubles, triples), all levels (club to world championships), and all disciplines (petanque, jeu provencal, sport-boules).
Competition Calendar
F04.01- F04.01.01 Shipped
Multi-level calendar (world, continental, national, regional, club) — PL-F0401a
✅ PL-F0401a - F04.01.02 Shipped
Calendar event types (championship, open, league, friendly, training) — PL-F0401a
✅ PL-F0401a - F04.01.03 Shipped
Date conflict detection across levels — PL-F0401a
✅ PL-F0401a - F04.01.04 Shipped
Calendar approval workflow (regional > national > continental) — PL-F0401a
✅ PL-F0401a - F04.01.05 Shipped
Public calendar view with filters (level, region, discipline, format) — PL-F0401b
✅ PL-F0401b - F04.01.06 Shipped
Calendar subscription (iCal export, webcal://, ETag/If-Modified-Since, cursor pagination) — PL-F0401b, PL-T074
✅ PL-F0401b, PL-T074 - F04.01.07 Shipped
Season definition and management — PL-F0401b
✅ PL-F0401b - F04.01.08 Shipped
Calendar notifications and reminders — PL-F0401b
✅ PL-F0401b
Tournament Setup
F04.02- F04.02.01 Shipped
Tournament creation wizard (type, format, rules, venue, dates) — PL-F0402a
✅ PL-F0402a - F04.02.02 Shipped
Competition formats (see F04.10 for full format catalog) — PL-F0402a
✅ PL-F0402a - F04.02.03 Shipped
Disciplines: pétanque, jeu provençal, sport-boules — configurable per tenant — PL-F0402a
✅ PL-F0402a - F04.02.04 Shipped
Configurable game formats per tenant — tête-à-tête, doublette, triplette, mixed doublette, mixed triplette + tenant-specific variants. Includes players per team, boules per player. — PL-F0402a
✅ PL-F0402a - F04.02.05 Shipped
Configurable competition classes (spelklasser) per tenant — each federation defines its own age/gender classes with codes, age limits, and ranking eligibility. Examples: Sweden (M/YJ/J/Ö/D/V55/V65), France (Poussin→Vétéran), Germany (Minimes→Senioren), Spain (Benjamín→Veterano+Sub-23). Class is always age OR gender, never both combined. — PL-F0402a
✅ PL-F0402a - F04.02.06 Shipped
Competition class = competition class + game format — the atomic unit is the combination, e.g., "Ös" (Open singles), "V65d" (Veteran 65 doubles). A competition event can have multiple competition classes. — PL-F0402a
✅ PL-F0402a - F04.02.07 Shipped
Disability categories and adaptive rules — PL-F0402b
✅ PL-F0402b - F04.02.08 Shipped
Points system configuration (per competition type) — PL-F0402b
✅ PL-F0402b - F04.02.09 Shipped
Entry fee configuration — PL-F0402b
✅ PL-F0402b - F04.02.10 Shipped
Maximum participants / team limits — PL-F0402b
✅ PL-F0402b - F04.02.11 Shipped
Qualification criteria (ranking threshold, regional qualification) — PL-F0402b
✅ PL-F0402b - F04.02.12 Shipped
Multi-day tournament scheduling — PL-F0402b
✅ PL-F0402b - F04.02.13 Shipped
Competition regulation document attachment — PL-F0402c
✅ PL-F0402c - F04.02.14 Shipped
Configurable competition levels per tenant — each federation defines its own levels (e.g., Sweden: internationell/nationell/regional/lokal/propaganda; France: international/national/régional/départemental/local/animation; Germany: A/B/C/D). Each level has: who can sanction it, ranking eligibility, ranking coefficient, required referee grade, venue requirements. — PL-F0402c
✅ PL-F0402c - F04.02.15 Shipped
Competition type classification — configurable per tenant: championship (SM/DM/VM), cup, open/concours, league, friendly, mêlée, propaganda/recruitment (license-free), inbjudningstävling, extern tävling — PL-F0402c
✅ PL-F0402c - F04.02.16 Shipped
Multi-discipline event (same event hosts multiple competition classes as separate draws) — PL-F0402c
✅ PL-F0402c - F04.02.17 Shipped
Multi-day scheduling with sessions (morning/afternoon) — PL-F0402c
✅ PL-F0402c - F04.02.18 Shipped
Competition templates (save and reuse common setups) — PL-F0402c
✅ PL-F0402c - F04.02.19 Shipped
Competition cloning (copy last year's tournament with new dates) — PL-F0402d
✅ PL-F0402d - F04.02.20 Shipped
Sanction application workflow — club/district applies for sanction → relevant authority reviews (federation for national+, district for local) → district provides statement on regional applications → authority approves/rejects → sanction fee charged → competition listed in calendar. Configurable per level per tenant. — PL-F0402d
✅ PL-F0402d - F04.02.21 Shipped
Sanction deadlines per level — configurable per tenant (e.g., Sweden: Aug 1 for int/nat, Sep 30 for regional, district decides for local) — PL-F0402d
✅ PL-F0402d - F04.02.22 Shipped
Sanction quotas — configurable max per level per year (e.g., Sweden: ~7 int/nat, ~48 regional, max 4 parallel regionals). Blackout periods (e.g., no other events during SM). — PL-F0402d
✅ PL-F0402d - F04.02.23 Shipped
Sanction fee per competition class — configurable per tenant (e.g., Sweden: 300 SEK/class, no fee for youth classes). Payable to district or federation. — PL-F0402d
✅ PL-F0402d - F04.02.24 Shipped
Promotion/recruitment competition (propaganda) — license-free events for recruitment. Configurable: who can sanction (federation and/or district with quota), no ranking points, open to unlicensed players. — PL-F0402d
✅ PL-F0402d - F04.02.25 Shipped
Ranking-capped competitions (concours promotionnel) — France: events restricted to players below a certain ranking level. Configurable ranking threshold per competition. Per-tenant RankingCapConfig med default/min/max cap och level-koppling. — PL-F0402e
✅ PL-F0402e - F04.02.26 Shipped
Club-bound flag — if enabled, all players in a team must hold license in the same club. Violation = configurable penalty (disqualification, forfeit score, fine). club_bound_violation_penalty och club_bound_fine_amount på Competition. — PL-F0402e
✅ PL-F0402e - F04.02.27 Shipped
Match time limit — configurable per tenant/level (e.g., Spain: 60 min, CEP: 75 min). Optional. CompetitionLevel.default_match_time_limit_minutes och default_throw_time_limit_seconds auto-populeras vid skapande. — PL-F0402e
✅ PL-F0402e - F04.02.28 Shipped
Sanction revocation — authority can revoke sanction with mandatory reason, category, revoked_by. Auto-suspenderar tävling. Giltiga kategorier: rule_violation, safety_concern, venue_issue, federation_interest, organizer_misconduct, other. — PL-F0402e
✅ PL-F0402e
Tournament Discovery & Registration
F04.03### Cross-Border Tournament Discovery
How it works- F04.03.01 Shipped
Global tournament search (find competitions in any country) — PL-F0403a
✅ PL-F0403a - F04.03.02 Shipped
Map-based tournament finder (search by location, radius, dates) — PL-F0403a
✅ PL-F0403a - F04.03.03 Shipped
Filter by: country, region, format, discipline, team format, level, open/invitational — PL-F0403a
✅ PL-F0403a - F04.03.04 Shipped
"Traveling player" mode (show tournaments near a destination + date range) — PL-F0403a
✅ PL-F0403a - F04.03.05 Shipped
Tournament recommendations based on ELO level and preferences — PL-F0403a
✅ PL-F0403a - F04.03.06 Shipped
Follow tournaments in other countries (get notifications) — PL-F0403b
✅ PL-F0403b - F04.03.07 Shipped
Tournament detail page: rules, venue, entry fee, accommodation tips, language — PL-F0403b
✅ PL-F0403b - F04.03.08 Shipped
"Open to foreign players" flag on tournaments (organizer marks this) — PL-F0403b
✅ PL-F0403b - F04.03.09 Shipped
Cross-border entry requirements info (license validity, temporary license) — PL-F0403b
✅ PL-F0403b - F04.03.10 Shipped
Temporary license / day pass for foreign players (federation configurable) — PL-F0403b
✅ PL-F0403b - F04.03.11 Shipped
Tournament saved/wishlist (plan your tournament calendar) — PL-F0403c
✅ PL-F0403c - F04.03.12 Shipped
Travel group finder (other players going to same tournament) — PL-F0403c
✅ PL-F0403c - F04.03.13 Shipped
Online registration (individual and team) — PL-F0403c
✅ PL-F0403c - F04.03.14 Shipped
Registration validation (license check, age category, ranking eligibility) — PL-F0403c
✅ PL-F0403c - F04.03.15 Shipped
Registration payment integration (multi-currency for international) — PL-F0403c
✅ PL-F0403c - F04.03.16 Shipped
Registration deadline management — PL-F0403d
✅ PL-F0403d - F04.03.17 Shipped
Waiting list management — PL-F0403d
✅ PL-F0403d - F04.03.18 Shipped
Late registration handling — PL-F0403d
✅ PL-F0403d - F04.03.19 Shipped
Team composition validation (correct number of players, mixed rules) — PL-F0403d
✅ PL-F0403d - F04.03.20 Shipped
Substitution rules and management — PL-F0403d
✅ PL-F0403d - F04.03.21 Shipped
Registration confirmation and receipt — PL-F0403e
✅ PL-F0403e - F04.03.22 Shipped
Bulk registration (club enters multiple teams) — PL-F0403e
✅ PL-F0403e - F04.03.23 Shipped
Seeding based on rankings — PL-F0403e
✅ PL-F0403e - F04.03.24 Shipped
Cross-border registration (register for tournament in another nation with valid license) — PL-F0403e
✅ PL-F0403e - F04.03.25 Shipped
Registration language (show tournament info in player's language) — PL-F0403e
✅ PL-F0403e - F04.03.26 Shipped
PublicationScope enum (PRIVATE/ORGNODE/TENANT/GLOBAL) on Competition — PL-T007
✅ PL-T007 - F04.03.27 Shipped
PUT /competitions/{id}/publication endpoint with audit log — PL-T007
✅ PL-T007 - F04.03.28 Shipped
GET /public/competitions/global cross-tenant public API (paginerad, cachad 15 min) — PL-T007
✅ PL-T007 - F04.03.29 Shipped
GET /public/tenants/{code}/competitions per-federation public listing — PL-T007
✅ PL-T007 - F04.03.30 Shipped
Scope filter on GET /competitions (query param scope=private
tenant|orgnode|global) — PL-T007 | ✅ PL-T007 - F04.03.31 Shipped
GLOBAL scope requires federation-admin (club-admin 403 policy) — PL-T007
✅ PL-T007 - F04.03.32 Shipped
Competition visibility service with ORGNODE ancestor/descendant expansion — PL-T007
✅ PL-T007 - F04.03.33 Shipped
Backfill migration (existing competitions → TENANT scope) — PL-T007
✅ PL-T007 - F04.03.34 Shipped
Compound index (publication_scope, status, start_date) for queries — PL-T007
✅ PL-T007
Draw & Scheduling (Tirage au Sort)
F04.04- F04.04.01 Shipped
Automatic draw generation (randomized with seeding rules)
✅ PL-F0404a - F04.04.02 Shipped
Separation rules (same club, same region in different groups)
✅ PL-F0404a - F04.04.03 Shipped
Poule composition (balanced by ranking)
✅ PL-F0404a - F04.04.04 Shipped
Bracket generation (single/double elimination)
✅ PL-F0404a - F04.04.05 Shipped
Swiss-system pairing algorithm
✅ PL-F0404a - F04.04.12 Shipped
Monrad pairing algorithm (Swiss variant, common in Scandinavia)
✅ PL-F0404b - F04.04.13 Shipped
Mêlée random team draw (new random teams each round)
✅ PL-F0404b - F04.04.14 Shipped
Super-mêlée draw (mixed player levels, partner rotation every round)
✅ PL-F0404b - F04.04.06 Shipped
Court assignment optimization
✅ PL-F0404b - F04.04.07 Shipped
Schedule generation (time slots per round)
✅ PL-F0404b - F04.04.08 Shipped
Draw publication and notification
✅ PL-F0404c - F04.04.09 Shipped
Manual draw adjustments (with audit trail)
✅ PL-F0404c - F04.04.10 Shipped
Bye management (odd number of participants)
✅ PL-F0404c - F04.04.11 Shipped
Re-draw capabilities (when teams withdraw)
✅ PL-F0404c
Match Management
F04.05- F04.05.01 Shipped
Match score entry (by official, scorer, or team delegate) — PL-F0405a
✅ PL-F0405a - F04.05.02 Shipped
Real-time score tracking — PL-F0405a
✅ PL-F0405a - F04.05.03 Shipped
Match status tracking (scheduled, in progress, completed, suspended, forfeit) — PL-F0405a
✅ PL-F0405a - F04.05.04 Shipped
Match timer — configurable: total match time limit (Spain: 60 min, CEP: 75 min) AND per-throw time limit (Spain: 30 seconds). Both optional and configurable per tenant/competition level. Distinct enforcement UI for each. — PL-F0405a
✅ PL-F0405a - F04.05.05 Shipped
Match result confirmation (both teams or umpire) — PL-F0405a
✅ PL-F0405a - F04.05.06 Shipped
Score dispute resolution workflow — PL-F0405a
✅ PL-F0405a - F04.05.07 Shipped
Forfeit and withdrawal handling — PL-F0405b
✅ PL-F0405b - F04.05.08 Shipped
Court change management — PL-F0405b
✅ PL-F0405b - F04.05.09 Shipped
Match comments and incident reporting — PL-F0405b
✅ PL-F0405b - F04.05.10 Shipped
Photo/video attachment to match records — PL-F0405b
✅ PL-F0405b - F04.05.11 Shipped
Mène (end/round) tracking — score progression per mène within a match — PL-F0405b
✅ PL-F0405b - F04.05.12 Shipped
Mène-level detail: which team scored, how many points, cochonnet position — PL-F0405b
✅ PL-F0405b - F04.05.13 Shipped
Individual throw tracking (optional, for detailed analytics) — PL-F0405c
✅ PL-F0405c - F04.05.14 Shipped
Throw type classification: point (portée/raspaille/donnée), tir (carreau/palet/raté) — PL-F0405c
✅ PL-F0405c - F04.05.15 Shipped
Throw outcome recording: successful/missed, distance from cochonnet — PL-F0405c
✅ PL-F0405c - F04.05.16 Shipped
Photo proof upload per mène (disputed measurements) — PL-F0405c
✅ PL-F0405c - F04.05.17 Shipped
Match timeline view (mène-by-mène score progression) — PL-F0405c
✅ PL-F0405c - F04.05.18 Shipped
Court Ops Console — live-board för marshal/jury president med color-coded threshold-flaggor och SSE-stream per event — PL-T223
✅ PL-T223 - F04.05.19 Shipped
Threshold alerts — warn/overrun/escalate (75/100/125 % default), tenant/event-config, audit-trail i CourtOpsAlert med ack-flow — PL-T223
✅ PL-T223 - F04.05.20 Shipped
Marshal broadcast — audience ∈ {all_marshals, all_teams, court_neighbors, next_up}, multi-lang body, F09.02-fan-out — PL-T223
✅ PL-T223
Results & Standings
F04.06- F04.06.01 Shipped
Real-time standings/leaderboard calculation
✅ PL-F0406a - F04.06.02 Shipped
Tiebreaker rules (head-to-head, point difference, quotient)
✅ PL-F0406a - F04.06.03 Shipped
Poule standings with all stats (W, L, PF, PA, PD, quotient)
✅ PL-F0406a - F04.06.04 Shipped
Bracket progression (automatic advancement)
✅ PL-F0406a - F04.06.05 Shipped
Final results publication
✅ PL-F0406a - F04.06.06 Shipped
Result export (PDF, CSV, federation format)
✅ PL-F0406b - F04.06.07 Shipped
Historical results archive
✅ PL-F0406b - F04.06.08 Shipped
Public results page (embeddable)
✅ PL-F0406b - F04.06.09 Shipped
Audit trail on all result entries and modifications
✅ PL-F0406b
Rankings
F04.07- F04.07.01 Shipped
National ranking system per federation
✅ PL-F0407a - F04.07.02 Shipped
World ranking (FIPJP)
✅ PL-F0407a - F04.07.03 Shipped
Continental rankings
✅ PL-F0407a - F04.07.04 Shipped
Configurable ranking algorithm per tenant — each federation defines: point scale per competition level × placement × number of participants, ranking coefficient/multiplier per level, max competitions counted per year, and whether ranking is per competition class (Sweden: separate list for Ös, Ds, V55s etc.)
✅ PL-F0407a - F04.07.05 Shipped
Ranking per configurable dimension — separate rankings per: competition class (age/gender), game format, or combined. Configurable per tenant. A player can appear on multiple ranking lists.
✅ PL-F0407a - F04.07.06 Shipped
Ranking history and progression charts
✅ PL-F0407a - F04.07.07 Shipped
Configurable ranking validity — points expire after configurable period: Sweden 1 year from competition date, France 2 years, Germany 3 years with weighted decay (3×current + 2×previous + 1×two years ago)
✅ PL-F0407b - F04.07.08 Shipped
Tournament category multipliers — configurable categories (e.g., Germany: A/B/C/D with multipliers 4/3/2/1; Sweden: point scale varies by level + participant count; France: coefficients per level)
✅ PL-F0407b - F04.07.09 Shipped
Ranking publication and notification
✅ PL-F0407b - F04.07.10 Shipped
Ranking-based qualification thresholds
✅ PL-F0407b - F04.07.11 Shipped
Club/team rankings
✅ PL-F0407b - F04.07.12 Shipped
Public ranking search and filtering
✅ PL-F0407b - F04.07.13 Shipped
Global ELO rating system (skill-based, worldwide, format-independent) — PL-F0407c
✅ PL-F0407c - F04.07.14 Shipped
ELO calculation per match result (win/loss margin affects change) — PL-F0407c
✅ PL-F0407c - F04.07.15 Shipped
ELO K-factor configuration (higher for new players, lower for established) — PL-F0407c
✅ PL-F0407c - F04.07.16 Shipped
ELO separate ratings per format (singles, doubles, triples) — PL-F0407c
✅ PL-F0407c - F04.07.17 Shipped
ELO history and progression chart per player — PL-F0407c
✅ PL-F0407c - F04.07.18 Shipped
ELO-based matchmaking suggestions (balanced pairing) — PL-F0407c
✅ PL-F0407c - F04.07.19 Shipped
ELO leaderboards (global, continental, national, club) — PL-F0407d
✅ PL-F0407d - F04.07.20 Shipped
Dual ranking display: Federation Points + Global ELO side by side — PL-F0407d
✅ PL-F0407d - F04.07.21 Shipped
ELO updated from both official competitions and casual games — PL-F0407d
✅ PL-F0407d - F04.07.22 Shipped
Partnership/team ELO (combined rating for regular partnerships) — PL-F0407d
✅ PL-F0407d
League / Series Management
F04.08Season-long competitions where clubs/teams play regular fixtures.
How it works- F04.08.01 Shipped
League creation (divisions, tiers, pools) — configurable per tenant — PL-F0408a
✅ PL-F0408a - F04.08.02 Shipped
Promotion/relegation rules (automatic + playoff, configurable spots per tenant) — PL-F0408a
✅ PL-F0408a - F04.08.03 Shipped
Home/away fixture generation (round-robin, single or double) — PL-F0408a
✅ PL-F0408a - F04.08.04 Shipped
Configurable tiebreaker rules per tenant — Sweden: points → wins → klotskillnad → head-to-head → lottery. Other nations may differ. — PL-F0408a
✅ PL-F0408a - F04.08.05 Shipped
Match postponement and rescheduling with audit trail + tenant deadline enforcement — PL-F0408a
✅ PL-F0408a - F04.08.06 Shipped
Season results archive with public endpoints and cross-league search — PL-F0408a
✅ PL-F0408a - F04.08.07 Shipped
Team roster with max players per season — configurable per tenant (e.g., Germany Bundesliga: max 10 players per team per season). max_players_per_team på League, valideras vid register_team + update_roster. — PL-F0408b
✅ PL-F0408b - F04.08.08 Shipped
League registration deadline and team enrollment. registration_deadline på League (date, optional). POST /leagues/{id}/open-registration (setup→registration, kräver minst en division), POST /leagues/{id}/close-registration (registration→active). Deadline kontrolleras inklusivt vid teamregistrering och roster-uppdatering. — PL-F0408b
✅ PL-F0408b - F04.08.09 Shipped
Composite match day — a league match day consists of multiple sub-matches. Configurable format per league: Germany Bundesliga (1 triplette + 1 doublette + 1 mixed doublette), France D1N (3 triplettes + 3 doublettes + 3 tête-à-tête = 9 parties), Denmark (similar). Match day result = sum of sub-match results. CompositeMatchDayConfig stöder name/description; spelarantal per sub-match valideras mot GameFormat.players_per_team; GET /leagues/{id}/match-day-summary med round_number-filter. — PL-F0408b
✅ PL-F0408b - F04.08.10 Shipped
Player eligibility per match (registered in roster, not suspended, not transferred). Service check_player_eligibility() med 4 kontroller: roster, license_active, not_transferred, club_match. Bulk-endpoint POST /leagues/{id}/divisions/{level}/teams/{club_id}/check-eligibility. Eligibilitetsfel blockerar sub-match-recordning. — PL-F0408b
✅ PL-F0408b - F04.08.11 Shipped
League statistics (top scorers, most wins, etc.). GET /leagues/{id}/player-statistics med sort_by (total_points_scored/matches_won/sub_matches_won/matches_played) och division_level-filter. Publik spegling GET /public/leagues/{id}/player-statistics. — PL-F0408b
✅ PL-F0408b - F04.08.12 Shipped
Inter-club league (clubs send teams). league_type (inter_club/individual/mixed) på League. Inter_club: klubbar valideras mot Club-samlingen, en klubb kan ej registreras i flera divisioner i samma liga (409), holdfællesskab via club_ids (2+ klubbar som ett lag). GET /leagues/?league_type= filter. — PL-F0408b
✅ PL-F0408b - F04.08.13 Shipped
Inter-region/district league (regional all-star teams or district series). scope (club/district/region) och district_id på League; district_id på LeagueTeam; validering att district_id krävs vid teamregistrering i district/region-liga; duplikat-district i samma division blockeras (409). — PL-F0408c
✅ PL-F0408c - F04.08.14 Shipped
Playoff generation from league standings. championship-bracket-typ; seeded_from_standings; rounds_total (2 = hem+borta); seed_from_phase; duplikat-bracket skyddas (409). — PL-F0408c
✅ PL-F0408c - F04.08.15 Shipped
League calendar with venue rotation. GET /leagues/{id}/calendar (rounds grupperade med fixture-detaljer, from_date/to_date-filter); GET /public/leagues/{id}/calendar (utan auth); home_venue_map vid fixture-generering. — PL-F0408c
✅ PL-F0408c - F04.08.16 Shipped
League hierarchy — national league feeds into regional/district leagues. parent_league_id/league_level på League; LeagueHierarchyLevel i TenantConfig.LeagueConfig; GET /leagues/hierarchy-tree (rekursivt träd per tenant); GET /leagues/{id}/hierarchy (per-liga vy). Konfigurerbart per tenant (France: D1N→D2N→D3N→DR→DD, Germany: Bundesliga→Landesliga→Bezirksliga). — PL-F0408c
✅ PL-F0408c - F04.08.17 Shipped
Transfer quarantine during active league — configurable: transfer_quarantine_scope (tenant/player_league/none) i TenantConfig.LeagueConfig. GET /leagues/{id}/transfer-quarantine-status per spelare. Karantänlogik integrerad i transfer-flödet. — PL-F0408c
✅ PL-F0408c - F04.08.18 Shipped
Multi-phase league season — format_type (round_robin/knockout/swiss/monrad), points_for_win/draw/loss-override, carry_over_points, transition_criteria (top_n/threshold/all) per fas. POST /leagues/{id}/phases/{n}/transition med kvalificerade/eliminerade lag i svar. — PL-F0408c
✅ PL-F0408c - F04.08.19 Shipped
Promotion via standalone tournament — configurable: promotion determined by a separate tournament (Germany: Aufstiegsrunde where 10 Landesmeister play round-robin, top 4 promote to Bundesliga). Distinct from in-league promotion. — PL-F0408d
✅ PL-F0408d - F04.08.20 Shipped
Substitution constraints per league — configurable: reserve players locked to specific sub-match after insertion (Spain: Liga Nacional), maximum reserves per match day, substitution registration deadline. — PL-F0408d
✅ PL-F0408d - F04.08.21 Shipped
Court specification enforcement per league — configurable: minimum court dimensions, closed court rules (Spain: pista cerrada 50cm from sideline, 1m from backline). Validated at venue assignment. — PL-F0408d
✅ PL-F0408d
National Team Selection
F04.09- F04.09.01 Shipped
Selection committee management — PL-F0409
✅ PL-F0409 - F04.09.02 Shipped
Selection criteria definition — PL-F0409
✅ PL-F0409 - F04.09.03 Shipped
Candidate pool tracking (ranking, performance, availability) — PL-F0409
✅ PL-F0409 - F04.09.04 Shipped
Team composition builder — PL-F0409
✅ PL-F0409 - F04.09.05 Shipped
Selection announcement workflow — PL-F0409
✅ PL-F0409 - F04.09.06 Shipped
National team history and records — PL-F0409
✅ PL-F0409
Competition Format Catalog
F04.10All supported competition formats and their unique rules.
How it works- F04.10.01 Shipped
Knockout / Elimination — single elimination, loser goes home — PL-F0410a
✅ PL-F0410a - F04.10.02 Shipped
Double elimination — losers bracket, second chance — PL-F0410a
✅ PL-F0410a - F04.10.03 Shipped
Consolation bracket (consolante) — separate bracket for first-round losers — PL-F0410a
✅ PL-F0410a - F04.10.04 Shipped
Round-robin — everyone plays everyone — PL-F0410a
✅ PL-F0410a - F04.10.05 Shipped
Poules + Knockout — group stage then elimination (most common) — PL-F0410a
✅ PL-F0410a - F04.10.06 Shipped
Swiss system — paired by similar results, no elimination — PL-F0410a
✅ PL-F0410a - F04.10.07 Shipped
Monrad system — Swiss variant (Scandinavian, strength-based pairing) — PL-F0410b
✅ PL-F0410b - F04.10.08 Shipped
Mêlée — individual entry, random team draw each round, individual ranking — PL-F0410b
✅ PL-F0410b - F04.10.09 Shipped
Super-mêlée — like mêlée but mixed levels, partner rotation every round — PL-F0410b
✅ PL-F0410b - F04.10.10 Shipped
Marathon — continuous play all day, most wins/points wins — PL-F0410b
✅ PL-F0410b - F04.10.11 Shipped
Américaine — doublette with partner change after each match (round-robin style) — PL-F0410b
✅ PL-F0410b - F04.10.12 Shipped
Tête-à-tête integral — every player plays every other player — PL-F0410b
✅ PL-F0410b - F04.10.13 Shipped
Championnat Tête-à-tête — singles championship (3 boules each)
✅ PL-F0410c ✅ PL-F0410c - F04.10.14 Shipped
Championnat Doublette — doubles championship (3 boules each)
✅ PL-F0410c ✅ PL-F0410c - F04.10.15 Shipped
Championnat Triplette — triples championship (2 boules each)
✅ PL-F0410c ✅ PL-F0410c - F04.10.16 Shipped
Championnat Mixte — mixed doubles/triples (mandatory male+female)
✅ PL-F0410c ✅ PL-F0410c - F04.10.17 Shipped
Championnat Combiné — combined competition (match play + shooting skills)
✅ PL-F0410c ✅ PL-F0410c - F04.10.18 Shipped
Championnat des Clubs — inter-club championship (club sends multiple teams)
✅ PL-F0410c ✅ PL-F0410c - F04.10.19 Shipped
Championnat des Nations — nation vs nation (national delegations)
✅ PL-F0410d ✅ PL-F0410d - F04.10.20 Shipped
Tir de Précision — precision shooting at marked targets on court
✅ PL-F0410d ✅ PL-F0410d - F04.10.21 Shipped
Tir de Précision scoring system (points per target zone hit)
✅ PL-F0410d ✅ PL-F0410d - F04.10.22 Shipped
Tir de Précision court layout management (target positions per FIPJP rules)
✅ PL-F0410d ✅ PL-F0410d - F04.10.23 Shipped
Tir Rapide — rapid shooting against the clock
✅ PL-F0410d ✅ PL-F0410d - F04.10.24 Shipped
Tir Rapide timer integration (countdown per attempt)
✅ PL-F0410d ✅ PL-F0410d - F04.10.25 Shipped
Tir Progressif — increasingly difficult targets (distance, angle, obstacles)
✅ PL-F0410e ✅ PL-F0410e - F04.10.26 Shipped
Tir Progressif level progression and scoring
✅ PL-F0410e ✅ PL-F0410e - F04.10.27 Shipped
Relais de Tir — team shooting relay (each player shoots in sequence)
✅ PL-F0410e ✅ PL-F0410e - F04.10.28 Shipped
Shooting competition leaderboard (separate from match rankings)
✅ PL-F0410e ✅ PL-F0410e - F04.10.29 Shipped
Shooting accuracy statistics per player (career, season, competition)
✅ PL-F0410e ✅ PL-F0410e - F04.10.30 Shipped
Shooting competition as standalone event or embedded within combined championship
✅ PL-F0410e ✅ PL-F0410e - F04.10.31 Shipped
Video replay integration for shooting competitions (analyze technique)
✅ PL-F0410f ✅ PL-F0410f - F04.10.32 Shipped
National Championship (qualification pathway: club > regional > national)
✅ PL-F0410f ✅ PL-F0410f - F04.10.33 Shipped
Continental Championship (e.g., European Championship) — national delegations
✅ PL-F0410f ✅ PL-F0410f - F04.10.34 Shipped
World Championship — FIPJP sanctioned, all disciplines
✅ PL-F0410f ✅ PL-F0410f - F04.10.35 Shipped
Cup / Coupe — knockout with seeding, often multi-round across weeks
✅ PL-F0410f ✅ PL-F0410f - F04.10.36 Shipped
Grand Prix / Ranking tournament — open entry, high ranking points coefficient
✅ PL-F0410f ✅ PL-F0410f - F04.10.37 Shipped
Challenge / Trophée — invitational tournament (organizer selects participants)
✅ PL-F0410g ✅ PL-F0410g - F04.10.38 Shipped
Masters / Finale — end-of-season event for top-ranked players
✅ PL-F0410g ✅ PL-F0410g - F04.10.39 Shipped
World Games — multi-sport event with petanque included
✅ PL-F0410g ✅ PL-F0410g - F04.10.40 Shipped
Youth Championship — dedicated age-group championships (U13, U15, U18, U23)
✅ PL-F0410g ✅ PL-F0410g - F04.10.41 Shipped
Veterans Championship — 55+, 65+ categories
✅ PL-F0410g ✅ PL-F0410g - F04.10.42 Shipped
Para-Petanque Championship — disability classifications
✅ PL-F0410g ✅ PL-F0410g - F04.10.43 Shipped
Women's Championship — dedicated women's events at all levels
✅ PL-F0410h ✅ PL-F0410h - F04.10.44 Shipped
Championship series — multiple events, cumulative points determine overall winner
✅ PL-F0410h ✅ PL-F0410h - F04.10.45 Shipped
Series calendar management (which events count)
✅ PL-F0410h ✅ PL-F0410h - F04.10.46 Shipped
Series standings (running total across events)
✅ PL-F0410h ✅ PL-F0410h - F04.10.47 Shipped
Best-of-N scoring (only top X results count)
✅ PL-F0410h ✅ PL-F0410h - F04.10.48 Shipped
Series finale qualification (top N qualify for finale)
✅ PL-F0410h ✅ PL-F0410h - F04.10.49 Shipped
Series sponsorship and branding per circuit
✅ PL-F0410i ✅ PL-F0410i - F04.10.50 Shipped
Custom format builder (combine stages: poules → repechage → knockout)
✅ PL-F0410i ✅ PL-F0410i - F04.10.51 Shipped
Stage transition rules (how many advance from each stage)
✅ PL-F0410i ✅ PL-F0410i - F04.10.52 Shipped
Points-to-win configuration (11, 13, or custom per round/stage)
✅ PL-F0410i ✅ PL-F0410i - F04.10.53 Shipped
Time limit per match/mène (configurable per competition)
✅ PL-F0410i ✅ PL-F0410i - F04.10.54 Shipped
Tiebreaker configuration per format
✅ PL-F0410i ✅ PL-F0410i - F04.10.55 Shipped
Format validation (ensure rules are internally consistent)
✅ PL-F0410j ✅ PL-F0410j - F04.10.56 Shipped
Format preview (simulate a tournament with N teams to check flow)
✅ PL-F0410j ✅ PL-F0410j
Qualification Pathways
F04.11Multi-stage qualification from local to international level.
How it works- F04.11.01 Shipped
Qualification pathway definition (e.g., club > district > regional > national > world) — PL-F0411a
✅ PL-F0411a - F04.11.02 Shipped
Qualification spots allocation (how many advance from each stage) — PL-F0411a
✅ PL-F0411a - F04.11.03 Shipped
Automatic qualification tracking (player qualifies at district → registered for regional) — PL-F0411a
✅ PL-F0411a - F04.11.04 Shipped
Wild card / invitation slots — PL-F0411a
✅ PL-F0411a - F04.11.05 Shipped
Qualification via ranking (top N nationally qualify for continental) — PL-F0411b
✅ PL-F0411b - F04.11.06 Shipped
Qualification history per player (which championships qualified for) — PL-F0411b
✅ PL-F0411b - F04.11.07 Shipped
Cross-reference: national qualification linked to continental/world entry — PL-F0411b
✅ PL-F0411b
International Competitions
F04.12Features specific to international events (continental, world championships, World Games).
How it works- F04.12.01 Shipped
National delegation management (federation submits team roster)
✅ PL-F0412a ✅ PL-F0412a - F04.12.02 Shipped
Delegation size limits per event type
✅ PL-F0412a ✅ PL-F0412a - F04.12.03 Shipped
Nation vs nation format (e.g., triplette championship = 3 triplettes per nation)
✅ PL-F0412a ✅ PL-F0412a - F04.12.04 Shipped
Flag/anthem management per nation (for ceremonies)
✅ PL-F0412a ✅ PL-F0412a - F04.12.05 Shipped
Accreditation system (player, official, media, VIP badges)
✅ PL-F0412a ✅ PL-F0412a - F04.12.06 Shipped
Multi-language announcements at event
✅ PL-F0412a ✅ PL-F0412a - F04.12.07 Shipped
Time zone management (schedule in local time, display in viewer's time)
✅ PL-F0412b ✅ PL-F0412b - F04.12.08 Shipped
International ranking points (FIPJP points from world/continental events)
✅ PL-F0412b ✅ PL-F0412b - F04.12.09 Shipped
Travel and accommodation coordination per delegation
✅ PL-F0412b ✅ PL-F0412b - F04.12.10 Shipped
International competition results fed back to national rankings
✅ PL-F0412b ✅ PL-F0412b - F04.12.11 Shipped
Historical records per international competition (all-time medal table)
✅ PL-F0412b ✅ PL-F0412b - F04.12.12 Shipped
International competition bidding (federation applies to host)
✅ PL-F0412b ✅ PL-F0412b
Casual Games
F04.13Non-tournament games between players — social play, practice matches, club evenings.
How it works- F04.13.01 Shipped
Quick game creation (pick players, format, start playing) — PL-F0413a
✅ PL-F0413a - F04.13.02 Shipped
Casual game score tracking (same scoring as official matches) — PL-F0413a
✅ PL-F0413a - F04.13.03 Shipped
Mène tracking for casual games (optional) — PL-F0413a
✅ PL-F0413a - F04.13.04 Shipped
Casual game history per player — PL-F0413a
✅ PL-F0413a - F04.13.05 Shipped
Casual game ELO impact (configurable — can be weighted lower than official) — PL-F0413a
✅ PL-F0413a - F04.13.06 Shipped
Location tagging (where was the game played — venue or GPS)
✅ PL-F0413b ✅ PL-F0413b - F04.13.07 Shipped
Invite players to casual game (in-app)
✅ PL-F0413b ✅ PL-F0413b - F04.13.08 Shipped
"Looking for game" status (player signals availability at a venue)
✅ PL-F0413b ✅ PL-F0413b - F04.13.09 Shipped
Club evening management (organized casual play sessions)
✅ PL-F0413b ✅ PL-F0413b - F04.13.10 Shipped
Random team generator (shuffle players into balanced teams by ELO)
✅ PL-F0413b ✅ PL-F0413b - F04.13.11 Shipped
Casual game statistics (separate from official stats)
✅ PL-F0413c ✅ PL-F0413c - F04.13.12 Shipped
Social sharing of casual game results
✅ PL-F0413c ✅ PL-F0413c - F04.13.13 Shipped
Photo/video from casual games
✅ PL-F0413c ✅ PL-F0413c
Player of the Match & Awards
F04.14Inspired by football, tennis, and other sports — in-match and post-match recognition.
How it works- F04.14.01 Shipped
Player of the Match voting (spectators, officials, or automatic from stats)
✅ PL-F0414a - F04.14.02 Shipped
Player of the Tournament award
✅ PL-F0414a - F04.14.03 Shipped
Best Shooter award (highest tir accuracy in competition)
✅ PL-F0414a - F04.14.04 Shipped
Best Pointer award (highest pointing accuracy)
✅ PL-F0414a - F04.14.05 Shipped
Most Carreaux award (most perfect hits)
✅ PL-F0414a - F04.14.06 Shipped
Comeback of the tournament (biggest deficit overcome)
✅ PL-F0414b ✅ PL-F0414b - F04.14.07 Shipped
Fair play award (sportsmanship, nominated by umpires)
✅ PL-F0414b ✅ PL-F0414b - F04.14.08 Shipped
Season awards: Player of the Year, Young Player, Newcomer, Coach, Club, Umpire
✅ PL-F0414b ✅ PL-F0414b - F04.14.09 Shipped
Award voting system (federation configurable: public vote, expert panel, stats-based)
✅ PL-F0414b ✅ PL-F0414b - F04.14.10 Shipped
Awards history and hall of fame integration
✅ PL-F0414b ✅ PL-F0414b
Head-to-Head & Comparison Tools
F04.15Inspired by tennis, chess, and combat sports.
How it works- F04.15.01 Shipped
Head-to-head comparison (any two players — record, stats, ELO delta)
✅ PL-F0415a ✅ PL-F0415a - F04.15.02 Shipped
Team vs team comparison (two clubs, two nations — all-time record)
✅ PL-F0415a ✅ PL-F0415a - F04.15.03 Shipped
Player comparison tool (side-by-side: stats, ELO, ranking, strengths)
✅ PL-F0415a ✅ PL-F0415a - F04.15.04 Shipped
Pre-match prediction (ELO-based win probability)
✅ PL-F0415a ✅ PL-F0415a - F04.15.05 Shipped
Form guide (last 5/10/20 results, W/L streak)
✅ PL-F0415b ✅ PL-F0415b - F04.15.06 Shipped
Surface/terrain performance comparison (indoor vs outdoor, gravel vs sand)
✅ PL-F0415b ✅ PL-F0415b - F04.15.07 Shipped
Rivalry tracking (frequent opponents, notable matchups)
✅ PL-F0415b ✅ PL-F0415b
Records & Milestones
F04.16Inspired by cricket, athletics, and tennis — tracking all-time records.
How it works- F04.16.01 Shipped
All-time records database (per federation, per competition, per club)
✅ PL-F0416a - F04.16.02 Shipped
Record categories: most titles, longest win streak, highest ELO, most 13-0 wins
✅ PL-F0416a - F04.16.03 Shipped
Automatic record detection (system alerts when a record is broken)
✅ PL-F0416a - F04.16.04 Shipped
Milestone alerts (100th match, 500th win, 10th season, etc.)
✅ PL-F0416a - F04.16.05 Shipped
Career milestone badges
✅ PL-F0416a - F04.16.06 Shipped
First-ever tracking (first player from a nation to reach X, first 13-0 in a final, etc.)
✅ PL-F0416b - F04.16.07 Shipped
Youngest/oldest records (youngest champion, oldest active player, etc.)
✅ PL-F0416b - F04.16.08 Shipped
Record book per competition (every edition's winners, stats, attendance)
✅ PL-F0416b - F04.16.09 Shipped
Nation/club record walls (displayed on CMS site)
✅ PL-F0416b
Team Partnerships
F04.17Track stable partnerships over time — who plays well together.
How it works- F04.17.01 Shipped
Partnership registry (regular doublette/triplette combinations)
✅ PL-F0417a ✅ PL-F0417a - F04.17.02 Shipped
Partnership win/loss record
✅ PL-F0417a ✅ PL-F0417a - F04.17.03 Shipped
Partnership ELO (combined team rating)
✅ PL-F0417a ✅ PL-F0417a - F04.17.04 Shipped
Partnership history (all matches played together)
✅ PL-F0417a ✅ PL-F0417a - F04.17.05 Shipped
"Find a partner" matching (by ELO range, location, availability, playing style)
✅ PL-F0417b ✅ PL-F0417b - F04.17.06 Shipped
Partnership chemistry score (win rate together vs. individually)
✅ PL-F0417b ✅ PL-F0417b - F04.17.07 Shipped
Partnership profile page (public)
✅ PL-F0417b ✅ PL-F0417b
Per-National Competition Structures
F04.18Per-nation championship pathways, league hierarchies, discipline variants, age-class configurations, and official calendars.
How it works- F04.18.01 Shipped
France - Championnat de France national → ligue → comité → club
✅ PL-F0418a ✅ PL-F0418a - F04.18.02 Shipped
France - 4 championship categories (Tête-à-tête, Doublette, Triplette, Mixte)
✅ PL-F0418a ✅ PL-F0418a - F04.18.03 Shipped
France - Jeu provençal as separate discipline
✅ PL-F0418a ✅ PL-F0418a - F04.18.04 Shipped
Sweden - SM (Svenska Mästerskapen)
✅ PL-F0418a ✅ PL-F0418a - F04.18.05 Shipped
Sweden - Elitserien / Division 1 / Division 2
✅ PL-F0418a ✅ PL-F0418a - F04.18.06 Shipped
Germany - DPV Bundesliga + Landesligan
✅ PL-F0418a ✅ PL-F0418a - F04.18.07 Shipped
Norway - NM med kvalspel (flat hierarchy, federation-sanctioned)
✅ PL-F0418b ✅ PL-F0418b - F04.18.08 Shipped
Spain - Campeonato de España (autonomous federation → national, Swiss system)
✅ PL-F0418b ✅ PL-F0418b - F04.18.09 Shipped
FIPJP - VM-kvalifikationer per nation (national → continental → world)
✅ PL-F0418b ✅ PL-F0418b - F04.18.10 Shipped
CEP - EM-kvalifikationer per nation (national → European Championship)
✅ PL-F0418b ✅ PL-F0418b - F04.18.11 Shipped
Per-tenant tävlingskategorier (åldersklass) — Norway + Spain age classes
✅ PL-F0418b ✅ PL-F0418b - F04.18.12 Shipped
Per-tenant officiell tävlingskalender — Norway + Spain calendars
✅ PL-F0418b ✅ PL-F0418b
Mêlée och avancerade tävlingsformat
F04.19Multi-round mêlée tournaments, score-based pairing, 1v1 mêlée, cup formats, round robin, Swiss ELO, single/double elimination, poules→knockout, and Concours A/B/C.
How it works- F04.19.01 Shipped
Mêlée draw algorithm (slumpad lagdragning)
✅ PL-F0419a ✅ PL-F0419a - F04.19.02 Shipped
Supermêlée med score-based pairing
✅ PL-F0419a ✅ PL-F0419a - F04.19.03 Shipped
Tête-à-tête mêlée variation
✅ PL-F0419a ✅ PL-F0419a - F04.19.04 Shipped
Coupe de France-format
✅ PL-F0419a ✅ PL-F0419a - F04.19.05 Shipped
National Cup-format per nation
✅ PL-F0419a ✅ PL-F0419a - F04.19.06 Shipped
Round robin (alla mot alla)
✅ PL-F0419a ✅ PL-F0419a - F04.19.07 Shipped
Schweizer system med ELO-baserad pairing
✅ PL-F0419b ✅ PL-F0419b - F04.19.08 Shipped
Single elimination bracket
✅ PL-F0419b ✅ PL-F0419b - F04.19.09 Shipped
Double elimination bracket
✅ PL-F0419b ✅ PL-F0419b - F04.19.10 Shipped
Pool play → knockout-format
✅ PL-F0419b ✅ PL-F0419b - F04.19.11 Shipped
Concours A/B/C med trösteklass
✅ PL-F0419b ✅ PL-F0419b
Official Rankings per Nation
F04.20Official ranking preset definitions and provisioning for 5 nations/bodies. Static preset configurations with one-click provisioning to RankingConfig documents. Per-tenant formula config, cross-tenant ELO, ranking trends, qualification snapshots, and dispute workflow.
How it works- F04.20.01 Shipped
France — Classement national + ligues + comités (24 mo, linear decay)
✅ PL-F0420a ✅ PL-F0420a - F04.20.02 Shipped
Sverige — SM-ranking (12 mo, no decay) + nationell ELO
✅ PL-F0420a ✅ PL-F0420a - F04.20.03 Shipped
Deutschland — DPV-Rangliste (36 mo, weighted_years 3/2/1, A-D multipliers)
✅ PL-F0420a ✅ PL-F0420a - F04.20.04 Shipped
FIPJP — World ranking (cross-tenant, world scope)
✅ PL-F0420a ✅ PL-F0420a - F04.20.05 Shipped
CEP — Continental ranking (cross-tenant, continental scope)
✅ PL-F0420a ✅ PL-F0420a - F04.20.06 Shipped
Per-tenant ranking formula (point model with bonus rules, caps, thresholds)
✅ PL-F0420b ✅ PL-F0420b - F04.20.07 Shipped
Cross-tenant ELO for casual matches (global singleton config, margin modifier)
✅ PL-F0420b ✅ PL-F0420b - F04.20.08 Shipped
Ranking history and trends (direction, moving average, velocity)
✅ PL-F0420b ✅ PL-F0420b - F04.20.09 Shipped
Ranking snapshot at qualification deadline (locked freeze for team selection)
✅ PL-F0420b ✅ PL-F0420b - F04.20.10 Shipped
Dispute ranking points (formal process with review/resolve workflow)
✅ PL-F0420b ✅ PL-F0420b
Live Scoring & Official Result Entry
F04.21Real-time scoring infrastructure: mobile-first live entry with offline support, official scorekeeper role with digital signing, real-time leaderboard, push notifications, score corrections with audit, score protests, walkover handling, and round timing.
How it works- F04.21.01 Shipped
Live score entry on mobile with offline support
✅ PL-F0421a ✅ PL-F0421a - F04.21.02 Shipped
Official scorekeeper role with digital signing
✅ PL-F0421a ✅ PL-F0421a - F04.21.03 Shipped
Real-time leaderboard updates (SSE)
✅ PL-F0421a ✅ PL-F0421a - F04.21.04 Shipped
Push notifications for match events (subscriptions)
✅ PL-F0421a ✅ PL-F0421a - F04.21.05 Shipped
Score correction flow with audit
✅ PL-F0421b ✅ PL-F0421b - F04.21.06 Shipped
Score protest from team captain
✅ PL-F0421b ✅ PL-F0421b - F04.21.07 Shipped
Walkover and WO handling
✅ PL-F0421b ✅ PL-F0421b - F04.21.08 Shipped
Round timing per round (45 min default)
✅ PL-F0421b ✅ PL-F0421b - F04.21.20 Shipped
VolunteerScoreEntry — parallel light-weight scoring surface optimised for volunteers, big-button UI, idempotent on (device_id, client_ts, end_number), soft-validation with stable warning codes (zero_score_end / both_teams_scored / score_above_13 / missing_end_<n>) — PL-T222
✅ PL-T222 ✅ PL-T222 - F04.21.21 Shipped
Volunteer offline cache — exponential-backoff retry-loop, server-idempotency on tuple guarantees no duplicates, sync-status badge (synced/pending/error) — PL-T222
✅ PL-T222 ✅ PL-T222 - F04.21.22 Shipped
Dispute flagging — measure / dead_end / timeout / rule_question / other, sets is_dispute=true + needs_review, dispatchar scoring.dispute_raised till court-marshal via F09.02 — PL-T222
✅ PL-T222 ✅ PL-T222 - F04.21.23 Shipped
BulkScoreUpload — fixed-column CSV (competition_match_ref,end_number,team_a_points,team_b_points,scorer_note), parse-job med per-row error/warning, atomic-per-match apply, status uploaded/parsing/validated/applied/partially_applied/failed — PL-T222
✅ PL-T222 ✅ PL-T222
External Event Proxying
F04.22Cross-tenant event display: subscribe to GLOBAL-published competitions from other tenants, cache metadata locally, sync every 15 min, render in CMS upcoming-events widget with source badge and override support.
How it works- F04.22.01 Shipped
ExternalEventProxy model with sync lifecycle (OK/STALE/FAILED/SOURCE_DELETED)
✅ PL-T008 ✅ PL-T008 - F04.22.02 Shipped
Admin subscribe/unsubscribe to global competitions
✅ PL-T008 ✅ PL-T008 - F04.22.03 Shipped
Local overrides (title, translation, note) per proxy
✅ PL-T008 ✅ PL-T008 - F04.22.04 Shipped
Background sync job (15 min, batch 50, exponential backoff)
✅ PL-T008 ✅ PL-T008 - F04.22.05 Shipped
Public upcoming-events endpoint (union of own + proxied)
✅ PL-T008 ✅ PL-T008 - F04.22.06 Shipped
CMS widget renders proxy events with source badge and link
✅ PL-T008 ✅ PL-T008 - F04.22.07 Shipped
Admin UI with status colors, search, subscribe, resync
✅ PL-T008 ✅ PL-T008 - F04.22.08 Shipped
Manual resync with rate limiting (1/min per proxy)
✅ PL-T008 ✅ PL-T008
Para-pétanque Classification & Adapted Competition
F04.23FIPJP-aligned para-pétanque classification system: per-player
- F04.23.01 Shipped
ParaClassification model with FIPJP categories (W1/W2/W3/standing/visual/intellectual/open), status, validity window
✅ PL-T220 ✅ PL-T220 - F04.23.02 Shipped
ClassificationPanel with 3–5 members and required role coverage (medical+coach+admin)
✅ PL-T220 ✅ PL-T220 - F04.23.03 Shipped
ClassificationDecision with quorum, panel votes, reasoning, audit
✅ PL-T220 ✅ PL-T220 - F04.23.04 Shipped
Cross-tenant verify endpoint mirroring license-verify (FIPJP-recognised panels only)
✅ PL-T220 ✅ PL-T220 - F04.23.05 Shipped
Public adapted-competition discovery (/public/competitions?adapted=true) with category + accessibility filters
✅ PL-T220 ✅ PL-T220 - F04.23.06 Shipped
Daily expiry cron + 30/14/7-day renewal-reminder notifications
✅ PL-T220 ✅ PL-T220
No features match your filters.