4.1 Updating the Free/Busy Message

The following example describes how the free/busy message of a user is updated by the client after the user adds new appointments to his calendar.

Joe sets his publishing range to three months.

Joe creates the following appointments on his calendar. All of the events have a free/busy status of busy.

Note All times in this example are in Pacific Time.

  
 Feb 2nd
      appointment time: 12:00 P.M. – 1:00 P.M.
      appointment time: 1:00 P.M. – 2:00 P.M.
  
 April 2nd
      appointment time: 12:00 P.M. – 1:00 P.M.
      appointment time: 3:00 P.M. – 4:00 P.M.

The client publishes the availability information by using the RopCreateMessage ROP ([MS-OXCROPS] section 2.2.6.2) to create the message in the subfolder for the administrative group of the user under the SCHEDULE+ FREE BUSY folder. The server returns a success code and a handle to a Message object.

Then the client transmits availability data to the server by using the RopSetProperties ROP ([MS-OXCROPS] section 2.2.8.6). The properties listed in the following table are sent.

Property

Property ID

Property type

Value

PidTagScheduleInfoResourceType (section 2.2.1.4.2)

0x6841

Signed PtypInteger32 ([MS-OXCDATA] section 2.11.1)

0x00000000

PidTagGatewayNeedsToRefresh (section 2.2.1.4.1)

0x6846

PtypBoolean ([MS-OXCDATA] section 2.11.1)

0x00000001

PidTagNormalizedSubject ([MS-OXCMSG] section 2.2.1.10)

0x0E1D

PtypString ([MS-OXCDATA] section 2.11.1)

USER-/CN=recipients/CN=JOE

PidTagScheduleInfoMonthsMerged (section 2.2.1.2.7)

0x684F

Signed PtypMultipleInteger32 ([MS-OXCDATA] section 2.11.1)

See section 4.3. The PidTagScheduleInfoMonthsMerged property is calculated similarly to the PidTagScheduleInfoMonthsBusy property (section 2.2.1.2.3).

PidTagScheduleInfoFreeBusyMerged (section 2.2.1.2.8)

0x6850

PtypMultipleBinary ([MS-OXCDATA] section 2.11.1)

See section 4.5.

PidTagScheduleInfoMonthsBusy

0x6853

Signed PtypMultipleInteger32

See section 4.3.

PidTagScheduleInfoFreeBusyBusy (section 2.2.1.2.4)

0x6854

Signed PtypMultipleBinary

See section 4.4.

PidTagFreeBusyPublishStart (section 2.2.1.2.9)

0x6847

Signed PtypInteger32

214105440

PidTagFreeBusyPublishEnd (section 2.2.1.2.10)

0x6848

Signed PtypInteger32

214234980

PidTagFreeBusyRangeTimestamp (section 2.2.1.2.11)

0x6868

PtypTime ([MS-OXCDATA] section 2.11.1)

2008/02/22 01:13:00.000

Because no events have a free/busy status of tentative or OOF, the client does not set the PidTagScheduleInfoFreeBusyTentative property (section 2.2.1.2.2), the PidTagScheduleInfoMonthsTentative property (section 2.2.1.2.1), the PidTagScheduleInfoFreeBusyAway property (section 2.2.1.2.6), or the PidTagScheduleInfoMonthsAway property (section 2.2.1.2.5).

The client then commits the properties on the server by using the RopSaveChangesMessage ROP ([MS-OXCROPS] section 2.2.6.3) and then releases the Message object by using the RopRelease ROP ([MS-OXCROPS] section 2.2.15.3).

The values of some properties change during the processing of the RopSaveChangesMessage ROP, but the properties specified in this protocol do not change.

Show: