- The meeting room reservation feature additionally allows you to check the availability of Exchange rooms and equipment and then book them straight from your SharePoint calendar. This feature has now been updated allowing you to book Exchange rooms and equipment directly when scheduling meetings in a SharePoint calendar.
- Asure Software’s conference room scheduling software can help you achieve your efficiency goals when it comes to reducing manual processes, increasing productivity, enabling workflows and meeting the needs of your mobile workforce.
Visualtime Room Scheduling Software. Sharepoint Room Scheduling in title. VisualTime Business & Productivity Tools, Commercial, $299.00, 10.5 MB. Meeting Room Booking System Business & Productivity Tools - Vertical Markets,, $69.00, 3.0 MB. Job Designer.
Introduction
Recently, an enterprise client asked us to create a solution for reserving company conference rooms. The client is a technically savvy company with numerous offices throughout the country and 5-6 conference rooms at each location. The challenge was for employees who were constantly traveling from one office to another to be able to find a free conference room “on the fly”, that had the equipment and space they needed. This article will show you exactly how EastBanc Technologies successfully integrated existing Microsoft solutions to create a time saving solution for reserving conference rooms with confidence and ease from any device or computer.
Background
The customer has an internal portal based on Microsoft SharePoint 2010 with 1500 daily users. The company also utilizes Microsoft Exchange. Microsoft Exchange already has features that allow booking different resources in the company through its Room Mailbox. Every conference room has its own email address that an employee can use for booking it, and others can see on the calendar what date and time the room is reserved for. Outlook 2010 also has a feature called Room Finder. You can read about Exchange Mailbox features in detail here:
Click here to learn more about Room Finder:
At first glance, everything seems easy to set up. However, there are some limitations. First, all users must have Outlook. Also, the description of the room is very minimal and doesn’t allow you to specify what the room is equipped with (projector, white board, conference call equipment, etc.).
Due to these limitations, the customer was looking for ways to create a system where every employee can see at a glance what rooms are available and what equipment is included without any extra steps.
SharePoint
The first step in creating this solution was to create 3 lists:
Departments, Conference Rooms, and Conference Room Reservations.
The Departments list consists of different branches in different cities.
Conference Rooms List contains rooms with their characteristics like:
- Name
- Branch
- Capacity
- Room equipment: projectors, white board, etc.
- Email address used for MS Exchange integration.
And finally the list of Conference Room Reservations:
- Room #
- Meeting date
- Meeting start time
- Meeting end time
- Name of a person who booked the room.
So now we have the lists. However, someone has to fill them in, so we grouped the users by their roles:
- Employees can search for rooms (using different parameters), plan and book their meeting rooms.
- Reservation Manager can reschedule or cancel existing meetings in his/her branch.
- Administrator creates and edits meeting rooms and the room directory with features like number of seats, projector, whiteboard, etc. In addition, Administrator is able to switch between brunches and to act as Reservation Manager.
UI
Our customer already had a user interface design applied to the portal, so our designers had little work to do:
1. User’s Home Page:
Screenshot 1: User Interface.
2. A separate link takes you to the list of rooms that contains the basic information. Details about the room are displayed by clicking on the room name.
Screenshot 2: Conference Rooms Equipment at a Glance.
3. The two-week calendar is available under the link 'Search for Meeting Rooms” Each cell displays the date, who booked a room, and for what time.
Screenshot 3: Calendar
4. You can click a “plus” sign to book a conference room:
Screenshot 4: Conference Room Reservation
Implementation
To make this happen, we had to write a WCF-service, which returns json and also works with SharePoint. This problem is solved with the appropriate web.config and with the presence of SVC in the folder ISAPI. There are many publications about how to properly configure web.config for sending json, for example like this:http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide
Then we developed some ASPX-pages, added them to the module, and implemented all the logic of a WCF-service through JavaScript using Knockout framework.
The main challenge occurred in Exchange. Virtually, all of the required functionality is implemented through EWS Managed API (hyperlink tohttp://msdn.microsoft.com/en-us/library/dd633709(v=exchg.80).aspx)
However, when the new room was created in the Conference Rooms List, we needed mailboxes to be created automatically.
We found out that the mailbox can be created only through powershell, and it is not a problem to invoke the command from C# code.
It is possible to add an event receiver to the Conference Rooms List and invoke the powershell command on a remote server using Runspace and WSManConnectionInfo. However, this approach is not secure, therefore we decided to write one more WCF-service and deploy it to the Exchange server. This service has only one method:
As it was mentioned above, the whole work logic is implemented through WCF-service, so it made sense to complement our service with methods for booking rooms from Exchange. We invoked the service method to create our room reservation in Exchange. All the necessary information was placed in Microsoft.Exchange.Data.Appointment, and then the meeting was created in the Exchange calendar through API.
We decided to solve the problem of reverse synchronization (when an employee booked a room in his calendar via Outlook) via a timer job. This job collected all the information from Exchange and created the missing reservations and deleted canceled meetings.
Result
EastBanc Technologies successfully created an architecture that provides a scalable and flexible solution built on Microsoft technology stack using all the advantages of an integrated solution. The system is customizable and is accompanied by standard platform tools.
As a result, today
- The company management has a unified collaboration tool that increases the employees efficiency extending overall Intranet-portal capabilities and simplifying and optimizing administrative and organizational processes of the Customer.
- Company’s employees can plan their work and key meetings faster, easier and more efficient than ever before.
- IT staff has a flexible and scalable solution accompanied by a unified standard and uses 'out of the box' functionality to it’s fullest. Therefore, the transition to the new version of SharePoint and Exchange will be smooth and flawless.
Important: The Group Work Lists feature is not available in SharePoint 2013 and later versions. For more information, see Discontinued features and modified functionality in Microsoft SharePoint 2013.
The group calendar feature enables you to reserve resources, such as conference rooms and audio-visual equipment. For example, you can know the availability and reserve a conference room when you are schedule a meeting. You can also reserve just a resource, such as teleconferencing equipment.
The following steps must be completed before resources can be reserved.
In this article
To learn more about calendars and related features, see Use a Group Calendar.
Step 1: Activate the Group Work Lists feature for the site
Sharepoint 2016 Software Requirements
Note: To activate a site feature, you must have at least the permissions obtained by being added to the default <Site Name> Owners SharePoint group for the site.
Click the Site Action menu and then click Site Settings.
Under Site Actions, click Manage site features.
Activate Group Work Lists.
Step 2: Enable resource reservation for a calendar
Note: To change list settings you must have at least the default Designer permission level, or the equivalent.
In the calendar, in the ribbon, click the Calendar tab, and then click List Settings.
On the List Settings page, click Title, description, and navigation.
On the General Settings page, in the Group Calendar Options section, set Use this calendar for Resource Reservation to Yes, and then click Save.
Step 3: Add resources to the Resources list
Note: To add items to a list, you must have at least the permissions obtained by being added to the default <Site Name> Members SharePoint group for the site.
Click the Site Actions menu and then click View All Site Content.
On the All Site Content page, in the Lists section, click Resources.
Important: Resources is a default list for most sites. If the Resources list does not exist on your site it must be created.
On the Resources page, click Add new item.
In the Resources dialog, type the Name for the resource, add an optional descriptions, and then click Save.
Repeat the procedure to add additional resources to the list.
Following is an example of a Resource list created using the previous procedure,
Step 4: Group resources in the Resources list
If you have many items of one type, such as conference rooms, or many different types of resources, you might find it helpful to create groups for the resources. When someone is looking for a conference room or audio-visual equipment, they only have to view the type of resources they are looking for.
Note: To add items to a list, you must have at least the permissions obtained by being added to the default <Site Name> Members SharePoint group for the site.
Conference Room Scheduling In Outlook
From the Resources list, in the ribbon, point to New Item, click the down arrow, and then click Resource Group.
In the Resources – New Item dialog box, do the following:
Type the Name for the group, such as Conf Rooms.
Select the resources you want to add to the group and click Add. You can hold down the CTRL key to select multiple resources at the same time.
Type an optional description for the group.
Click Save.