We’ve made a number of improvements to the iCal section of the system. The biggest change is that we are now able to automatically cancel reservations and handle modifications (with some limitations, see below). We have also added a one-click way to run the import of all iCal links in your account.
Cancellations
To enable automatic cancellation of reservations that no longer appear in your iCal feed, go to the iCal section (link below the availability calendar, and click Edit next to an existing link (or add a new link). And then select a status to be used. Most people will want to use their “Cancelled” status, which will make the old reservation no longer block the calendar.
NOTE: this will only work with reservations added after making this setting.
There is unfortunately no perfect way to link incoming iCal reservations with reservations that were previously imported into ReservationKey. Which means finding reservations to cancel is not as clean of a procedure as matching an ID from the import file to an ID we saved in our database. Now, when new reservations are imported, the ID of the import link (an ID assigned to it by our system when it was saved to our database) is saved with the new reservation. Because matching reservations from the import file with reservations we previously imported is not as easy as matching ID numbers, instead, as we run through the import file we make a list of each reservation the file contains, based on the start/end dates. Then we compare that list to the list of reservations we previously imported for this particular import file (based on the import file ID). If a reservation exists in the system that is no longer in the import file, the system will then change that reservation status to your cancelled status.
Modifications
Since matching is based on start/end dates in our database matching exactly with those in the import file, this means modifications will also get cancelled (since the start/end dates no longer appear the same in the import file, and therefore we can’t tell that the reservation is already in our system – again, this would have worked much more cleanly if all reservations were assigned unique ID numbers in iCal files, but that is just one of the limitations of iCal that we have to live with). So, how this works is we cancel the old reservation, and then re-run the import file, which catches any modifications and adds them fresh. The only drawback to this, is that if a cancelled reservation had previously been edited, the new reservation doesn’t have any of those edits (price changes, emails, notes, etc.). But in cases where this happens, it will be easy enough to search by guest name and find the old cancelled reservation (which is why we are not deleting any reservations with this procedure).
Import All
Finally, we have added a new way to quickly import all iCal links with one click. Rather than waiting for our system to automatically pull the files (which we currently do every 4 hours). You can find this in two places – at the top of the iCal modal window as a button, and also at the bottom of the availability calendar as a link.
We have done a lot of testing with this, but as always, it is almost impossible to anticipate every situation which might arise, so please monitor your cancellations/modifications and confirm the proper changes are being made by the system. And of course, we look forward to feedback and further suggestions about these features.