I am reseaching into the best method for implementing a booking system
data structure. My booking system in full will be used to store
details on landlords apartments .. this part isnt too big an issue for
me as I can have a table called 'landlord' and a table called
'property' which will both tie up with one another (one property will
have one landlord, one landlord may have many properties). The part Im
unsure about is where customers will choose an apartment to stay for a
few nights and what the best way to go about this is. My idea is:
booking - this table will contain a single booking entity such as
customer name, contact details, date_booked, additional_notes (ie.
pick up keys at 2pm) .. but will not contain dates, nights. It will
contain a foriegn key column which will tie it up with the property (1
property may have many booking entries, each booking will only even
have of one property).
booking_night - this table will contain nights booked and each row
will be one night. It will contain a foriegn key column called
booking_id which will tie up with the booking table primary key. One
booking entry may contain 1...* booking_table rows dependant on the
number of nights booked for that customer (4 rows = 4 nights).
Now I think this is the best way to go about it but would really
appreciate some advice if possible. One of the main challenges will be
implementing the availability calendar (well, only coz Ive never done
one before) so this is why i want individual entries for the nights so
the days of the month would check if they have a entry in
booking_night for that property. I am hopefully that this will host
many many apartments so if I can adopt the most efficient method of
storing data for performance then Im off to a good start. Cheers
Burnsy