Im starting to build a reservation sistem which is working fine (I guess) until now; but it seems that every step I make there is always a possibility to make it more complete or complex... who knows.
The systems works as follow:
The user enter basic information like ARRIVAL Date - DEPARTURE Date - ADULTS Num - CHILDS Num, etc.
Then the Query calls different tables: Hotels, Rooms, Specialrates, others...
The return contains available hotels with available-active-rooms depending on the dates. Now in the "specialrates" table the admin can enter a date range with special prices for each room, which will also return info to the user.
Example: if the user enters A: 2009-01-10 D: 2009-01-15 and some rooms has $200 as regular night rate, but between the 2009-01-12 and 2009-01-14 there is a rate per night of $300 (because a special event is happening, who knows...), the system will return a small calendar with the days requested and cost per each night, in this case: $200, $200, $300, $300, $200
I dont know if Im doing it right but it works, see here:
Using one week as the range: From: 2009,07,12 To: 2009,07,18
You will see these prices: $350, $350, $777, $777, $350, $350, $350
which will show the Specialrates table in action (777 value).
The way it works is this:
Using a simple IF statement I populate a structure, if the specialrates table has a value greater than 0 between the date-range use that rate instead.
MY QUESTION IS:
How about free nights, what about if the hotel wants to give away a free night the third, fourth, fift or what ever night the hotel wants... interesting, but Im just a beginner and I do not want to re-invent the wheel. Is there someone who knows about hotel reservation systems for multiple hotels? and also wants to share code-and-experience?