Okay, so I’ve updated the functionality of the Lincoln Council refuse collection calendar. You can find a bit of a write up on the Lincoln Web Development blog here. So go and read that then come back…

You’re back? Good. I hope that all made sense. The gist is that in our bin calendar database we store data for Postcode, Property (number and street name), Black and Brown Bin route, Green Bin route. The issue is that there is no direct correlation between when one property has their black and brown bins collected and when they have a green collection. A person with a monday black and brown collection may have a friday green collection, but another person with the same black and brown collection may have a tuesday green collection. Very hard to map.

So, in the previous version of the form we were simply pulling back the Google Calendar URLs and displaying them in separate iFrames, using a toggle on the form to switch between frames to show Black & Brown and Green. Simples. But confusing. In our Focus Group, one of the things that was brought up a number of times was how much better the calendar would be if both sets of calendars were on the same screen.

A bit of thinking later and I realised this could be done! When you publish a Google Calendar for embedding you can include any number of calendars from your account. Each calendar in the resulting URL is identified with an ID and colour reference, so in a URL of:


We can identify two individual calendars:




So, we can split these values out! If we had a second URL of (this one is a green calendar):


to get the id and colour of:


we can combine this with our previous values to get the big ol’ URL of:


adding back in the surrounding default values. Simples.

So now in our database, instead of holding URL’s we hold these individual identifiers. We only have one iFrame and the address to embed is constructed from:


So this is an example of taking on feedback, looking at the problem in a different way and coming up with a solution that improves the service for the customer. At no extra cost. I love it when a plan comes together 🙂