We require the development of an AJAX calendar. This calendar will need to display dates and times in a similar fashion to Google calendar, having the times down the left side and the daysaccross the top. We have a photoshop design (of which I have attached a jpeg version to this project description, the psd can be release to the winning bidder if necessary) showing the layout and feel that the calendar must take.
Items that may be useful:
All dates and times in the past will be grey and uneditable
The days of the week will start on Monday going though to Sunday
Each day will be made up of time blocks starting from midnight 00:00 and ending at midnight. The day is split up into 48 25minute blocks, two every hour. The first starting at the start of every hour, the second starting 25minutes past the hour to 50minutes past the hour. Every hour there will be 10minutes of free time which will be from 50 minutes past to 60or0 minutes past.
Each 25 minute time block will be clickable in order to change its state.
There are four available states which are donated by colours:
red:selected
blue:booked
green:available
white:unassigned
In a MySQL database containes a table that includes a list of all the slots that are booked or available. The unassigned state exists where there are no records available to describe a timeslot. The selected state exists only within the application for the user to see what they have selected before they make changes.
The interaction with the database will be done with php functions that we will be developed by us.
There need to be two variations of this calendar. An administrative side and a user side.
The administrative side needs to allow a user to set their availability by clicking on the "white" unassigned squares and making them green for available. They must also be able to click on the green "available" squares and turn them white making them unassigned. They will not however have access here to do anything with the blue "booked" squares.
The User side needs to be able to make squares "booked" this can be done by selecting either green or white squares and once selected they will turn red. you can select as many squares as you want.
I hope this is enough information to help you understand what it is we require. Thank you all.