The Google Calendar application is developed by Google as part of the GSuite. Google Calendar makes people’s everyday lives easier by helping them manage events and reminders. Companies especially benefit from it greatly because it can also be used to manage events across multiple calendars. This way, companies can track the availability of employees and rooms to schedule meetings efficiently.
In this chapter, we will discuss scenarios and problems that relate to developing and implementing meeting management features.
Statement
Suppose you are a developer working for the team in charge of the Google Calendar application. Your team has decided to implement several productivity enhancing features. These features will enable individuals, pairs and larger groups of people to meet and collaborate more easily and efficiently.
Features
We will need to introduce the following features to implement the functionalities we discussed above:
Features #1: We have a schedule of meetings available. We want to determine and block the minimum number of meeting rooms for these meetings.
Features #2: Some team leads have requested the ability to display the blocks of time during which they will be busy in meetings. This will help others who want to meet them efficiently request an appropriate meeting time as well as to avoid unnecessary walk-ins.
Features #3: Before scheduling a meeting, check if the other person will be available during the specified time slot.
Features #4: Some users have open agenda and open participant meetings so that two meetings can take place at overlapping time at the same venue. Add a new meeting to a user’s already busy schedule while merging the new meeting with existing meetings, if necessary.
Features #5: Given the schedules of two users, find the time intervals when both of them are busy.
Features #6: Find two sets of consecutive days to schedule a series of board meetings using the number of mutually free hours of the board members.
Features #7: Given the schedule of a person, find the longest consecutive busy period.