2.2.2.1 AllDayEvent

As a top-level element of the Calendar class, the AllDayEvent element is an optional element that specifies whether the event represented by the calendar item spans the entire day. It is used in ActiveSync command requests and responses as specified in section 2.2.2.

As an optional child element of the Exception element (section 2.2.2.21), the AllDayEvent element specifies whether the event represented by the exception runs for the entire day. A command request or response has a maximum of one AllDayEvent child element per Exception element. If the AllDayEvent element is not specified as a child element of an Exception element, the value of the AllDayEvent element is assumed to be the same as the value of the top-level AllDayEvent element.

The AllDayEvent element is defined as an element in the Calendar namespace. The value of this element is an unsignedByte data type, as specified in [MS-ASDTYPE] section 2.8. The value of the AllDayEvent element MUST be one of the values listed in the following table.

Value

Meaning

0

Is not an all-day event.

1

Is an all-day event.

An item marked as an all-day event is understood to begin on midnight of the specified day and to end on midnight of the next day.

Protocol Versions

The following table specifies the protocol versions that support this element. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.

Protocol version

Element support

2.5

Yes

12.0

Yes

12.1

Yes

14.0

Yes

14.1

Yes

16.0

Yes

16.1

Yes

When protocol version 16.0 or 16.1 is used, the AllDayEvent element affects behavior as follows.

  • If a client includes an Add element ([MS-ASCMD] section 2.2.3.7.2) or a Change element ([MS-ASCMD] section 2.2.3.24) in a Sync command request ([MS-ASCMD] section 2.2.1.21) with AllDayEvent set to 1, the client MUST NOT include the TimeZone element (section 2.2.2.44) and MUST set the StartTime (section 2.2.2.42), EndTime (section 2.2.2.20), and Until (section 2.2.2.47) elements to values that have no time component.

  • If the server includes an Add element or a Change element in a Sync command response with AllDayEvent set to 1, the server will not include the TimeZone element. In this case, a client SHOULD interpret this event to be at the given date(s) regardless of the time zone used.

  • When a client edits an exception item, the AllDayEvent element of the exception MUST match the value on the master item of the recurring series.