Ik ben hier al een hele tijd niet geweest en moet zeggen dat ik onder de indruk ben van de nieuwe website.
Ik ben bezig met een script waarmee je hotelkamers kunt reserveren. Nu vraag ik me af wat de beste manier is om de bezetting data op te slaan.
Is dit een koppel tabel, dus een tabel die communiceert met de tabel waarin de hotelkamers staan, of gewoon in één tabel, data ranges met komma gescheiden. Denk het eerste, maar misschien zie ik nog iets over het hoofd.
Het is een systeem wat dient als tussen koppeling. Een hotel redirect naar ons reserveringssysteem, die klant vult dan alles in, wij zorgen voor e-mail, sms en fax notificatie bij het hotel en natuurlijk een bevestiging naar de klant.
Nu ik dit zo typ, is het dan misschien ook een goed idee om een 'orderid' veld toe te voegen aan de 'rooms_occupation' tabel? Of kan ik dit het beste doen a.d.h.v. de reserveringsdatum?
Dat hangt er maar net vanaf waar je de reserveringen op wilt sorteren en of je daar handmatig invloed op wilt hebben. Als dat laatste niet het geval is, kun je toch prima een van de kolommen uit die tabel gebruiken om op te sorteren?
Maar stel dat een klant 2 keer een reservering plaatst. Dan wil ik een geschiedenis van reserveringen kunnen uitprinten voor het hotel als ze daarom vragen. Maar dat kan ik wel doen a.d.h.v. de reserveringsdatum denk ik?
Dat lijkt me wel. Je zou voor het hotel bijvoorbeeld ook kunnen sorteren op bijvoorbeeld de aankomstdatum van de betreffende gast aangezien dat wellicht meer overeenkomt met hun administratie. Maar hiervoor is het zeker niet nodig om een aparte kolom toe te voegen voor het sorteren.
Ter aanvulling nog een vraag. Ik wil nu van mijn huidige database model dat de reservering eerst bevestigd moet worden per e-mail. Hoe doe ik dit met de data?
Is het handig om een extra veld in de 'room_occupation' tabel aan te maken met als naam 'active'? En wat zou het termijn zijn om die eruit te halen en hoe? Is dat handig via een cronjob?
Een kolom 'confirmed' kun je zeker toevoegen. Zodra de reservering bevestigd is, zet je deze bijvoorbeeld op 1. Het is niet nodig om niet bevestigde records uit de tabel te verwijderen, laat deze gewoon lekker staan. Ze staan je niet in de weg :-)