ADO.NET Provider for Microsoft Exchange

Build 25.0.9434

Calendar

Stores and manages calendar items such as appointments and meetings. It supports operations to create, retrieve, update, and delete calendar entries, including time, location, subject, and associated metadata.

Table Specific Information

Update and Delete

The provider will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the provider is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.

SELECT Recurring Events

When performing a SELECT operation on the Calendar table, the provider will not include individual recurring events by default (only the master item will be included). Your query will need to include a WHERE clause similar to the following:

SELECT Subject, IsRecurring, Recurrence_StartDate, Recurrence_EndDate, Recurrence_Interval, Recurrence_Type, Recurrence_NumberOfOccurrences, FirstOccurrence_Start FROM Calendar WHERE ItemId = 'myid'
If you wish to view the individual recurrences of a recurring event, you'll need to add filters START and END with greaterthan and lessthan operators respectively. The interval between START and END should not be more than 2 years. The API will return atmost 1000 entries for recurring events. Please give the interval between START and END filters accordingly. Your query will need to include a WHERE clause similar to the following:
SELECT * FROM Calendar WHERE start >= '2021-05-11 00:50:59.0' AND end <= '2023-02-28 11:20:30.0'

Columns

Name Type ReadOnly Description
ItemId [KEY] String True

Unique identifier for a calendar item within the Exchange store. This is used to reference the item in queries and operations. This property is read-only and crucial for data integrity.

MimeContent String True

Holds the raw Multipurpose Internet Mail Extensions (MIME) content of the calendar item, encoded in Base64. This content includes the full message body and headers, enabling compatibility with external email systems.

ItemChangeKey String True

A version-specific identifier used to detect changes to the calendar item. This ensures concurrency control when multiple updates occur. This property is read-only.

ParentFolderId String False

Specifies the unique identifier of the folder that contains the calendar item. This is useful for organizing and locating the item within a user's mailbox. This property is read-only.

ParentFolderChangeKey String True

Identifies the version of the parent folder containing the item. This is used to track updates or changes to the folder's structure. This property is read-only.

ItemClass String False

Indicates the message class of the calendar item, such as IPM.Appointment. This helps Exchange interpret how to process or display the item.

Subject String False

Defines the subject or title of the calendar event. This is a short text string visible in calendar views, with a character limit of 255.

Sensitivity String True

Specifies the sensitivity setting for the calendar item, such as Normal, Personal, Private, or Confidential. It controls visibility to other users.

Body String False

The main content or description of the calendar event. May include meeting details, agenda items, or notes. This can be formatted as plain text or HTML.

DateTimeReceived Datetime True

Records the exact date and time the calendar item was received into the mailbox, which is primarily relevant for meeting requests or responses.

Size Integer True

Total size of the calendar item in bytes, including all associated properties, attachments, and metadata. This property is read-only.

Categories String False

Lists one or more user-defined categories assigned to the calendar item, such as Red Category, Travel, Finance. It supports color-coded organization.

Importance String False

Indicates the priority level of the calendar item, such as Low, Normal, or High. It helps users prioritize tasks and meetings.

InReplyTo String True

Holds the unique identifier of another item that this calendar item replies to, such as a meeting request. It supports threaded conversations.

IsSubmitted Boolean True

True if the calendar item has been sent from the Outbox. This is used to confirm submission of meeting requests or updates.

IsDraft Boolean True

True if the calendar item is still in draft form and has not been sent or finalized. Useful for saving work-in-progress meeting details.

IsFromMe Boolean True

Indicates whether the current user is both the sender and recipient of the item. This is typically true for personal reminders or self-created events.

IsResend Boolean True

True if the calendar item was previously sent and is being sent again. This helps track resubmitted or updated events.

IsUnmodified Boolean True

True if the item remains in its original state without any changes since it was received or created.

InternetMessageHeaders String True

Contains the complete collection of Internet message headers for the calendar item, providing metadata such as sender IP address, routing information, content encoding, and client application details. Useful for tracing email origins and diagnostics.

DateTimeSent Datetime True

Specifies the exact date and time when the calendar item, such as a meeting request or appointment, was sent from the user's mailbox.

DateTimeCreated Datetime True

Indicates the timestamp when the calendar item was originally created in the Exchange store, which can differ from the sent or received time.

ReminderDueBy Datetime False

Specifies the date and time at which the reminder for this event is scheduled to trigger. This is typically calculated relative to the event's start time.

ReminderIsSet Boolean False

Identifies whether a reminder is actively configured for the calendar item. If true, a notification will be shown based on the ReminderMinutesBeforeStart value.

ReminderMinutesBeforeStart Integer False

Indicates how many minutes before the event start time the user will receive a reminder notification. This value is user-configurable.

DisplayCc String True

Provides a concatenated, comma-separated list of display names of all recipients in the Cc (Carbon Copy) field of the message or meeting invitation.

DisplayTo String True

Contains the display names of all primary recipients (To field) as a single, comma-separated string, representing how recipients are shown in the user interface.

HasAttachments Boolean True

Indicates whether the calendar item includes any attachments, such as meeting agendas, documents, or images. True if at least one attachment is present.

Culture String False

Specifies the culture setting (locale) associated with the item, such as language and regional formatting preferences (for example, en-US, fr-FR).

Start Datetime False

Represents the start date and time of the calendar event. This value defines when the event is scheduled to begin.

End Datetime False

Represents the end date and time of the calendar event. This value defines when the event is scheduled to conclude.

OriginalStart Datetime False

Holds the original start date and time for a calendar event, particularly useful for tracking rescheduled or recurring instances.

IsAllDayEvent Boolean False

Indicates whether the calendar item spans the entire day (midnight to midnight) without a specific start or end time. Common for holidays or reminders.

LegacyFreeBusyStatus String False

Defines the availability status of the user during the time block occupied by the event. Possible values include Free, Tentative, Busy, Out of Office.

Location String False

Provides the physical or virtual location where the event is set to occur. This could be a meeting room, address, or an online meeting link.

When String False

Returns a user-friendly string that describes when the event is scheduled (for example, Monday, March 3, 2025 at 2:00 PM – 3:00 PM). This is typically used for display purposes.

IsMeeting Boolean False

Indicates whether the calendar item is a meeting involving multiple attendees or a personal appointment with only the organizer.

IsCancelled Boolean False

True if the meeting or appointment has been cancelled by the organizer or system. This helps inform invitees or prevent further actions.

IsRecurring Boolean True

Identifies whether the item is part of a recurring series of events. This flag is system-managed and cannot be manually altered.

MeetingRequestWasSent Boolean True

Shows whether a meeting invitation has been dispatched to the intended recipients from the organizer's mailbox.

IsResponseRequested Boolean True

Indicates whether the meeting organizer has requested attendees to respond (Accept, Decline, Tentative) to the invitation.

CalendarItemType String True

Indicates the category of the calendar item, such as a single appointment, recurring meeting, or exception to a recurring series. Helps clients interpret how the item behaves in the calendar workflow.

MyResponseType String False

Captures the attendee's current response to the calendar invitation, such as Accepted, Declined, Tentative, or NotResponded. Useful for tracking attendee availability and meeting status.

OrganizerName String False

Stores the display name of the meeting organizer, typically a user or service account that scheduled the calendar item.

OrganizerEmailAddress String False

Contains the SMTP email address of the calendar item organizer. Used to identify the originator of the meeting request or appointment.

OrganizerRoutingType String False

Defines the protocol used to route messages to the organizer's mailbox, such as SMTP or EX. Important for mail transport and calendar federation.

ConflictingMeetingCount Integer True

Specifies the total number of other meetings that overlap in time with this calendar item. Useful for scheduling assistants and availability conflict detection.

AdjacentMeetingCount Integer True

Specifies the number of calendar items scheduled immediately before or after the current item without overlapping. Often used in UI calendar layout calculations or scheduling suggestions.

Duration String True

Represents the total time span of the calendar item in a textual format, such as 'PT1H30M' (1 hour and 30 minutes).

TimeZone String True

Provides a descriptive label for the time zone in which the calendar item is scheduled, such as 'Pacific Standard Time' or 'UTC'.

AppointmentReplyTime Datetime False

Captures the exact date and time when the attendee responded to a meeting request. Used for auditing response history and tracking changes in participation.

AppointmentSequenceNumber String False

Tracks the versioning of an appointment, where each update to the calendar item increments the sequence. Ensures clients display the most recent version of a recurring event.

AppointmentState String True

Represents the current lifecycle state of the appointment, such as 'Scheduled', 'Cancelled', or 'Updated'. Helps synchronize item status across clients.

Recurrence_Type String False

Defines the pattern of recurrence for a calendar item, such as Daily, Weekly, Monthly, or Yearly. Drives how the item is repeated in the calendar.

The allowed values are RelativeYearlyRecurrence, AbsoluteYearlyRecurrence, RelativeMonthlyRecurrence, AbsoluteMonthlyRecurrence, WeeklyRecurrence, DailyRecurrence.

Recurrence_DaysOfWeek String False

Lists the days of the week on which a recurring item occurs. Common values include Monday,Wednesday,Friday or Tuesday,Thursday.

Recurrence_DayOfWeekIndex String False

Indicates the position of a specific weekday within a month for relative recurrence patterns, such as First, Second, Third, or Last.

The allowed values are First, Second, Third, Fourth, Last.

Recurrence_Month String False

Specifies the calendar month in which a yearly recurring item occurs, such as January or December.

Recurrence_DayOfMonth Integer False

Indicates the specific day within the month on which the recurring item occurs, such as 15 for the 15th day of each month.

Recurrence_Interval Integer False

Specifies the number of time units between recurring occurrences. For example, an interval of 2 with a Weekly type means the event repeats every 2 weeks.

Recurrence_FirstDayOfWeek String False

Indicates the starting day of the week for the recurrence pattern. This affects how weekly patterns are calculated and displayed.

Recurrence_Duration String False

Specifies how long the recurrence pattern should continue, such as 'Indefinite', 'Fixed number of occurrences', or 'Until end date'.

The allowed values are NoEndRecurrence, EndDateRecurrence, NumberedRecurrence.

Recurrence_StartDate Date False

The date when the recurrence pattern begins. This is the first occurrence of the recurring calendar item.

Recurrence_EndDate Date False

The date when the recurrence pattern ends. No further occurrences are scheduled beyond this date.

Recurrence_NumberOfOccurrences Integer False

Specifies the total number of instances for a recurring calendar event. This helps determine the span or extent of a recurrence pattern.

FirstOccurrence_ItemId String False

Unique identifier for the first occurrence in a recurring calendar series. Used to retrieve or manage the first event instance.

FirstOccurrence_Start Datetime False

Start time of the first occurrence in a recurring calendar series, expressed in the appropriate time zone and format.

FirstOccurrence_End Datetime False

End time of the first occurrence in a recurring calendar series. Used for duration and scheduling calculations.

FirstOccurrence_OriginalStart Datetime False

Original scheduled start time of the first occurrence in a recurring series, before any modifications.

LastOccurrence_ItemId String False

Unique identifier for the final occurrence in a recurring calendar series. Useful when navigating or modifying the end of the recurrence.

LastOccurrence_Start Datetime False

Start time of the final scheduled occurrence in a recurring calendar event. Used to assess the duration and conclusion of the series.

LastOccurrence_End Datetime False

End time of the final occurrence in a recurring calendar event, factoring in any applied recurrence rules.

LastOccurrence_OriginalStart Datetime False

Original start time of the final occurrence in a recurring series, before any changes or overrides were made.

ModifiedOccurrences_Aggregate String True

A semicolon-separated list representing modified occurrences in the recurring event series. Each entry includes data like start time, end time, or changes made to a specific instance.

DeletedOccurrences_Aggregate String True

A semicolon-separated list of deleted occurrences in a recurring series. This is used to track and differentiate removed instances from the original recurrence pattern.

StartTimeZone_Id String True

Identifier that maps to the time zone definition used for interpreting the start time of the event. Supports accurate time alignment across regions.

StartTimeZone_Name String True

Descriptive name of the time zone associated with the event's start time, such as 'Pacific Standard Time' or 'UTC+01:00'.

EndTimeZone_Id String True

Identifier for the time zone used to compute the event's end time. Ensures correct display and calculation of event duration.

EndTimeZone_Name String True

Descriptive name of the time zone used for the event's end time, such as 'Eastern Standard Time'.

ConferenceType Integer False

Specifies the type of conferencing associated with the meeting. Values include 0 = NetMeeting, 1 = NetShow, 2 = Chat. Helps determine the nature of collaboration tools used.

AllowNewTimeProposal Boolean False

Indicates whether attendees can propose a new time for the meeting, allowing more flexible scheduling options for organizers and participants.

IsOnlineMeeting Boolean False

Flags whether the meeting is designated as an online meeting, enabling remote participation features such as video conferencing or chat.

MeetingWorkspaceUrl String False

Contains the full URL to the meeting workspace where additional resources, documents, or agendas related to the meeting can be accessed.

NetShowUrl String False

URL for a Microsoft NetShow session associated with the meeting, providing access to multimedia presentations or streaming content.

EffectiveRights_CreateAssociated Boolean True

Indicates whether the connected client has permission to create items in the associated contents table for the calendar item, often relevant for metadata or linked objects.

EffectiveRights_CreateContents Boolean True

Indicates whether the user has permission to create new items within a folder's contents, such as messages or calendar entries.

EffectiveRights_CreateHierarchy Boolean True

Indicates whether the user has permission to create subfolders or organize content hierarchically within the folder.

EffectiveRights_Delete Boolean True

Indicates whether the user has permission to delete the specified folder or item within the Exchange store.

EffectiveRights_Modify Boolean True

Indicates whether the user has permission to modify the properties or content of the specified folder or item.

EffectiveRights_Read Boolean True

Indicates whether the user has permission to read the contents or metadata of the specified folder or item.

EffectiveRights_ViewPrivateItems Boolean True

Indicates whether the user is allowed to view items marked as private within the folder, such as private appointments or emails.

LastModifiedName String True

Stores the display name of the user who last modified the item, providing traceability for auditing or collaboration purposes.

LastModifiedTime Datetime True

Indicates the timestamp of the last modification made to the item, reflecting the most recent update activity.

IsAssociated Boolean False

Specifies whether the item is associated with a folder as a non-visible system item, such as a rule or view configuration.

WebClientReadFormQueryString String True

Represents the query string to append to the Outlook Web App base URL to open the item in read mode via a web client.

WebClientEditFormQueryString String True

Represents the query string to append to the Outlook Web App base URL to open the item in edit mode via a web client.

ConversationId String True

Contains the unique identifier of the conversation to which the item belongs, used to group related messages or calendar events.

ConversationChangeKey String True

Contains the change key used to track updates to the conversation, supporting concurrency and version control.

UniqueBody String True

Provides the portion of the message body that is unique to this item, excluding duplicated text from previous messages in the conversation.

UniqueBodyType String True

Indicates the format of the unique body content, with supported values being HTML or TEXT.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
ImpersonationUser String

Specifies the identifier of the user to impersonate when accessing Exchange data, enabling delegated access scenarios.

ImpersonationType String

Defines the type of identifier used to specify the impersonated user. Supported values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress.

SendMeetingInvitations String

Specifies how meeting invitations are sent for a calendar operation. Valid values are SendToNone, SendOnlyToAll, and SendToAllAndSaveCopy. Default is SendToNone.

SendCancellationsMode String

Specifies how meeting cancellations are distributed when a calendar item is deleted or changed. Allowed values: SendToNone, SendOnlyToAll, SendToAllAndSaveCopy. Default is SendToNone.

SharedMailboxEmail String

Contains the email address of the shared mailbox to retrieve calendar events from. Useful when accessing calendars that belong to shared or departmental mailboxes.

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434