Rooms & Resources double booking

Hi There

We have just upgraded to Domino 8.5.1FP3 from 6.5.5 (hooray!). One issue we had previously and is still an issue concerns people being able to double book a room.

Many of the users book their rooms via the reservation database instead of the calendar. There does not seem to be any mechanism to prevent a user entering multiple reservations for the same room at the same time or for any other users to book that same room at the same time.

If a user books a room via the calendar and you then try and book the same room & time via the reservation database, it will not allow you, which is fine. If you book via the reservation database, it marks it booked with a green tick, but you can still book the same room at the same time again or another user can as well.

Wondering if it is a known issue, or does IBM not recommend bookings directly in the reservation database?

Any help would be greatly appreciated.

Cheers

Peter

Subject: Rooms & Resources double booking

Has this problem been solved?

Thanks

Valerie Murray

Subject: Not possible unless you are replicating Reservations NSF . . .

We recently went through a 6.5x to 8.5x upgrade and had some staff reporting they thought they could make duplicate bookings, but they did not know that although you can save a new booking document that appeared to be a conflict, it is not, as (new version) of the Resource Reservations system has not ‘approved’ the booking. It took a while to get folks to understand the new way the system works . . .

Assuming that there is a single replica instance of your Resource Reservations database, then you cannot double book (in R7 & later): When a booking is created directly in the reservations database, it is initially saved with a pending status (‘Waiting System Approval’), awaiting processing by the RnRMgr task. RnRMgr then decides if the booking should be accepted. Bookings are processed in a queue by RnRMgr, thus you cannot double book.

Have a look at this: “Rooms and Resources design in Lotus Notes/Domino 7” IBM Developer

This may also help: "How to upgrade the R&R database from a Domino 6 to a 7 or 8 release

" http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21363903

Note that there is an issue with legacy R6.x bookings of a certain shape, that you may suffer from for a while (we do now & then and have a View/e-mail Agent to spot them; when we get them we delete the booking and re-create): http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21255213

Hth.

Subject: That’s what I thought

Hi There and thank you for your reply.

Yes that is exactly what I thought and explained to the client using almost the same words and going through the information in the same link. In fact we had open tickets on double bookings that I said would not occur once we moved to 8.5. Anyway I thought I’d give it a try. If you book via the calendar then no problems, and if at least one person books via the calendar then no one else can book the same room at the same time. All good so far.

So what I did was book a room at a certain tine directly in the reservation db. The room got marked with a green tick. I then re-entered the reservation database again, entered new reservation, searched for a room at the same time and it brought up the same room as being available, so I saved it and sure enough it was booked again by me for the same time and room.

I used another user id and did the same thing and yes it booked it again so now it was triple booked.

What it looks like is if you book via the reservation db it does not update the busy time, however if you do it via the calendar then ok.

I will review the info on upgrading the reservation db from 6 to 8 to make sure I didn’t miss something. It may very well be something in this upgrade but I just can’t seem to find what is wrong.

Cheers

Peter

Subject: Some thoughts

Ok I can think of a couple reasons why this might happen so Ill cover all the bases.

1: Make sure you replaced your R&R dB design with the matching 8.5x R&R template. There used to be some processing logic in the template that we removed in 7.0 as part of the redesign. I personally distrust a refresh because the template name changed and find a replace is the only way to go to when you upgrade.

2: Make sure you enable the 4 “system” Agents in the new template (Autoreminder, Update Blockers, Rename Room and Purge) with an ID that is allowed to run Agents on your server. You should also make sure you set the Admin Server of the R&R dB in the ACL dialog. This is the “Home Server” for your R&R entries and MUST be the same for all R&R names in that dB; no ServerA for some entries and ServerB for others!!

3: There were some issues with repeating entries in R6 which could allow new requests to double book with them. We developed a tool you can get from L2 to find and fix the R&R entries (by upgrading them to the R7 repeating format). The tool will also make it nicer for your users in that RnRMgr will be able to purge out long running repeating entries as they age out. The tool is named R6RnRFix in case you talk to L2.

4: For the most part RnRMgr does not really care about direct book vs calendar booked; it simply expects entries to contain a specific set of items. It only cares when it has to Decline a reservation (so it knows to send a Decline or not and if the entry should be kept in the dB or deleted). Since your RnRMgr is not declining this should not be a factor.

5: Check your busytime dB. RnRMgr relies on busytime to be accurate so that it knows if a room is free or not. We have gotten intermittent reports of double bookings which we have backtracked to either multiple busytime entries for a given room OR replication conflicts. If you see > 1 entry for any name then you need to rebuild your busytime. If you are clustered you really MUST follow the Technote on how to do it right or you risk getting bad data sticking around and causing problems for you again in the future when you least want it.

6: Check the $CSTrack items on your 2 test reservations. Is the same server processing both requests or is processing happening on different servers. The former could be happening if you have a problem in busytime (#5 above). The latter could be due to a problem w/your cluster getting ‘split’ for which you need to get some L2 time to diagnose why.

7: When you do your test, so a tell rnrmgr show Room A/Site 1 console command after your first reservation is booked. Make sure you see the date/time as booked:

RnRMgr: Room A/Site 1 is busy from 8/9/2010 9:00 AM to 8/9/2010 9:30 AM

before you create your 2nd booking. You should see the entry in busytime if you see it has a green checkmark on the entry. Then try to double book it and see if it happens. If you can do this then it may be time to get L2 involved to find out how you managed to bypass the busytime lookup.

Bruce

IBM

Subject: Thnk you … will check

Hi Bruce

Thank you for the info.

  1. Yes template was replaced.

  2. Yes 4 agents enabled. We did have some entries on the other cluster server so made sure all entries in NAB matched the admin server on the db.

  3. All the exisiting entries seemed to transfer OK. I’ve not heard of any issues from users for their previous entries.

  4. OK

  5. Good info. I will investigate busytime as I have not checked this as yet.

  6. More good info and will investigate.

  7. Will check also.

I will do some further investigation and report back. One thing I have been fixing is some illegal names for our rooms. We have a number of rooms like Training Room #1. The info I’ve seen doesn’t mention # as an illegal char, but it looks like it is so I’m changing the rooms to Training Room No.1 etc (the room I was testing was not one of these but just want to make sure everything is as it should be)

The rnrdb is setup on a clustered server and if I do a whoowns the processing is currently on the secondary rather than the primary, but presumably this doesn’t affect the operation. The servers are regularly restarted due to windows patching so will switch over to the primary next month.

Thank you again for the info. Will investigate further.

Cheers

Peter

Subject: Multiple entries in clbusy

Hmmmm

I looks like there is an issue with clubusy having multiple entries. Here’s a snapshot of a few lines.

“l3 nth meeting room 3n102 - near corporate”

“l4 - carers room”

“l4 - carers room”

“l4 - carers room”

“l4 - carers room”

“l4 - carers room”

“l4 - carers room”

“l4 - carers room”

“l4 - carers room”

“l4 - carers room”

“l4 - visitor’s office”

“l4 meeting room 1”

“l4 meeting room 1”

“l4 meeting room 1”

“l4 meeting room 1”

“l4 meeting room 1”

“l4 meeting room 1”

“l4 meeting room 2”

“l4 meeting room 2”

“l4 meeting room 2”

“l4 meeting room 2”

“l4 north meeting room 4n215”

“l4 south meeting rm 4s302”

“l4 training room 1”

“l4 training room 2”

“l4 training room 2”

“l4 training room 2”

“l4 training room 2”

“l4 training room 2”

“l4 training room 2”

“l4 training room 2”

“l4 training room 2”

“l4 training room 2”

“l5 meeting room”

“l5 meeting room”

“l5 meeting room”

“l5 meeting room”

It’s pretty much the same the whole way through. Looks like what I should have done with the upgrade was to delete clubusy and reboot. There have probably been multiple entries for some time.

I will shut down sched rnr and calconn on both boxes tonight and delete clubusy and see how that goes.

Cheers

Peter

Subject: Known issue, unknown cause

The issue of multiple busytime records is one that we have had reported but have not been able to reproduce in house nor have customers been able to reproduce it consistently. Until we can reproduce or get more info I have no immediate fix to give you.

If you see this happen on any kind of basis, please contact Tech Support so that they can work with you to find the root cause.

Bruce

IBM

Subject: Still the same

OK I have jsut completed a complete rebuild of clubusy on all servers that use rnrmgr. Now there are no multiple entries in clubusy.We have 2 main servers (clustered) that store the reservation db and the other servers are users mail servers.

On one main server APPCBRN2 I manually enter a reservation and just like before it lets me enter another for the same room at the same time. Here is the $CSTrack entries for the first and second entries.

“Unable to create event descriptor for request[Local] by Rooms and Resources Manager on APPCBRN2(Release 8.5.1FP3|May 23, 2010) at 11/08/2010 12:41:21 AM”

“Unable to create event descriptor for request[Local] by Rooms and Resources Manager on APPCBRN2(Release 8.5.1FP3|May 23, 2010) at 11/08/2010 12:43:01 AM”

Only a couple of minutes between them and both processed by the same server.

I will do some research on the message about not being able to create event descriptor.

Any ideas? I’m starting to get more frustrated when I know it should not happen…help…

Here are all the fields exported from both entries incase that helps.

WebDateTimeInit: 1

StartDateTime: 11/08/2010 10:00:00 AM

EndDate: 11/08/2010

EndDateTime: 11/08/2010 11:00:00 AM

OptimalStartTime:

wFreeTime:

ResourceNameList:

APPTUNID: 428EBC7086C3B6F3CA25777B00509C37

SEQUENCENUM: 1

$CSVersion: 2

$SMTPKeepNotesItems: 1

AltReservedBy: CN=Peter Lock/OU=UNISYS/O=IMMI/C=AU

$LangReservedBy:

CalendarDateTime: 11/08/2010 10:00:00 AM

$NoPurge: 11/08/2010 11:00:00 AM

_ViewIcon: 0

$BusyName: CN=L3 - Computer Training Room 1/O=QLD - Brisbane

$BusyPriority: 1

$WebFlags: J

GridStartTime: 09:00:00 AM

DurationSel: 10

CurrentZone: Z=-10$DO=1$DL=10 1 1 4 1 1$ZX=9$ZN=AUS Eastern

Purpose: test

StartDate: 11/08/2010

StartTime: 10:00:00 AM

EndTime: 11:00:00 AM

StartTimeZone: Z=-10$DO=1$DL=10 1 1 4 1 1$ZX=9$ZN=AUS Eastern

PhoneNumber: (02) 6223 9293

Capacity: 1

ResourceCategory:

wResourceNameMulti:

ReservedBy: CN=Peter Lock/OU=UNISYS/O=IMMI/C=AU

ResourceOwner:

Author: CN=Peter Lock/OU=UNISYS/O=IMMI/C=AU

NoticeType:

EndTimeZone: Z=-10$DO=1$DL=10 1 1 4 1 1$ZX=9$ZN=AUS Eastern

LanguagePreference: en

NamePreference: 0

ResourceType: 1

Duration:

FindResourceStyle: 1

Site: QLD - Brisbane

RoomList:

ResourceList:

ResourceName: CN=L3 - Computer Training Room 1/O=QLD - Brisbane

wResourceNameSingle:

DeclineReason:

EndTimeHelpFormat1: 2010

EndTimeHelpFormat2: 8

EndTimeHelpFormat3: 11

EndTimeHelpFormat4: 10

EndTimeHelpFormat5: 0

EndTimeHelpFormat6: 0

ResNameFormat: L3 - Computer Training Room 1/QLD - Brisbane

$CSTrack: Unable to create event descriptor for request[Local] by Rooms and Resources Manager on APPCBRN2(Release 8.5.1FP3|May 23, 2010) at 11/08/2010 12:41:21 AM

$UpdatedBy: CN=Peter Lock/OU=UNISYS/O=IMMI/C=AU,

$Revisions: 11/08/2010 12:41:17 AM

WebDateTimeInit: 1

StartDateTime: 11/08/2010 10:00:00 AM

EndDate: 11/08/2010

EndDateTime: 11/08/2010 11:00:00 AM

OptimalStartTime:

wFreeTime:

ResourceNameList:

APPTUNID: 4CCA39BD13FB2285CA25777B0050CB18

SEQUENCENUM: 1

$CSVersion: 2

$SMTPKeepNotesItems: 1

AltReservedBy: CN=Peter Lock/OU=UNISYS/O=IMMI/C=AU

$LangReservedBy:

CalendarDateTime: 11/08/2010 10:00:00 AM

$NoPurge: 11/08/2010 11:00:00 AM

_ViewIcon: 0

$BusyName: CN=L3 - Computer Training Room 1/O=QLD - Brisbane

$BusyPriority: 1

$WebFlags: J

GridStartTime: 09:00:00 AM

DurationSel: 10

CurrentZone: Z=-10$DO=1$DL=10 1 1 4 1 1$ZX=9$ZN=AUS Eastern

Purpose: test2

StartDate: 11/08/2010

StartTime: 10:00:00 AM

EndTime: 11:00:00 AM

StartTimeZone: Z=-10$DO=1$DL=10 1 1 4 1 1$ZX=9$ZN=AUS Eastern

PhoneNumber: (02) 6223 9293

Capacity: 1

ResourceCategory:

wResourceNameMulti:

ReservedBy: CN=Peter Lock/OU=UNISYS/O=IMMI/C=AU

ResourceOwner:

Author: CN=Peter Lock/OU=UNISYS/O=IMMI/C=AU

NoticeType:

EndTimeZone: Z=-10$DO=1$DL=10 1 1 4 1 1$ZX=9$ZN=AUS Eastern

LanguagePreference: en

NamePreference: 0

ResourceType: 1

Duration:

FindResourceStyle: 1

Site: QLD - Brisbane

RoomList:

ResourceList:

ResourceName: CN=L3 - Computer Training Room 1/O=QLD - Brisbane

wResourceNameSingle:

DeclineReason:

EndTimeHelpFormat1: 2010

EndTimeHelpFormat2: 8

EndTimeHelpFormat3: 11

EndTimeHelpFormat4: 10

EndTimeHelpFormat5: 0

EndTimeHelpFormat6: 0

ResNameFormat: L3 - Computer Training Room 1/QLD - Brisbane

$CSTrack: Unable to create event descriptor for request[Local] by Rooms and Resources Manager on APPCBRN2(Release 8.5.1FP3|May 23, 2010) at 11/08/2010 12:43:01 AM

$UpdatedBy: CN=Peter Lock/OU=UNISYS/O=IMMI/C=AU,

$Revisions: 11/08/2010 12:42:58 AM

Cheers

Peter

Subject: I see several problems…

There are certain items that need to be on most workflow messages. From, Chair and Principal are 3 of them. I do not see them on your note dumps.

Since you are creating a request you do not put on $BusyName. RnRMgr will do that once it actually accepts your request.

Your NoticeType is empty. It should be “I” for an initial invitation or “U” for a reschedule notice.

All R&R requests MUST be given an RQStatus = “T” so that RnRMg will properly process it. Once your request is accepted, RnRMgr will change it to an “A”. Since you are “direct booking”, if RnRMgr declines your request it will be changed to an “R”.

You probably should also have a $CSFlags = “w” to indicate the message is workflow-enabled. You are after all generating workflow for RnRMgr to process.

You should include a meaningful _ViewIcon value. 0 is undefined. You want something like 133 for the Invitation. (Check the Appendix of the C&S Schema doc mentioned at the bottom.)

You are missing an UpdateSeq item. You should add one and it MUST ALWAYS be greater than or equal to the SequenceNum item. On that same vein, you are also missing the $CSWISL item. For more info on that see the C&S Schema doc (ref at bottom).

The Event Descriptor is an in-memory structure we use to track the request and all kinds of info about it (and the entity the request is for). We do not have any external documentation on it that I know of. For now it is simply best to say “RnRMgr had a problem initializing the event description data block because something was missing.” In your case it was several items.

Although the currently published C&S Schema doc does not have a ton of R&R data in it (the revised one we have been working on does), you can still use it as a very helpful reference tool. You can find it at IBM Developer

Bruce

IBM

Subject: In the hands of IBM

After much playing around and advice from IBM that is on an internal technote I have escalated to L2 for support. Seems a tricky one.

I’ll post results here if I get more info.

Cheers