</>SoftwareprojectenGlobale klantvragen · webapplicaties
Projectbriefing

Project 28 - Sports Court Booking

Een reserveringssysteem voor padel-, basketbal- en zaalvoetbalvelden met materiaalhuur.

Projectnaam
CourtConnect
Datum
25 augustus 2026
Opdrachtgever
Sportcentrum Urban Courts
Contactpersoon
Dhr. S. van Oosten (Locatiemanager)
Complexiteit
Medium

1. Achtergrond en probleem

Urban Courts verhuurt verschillende sportvelden per blok. Boekingen worden telefonisch aangenomen en materiaalsets worden soms dubbel uitgegeven.

Het centrum wil klanten online laten reserveren en medewerkers een betrouwbaar overzicht geven van velden, blokkades en materiaal.

2. Doelstelling

De opdrachtgever wil een eerste werkende versie (MVP) laten maken onder de naam CourtConnect. Het eindproduct moet het beschreven proces overzichtelijker, betrouwbaarder en veiliger maken.

De eerste versie is goed wanneer de belangrijkste gebruikers hun taken kunnen uitvoeren, de gegevens goed worden opgeslagen en iedere gebruiker alleen ziet wat bij zijn rol hoort.

Belangrijk aandachtspuntEen veld en eventuele materialen voor hetzelfde tijdsblok beschikbaar houden.

3. Doelgroepen

Sportklant
zoekt en reserveert een geschikt veld.
Centrumbeheerder
beheert velden, tarieven, blokkades en materiaalsets.

4. Gewenste functies

Voor de eerste versie zijn dit de belangrijkste functies. De opdrachtgever wil deze onderdelen in ieder geval terugzien.

Voor klanten

  • Veld zoeken op sport, datum en tijd.
  • Beschikbare tijdsblokken bekijken.
  • Reserveren met aantal spelers.

Voor beheerders

  • Velden, openingstijden en tarieven beheren.
  • Onderhoudsblokkade instellen.
  • Materiaalvoorraad per tijdsblok beheren.

Algemeen

  • Overlap voor veld en materiaal voorkomen.
  • Prijs op basis van duur, piekuren en extra’s berekenen.

5. Technische wensen en voorwaarden

  • De oplossing is een webapp die goed werkt op telefoon, tablet en computer.
  • PHP 8+ met MySQL/MariaDB past bij deze opdracht. Laravel en een frontend-framework mogen worden gebruikt, maar dat is niet verplicht.
  • Er zijn verschillende soorten accounts. Iedere gebruiker mag alleen zien en doen wat bij zijn rol hoort.
  • Wachtwoorden worden veilig opgeslagen. De app controleert ingevulde gegevens en toont teksten op een veilige manier.
  • De code wordt duidelijk verdeeld in onderdelen met namen die goed te begrijpen zijn.
  • De app geeft duidelijke meldingen bij succes, fouten, lege resultaten en acties die niet zijn toegestaan.
  • Voorkom dubbele boekingen van een veld en materialen.
  • Bereken de prijs met een eenvoudige regel op basis van tijdsduur en extra’s.

Nog niet nodig voor de eerste versie

  • Online betalingen en koppelingen met echte betaalproviders.
  • Een verplichte koppeling met een externe API, tenzij dit later als uitbreiding wordt gekozen.
  • De app openbaar aanbieden en werken met echte persoonsgegevens.
  • Extra functies die niet in deze eerste versie zijn beschreven.
Bijlage

Globale wensen voor design en interface

Richting voor kleurgebruik: #064E3B, #34D399, #FBBF24 en #F8FAFC. Deze kleuren zijn een richting. Een passend alternatief mag ook.

Mogelijke indeling: Een sportieve tijdslotkiezer en een beheerweekrooster.

Handige onderdelen: Veldkaarten, tijdsblokgrid, prijsopbouw en materiaalstatus.

  • De app werkt goed op telefoon, tablet en computer.
  • Formulieren hebben duidelijke namen bij de velden en begrijpelijke foutmeldingen.
  • Een status wordt met kleur én tekst aangegeven.
  • Bij een lege lijst of een fout ziet de gebruiker een duidelijke melding.