Terminplanung: SQL-Abfrage oder PHP
Hallo Zusammen,
ich habe folgendes Problem, mit dem ich schon eine Weile kämpfe. Ich möchte gerne einen Terminplaner Online für einen Salon erstellen. Kunden können über ein Portal einen Termin vereinbaren. Das Problem ist folgendes:
Es gibt eine Tabelle in der DB, die alle Termine (Uhrzeit), die für einen bestimmten Tag belegt sind hält. Die Termintabelle hat die Spaten Start_Zeit und Anfangs_Zeit und repräsentiert die Dauer des gesammten Termins. Beispielsweise hat ein Kunden einen Termin um 7.15 Uhr der bis 7.30 Uhr anhält, also eine Viertelstunde. Ein zweiter Termin ist um 8.00 Uhr eingetragen und geht bis 10.00 Uhr. In diesen Zeiten, also von 7.15 Uhr bis 7.30 Uhr und von 8.00 Uhr bis 10.00 können niemals weitere Termine vergeben werden.
Die Anfangsarbeitszeit des Mitarbeiters im Salon ist an diesem fiktiven Tag bspw. 7.00 Uhr und geht bis 13.00 Uhr.
Wenn ein Kunden nun einen Onlinetermin vereinbaren will(bspw. Trockenhaarschnitt), der 15 Minuten dauert, dann wäre ein Termin um 7.00 Uhr möglich, da der erste Termin erst um 7.15 Uhr eingetragen ist, ein weiterer möglicher Termin wäre dann ab 7.30 Uhr(erster Termin endet 7.30 Uhr) und dann noch zusätzlich um 7.45 Uhr, da der dann bis 8.00 Uhr gehen würde, wo auch der zweite Termin beginnt, der schon in der Tabelle steht.
Weitere Termine wäre dann ab 10.00 Uhr bis 13.00 Uhr, da sonst weiter kein Termine vergeben sind (Arbeitszeit geht bis 13 Uhr). Alle möglichen Termine werden grundsätzlich im Viertelstundentakt vergeben...also müsste der Kunde ab 10.00 alle Termine von 10.00, 10.15, 10.30, 10.45, 11.00 Uhr bis 13.00 Uhr usw. angezeigt bekommen.
Ich hoffe die Anforderung ist etwas klar geworden. Nun ist die Frage, wie kann ich das am Besten umsetzen. Geht das schon sinnvoll über die SQL-Abfrage oder eher in der Weiterverarbeitung mit PHP?
Nochmals die Eingangsparameter die ich habe:
1. Arbeitsbeginn und Arbeitsende des Mitarbeiters
2. Startuhrzeit und Enduhrzeit der schon vorhandenen Termine in einer DB_Tabelle
3. Die Dauer eines gewünschten Termins vom Kunden
Würde bpsw. die Dauer einer Anwenung eines Kunden 2 Stunden dauern, kann kein Termin um 7.00 Uhr (1.Termin ist schon um 7.15) und auch nicht um 7.30 Uhr und 7.45 Uhr vergeben werden, da der zweite Termin schon 8.00 wäre. Demnäch bliebe der erste mögliche Termin, ab 10.00 Uhr übrig(da der zweiter Termin in der DB, um 10.00 Uhr endet).
Wie kann ich das Sinnvoll lösen...wäre über Gedankenanregungen super dankbar.
Liebe Grüße,
Randybee
|