February 26, 2018 • ☕️ 3 min read
So, a couple of weekends ago I went to a StartupWeekend - NOT a hackathon as I was promised (more on that in a follow-up blog, soon!) and spent the weekend testing ideas, validating ideas with the general public, and helping my partner prepare to pitch her business venture: https://cookx.co. This lead me to create ideas off of ideas I had already been working on. While some might say this is a great problem to have, I wish I had researched a little bit more before I spent a week of time after work implementing a solution.
One of the ideas I’ve been working on for about a month now is https://AppointmentScheduler.org (yes, it’s an homage to @patio11’s Appointment Reminder service). The idea came to me when I met my current barber. I found him offering his services through Facebook, and I wished there was an offering to allow me to book his services whenever he was available, without having to pay for the overheads of the barber shop he worked at.
The Web App lets people with clients (barbers, plumbers, tattoo artists - you name it) specify the times they’re willing to work - and share a mini-Calendar of their available times with their clients via a URL.
Anyway, I got about 80% of the way through implementing an MVP (pretty much just for my own use, or rather, to get people to use so that I could book their services) when the StartupWeekend began.
The combination of the AppointmentScheduler idea and talking to dozens of people involved in the startup community in Sydney then lead me to come up with the idea of letting people book rooms. This is a constant struggle businesses that have meeting rooms, and other bookable resources, but are too small to justify the cost of paying for a dedicated room booking system, or MS Outlook licenses for all employees.
The easiest solution I came up with was to essentially allow users to login via Google and ask for access to their Google Calendar. https://RoomBooking.co (the app) would then create Calendars for each Room the user created, and they could then share a link to a list of all rooms they created.
The problem I ran into was creating events/bookings in Google Calendar. Permission-wise, I wanted a person creating their event to only be able to edit their own event. For View Permissions I wanted all other events to come up as ‘Busy’.
In Google Calendar the previous combination of permissions is impossible without user intervention - each user you want to edit your Calendar has to be manually invited into the Calendar, with permissions set-up. I also wanted to charge for this service, which meant I expected it to be completely seamless and handled within RoomBooking.co.
Which brings me to this moment now - a full week of development later.
What went well:
gapi.jsscript to be usable by React lifecycle methods
What I could have improved: