Skip to content
Converts ics/iCal files. For example from Google Calendar to Booked Scheduler format.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



iCalConverter is a command line tool that uses the sabre/vobject library to perform changes on iCal/ics files. It won't convert to other file formats.

You can use it f.e. if you want to free your room reservation calendar from Google Calendar and convert this calendar to a format that can be easily imported to Booked Scheduler.

How to use

  1. Install composer.

  2. Execute composer:

    cd <iCal directory>
    php composer.phar install
  3. Execute iCalConverter:

    ./iCalConverter.php <configurationfile> <importfile> <exportfile> [-debug]
      <configurationfile> Path to the file which describes how
          to handle <importfile>.
      <importfile> Path to the .ics/iCalendar file to import.
      <exportfile> Path to the (new) .ics/iCalendar file to 
          export the converted data to.
    -debug Add this option if you want to save debug information to log files in the log directory.
    Using the options --help, -help, -h oder -? you get this help.

How to configure

You will need to setup a php configuration file that tells iCalConverter how to handle the import file. See the example file.

How to extend

The provided configurable "modifiers" that change the input ical data are very basic. You can extend iCalConverter building your own "Modifier" class that handles input data the way you want.

If you want to filter out data extend AbstractFilter. If you want to modify data extend AbstractReplace or AbstractSet or create a new type of modifier.

Add your created class to config/ModifierClassMap.php to make it available for configuration.

Questions or support?

Can I use iCalConverter for my webservice?

Yes, you can. Please consider the requirements of the AGPL. Keep in mind the software was build for local execution via CLI. It only does very basic input validation currently and is served without any warranty.

Further questions? Contact

You can’t perform that action at this time.