Hallo,
wie der Titel schon sagt möchte ich ein Buchungssystem für Freizeitanlagen, z.B. Tennisplätze programmieren. Im Frontend soll eine Tabellenansicht generiert werden, wo auf der X-Achse die Plätze (Platz1, Platz2, etc.) und auf der Y-Achse die Tageszeiten (08:00-09:00 Uhr, ...) angezeigt werden. Zusätzlich wird ein kleiner Datepicker angezeigt, der es ermöglicht zu einem anderen Tag zu springen. Das ist soweit kein Problem, sondern die darunterliegende Datenstruktur bereitet mir Probleme aus folgenden Gründen:
- Jeder Platz hat individuelle Buchungszeiten, so hat z.B. ein Aussenplatz im Winter keine Bedeutung. Ferner kann Platz1 z.B. bis 21 Uhr gebucht werden, während Platz2 nur bis 18:00 Uhr gebucht werden soll.
- Die Buchungszeiten eines Platzes können an den Wochentagen verschieden sein, Sonntags z.B. länger als Dienstags.
- Gewisse Zeiten müssen durch den Admin für z.B. Trainingseinheiten geblockt werden können, am besten täglich, wöchentlich oder monatlich wiederkehrend.
Meine Idee war es nun für jeden Platz Timeslots für eine Saison in der DB zu erstellen. Der Admin legt also Saison Start, Saison Ende, die Mindestbuchungsdauer und die Öffnungszeiten für Platz x an den einzelnen Wochentagen fest. Daraufhin legt das Programm für jede Stunde ein Ticket in der DB ab was gebucht werden kann. Will jmd zwei Studnen buchen, werden ihm zwei Tickets zugeteilt.
Aufbauend darauf kann der Admin dann Tickets blockieren für z.B. Trainingszeiten. Er kann dann auswählen z.B. Wöchentlich (Montags) 17:00-18:00 Uhr blockieren. Anschließend kippt das Script den Status für die entpsrechenden Tickets um, und der Platz ist in der Zeit nicht mehr buchbar.
Haltet ihr die Lösung für akzeptabel, oder seht ihr eine elegantere Strategie?
Danke für eure Kopfzeit
wie der Titel schon sagt möchte ich ein Buchungssystem für Freizeitanlagen, z.B. Tennisplätze programmieren. Im Frontend soll eine Tabellenansicht generiert werden, wo auf der X-Achse die Plätze (Platz1, Platz2, etc.) und auf der Y-Achse die Tageszeiten (08:00-09:00 Uhr, ...) angezeigt werden. Zusätzlich wird ein kleiner Datepicker angezeigt, der es ermöglicht zu einem anderen Tag zu springen. Das ist soweit kein Problem, sondern die darunterliegende Datenstruktur bereitet mir Probleme aus folgenden Gründen:
- Jeder Platz hat individuelle Buchungszeiten, so hat z.B. ein Aussenplatz im Winter keine Bedeutung. Ferner kann Platz1 z.B. bis 21 Uhr gebucht werden, während Platz2 nur bis 18:00 Uhr gebucht werden soll.
- Die Buchungszeiten eines Platzes können an den Wochentagen verschieden sein, Sonntags z.B. länger als Dienstags.
- Gewisse Zeiten müssen durch den Admin für z.B. Trainingseinheiten geblockt werden können, am besten täglich, wöchentlich oder monatlich wiederkehrend.
Meine Idee war es nun für jeden Platz Timeslots für eine Saison in der DB zu erstellen. Der Admin legt also Saison Start, Saison Ende, die Mindestbuchungsdauer und die Öffnungszeiten für Platz x an den einzelnen Wochentagen fest. Daraufhin legt das Programm für jede Stunde ein Ticket in der DB ab was gebucht werden kann. Will jmd zwei Studnen buchen, werden ihm zwei Tickets zugeteilt.
Aufbauend darauf kann der Admin dann Tickets blockieren für z.B. Trainingszeiten. Er kann dann auswählen z.B. Wöchentlich (Montags) 17:00-18:00 Uhr blockieren. Anschließend kippt das Script den Status für die entpsrechenden Tickets um, und der Platz ist in der Zeit nicht mehr buchbar.
Haltet ihr die Lösung für akzeptabel, oder seht ihr eine elegantere Strategie?
Danke für eure Kopfzeit
Kommentar