3.1.4.7.1.1 Using Direct Booking

The term "direct booking" refers to the action of creating a Meeting object directly on the Calendar folder of an attendee instead of sending a Meeting Request object to the attendee<39>. The decision whether to attempt to direct book any sendable attendees is an implementation choice; however, a client MAY<40> attempt to direct book any sendable attendee as long as the following two conditions exist:

The client fails the direct booking action and does not send a Meeting Request object to any attendees if either of the following occurs:

  • The value of the PidTagScheduleInfoDisallowRecurringAppts property (section 2.2.12.3) in the attendee's Delegate Information object is set to TRUE and the Meeting Request object represents a recurring series (see section 2.2.12.2).

  • The value of the PidTagScheduleInfoDisallowOverlappingAppts property (section 2.2.12.4) in the attendee's Delegate Information object is set to TRUE and there is a meeting conflict during the date and time specified on the Meeting Request object. For details about how to determine whether a conflict exists, see section 3.1.4.11.

To direct book an attendee, the client takes the following actions:

  • Create the Meeting object on the attendee's Calendar special folder, as specified in section 3.1.4.7.2.2 and then modify the Meeting object as if the attendee had accepted it, as specified in section 3.1.4.8.1. A Meeting Response object MUST NOT be sent to the organizer.

  • Publish updated free/busy status information to the Resource object's Delegate Information object.

  • Set the value of the PidTagRecipientTrackStatus property (section 2.2.4.10.2) to "respAccepted" (0x00000003) on the RecipientRow structure ([MS-OXCDATA] section 2.8.3) that represents the attendee on the organizer's Meeting object.

  • Set the value of the PidTagRecipientTrackStatusTime property (section 2.2.4.10.3) to the current date and time on the RecipientRow structure that represents the attendee in the organizer's Meeting object.

  • If the Meeting Request object represents an exception, set the recipExceptionalResponse bit to 1 in the PidTagRecipientFlags property (section 2.2.4.10.1) on the RecipientRow structure that represents the attendee in the organizer's Meeting object.

  • Remove the RecipientRow structure that represents the attendee from the Meeting Request object so that it will not be sent to the attendee.