Schedule Bookings And Appointments For Your Business With phpScheduleIt

Ryan Dube 15-03-2012

php schedule itOnce, years ago, when I was regularly going to the same hair stylist every month for a haircut, she discovered that I was a tech geek. She was actually the owner of the salon, and during one particular visit, she started telling me about how difficult it was to manage paper-based schedules. She was hoping to come up with a digital way to make appointments for clients when they would call or walk in the door and ask for one.


At the time, I was already overwhelmed with a laundry list of projects and didn’t want the hassle of promising something that I wasn’t certain I could do. Of course, being addicted to programming and web-design, I couldn’t stop thinking about the best approach to accomplishing such a task.

Not only that, but I would imagine there are countless small businesses that find themselves in such a predicament – with the need to streamline the “booking” of clients with a digital solution. Hopefully, it’s also a solution that requires virtually no maintenance.  In my opinion, a web based application is obviously the way to go – since it can be accessed anywhere and from any computer. And of course when it comes to web-based apps, my favorite platform is always PHP and mySql.

Although I don’t go to the stylist anymore (in my absent-mindedness, I missed too many appointments), but I did eventually discover an interesting solution to the small business booking dilemma – a neat, open-source PHP application called phpScheduleIt.

A Web-Based App to Schedule Anything

While this application is best suited for scheduling appointments or booking reservations at a hotel or restaurant, it can also be used to schedule resources, like conference rooms or time on the library computer.

Anyone that knows me well knows that I love the simplicity and ease of installation that comes with PHP apps 6 Free Sites To Learn About Programming in PHP Read More . The beauty of this application is that it’s so easy to set up and is amazingly versatile.


As with most PHP applications (at least the good ones), installation is a very simple 3 or 4 step process. First, you transfer all of the phpScheduleIt files onto your web host, inside the folder where you want the application to reside. Then, edit the config.dist.php file with the mySql database information. You can set up the mySql database using phpMyAdmin either before or after editing this file, but don’t forget to create it or the app won’t work.

php schedule it

You may also want to consider setting up the mail server information if you want to allow the application to send emails. So long as you have an available smtp email service you can use, you’re good to go.

When you’re ready to set up the application, just run the install by using your browser and going to http://your-web-domain/phpScheduleIt/install/


The install script first asks you to confirm the mySQL settings that it gathered from the config file you edited.

php schedule calendar

Click “Run Installation”, and if your server has the required PHP and mySQL version and plugins enabled, it should work fine. When it’s completed, just visit http://your-web-domain/phpScheduleIt to open up the application.

The place where you’ll want to start setting up the shell for your scheduling system is under “Application Management”. This is where you’ll set everything up, starting with “Schedules”.


php schedule calendar

The application will ask you to create a new schedule. Keep in mind that this is an entire schedule that can contain numerous resources. Those resources could be conference rooms, workers that have their own clients, restaurant tables, or anything else. So classify the “schedule” as sort of a massive container for all of those resources. A library might have one schedule for each computer cluster of individual computers, or a beauty salon might have one schedule for each branch location.

php schedule calendar

Once the schedules are created, you’ll want to start filling them with resources by selecting “Resources” under Application Management. Here, you can list each of the individual resources that will need its own schedule. This can be individual computers, tables, hair stylists, conference rooms, etc. Basically, any resource in your business or organization where you’ll need to book clients, you could add as a resource.


php schedule software

A neat feature is that the software also lets you personalize each resource with its own image, contact information, and any description or notes that you want to include. Add a snapshot of each stylist, or show an image of the conference room.

php schedule software

Now that you’ve created your schedule and loaded it with all of the resources, the final step is to add your bookings when clients call. Or, you can provide multiple people with access to the system so that they can add bookings – such as people in charge of scheduling conference rooms or taking restaurant reservations. To make a booking, you just click “Schedule” and then “Bookings”.

php schedule software

You’ll see the entire schedule as a week’s snapshot at a time. To book a time, all you have to do is click on one of the boxes that have the “reservable” color code. Every resource schedule can be completely customized. You can block off entire blocks of time as “unreservable”. Once you’ve submitted a reservation, the block of time is shaded in blue.

Schedule Bookings And Appointments For Your Business With phpScheduleIt scheduleIt12

Reservations are fast to set up. You just fill in the start and end time, add a title and description, and you can even add other users in the system to participate in the reserved activity.

Schedule Bookings And Appointments For Your Business With phpScheduleIt scheduleIt13

The overall schedule will show everything at a glance. The blue reservations show who booked it, and if you hover your mouse over the reserved block of time, you’ll see the title and description that were included at the time of the booking.

php schedule it

If I remember correctly, the stylist ended up paying some web designer a hefty chunk of cash to put together a website, and it never did feature the electronic reservation system that she had dreamed about.

The thing is, it really isn’t that difficult to do. For someone familiar with PHP-based applications, installation is less than 15 minutes, and the entire setup and configuration only takes as long as it takes you to type in all of the resources that you want to schedule. You can have a system like this up and running at your business in no time.

Give phpScheduleIt a try and let us know if it helped you solve your reservation dilemma. Do you feel like it’s a robust enough approach for a business? Share your thoughts about it in the comments section below.

Image Credit: Reserved Table via Shutterstock

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Andres
    January 25, 2015 at 9:14 am

    Ryan Excellent article! An oasis in the desert.

    I have some questions:
    1. Does the calendar to book appointments for a hairdresser may be open to the public without logging?
    2. Where do I find the integration with wordpress?
    3. We have a directory of salons and want to integrate each profile hairdresser with your choice of booking appointments, how can you integrate this?

    Thank you very much!

    • TechCoder
      March 14, 2015 at 5:14 pm


      booked (previously phpScheduleIt) has the ability to do a lot of things 'out of the box', though to suit your specific needs, as I understand them from your question, it would need some custom modification (done through plugins, core mods and/or API calls).

      To directly answer your questions,

      1. I'm pretty sure you aren't asking for an online, non-secure, open modification of a user's calendar here, though it kind of sounds like it.

      If that is really what you want (highly not recommended!), this can be done through an external page on your website. I would recommend some sort of 'who are you' sort of thing before allowing the booking - after all, just how will your hairdresser know who they are to be working with if you have "open to the public without logging"???

      2. I have heard people have used booked with wordpress, though do not directly know of a plugin. You might check the booked forum - there's a lot of info there.

      3. I'd need more info on what you are looking to do, though we have used booked for a multi-city, multi-node, multi-building, multi-user (get the point - a LOT of things...) and it works well, though it may be, again, that you would need some custom work and/or add-ons like:
      + add on a clickable map to get people to the right location for their bookings
      + a full-screen display at each location so people can see when their booking is coming up
      + a feature rich charging system that integrates with Paypal so people could pre-pay for their services
      + etc.

      These can often be added to booked as plugins and/or stand-alone programs. My company does a lot of custom work for such add-ons/plugins and we use booked as a 'core' for all kinds of customers including manufacturers, corporate fleets, tourist airlines, churches and more.

      We are constantly building apps and add-ons for booked, some of which find their way to be offered to the public on our site -

      (another note.... while I would somewhat agree with Doug LaMar's comment, I also feel like using booked as a core is a good thing as it is a pretty stable and bug-free system with lots of features out-of-the-box and allows extensions pretty easily, as long as you stay in the API and/or plugin areas!)

  2. Doug LaMar
    April 10, 2012 at 5:55 pm

    This app is fine if you can use what it offers 'out-of-the-box'. If you are a developer and thinking about using it as a base and making modifications - beware. The app is written using TONS of tables and a very confusing and unnecessary number of includes and function calls... A real pain to make modifications.

  3. weston
    April 6, 2012 at 4:50 pm

    I've been using PHPscheduleit for almost five years to schedule computer labs and a few other rooms on campus. I haven't touched it, but my predecessor did some custom programming and so I'm not in a good position to upgrade to fix one tiny bug. I'm happy with the system otherwise.

  4. jeff
    March 28, 2012 at 12:51 pm

    I am in need of a open source calendar for my medical spa, similar calendar as hair salon. Nothing on the market seems to work for us. We need a api (to connect to our crm), multi location, admin screen, online appt. booking for our customers to book, sms reminders, auto reminders with confirmation backlinks - any thoughts?

    • Ryan Dube
      April 3, 2012 at 2:40 am

      Jeff - I actually think this PHP solution would work for the needs you've described. As you can see, most of the requirements you've listed are part of the application. All you need is someone that can install it on a web host for you.

      • niko
        April 3, 2012 at 11:41 am

        Just installed it on me local PC and givin it a test run... Win7 with Wampserver. awesome app.... However I cant seem to find the module that enables me to sends sms alerts and reminders, is this function included if not how easy is it to include it in the app?...

  5. Josh
    March 19, 2012 at 8:27 pm

    Just working on finalizing it for our production network. It's definitely an awesome piece of software. Nice job dev's!

  6. jef
    March 16, 2012 at 1:00 pm

    Ty for the idea.
    One option i'm surprised remains lacking (used?) by "all" business is the abilty to send the appt via ical....after all once its keyed on the business side, the client rekeys it into their phone/etc.