Project Description

For this project, we were tasked to build a calendar syncing tool. Sun Mountain uses Retreat Guru to handle all of their client reservations. They wanted to be able to access all of their reservations on Google Calendar and Airbnb, so we build a program that synced Retreat Guru reservations with Google Calendar.

We did this by making requests to Retreat Guru's API to get all listed reservations. With the data retrieved we then used Google Calendars API to delete all listed reservations, and then populate Google Calendar with the reservations retrieved.

Project Success

This project was successful, but like many projects, we ran into hurdles. Once or twice we realized that the code that we wrote had a bug, and we quickly fixed it at no cost to Sun Wellness. However, there were a few bugs that were no fault of our own and unfortunately had to charge Sun Wellness for the time spent.

Projects going over budget is a typical problem in the web development industry, and we do our best to avoid this ever being an issue. The first step we take is to give you a reasonable budget. Many companies will give you a project estimate lower than they actually think it will cost just so that they can get your business. Of course, later down the road, they'll be asking for more money.

The second step that we take is to provide a fixed cost for the project. If we think we can give you a fixed estimate then any bugs that we write in the code will be covered under that cost!

This is just a long way to say that Sun Mountain was happy with the work we did and we can consider the project to be another success!

Further Reading

One of the bugs that we ran into was an issue with Google Calendars API. To no fault of our own, the system crashed because of a "Rate Limit Error". We looked into the issue and found that Google wasn't letting us make any more API requests. Looking through Google's Documentation we found an explanation on how their rate limit works, but we were not exceeding anything they mentioned! This left us bewildered so, ironically, we took to Google! A quick search gave us a post where others were having the same issue. They as well were unable to pinpoint the exact problem, with many developers complaining about Google's lackluster documentation. So with the assumption being that Google was either doing a poor job of documenting or that they had a bug in their API we decided that our only option was to lower the number of requests being sent. This slowed down the rate that our program updated Google Calendar to about 30 minutes. Fortunately, this was fast enough for Sun Mountain and we didn't have to do any further problem-solving.

GitHub Repository