You need to set up the menu from Wordpress admin.
Mar 12, 2010

Ajax Availability Calendar v3 released

In January 2008 I released for public downloading the first version of my Ajax Availability Calendar.

Over the first few months I continually developed it, fixing bugs and taking into account the suggestions and requests made by the many people who gave feedback on the forum. It finally settled down to a “version 2” state and, due to work commitments, I had to let it lie for a while.

When I initially started on the script the idea was that it was to simply be a calendar to show availability with an AJAX interface to be able to update the calendar date states simply by clicking on them (ie no need to reload the page each time you need to set the availability of the dates). I imagined that it would be implemented on websites by web developers like myself so this script would just become “part” of the integration.

However, it soon became clear that the vast majority of the people actually using the calendar where not in fact web developers. Rather they are people how had developed their own website and had little idea about php, javascript etc. and certainly didn’t have a CMS system to control their website (yes, hard to believe in this day and age, I know)

It was clear that I needed to improve the script so as to make the whole process simpler for the final user.
Then main requirement was to create an administration panel for the calendar.

Sometime last summer I set about creating a new version which would include a complete administration panel and, now that I was at it, many more new features.  It was also to have it’s own dedicated website:
So, after several months work (on and off between client projects) I finally got it together.
These are the most important new features:

  1. Administration panel to be able to control the calendar.
    From this administration panel you can control the following elements:

    • Booking “Items” – ie. the items that will have an availability calendar (eg. Country Cottage)
    • Booking States – asides from “available” and “booked” you can add an unlimited number of booking states such as “special offer”, “reserved” etc.
    • Administration users – you can assign new users that will be able to manage their own calendars but not the general settings
    • General Configuration – the calendar url, day of the week to start the calendar on, the theme etc.
    • Availability – clearly the most important part, this is where the actual date states are set (via ajax of course) for each of the “items” defined.
  2. I have completely rewritten the javascript so that it now uses the great Mootools javascript library.
    This was important to me as it just makes coding the javascript part so much easier and more efficient.
  3. It has an “install” script to make the whole installation process including database table creation much simpler for the average user.
    This allows the user to input their database connection details, writes a config file to save the connection data, creates all the database tables and finally gives the user the possibility to define the basic settings.
  4. It only uses one image (sprite) which is used as a background image on the “special” booking states such as “booked am”.

Also, as I mentioned before, I have also created a website dedicated to the calendar so as to separate it from the rest of my code pages.

I have tried to keep this website as simple as possible whilst offering the necessary information to the user. (docs, faq, implementation instructions and demos etc.).

One important aspect of this website is that I have included a working demo of the calendar so that you can check out not just the calendar itself but also the admin panel.

Since the initial release of this version 3 I have in fact released 2 further releases with bug fixes that where reported during the first few days, the current version, Version 3.03.02, has now been stable for the last month and just yesterday broke the 1000 downloads mark 🙂

However, I am not stopping there.  I am now working on a new release that will bring yet more features and improved Javascript code (I have converted it into Mootools Classes so that it will be easier to extend).  I also plan to include working demonstrations of the code for things like allowing the user (in the public version) to select dates and pass them automatically to a booking form (a simple matter but it needs documenting).  However, this next version, which doesn’t include any bug fixes as such, will have to wait a bit longer to be ready for release.
This calendar is released as Open Source, which means that it is free to use and, whilst I do have a “donation” button, this seems to go unseen by the majority of users 🙁 so my “real” work for my clients has to take priority.

captureFinally I have to admit to have not having done any promotion for this new script.  The reason for this is that I wanted to iron out any bugs first (which appears to be the case now) and then I wanted to release this next version which takes into account many of the suggestions made on the forum.  However, at the end of February it got blogged by and I have to say that the response was amazing.  Visits shot up from a discreet 40-50 per day to over a 1000.  As a knock on effect it then got “Tweeted” which brought many more visitors to the site, reaching a record of over 2000 visits in one day.
It has now settled down to a more than reasonable 200+ visits per day which I must admit to have never expected 🙂

Watching how it got “tweeted” was actually quite interesting in itself but I’ll leave that for another post….

So, if you haven’t done so already, feel free to take a look, download it and play around with it to see it’s possibilities.


  • Great work, excelent callendar form! Best regards from Poland!

  • Thank you Chris! Best free calendar ever on the internet!!!!

  • Thanks Chris!!! I have not found a better calendar ..

Leave a comment