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

Venues & Facilities

50 features · 7 subsystems

Management of boulodromes, courts, and facilities. Covers venue registration, court booking, maintenance, and homologation.

Venue Registry

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

    Venue/boulodrome registration (name, address, GPS coordinates)

    ✅ PL-F0701a
  • F07.01.02 Shipped

    Venue profile (photos, description, capacity, amenities)

    ✅ PL-F0701a
  • F07.01.03 Shipped

    Court inventory per venue (number, type, surface, indoor/outdoor, lighting)

    ✅ PL-F0701a
  • F07.01.04 Shipped

    Venue ownership/management (club_id reference)

    ✅ PL-F0701a
  • F07.01.05 Shipped

    Venue search/directory (by location, capacity, facilities)

    ✅ PL-F0701a
  • F07.01.06 Shipped

    Map-based venue finder with geo-search (lat/lng/radius via Haversine)

    ✅ PL-F0701b
  • F07.01.07 Shipped

    Venue rating and reviews

    ✅ PL-F0701b
  • F07.01.08 Shipped

    Venue accessibility information (wheelchair, parking, toilets, hearing loop)

    ✅ PL-F0701b
  • F07.01.09 Shipped

    Opening hours management

    ✅ PL-F0701b
  • F07.01.10 Shipped

    Venue contact (phone, email, website) — social media links via separate feature

    ✅ PL-F0701b

Court Management

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

    Court numbering and configuration

    ✅ PL-F0702
  • F07.02.02 Shipped

    Court dimensions and surface type tracking

    ✅ PL-F0702
  • F07.02.03 Shipped

    Court status (real-time via bookings, allocations, and maintenance — /venues/{id}/courts/status)

    ✅ PL-F0702
  • F07.02.04 Shipped

    Court allocation during competitions (allocate/confirm/release courts per competition session)

    ✅ PL-F0702
  • F07.02.05 Shipped

    Court condition reporting (file reports with severity, category, images; resolve and link to maintenance)

    ✅ PL-F0702
  • F07.02.06 Shipped

    Maintenance scheduling and logging (full lifecycle: scheduled → in_progress → completed, cost tracking)

    ✅ PL-F0702

Booking System

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

    Court reservation (time slot per court with overlap detection + allocation cross-check)

    ✅ PL-F0703a
  • F07.03.02 Shipped

    Booking calendar with availability view (public endpoint, includes allocations)

    ✅ PL-F0703a
  • F07.03.03 Shipped

    Recurring bookings (weekly/biweekly/monthly series with conflict-aware expansion)

    ✅ PL-F0703a
  • F07.03.04 Shipped

    Competition court blocking (allocations block regular bookings and recurring series)

    ✅ PL-F0703a
  • F07.03.05 Shipped

    Booking payment integration (fee, currency, payment_status, invoice_id; auto-confirm on payment)

    ✅ PL-F0703b
  • F07.03.06 Shipped

    Booking confirmation (confirmed_at timestamp, explicit /confirm endpoint for pending bookings)

    ✅ PL-F0703b
  • F07.03.07 Shipped

    Walk-in vs. reservation management (booking_type: reservation\

    walk_in, /walk-in endpoint, filter by type) | ✅ PL-F0703b
  • F07.03.08 Shipped

    Cancellation (DELETE + POST /cancel with reason, cancelled_at, cancelled_by, cancellation_reason)

    ✅ PL-F0703b

Homologation

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

    Venue homologation request (for hosting official competitions)

    ✅ PL-F0704
  • F07.04.02 Shipped

    Inspection checklist (court dimensions, surface, lighting, facilities)

    ✅ PL-F0704
  • F07.04.03 Shipped

    Homologation certificate management

    ✅ PL-F0704
  • F07.04.04 Shipped

    Homologation level (club, regional, national, international)

    ✅ PL-F0704
  • F07.04.05 Shipped

    Renewal and re-inspection scheduling

    ✅ PL-F0704
  • F07.04.06 Shipped

    Venue requirement profiles per competition level — configurable per tenant: each competition level defines required venue capabilities (Sweden int.: centercourt 300+ seats, PA, catering, first aid; Sweden reg.: marked courts, scoring boards, secretariat). System auto-validates venue meets requirements when competition is assigned at approval time.

    ✅ PL-F0704

Bar/Buvette Management

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

    Buvette inventory management (CRUD, stock adjustments with audit trail, low-stock filter, SKU/barcode)

    ✅ PL-F0705
  • F07.05.02 Shipped

    Point-of-sale integration (transactions, multi-payment-method, line items, auto-stock-deduction, void/refund)

    ✅ PL-F0705
  • F07.05.03 Shipped

    Revenue tracking per event (event-scoped transactions, revenue summary with payment method breakdown)

    ✅ PL-F0705
  • F07.05.04 Shipped

    Volunteer shift scheduling for buvette (planned→confirmed→in_progress→completed lifecycle, check-in/out, auto-hours)

    ✅ PL-F0705
  • F07.05.05 Shipped

    License/permit tracking (alcohol license, food hygiene, fire safety, renewal, compliance check, expiry alerts)

    ✅ PL-F0705
  • F07.05.06 Shipped

    Z-report / dagsavslut (immutable daily close, cash reconciliation, payment method & VAT breakdown, archive PDF)

    ✅ PL-T077
  • F07.05.07 Shipped

    Automatic COGS booking (Cost of Goods Sold from inventory unit_cost, batch at Z-report close or realtime per transaction)

    ✅ PL-T077
  • F07.05.08 Shipped

    Stock adjustment accounting (waste/breakage/theft → expense accounts, consolidated at Z-report close)

    ✅ PL-T077

Court Booking & Occupancy

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

    Per-court booking with calendar (per-court time slots, calendar view, date/court filtering, public availability endpoint)

    ✅ PL-F0706a
  • F07.06.02 Shipped

    Recurring bookings (weekly/biweekly/monthly series with conflict-aware expansion, cancel propagation)

    ✅ PL-F0706a
  • F07.06.03 Shipped

    Price per court and hour (court-specific pricing with default fallback, auto-calculation from venue config)

    ✅ PL-F0706a
  • F07.06.04 Shipped

    Member price vs guest price (booker_type: member\

    guest, differentiated rates, auto-applied pricing) | ✅ PL-F0706a
  • F07.06.05 Shipped

    Cancellation with deadline (venue cancellation policy, deadline enforcement, late fees, force cancel option)

    ✅ PL-F0706a
  • F07.06.06 Shipped

    No-show registration with cost (POST /no-show, fee from cancellation policy no_show_fee_percent, blocks if checked in)

    ✅ PL-F0706b
  • F07.06.07 Shipped

    QR code for court check-in (check_in_token per booking, GET /check-in-token, POST /check-in with token validation)

    ✅ PL-F0706b
  • F07.06.08 Shipped

    Real-time availability (GET /public/venues/{id}/real-time-availability — per-court, per-slot grid with configurable duration)

    ✅ PL-F0706b
  • F07.06.09 Shipped

    Lighting and heating per court (bookable) (court.heating field, amenity surcharges in pricing, validation against court capabilities)

    ✅ PL-F0706b

Venue Accessibility Metadata

F07.07
Planned

Structured accessibility profile attached to `Venue`. Feeds the

  • F07.07.01 Shipped

    AccessibilityFacilityMetadata sub-document (wheelchair entry/courts, parking, restroom, seating, step-free path, ramp, surface, assistance dog, guide assistance, multilingual notes)

    ✅ PL-T220 ✅ PL-T220
  • F07.07.02 Shipped

    Verification stamps (metadata_verified_at, metadata_verified_by) + admin edit flow + audit trail

    ✅ PL-T220 ✅ PL-T220
  • F07.07.03 Shipped

    Public accessibility detail view (/venues/{id}/accessibility) consumed by adapted-competition discovery

    ✅ PL-T220 ✅ PL-T220