I need someone to code an availability calendar for a rental property in php using a mysql table. The property has two flats and our page visitors need to be able to see online when the flats are available. The script does not involve any online bookings for the customer. The script just needs to have a front-end where users can see what dates are available and a back-end where I can put in what dates are already taken for both flats.
A. Front End
A user will have two links: one link to check availability for Flat A and one link to check avaiability for Flat B. Once the user has chosen the flat, he will see an overview which looks exactly like the attached graphic ([url removed, login to view]). It shows what the calendar should look like. The script should always show the next 12 months by default, starting with the month that is selected in the top right drop-down. If I changed the value in the top-right drop-down to March 2013, the script would show me months March 2013 until February 2014. I would like the calendar to have an exact width of 600px with 3 months per row. You have to use a very elegant design.
B. Back End interface
In the back-end I can block the dates which have already been taken and store it in a db. When you show the front-end calendar, you query the db to find out what dates to mark as red. I would like the backend to work as follows:
a) First, I can choose which flat I want to manage: Flat A or Flat B.
b) Once a flat is selected, I can see the reservations that have already been made for this flat. For this, I simply need a table with three columns: "Date range, family name, options". Please see the attached graphic "[url removed, login to view]" for more detail. I would like you to order the reservations starting with the lowest "arrive_date" value.
c) at the bottom of the field, I will have a button where I can "Add a new reservation". When I click on this link a form will open with three fields: "From:" (arrive_date), "Until:" (leave_date), "Family name:" (customer_name). The name in brackets is the value for the sql.
d) When I click on "edit" for an existing reservation, I would also like to have the form that I get for a new reservation, but the fields should be prefilled with the info for this reservation to be edited. I then need an "update" button.
// When you code this script, you will need to use your own db at the beginning, as we haven't finished setting up our database yet.
To confirm that you have read and understood the entire project, it is absolutely necessary that you start your application with the words "I have read everything..." so that I can immediately filter out those who did not read it all.
Also, please be aware that the calendar for the front-end should be in German. I can change the wording in the backend script myself!