The combination of Exchange Server and Outlook calendaring features provides you with powerful resource- scheduling tools. If you have an Exchange environment in which all the email clients are Outlook 2000 or later, you can implement a feature that Microsoft calls direct booking. In this overview of the technology, I explain how to set up direct booking, give you a few caveats to consider as you use the feature, and provide some tips for making it more user-friendly.
Direct Booking a Resource
Before Exchange and Outlook tools became available, if you needed to use a resource, such as a conference room or audiovisual equipment, you would contact a person, who would check a schedule and tell you whether the resource was available. The direct-booking mechanism eliminates the need to contact another person to check a resource's availability and reserve a time slot in a resource's schedule; direct booking schedules an appointment directly into the Outlook Calendar.
Beginning with Outlook 97, you could do a rudimentary form of direct booking by configuring a delegate client for the resource mailbox to always accept meeting requests. Because the Outlook client processes incoming calendar requests for resources the same way it processes incoming meeting requests, you needed to leave the client logged on and running for resource and conflict checking. With the release of Outlook 2000, Microsoft enhanced Outlook's ability to perform these booking tasks. You no longer need to leave an Outlook client running, and no server-side scripting is required. The Outlook client of the person organizing the meeting performs all the necessary tasks, such as conflict checking and placing the reservation on the resource calendar. To implement direct booking, you need Outlook 2000 or later and a properly configured mailbox on an Exchange 2000 Server or Exchange Server 5.5 server.
Resource Setup in 3 Steps
The first step in setting up a resource you want people to be able to schedule (e.g., the sample resource called Main Conference Room I use throughout this article) is to create a mailbox to hold the resource calendar. Other than granting yourself the rights to access the mailbox as a user, you don't have to configure any special settings on the server. Note that in an Exchange 5.5 environment, you can assign the Main Conference Room mailbox to an existing Windows NT account. However, if you use Exchange 2000, you need to create a new Windows 2000 account and assign the mailbox to that account.
Second, create an Outlook profile to access the Main Conference Room mailbox and use that profile to open Outlook. Right-click the Calendar folder, click Properties, then select the Permissions tab. You can either change the role for the default user or add a distribution list (DL) of the users who need permission to reserve the resource. (In Exchange 2000, you'll need to use a security group.) Adding a DL is usually preferable to modifying the default permissions because a DL gives you better control over who can use the resource. As Figure 1 shows, I added a DL called mcr-users and assigned it the role of Author. Granting Author permissions lets members of the DL book the resource and modify their reservations but prevents them from modifying a reservation that someone else has made. After you set the role to Author, close the Properties dialog box by clicking OK.
Third, select Options from Outlook's Tools menu. Select the Preferences tab, then click Calendar Options. Click the Resource Scheduling button, and you'll see three check boxes, which Figure 2 shows. Select the first option, Automatically accept meeting requests and process cancellations, and the second option, Automatically decline conflicting meeting requests. Leave the last check box, Automatically decline recurring meeting requests, blank unless you don't want people to book recurring usage of this resource.
Click OK three times to exit the Options pages, then exit Outlook. The resource mailbox is now ready to accept reservations.
Reserving a Resource
To reserve a resource, you (or DL members) simply create a meeting request, specifying the required or optional attendees in the appropriate fields and the required resource (i.e., Main Conference Room) in the Resources field, as Figure 3 shows. Click OK, and Outlook will attempt to reserve the resource. If the time slot you requested is available, you receive a confirmation message on your screen, as Figure 4, page 14, shows, and Outlook sends the meeting request to the attendees. If the resource isn't available, you receive a rejection message and Outlook doesn't send the meeting request; instead, Outlook lets you modify the request. Because Outlook didn't send the meeting request, you're spared the hassle of sending one or more updated meeting requests as you try to find an available time slot. The attendees also don't have to respond to multiple meeting updates and are spared the confusion of sorting out exactly when you want to have the meeting, which often happens when you send multiple meeting updates.
How Direct Booking Works
When a meeting organizer designates a mailbox as a resource in a meeting request, Outlook performs a few special steps when he or she sends the request. First, Outlook reads configuration information from the designated mailbox to determine whether to attempt direct booking. You set this configuration information when you selected the various check boxes in the Resource Scheduling dialog box. If you didn't select the Automatically accept meeting requests and process cancellations option, Outlook sends a meeting request to the resource mailbox, just as it would for any other attendee. If you selected this option, the meeting organizer's Outlook client attempts to book the resource as follows: If, in addition to the first option, you selected the Automatically decline conflicting meeting requests option, Outlook reads the free/busy information for the mailbox's calendar and uses this information to determine whether the resource is available for the date and time requested. If the resource is available, Outlook writes the appointment directly to the resource's calendar. If you selected the Automatically decline recurring meeting requests option, Outlook will decline any request that's recurring.
If the requested meeting times are free, you receive a confirmation message that the resource is booked, and Outlook sends a meeting invitation to the required and optional attendees. It doesn't mail an invitation to the resource mailbox because Outlook has already written the appointment. If anyone without at least Author permissions tries to direct book the resource, they'll receive an insufficient permissions notification.
Direct Booking Traps
Setting up direct booking is a relatively simple task. However, you need to be aware of a few traps when you put direct booking to practical use.
Available free/busy information. Direct booking uses free/busy information to determine a resource's availability. Exchange stores up to 12 months of free/busy information for mailboxes in a hidden public folder: the current month, 1 month in the past, and up to 10 months beyond the current month. For example, if today is March 15, 2002, the system will store free/busy information for February 1, 2002, through January 31, 2003. Although the date is halfway through March, the system stores free/busy information only through January 31 and doesn't store free/busy information for February 1 through February 14, 2003, until April 1, 2002. When you use direct booking to reserve a resource beyond the ending boundary of the free/busy information, the system can't detect a conflict, which could result in overlapping meetings (e.g., when two meeting organizers each book a meeting at 2:00 p.m. on February 17, 2003, before April 1, 2002). To each of the meeting organizers, it appears as if they have successfully reserved the resource for next year's meeting.
Outlook free/busy information. Another direct-booking trap is the amount of free/busy data that each Outlook client publishes. Because the direct-booking function relies on free/busy data, you want to publish the maximum amount. By default, Outlook clients publish 2 months of free/busy data (the current month and next month). The free/busy data setting not only determines how much free/busy data Outlook publishes for an individual's calendar but also affects how much information Outlook publishes when it updates a resource's free/busy data. This means that the meeting organizer's Outlook client updates the resource account's free/busy data when the system successfully books the resource. You need to configure all Outlook clients to publish 12 months (the maximum) of free/busy data so that the direct-booking function has as much data as possible for conflict checking.
A related problem with free/busy data is how the system stores and manipulates free/busy data in the public folder and how Outlook clients update that information. Exchange stores each mailbox's free/busy calendar data in a separate item in the public folder. When someone schedules a new appointment, the system doesn't merge the new free/busy information into the existing information; instead, the scheduler's Outlook client regenerates the free/busy times and overwrites the previous dataset. This method isn't a problem if you've configured all clients to publish the same amount of free/busy data. Often, however, one or more clients are configured to publish fewer than 12 months of free/busy data. Because Outlook by default publishes just 2 months of free/busy data, the stored dataset will contain between 2 months and 12 months of free/busy data, depending on which Outlook client created the most recent meeting request and updated the resource's free/busy data. If the updated free/busy dataset has fewer than 12 months of data, the direct booking functions might not have enough information to check for scheduling conflicts.
Recurring meeting requests. Recurring meeting requests, which I consider to be a bug, occurs when you update a recurring meeting request to lengthen the recurrence period. Let's say you successfully book a conference room for 4 weeks beginning the first Thursday in April from 10:00 a.m. to 11:00 a.m. to hold a lecture series (April 4, 11, 18, and 25). Another employee reserves the room for the first Thursday in May (May 2) also from 10:00 a.m. to 11:00 a.m. You decide to expand your lecture series to 8 weeks and update the recurrence settings in your meeting series by adding the next 4 weeks in May (May 2, 9, 16, and 23), as Figure 5 shows. When you click the meeting request's Send Update button, you receive a rejection because of the meeting conflict on May 2. This rejection is understandable, but Outlook also deletes your original meeting reservations from the conference room's calendar for the dates in April—you no longer have a confirmed reservation. The direct booking function doesn't recognize your actions as a change; instead, direct booking acts as if this extension request is the original attempt to reserve the resource. The only way to restore your reservation and keep it linked to the meeting request is to change the recurrence period back to its original setting and click Send Update. Unfortunately, this method results in a meeting update message to all attendees.
Delegates. The next trap concerns delegates (e.g., an assistant delegated to schedule meetings for his or her manager). If the assistant sends a meeting request on behalf of his or her manager and successfully reserves a resource through direct booking, the meeting request arrives in attendees' inboxes from the manager. But because of the Author-role permissions assigned to the resource's calendar, the assistant, not the manager, creates the reservation on the calendar. If the manager tries to update the meeting request (e.g., to change the meeting time), the manager will receive an insufficient permissions error. Remember, the Author role gives you permission to modify the reservations you create but not those that other people create. Microsoft is working on a fix for this problem in Exchange 2000 environments.
Resources field. The resources field trap occurs because the Outlook client, rather than Exchange, implements the direct-booking function. The only way Outlook knows to try to direct book a resource is if the meeting organizer places the resource in the resources field of the meeting request form. Many people mistakenly designate the resource as a required or optional attendee by placing the resource in the form's To field. Outlook then sends a meeting request email message to the resource's inbox, where the request will sit unanswered. People mistakenly assume they've reserved the resource when they don't receive a rejection message.
Making Things Better
Some of the traps I've described are remedied only through training or Outlook updates. The people who will be reserving resources must understand direct booking's limitations (e.g., only 12 months of free/busy data) and work within those limits. Other traps, such as clients configured to publish fewer than 12 months of free/busy data and mistakenly designating a resource as an attendee, have fairly simple solutions.
To ensure that each client publishes 12 months of free/busy data, open a registry editor and navigate to the HKEY_CURRENT_USER\Software\Microsoft\Office\
If you want to alert people that they've mistakenly designated a resource as an attendee, you can create a server-side rule that sends an email message back to the meeting organizer informing him or her of the mistake. To configure this functionality, open the resource mailbox by using the Outlook profile you used to create the initial three-step direct-booking configuration. Select the Inbox folder and select Rules Wizard from Outlook's Tools menu. Click New to create a rule. Select Check messages when they arrive and click Next to display the conditions that trigger the rule. (If you're using Outlook 2002, the default mode for a new rule is Start creating a rule from a template; you need to select the Start from a blank rule option to see the Check messages when they arrive condition.) Select Uses the form name form. In the wizard's rule description section, click form name to display the Choose Forms dialog box. Change the drop-down list from Personal Forms to Application Forms, then select the Meeting Request form from the list and click Add, as Figure 6 shows.
Click Close on the Choose Forms dialog box, then click Next in the Rules Wizard to define an action. Select the move it to the specified folder action and the have server reply using a specific message action. In the rule description section, click the underlined word specified, select the Deleted Items Folder from the folder list, and click OK. Also in the rule description section, click a specific message to display a new message composition window. Enter a subject line such as You incorrectly attempted to reserve a resource, change the message importance to High, and enter text in the message body explaining that the meeting organizer is receiving this message because he or she incorrectly specified the resource, as an attendee. Explain that the organizer doesn't have a confirmed reservation to use the resource, and outline the steps to correct the error (i.e., put the resource in the Resources field). After you compose the message, click Save, then click Close. When you return to the Rules Wizard, click the Next button twice to display the last page in the Rules Wizard. On this page, specify a name for the rule and select Turn on this rule. Click Finish. You should see a rule definition that looks like the one that Figure 7 shows. If a meeting organizer accidentally designates a resource as an attendee, he or she will receive an email message informing him or her of the error.
Outlook direct booking might have a few limitations, but overall, the feature is easy to understand and implement. I've found that organizations are reluctant to adopt other solutions, such as those that rely on scripts or event code, because they often don't have staff with the expertise to maintain and troubleshoot these solutions. By eliminating the need for a person to approve or reject a resource, Outlook direct booking lets staff members reserve resources quickly and efficiently.