Project 10 - Escape Room Booking
Een boekingssysteem voor kamers, tijdsloten, groepen en optionele arrangementen.
1. Achtergrond en probleem
Locked Lane heeft drie escaperooms met verschillende groepsgroottes. Reserveringen worden handmatig in een agenda gezet, waardoor dubbele boekingen voorkomen.
De locatiemanager wil klanten zelf een beschikbaar tijdslot laten kiezen en medewerkers één duidelijk dagoverzicht geven.
2. Doelstelling
De opdrachtgever wil een eerste werkende versie (MVP) laten maken onder de naam PuzzlePass. 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.
3. Doelgroepen
- Boeker
- zoekt een kamer en beheert de eigen reservering.
- Locatiemedewerker
- beheert kamers, tijdsloten, blokkades en boekingen.
4. Gewenste functies
Voor de eerste versie zijn dit de belangrijkste functies. De opdrachtgever wil deze onderdelen in ieder geval terugzien.
Voor boekers
- Kamers vergelijken op thema, moeilijkheid en groepsgrootte.
- Beschikbare tijdsloten per datum bekijken.
- Reserveren met aantal deelnemers en contactgegevens.
Voor medewerkers
- Kamers, openingstijden en onderhoudsblokkades beheren.
- Dagplanning met aankomsttijd en status bekijken.
- Reservering bevestigen en betaling als ontvangen markeren.
Algemeen
- Dubbele boekingen blokkeren.
- Prijs berekenen uit kamer, groepsgrootte en arrangement.
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 dat twee groepen dezelfde kamer op hetzelfde moment boeken.
- Bereken de prijs met een eenvoudige regel op basis van kamer en tijdsduur.
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.
Globale wensen voor design en interface
Richting voor kleurgebruik: #1C1917, #B91C1C, #D6D3D1 en #F59E0B. Deze kleuren zijn een richting. Een passend alternatief mag ook.
Mogelijke indeling: Een mysterieuze maar goed leesbare boekingsflow en een dagkolom voor medewerkers.
Handige onderdelen: Kamerkaarten, tijdslotknoppen, prijsopbouw en dagplanning.
- 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.