Hoppa till huvudinnehåll
Petanque Life

Court Management

F07.02 6 features Planerad

I korthet

Court Management tracks every individual court at a venue, its physical configuration, dimensions, and real-time operational status across the day. It coordinates competition allocations, severity-graded condition reports, and full-lifecycle maintenance work with cost tracking so that bookings, tournaments, and venue operators always agree on exactly which courts are playable right now and which are locked out.

Så fungerar det

Each court is created under a parent venue with a stable number, dimensions, and surface type, then enriched with attributes such as indoor/outdoor classification and lighting from the venue registry. Configuration follows FIPJP norms but is editable per tenant so federations with non-standard dimensions can still represent their facilities accurately.

Real-time status is exposed through the /venues/{id}/courts/status endpoint, which combines three signals into a single answer per court: active bookings from the reservation system, competition allocations from the tournament module, and open maintenance windows. Conflicts are resolved deterministically — a maintenance lock-out always wins, then competition allocations, then regular bookings — so the booking calendar and the public real-time availability feed never offer a court that operations has taken offline.

During competitions, the allocation workflow lets tournament directors reserve sets of courts for specific sessions. Allocations move through allocate, confirm, and release states, and confirmed allocations automatically block overlapping reservations and recurring booking series. When the session ends, releasing the courts returns them to the booking pool without manual cleanup.

Condition reporting is built for the people on the ground. Players, referees, and venue staff file reports with severity, category, free-text notes, and image attachments. Reports remain open until a maintenance task resolves them, and resolution is logged against the originating report so the history is fully auditable. Maintenance scheduling itself is a full lifecycle workflow: tasks move through scheduled, in_progress, and completed states with cost tracking on labour and materials, generating a per-court maintenance ledger that feeds homologation renewals and budgeting reports.

Because every state transition emits events, downstream surfaces — the booking calendar, tournament software, the public availability map, and the venue feed in the player app — all stay synchronised without polling.

Centrala funktioner

  • Court numbering, dimensioning, and surface type tracking
  • Real-time court status combining bookings, allocations, and maintenance
  • Competition court allocation with allocate/confirm/release lifecycle
  • Condition reporting with severity, category, and image attachments
  • Maintenance scheduling with scheduled to completed lifecycle and cost tracking
  • Automatic conflict resolution between maintenance, allocations, and bookings

I praktiken

A club groundskeeper notices a deep crack on court 4 after morning play. From the venue admin app she files a condition report, tagging severity as high and attaching two photos. The report immediately marks court 4 as flagged in the real-time status feed, but the booking calendar stays open because no maintenance is scheduled yet.

She opens a maintenance task for the same evening, sets it to scheduled, and the booking system instantly blocks new reservations during that window. After the repair she logs three hours of labour and material costs, transitions the task to completed, links it back to the original report, and court 4 returns to the active pool — all without anyone manually contacting affected bookers.

Features i detta subsystem

6
ID Status Funktioner
F07.02.01 Levererad Court numbering and configuration ✅ PL-F0702
F07.02.02 Levererad Court dimensions and surface type tracking ✅ PL-F0702
F07.02.03 Levererad Court status (real-time via bookings, allocations, and maintenance — /venues/{id}/courts/status) ✅ PL-F0702
F07.02.04 Levererad Court allocation during competitions (allocate/confirm/release courts per competition session) ✅ PL-F0702
F07.02.05 Levererad Court condition reporting (file reports with severity, category, images; resolve and link to maintenance) ✅ PL-F0702
F07.02.06 Levererad Maintenance scheduling and logging (full lifecycle: scheduled → in_progress → completed, cost tracking) ✅ PL-F0702