Friday, May 3, 2013

Reservation of resources in SharePoint 2013 and SharePoint 2013 Online in Office 365

SharePoint 2010

I suppose, many of you know about a great calendar feature in SharePoint 2010 called resource reservation. It enables organization of meetings in useful interface that allows to select multiple resources such as meeting rooms, projector and other facilities and required participants, and next the time frame that is free for all participants and facilities in the calendar view. You can switch between week and day views. Here is a screenshot of the calendar with resource reservation and member scheduling features:

Meeting organizer in SharePoint 2010

You can change resources and participants in the form of your meeting, find free time frames in the diagram and check double booking:

Create meeting in SharePoint 2010

There are two ways to add the resource reservation feature into SharePoint 2010 calendar:

  1. Enable web feature 'Group Work Lists', add calendar and go to its settings. Click 'Title, description and navigation' link in 'General settings' section. Here check 'Use this calendar to share member's schedule?' and 'Use this calendar for Resource Reservation?'
  2. Create a site based on 'Group Work Site' template.

Here is the detailed instructions:

SharePoint 2013 on-premise

After migration to SharePoint 2013 I discovered that these features were excluded from the new platform and saved only as backward compatibility. So, you can migrate your application with installed booking calendar from SharePoint 2010 to SharePoint 2013 and you will keep functionality of resource reservation but you cannot activate it on a new SharePoint 2013 application through default interface.

Microsoft officially explained these restrictions by unpopularity of the resource reservation feature:

First, I found a solution for SharePoint 2013 on-premise. It is possible to display the missing site templates including 'Group Work Site'. Then you just need to create a site based on this template and you will get the calendar of resources.

Go to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\1033\XML, open WEBTEMP.XML file, find an element with 'Group Work Site' title attribute and change its Hidden attribute from FALSE to TRUE.

SharePoint 2013 Online in Office 365

Perfect, now we can use free SharePoint booking system based on the standard calendar. But what about SharePoint Online in Office 365? We do not have an access to WEBTEMP.XML in its file system.

After some research I developed a sandbox solution that enables hidden 'Group Work Lists' feature and adds calendar with resource reservation and member scheduling features. Please, download it and follow the instructions to install:

  1. Go to the site collection settings.
  2. Open 'Solutions' area from 'Web Designer Galleries' section.
  3. Upload CalendarWithResources.wsp package and activate it.
  4. Now, navigate into the site where you wish to add the calendar with the enabled resource reservation feature.
  5. Open site settings -> site features.
  6. Activate 'Calendar With Resources' feature.

Great, now you have Group Calendar with an ability to book resources and schedule meetings. This solution works for SharePoint 2013 on-premise as well, so you can use it instead of WEBTEMP.XML file modification.

Meeting organizer in SharePoint 2013

The form of the meeting:

Create meeting in SharePoint 2013

How it works

I have attached source project to this entry. CalendarWithResources feature is dependent on feature with GUID: 9c03e124-eef7-4dc6-b5eb-86ccd207cb87. This is 'Group Work Lists' web feature that exists for backward compatibility but is hidden from the list of features. So, it is the only way to enable it.

Also solution contains a calendar list with a custom schema. I added EnableResourceSelector="TRUE" and EnablePeopleSelector="TRUE" attributes into the definition. These properties turn on the resource reservation and member scheduling settings of the calendar.


Sources of CalendarWithResources


  1. This works well in SharePoint online except that I can't get the resources to stay visible for all users - they have to be added each time any user connects

    1. Any solution for this problem RP - I am facing same

  2. I just uploaded the wsp to my SPOnline test site and it works the same way SP2010 works. Thanks for doing this.

  3. Its working and cool features, could you please share the source code for this.

    1. Oh, sorry. I did not notice that I had missed sources. Now I have uploaded them: Sources of CalendarWithResources

  4. This comment has been removed by the author.

  5. Hi, do you have further instructions on how to apply this to 365 please? This looks great, but I can't configure 365 to not double book or show availability like you have - any help would be greatly appreciated.

  6. Hi, i have SharePoint in another Language and your solution doesn't work, any suggestions?

  7. I cannot see in the calendar view bookings created by other users (I see only bookings done by myself). Is there a way to achieve this (I am the site owner, so it is not access issue)?

  8. I cannot view calendar events or submissions made from other users - I can only view mine in SP 2013...Is there a way to view all like current events/all items view

  9. Same issue here! This solution worked amazingly...thank you! I would just like all reservations to show up on one calendar (I have more than 10 resources, so overlays won't work). I found this: But...the radio button "Use this Calendar for Resource Reservation is missing under Settings in 2013, so I'm stuck!

  10. Both links seem to be broken.
    Is there a chance to get the wsp and sources?

    Thanks in advance

    1. We moved the blog to our website. You can download the attachments from there:


Note: Only a member of this blog may post a comment.