Cześć,
muszę stworzyć wyszukiwanie dostępnych godzina na rezerwacje w danym dniu.
Muszę tutaj rozwiązać kilka kwestii
- Terminy nie mogą nachodzić na już zarezerwowane.
- Admin może definiować wolne godziny
- Użytkownik może tymczasowo zarezerwować godzinę usługi
Dostępne godziny w całym dniu to np 10:00 11:00 12:00 13:00 ... do 18 co godzinę
//tak wygląda zwracana tablica godzin
$hours = [
0 => "12:00"
1 => "13:00"
2 => "14:00"
3 => "15:00"
4 => "16:00"
5 => "17:00"
6 => "18:00"
]
myślę że to jest oczywiste o co chodzi ale napiszę przykład
admin definiuje wolne godziny 15-16
i są już dwie rezerwacji na 13 - trwa 1:10 min
i na 17 - trwa 50 min
i teraz ktoś chce zarezerwować kolejną rezerwację która również będzie trwała 1:10 min. Realnie dostępne godziny dla takiej rezerwacji
to 15
ponieważ na 12 nie zdąży do 13
na 13 już jest i ona zajmuje czas do 14:10 więc do 15 nie zdąży
na 16 też nie może ponieważ nie zdąży do 17 może tylko na 15 ponieważ o 15 kończy mu się "przerwa" a następna rezerwacja jest dopiero o 17. Rezerwując na 15 skończy o 16:10
Dodam tylko że czas rezerwacji jest znany z góry. Tzn klient wybiera usługę, jakieś dodatki i wiadomo ile będzie to trwało. Czas trwania jest w minutach dla łatwości.
Wskazówki, kroki itd mile widziane ponieważ trochę się z tym zaplątałem