The QloApps Booking iCalendar (.ics) File Export module lets a hotelier keep room availability the same on the booking website and on every booking channel. It covers an export feed for each room type, calendar imports from channels such as Booking.com or Airbnb, a sync log, and .ics files of bookings that you can download or attach to booking confirmation emails. You can buy the module on the Webkul store.
NOTE: The channel sync runs only when a cron job calls the module, so you need to add one cron job on your server. Each channel must also give you an .ics calendar URL for the room types you list on it. On QloApps 1.7.0, the email attachment feature needs an extra hook in
classes/Mail.php. The exact change is in the README file inside the module package.
Features of QloApps Booking iCalendar (.ics) File Export
- Publish an iCalendar feed for every room type that channels can import
- Choose whether the feed carries bookings, manually disabled dates, or both
- Filter the feed by order source and limit it to a number of days ahead
- Import the .ics calendar of each channel into a room type, using the preset channels or your own
- Block a free room for every imported event and update or remove the block when the channel changes the event
- Limit each channel’s import to a number of days ahead and choose which event types may block a room
- Review every created, updated, deleted, skipped and failed event in the sync logs
- Attach the booking .ics file to the booking confirmation email for guests, the super admin, hoteliers and employees
- Download the bookings of one or many hotels as an .ics file from the Orders page
How to Install QloApps Booking iCalendar (.ics) File Export
- In the Back Office go to Modules and Services › Manage Modules and click Add a new module.
- Click Choose a file and select the module ZIP file.
- Click Upload and install this module. QloApps uploads the module and installs it.

After the install, the module appears in the module list with the Configure button. Then you find the iCal Sync menu with Channels and Logs, and four ready channels: Booking.com, Expedia, VRBO and Airbnb.

Configuration of QloApps Booking iCalendar (.ics) File Export
Go to Modules and Services › Manage Modules, find the module and click Configure. The page iCal Sync – Configuration has three panels.
Booking iCalendar Email Recipients
This panel decides who gets the booking .ics file attached to the booking confirmation email. However, all four switches are No by default.

- Send email to customer: attaches the .ics file to the confirmation email that the guest receives.
- Send email to super admin: attaches the .ics file to the confirmation email that the super admin receives.
- Send email to hotelier: attaches the .ics file to the confirmation email that goes to the email address of the booked hotel.
- Send email to employees: attaches the .ics file to the confirmation email that goes to employees who have access to the booked hotel.
Then click Save to keep the changes.
Export Settings
The panel iCal Sync Channels – Export Settings controls what goes into the feed that channels import from QloApps.

- PMS events: tick Booking to export confirmed bookings, and Manually Disable Dates to export dates that you blocked yourself. Dates that came from an import are never exported again. Both are ticked by default.
- Order source: tick the order sources that count as confirmed bookings. The list shows the sources of the bookings you already have. As a result, you can leave out bookings that came from a channel and avoid sending them back to it.
- Limit export offset: choose Yes to export only the events inside the number of days below. With No, the feed carries all future events. The default is Yes.
- Export offset: the number of days ahead to export. The default is 365 days.
Then click Save to keep the changes.
Cron Job Configuration
The channel sync starts only when the cron URL is called. Therefore, add the line from this panel to the cron jobs of your server.

The line calls modules/qloicsexport/cron.php with a secret key that belongs to your hotel website, and it runs every hour. After the cron runs, the page prints how many feeds it processed and the result for each room type and channel.
Manage Channels
Go to iCal Sync › Channels to see the channels that you can import from. Booking.com, Expedia, VRBO and Airbnb are ready after the install. You can add another channel with Add new channel, for example a local booking site or another QloApps website.

Next, click Edit on a channel to open its settings.

- Name: the name of the channel. QloApps also shows it in the reason of the blocked dates.
- Active: choose No to skip this channel in the sync. The default is Yes.
- Limit import window: choose Yes to ignore events that start after the number of days below. The default is No.
- Import window: the number of days ahead to import. The default is 365 days.
- Channel events: after the first sync, this table lists every event type that the channel sent, for example Booked. Include decides whether that event type can block a room, and it is ticked by default. Include End Date also blocks the last day of the event. Channels usually give the check-out day as the end of an event, so QloApps keeps that day free unless you tick this box.
Finally, click Save or Save and stay to keep the changes.
Connect a Room Type to a Channel
Open Catalog › Manage Room Types, edit a room type and open the iCal Sync tab. The tab has an Export panel and an Import panel.

- In the Export panel, click Copy URL to copy the iCal Export URL of this room type. Then paste it into the calendar import option of your channel. Click Download iCal if you want to check the file first.
- In the Import panel, click Add channel.
- Choose the channel under Channel, then paste the .ics address that the channel gave you under Import URL.
- Click Save or Save and stay.
After each sync, the info icon next to the row shows the status of the last sync and the time it ran. Keep the export URL private, because anyone who has the link can read the feed.
When the sync runs, QloApps handles each imported event like this:
- A new event blocks one free room of the room type for those dates, and the reason reads iCal Sync: channel name (event name).
- When the channel changes the dates of an event, QloApps moves the block. If the room is no longer free, QloApps uses another free room.
- When the channel removes an event, QloApps removes the block.
- When no room is free for the dates of an event, QloApps skips the event and writes it to the log, so you can see the clash.
Check the Sync Logs
Go to iCal Sync › Logs to see what every sync did. Each row shows the channel, room type, hotel, event UID, event dates and the time of the entry. The status is Synced for created, updated and deleted events, and Failed for skipped events and errors. Also, you can click Clear all logs to empty the list.

Export Bookings from the Orders Page
Go to Orders and click Export iCalendar(.ics) File in the toolbar.

A window opens where you can narrow the file down.

- Hotels: choose one or more hotels. You see only the hotels you can access. All Hotels is selected by default.
- Date From: exports bookings that start on or after this date.
- Date To: exports bookings that end on or before this date.
Leave both dates empty to export all bookings, then click Export. You can open the .ics file in Google Calendar, Outlook or Apple Calendar. Each booking carries the check-in and check-out time, the hotel, the room, the location and the guest contact details.
Conclusion
The QloApps Booking iCalendar (.ics) File Export module keeps room availability the same on your booking website and on your channels. This guide covered the install, the three configuration panels, the channels, the room type settings, the sync logs and the booking export. Finally, we hope this guide has helped you configure and use QloApps Booking iCalendar (.ics) File Export with confidence.
Additionally, to learn more about the functionality of QloApps, you can visit this link: All-in-One Property Management System. For technical assistance, raise a ticket at QloApps Support. In case of any query, issue, or requirement, please feel free to raise it on the QloApps Forum.
Current Module Version: 4.1.0
Supported QloApps Versions: 1.6.x and 1.7.x
Be the first to comment.