Rooms and Equipment Reservations: Consistency Check Web Part

Still one of my most popular posts ever is the extension I wrote on the Rooms and Equipment Reservations template for SharePoint 2007 which allows you to manage reservations for meeting resources.

The idea behind RER is simple, but the architecture Microsoft chose (and unfortunately me too) is flawed. For each resource there are two types of reservation items; “Available” and “Reserved”. When making a reservation the “Available” item is shrunk, split or replaced with a “Reserved item”. The list of reservation items for a certain resource should thus be continuous based on their respective start and end times.

Since quite a few people from the community and also some customers are using the RERv2, I get a lot of feedback on these flaws, which I tend to ‘consistency issues’. These issues can’t really be traced back to bugs in code but seem to happen at random. For every 100 reservations are made I typically see 3 consistency issues. They don’t all have a great impact; some are not even noticed, others are blocking future reservations for that resource.

Ideally the mechanism would have to be rewritten to just use “Reserved” items. This would make the fault ratio significantly smaller. However that project has been put in the fridge until further notice I’m afraid.

There is a sparkle of light at the end of the tunnel however ! I am releasing a Web Part that allows you to quickly correct consistency issues. And it’s even free ! ;)


Installation Instructions

1) WSP

The installation package (above) contains a SharePoint Solution (.wsp) to deploy using STSADM:

STSADM -o addsolution -filename RER.v2.ConsistencyCheckWebPart.wsp
STSADM -o deploysolution -name RER.v2.ConsistencyCheckWebPart.wsp -immediate -allowgacdeployment

2) Web Parts

Next in SharePoint create a Document Library (e.g. Pages) in the RER site where you upload the jQuery.js and RERAdmin.txt files from the install package. These make up the formatting and collapsing behaviour of the resources and reservations.

Also create a Web Part Page in this library called RERAdmin.aspx .

Add the ConsistencyCheckWebPart and RERAdmin_CSS_and_JS Web Parts on the RERAdmin page. You can import these Web Part directly if you go through Add Web Part > Advanced Web Part gallery and options > Import

It is best to break permissions and tighten security on the Web Part page so that users don’t inadvertently access the Consistency Check Web Part !

Usage Instructions

The Web Part must be placed in a site based on RERv2. It will automatically load the list of resources and corresponding reservations. If the CSS and JavaScript are in place the reservations are collapsed by default and the items will either have a green (good) or red (bad) icon. If it’s red that means there are consistency issues in the stream of reservation items for that resource.

The editor on the bottom of the Web Part will allow you to make changes directly to reservations.


NOTE: The number between square brackets is the item ID of either the resource or reservation item. You will need this to Modify or Delete a reservation !

Possible causes:

There are no reservations The workflow on the Resource hasn’t run (yet). Add an “Available” reservation for the resource with no specified end time, or recreate the resource to trigger the workflow.
There are two adjacent “Available” reservations They should be merged into a single “Available” item. Delete one of the items and Modify the remaining item to become ‘continuous’.
There are overlapping reservations A resource was booked twice. Normally this is prohibited but could occur in some rare conditions. Remove on of the items or Modify the start and/or end times to resolve this.
Reservations are not continuous All items should form a ‘continuous stream’ based on their start and end times. Modify the timings so that they become ‘continuous’.

Links to this post


Tuesday, 23 Mar 2010 01:49 by Magnus Stridh
You have done a great work with RER! This explains a lot of issues that I've been struggling with. I've also made a RER-implementation and found a lot of fails. I want to help to improve your work a little. When it comes to the issue with overlapping reservations, I found that it must be a transaction problem. I managed to re-create the failure with the help of a collegue by doing the following: 1) Create a New reservation for the same resource. 2) Make sure the times are overlapping. 3) Do a countdown to do a simultaneous post. The result is remarkable! No errorpage! In the visual presentation, the overlapping time is showing, not the rest. In the list of reservations both are shown completely. Futhermore, when I try to correct this inconsistency by removing one of them, it will not show correct on the Availability-page. I try to adjust one but the outcome is the same. I delete both reservations and make a completely new (on the same day) it will not even show. After this, it is possible to make overlapping reservations on my own (no need to help). But none is showning on the Availability-page. My question is, are there any way to repair this failure? Is this a real bug, perhaps? Can I force the "Available" value to a resource that has been corrupted or do I need to delete and rebuild it? Thanks in advance!

Tuesday, 6 Apr 2010 09:46 by Steven Van de Craen
Hey Magnus, you should be able to use the above Web Part to manually fix any issues in the reservations. No need to remove entire resources. You can modify the RER code to make it more solid (additional checks etc) to avoid future mistakes. We have it running in a few environments with very few to no mistakes.

Wednesday, 16 Feb 2011 06:45 by Miguel
I implemented the RR original FAB 40 template and did some customization using Javascript and some Lookup scripts. Now I am running into duplicate resrvations and resources locked in the availability page. Would this Webpart work on the original RR or would only work in your version. If so, can I load your version and not loose alll the reservations already loaded?

Friday, 18 Feb 2011 10:28 by Steven Van de Craen
Hi Miguel, The Web Part will only function for RERv2, but you might reuse the code for the original RER. I believe there's a check on the assembly of the event receiver. You might skip that step to make it work. The biggest difference in 'my' RER is that de Event Receivers on both lists have been replaced. There is also a column for Status added IIRC. And the visualisation Web Part is improved.

Wednesday, 18 May 2011 02:28 by Martin
Hi Steven, Great work with the RER template! I struggled some with the swedish version but pretty quick found the problems with the resources. I installed your v2 (belgium)with better result. Two questions: 1, is it difficult to change the date/time format to swedish? 2, What happends with the template when you upgrade to SP 2010?

Monday, 23 May 2011 09:35 by Steven Van de Craen
Hi Martin, I think the date format can be set as Regional Setting, and for the visualisation Web Part, you'll have to modify the XSL. As for upgrade, it should keep working since SP2010 is backward compatible, however I've never tested it and modification might be necessary.

Tuesday, 21 Aug 2012 09:04 by donSharepoint
hi. can i use this template for sharepoint 2010 ????

Tuesday, 21 Aug 2012 08:25 by Steven Van de Craen
Hi donSharePoint, The Fab40 and this RER template were designed for sp2007 but not ported to sp2010. It might work (I have done some migrations where we installed Fab40 on sp2010 to get sites working again) but you'll likely run into issues with visualisation. You're free to try since solutions are supposed to work in sp2010 but I haven't tested it yet.

Thursday, 6 Dec 2012 03:06 by Angel de Beitia.
Excellent template Steven, thank you for sharing. I have a question, do you know if this feature is available of native form on SP 2010? Thanks in advance,

Tuesday, 11 Dec 2012 02:27 by Steven Van de Craen
Hi Angel, not that I am aware of.

CAPTCHA Image Validation