{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-365/json-schema/microsoft-365-microsoft-graph-calendar-schema.json",
  "title": "microsoft.graph.calendar",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-365-calendar-api-openapi.yml#/components/schemas/microsoft.graph.calendar",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "calendar",
      "type": "object",
      "properties": {
        "allowedOnlineMeetingProviders": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.onlineMeetingProviderType"
          },
          "description": "Represent the online meeting service providers that can be used to create online meetings in this calendar. The possible values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness."
        },
        "canEdit": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "true if the user can write to the calendar, false otherwise. This property is true for the user who created the calendar. This property is also true for a user who shared a calendar and granted write access."
        },
        "canShare": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "true if the user has permission to share the calendar, false otherwise. Only the user who created the calendar can share it."
        },
        "canViewPrivateItems": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "If true, the user can read calendar items that have been marked private, false otherwise."
        },
        "changeKey": {
          "type": [
            "string",
            "null"
          ],
          "description": "Identifies the version of the calendar object. Every time the calendar is changed, changeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only."
        },
        "color": {
          "$ref": "#/$defs/microsoft.graph.calendarColor"
        },
        "defaultOnlineMeetingProvider": {
          "$ref": "#/$defs/microsoft.graph.onlineMeetingProviderType"
        },
        "hexColor": {
          "type": [
            "string",
            "null"
          ],
          "description": "The calendar color, expressed in a hex color code of three hexadecimal values, each ranging from 00 to FF and representing the red, green, or blue components of the color in the RGB color space. If the user has never explicitly set a color for the calendar, this property is empty. Read-only."
        },
        "isDefaultCalendar": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "true if this is the default calendar where new events are created by default, false otherwise."
        },
        "isRemovable": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Indicates whether this user calendar can be deleted from the user mailbox."
        },
        "isTallyingResponses": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Indicates whether this user calendar supports tracking of meeting responses. Only meeting invites sent from users' primary calendars support tracking of meeting responses."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "The calendar name."
        },
        "owner": {
          "$ref": "#/$defs/microsoft.graph.emailAddress"
        },
        "calendarPermissions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.calendarPermission"
          },
          "description": "The permissions of the users with whom the calendar is shared.",
          "x-ms-navigationProperty": true
        },
        "calendarView": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.event"
          },
          "description": "The calendar view for the calendar. Navigation property. Read-only.",
          "x-ms-navigationProperty": true
        },
        "events": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.event"
          },
          "description": "The events in the calendar. Navigation property. Read-only.",
          "x-ms-navigationProperty": true
        },
        "multiValueExtendedProperties": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.multiValueLegacyExtendedProperty"
          },
          "description": "The collection of multi-value extended properties defined for the calendar. Read-only. Nullable.",
          "x-ms-navigationProperty": true
        },
        "singleValueExtendedProperties": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.singleValueLegacyExtendedProperty"
          },
          "description": "The collection of single-value extended properties defined for the calendar. Read-only. Nullable.",
          "x-ms-navigationProperty": true
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  ],
  "$defs": {
    "microsoft.graph.attachment": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "attachment",
          "type": "object",
          "properties": {
            "contentType": {
              "type": [
                "string",
                "null"
              ],
              "description": "The MIME type."
            },
            "isInline": {
              "type": "boolean",
              "description": "true if the attachment is an inline attachment; otherwise, false."
            },
            "lastModifiedDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
              "format": "date-time"
            },
            "name": {
              "type": [
                "string",
                "null"
              ],
              "description": "The attachment's file name."
            },
            "size": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "number",
              "description": "The length of the attachment in bytes.",
              "format": "int32"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.attendee": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.attendeeBase"
        },
        {
          "title": "attendee",
          "type": "object",
          "properties": {
            "proposedNewTime": {
              "$ref": "#/$defs/microsoft.graph.timeSlot"
            },
            "status": {
              "$ref": "#/$defs/microsoft.graph.responseStatus"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.attendeeBase": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.recipient"
        },
        {
          "title": "attendeeBase",
          "type": "object",
          "properties": {
            "type": {
              "$ref": "#/$defs/microsoft.graph.attendeeType"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.attendeeType": {
      "title": "attendeeType",
      "enum": [
        "required",
        "optional",
        "resource"
      ],
      "type": "string"
    },
    "microsoft.graph.bodyType": {
      "title": "bodyType",
      "enum": [
        "text",
        "html"
      ],
      "type": "string"
    },
    "microsoft.graph.calendar": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "calendar",
          "type": "object",
          "properties": {
            "allowedOnlineMeetingProviders": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.onlineMeetingProviderType"
              },
              "description": "Represent the online meeting service providers that can be used to create online meetings in this calendar. The possible values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness."
            },
            "canEdit": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "true if the user can write to the calendar, false otherwise. This property is true for the user who created the calendar. This property is also true for a user who shared a calendar and granted write access."
            },
            "canShare": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "true if the user has permission to share the calendar, false otherwise. Only the user who created the calendar can share it."
            },
            "canViewPrivateItems": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "If true, the user can read calendar items that have been marked private, false otherwise."
            },
            "changeKey": {
              "type": [
                "string",
                "null"
              ],
              "description": "Identifies the version of the calendar object. Every time the calendar is changed, changeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only."
            },
            "color": {
              "$ref": "#/$defs/microsoft.graph.calendarColor"
            },
            "defaultOnlineMeetingProvider": {
              "$ref": "#/$defs/microsoft.graph.onlineMeetingProviderType"
            },
            "hexColor": {
              "type": [
                "string",
                "null"
              ],
              "description": "The calendar color, expressed in a hex color code of three hexadecimal values, each ranging from 00 to FF and representing the red, green, or blue components of the color in the RGB color space. If the user has never explicitly set a color for the calendar, this property is empty. Read-only."
            },
            "isDefaultCalendar": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "true if this is the default calendar where new events are created by default, false otherwise."
            },
            "isRemovable": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Indicates whether this user calendar can be deleted from the user mailbox."
            },
            "isTallyingResponses": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Indicates whether this user calendar supports tracking of meeting responses. Only meeting invites sent from users' primary calendars support tracking of meeting responses."
            },
            "name": {
              "type": [
                "string",
                "null"
              ],
              "description": "The calendar name."
            },
            "owner": {
              "$ref": "#/$defs/microsoft.graph.emailAddress"
            },
            "calendarPermissions": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.calendarPermission"
              },
              "description": "The permissions of the users with whom the calendar is shared.",
              "x-ms-navigationProperty": true
            },
            "calendarView": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.event"
              },
              "description": "The calendar view for the calendar. Navigation property. Read-only.",
              "x-ms-navigationProperty": true
            },
            "events": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.event"
              },
              "description": "The events in the calendar. Navigation property. Read-only.",
              "x-ms-navigationProperty": true
            },
            "multiValueExtendedProperties": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.multiValueLegacyExtendedProperty"
              },
              "description": "The collection of multi-value extended properties defined for the calendar. Read-only. Nullable.",
              "x-ms-navigationProperty": true
            },
            "singleValueExtendedProperties": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.singleValueLegacyExtendedProperty"
              },
              "description": "The collection of single-value extended properties defined for the calendar. Read-only. Nullable.",
              "x-ms-navigationProperty": true
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.calendarColor": {
      "title": "calendarColor",
      "enum": [
        "auto",
        "lightBlue",
        "lightGreen",
        "lightOrange",
        "lightGray",
        "lightYellow",
        "lightTeal",
        "lightPink",
        "lightBrown",
        "lightRed",
        "maxColor"
      ],
      "type": "string"
    },
    "microsoft.graph.calendarPermission": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "calendarPermission",
          "type": "object",
          "properties": {
            "allowedRoles": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.calendarRoleType"
              },
              "description": "List of allowed sharing or delegating permission levels for the calendar. The possible values are: none, freeBusyRead, limitedRead, read, write, delegateWithoutPrivateEventAccess, delegateWithPrivateEventAccess, custom."
            },
            "emailAddress": {
              "$ref": "#/$defs/microsoft.graph.emailAddress"
            },
            "isInsideOrganization": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "True if the user in context (recipient or delegate) is inside the same organization as the calendar owner."
            },
            "isRemovable": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "True if the user can be removed from the list of recipients or delegates for the specified calendar, false otherwise. The 'My organization' user determines the permissions other people within your organization have to the given calendar. You can't remove 'My organization' as a share recipient to a calendar."
            },
            "role": {
              "$ref": "#/$defs/microsoft.graph.calendarRoleType"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.calendarRoleType": {
      "title": "calendarRoleType",
      "enum": [
        "none",
        "freeBusyRead",
        "limitedRead",
        "read",
        "write",
        "delegateWithoutPrivateEventAccess",
        "delegateWithPrivateEventAccess",
        "custom"
      ],
      "type": "string"
    },
    "microsoft.graph.dateTimeTimeZone": {
      "title": "dateTimeTimeZone",
      "type": "object",
      "properties": {
        "dateTime": {
          "type": "string",
          "description": "A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000)."
        },
        "timeZone": {
          "type": [
            "string",
            "null"
          ],
          "description": "Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.dayOfWeek": {
      "title": "dayOfWeek",
      "enum": [
        "sunday",
        "monday",
        "tuesday",
        "wednesday",
        "thursday",
        "friday",
        "saturday"
      ],
      "type": "string"
    },
    "microsoft.graph.emailAddress": {
      "title": "emailAddress",
      "type": "object",
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ],
          "description": "The email address of the person or entity."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "The display name of the person or entity."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.entity": {
      "title": "entity",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.event": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.outlookItem"
        },
        {
          "title": "event",
          "type": "object",
          "properties": {
            "allowNewTimeProposals": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "true if the meeting organizer allows invitees to propose a new time when responding; otherwise, false. Optional. The default is true."
            },
            "attendees": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.attendee"
              },
              "description": "The collection of attendees for the event."
            },
            "body": {
              "$ref": "#/$defs/microsoft.graph.itemBody"
            },
            "bodyPreview": {
              "type": [
                "string",
                "null"
              ],
              "description": "The preview of the message associated with the event. It's in text format."
            },
            "cancelledOccurrences": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Contains occurrenceId property values of canceled instances in a recurring series, if the event is the series master. Instances in a recurring series that are canceled are called canceled occurences.Requires $select to retrieve. Only returned in a Get operation that specifies the ID (seriesMasterId property value) of a series master event."
            },
            "end": {
              "$ref": "#/$defs/microsoft.graph.dateTimeTimeZone"
            },
            "hasAttachments": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Set to true if the event has attachments."
            },
            "hideAttendees": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "When set to true, each attendee only sees themselves in the meeting request and meeting Tracking list. The default is false."
            },
            "iCalUId": {
              "type": [
                "string",
                "null"
              ],
              "description": "A unique identifier for an event across calendars. This ID is different for each occurrence in a recurring series. Read-only."
            },
            "importance": {
              "$ref": "#/$defs/microsoft.graph.importance"
            },
            "isAllDay": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Set to true if the event lasts all day. If true, regardless of whether it's a single-day or multi-day event, start, and endtime must be set to midnight and be in the same time zone."
            },
            "isCancelled": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Set to true if the event has been canceled."
            },
            "isDraft": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Set to true if the user has updated the meeting in Outlook but hasn't sent the updates to attendees. Set to false if all changes are sent, or if the event is an appointment without any attendees."
            },
            "isOnlineMeeting": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "True if this event has online meeting information (that is, onlineMeeting points to an onlineMeetingInfo resource), false otherwise. Default is false (onlineMeeting is null). Optional.  After you set isOnlineMeeting to true, Microsoft Graph initializes onlineMeeting. Subsequently, Outlook ignores any further changes to isOnlineMeeting, and the meeting remains available online."
            },
            "isOrganizer": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Set to true if the calendar owner (specified by the owner property of the calendar) is the organizer of the event (specified by the organizer property of the event). It also applies if a delegate organized the event on behalf of the owner."
            },
            "isReminderOn": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Set to true if an alert is set to remind the user of the event."
            },
            "location": {
              "$ref": "#/$defs/microsoft.graph.location"
            },
            "locations": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.location"
              },
              "description": "The locations where the event is held or attended from. The location and locations properties always correspond with each other. If you update the location property, any prior locations in the locations collection are removed and replaced by the new location value."
            },
            "onlineMeeting": {
              "$ref": "#/$defs/microsoft.graph.onlineMeetingInfo"
            },
            "onlineMeetingProvider": {
              "$ref": "#/$defs/microsoft.graph.onlineMeetingProviderType"
            },
            "onlineMeetingUrl": {
              "type": [
                "string",
                "null"
              ],
              "description": "A URL for an online meeting. The property is set only when an organizer specifies in Outlook that an event is an online meeting such as Skype. Read-only.To access the URL to join an online meeting, use joinUrl which is exposed via the onlineMeeting property of the event. The onlineMeetingUrl property will be deprecated in the future."
            },
            "organizer": {
              "$ref": "#/$defs/microsoft.graph.recipient"
            },
            "originalEndTimeZone": {
              "type": [
                "string",
                "null"
              ],
              "description": "The end time zone that was set when the event was created. A value of tzone://Microsoft/Custom indicates that a legacy custom time zone was set in desktop Outlook."
            },
            "originalStart": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "Represents the start time of an event when it's initially created as an occurrence or exception in a recurring series. This property is not returned for events that are single instances. Its date and time information is expressed in ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
              "format": "date-time"
            },
            "originalStartTimeZone": {
              "type": [
                "string",
                "null"
              ],
              "description": "The start time zone that was set when the event was created. A value of tzone://Microsoft/Custom indicates that a legacy custom time zone was set in desktop Outlook."
            },
            "recurrence": {
              "$ref": "#/$defs/microsoft.graph.patternedRecurrence"
            },
            "reminderMinutesBeforeStart": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": [
                "number",
                "null"
              ],
              "description": "The number of minutes before the event start time that the reminder alert occurs.",
              "format": "int32"
            },
            "responseRequested": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "Default is true, which represents the organizer would like an invitee to send a response to the event."
            },
            "responseStatus": {
              "$ref": "#/$defs/microsoft.graph.responseStatus"
            },
            "sensitivity": {
              "$ref": "#/$defs/microsoft.graph.sensitivity"
            },
            "seriesMasterId": {
              "type": [
                "string",
                "null"
              ],
              "description": "The ID for the recurring series master item, if this event is part of a recurring series."
            },
            "showAs": {
              "$ref": "#/$defs/microsoft.graph.freeBusyStatus"
            },
            "start": {
              "$ref": "#/$defs/microsoft.graph.dateTimeTimeZone"
            },
            "subject": {
              "type": [
                "string",
                "null"
              ],
              "description": "The text of the event's subject line."
            },
            "transactionId": {
              "type": [
                "string",
                "null"
              ],
              "description": "A custom identifier specified by a client app for the server to avoid redundant POST operations in case of client retries to create the same event. It's useful when low network connectivity causes the client to time out before receiving a response from the server for the client's prior create-event request. After you set transactionId when creating an event, you can't change transactionId in a subsequent update. This property is only returned in a response payload if an app has set it. Optional."
            },
            "type": {
              "$ref": "#/$defs/microsoft.graph.eventType"
            },
            "webLink": {
              "type": [
                "string",
                "null"
              ],
              "description": "The URL to open the event in Outlook on the web.Outlook on the web opens the event in the browser if you are signed in to your mailbox. Otherwise, Outlook on the web prompts you to sign in.This URL can't be accessed from within an iFrame."
            },
            "attachments": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.attachment"
              },
              "description": "The collection of FileAttachment, ItemAttachment, and referenceAttachment attachments for the event. Navigation property. Read-only. Nullable.",
              "x-ms-navigationProperty": true
            },
            "calendar": {
              "$ref": "#/$defs/microsoft.graph.calendar"
            },
            "exceptionOccurrences": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.event"
              },
              "description": "Contains the id property values of the event instances that are exceptions in a recurring series.Exceptions can differ from other occurrences in a recurring series, such as the subject, start or end times, or attendees. Exceptions don't include canceled occurrences.Requires $select and $expand to retrieve. Only returned in a GET operation that specifies the ID (seriesMasterId property value) of a series master event.",
              "x-ms-navigationProperty": true
            },
            "extensions": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.extension"
              },
              "description": "The collection of open extensions defined for the event. Nullable.",
              "x-ms-navigationProperty": true
            },
            "instances": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.event"
              },
              "description": "The occurrences of a recurring series, if the event is a series master. This property includes occurrences that are part of the recurrence pattern, and exceptions modified, but doesn't include occurrences canceled from the series. Navigation property. Read-only. Nullable.",
              "x-ms-navigationProperty": true
            },
            "multiValueExtendedProperties": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.multiValueLegacyExtendedProperty"
              },
              "description": "The collection of multi-value extended properties defined for the event. Read-only. Nullable.",
              "x-ms-navigationProperty": true
            },
            "singleValueExtendedProperties": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.singleValueLegacyExtendedProperty"
              },
              "description": "The collection of single-value extended properties defined for the event. Read-only. Nullable.",
              "x-ms-navigationProperty": true
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.eventType": {
      "title": "eventType",
      "enum": [
        "singleInstance",
        "occurrence",
        "exception",
        "seriesMaster"
      ],
      "type": "string"
    },
    "microsoft.graph.extension": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "extension",
          "type": "object",
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.freeBusyStatus": {
      "title": "freeBusyStatus",
      "enum": [
        "unknown",
        "free",
        "tentative",
        "busy",
        "oof",
        "workingElsewhere"
      ],
      "type": "string"
    },
    "microsoft.graph.importance": {
      "title": "importance",
      "enum": [
        "low",
        "normal",
        "high"
      ],
      "type": "string"
    },
    "microsoft.graph.itemBody": {
      "title": "itemBody",
      "type": "object",
      "properties": {
        "content": {
          "type": [
            "string",
            "null"
          ],
          "description": "The content of the item."
        },
        "contentType": {
          "$ref": "#/$defs/microsoft.graph.bodyType"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.location": {
      "title": "location",
      "type": "object",
      "properties": {
        "address": {
          "$ref": "#/$defs/microsoft.graph.physicalAddress"
        },
        "coordinates": {
          "$ref": "#/$defs/microsoft.graph.outlookGeoCoordinates"
        },
        "displayName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The name associated with the location."
        },
        "locationEmailAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "Optional email address of the location."
        },
        "locationType": {
          "$ref": "#/$defs/microsoft.graph.locationType"
        },
        "locationUri": {
          "type": [
            "string",
            "null"
          ],
          "description": "Optional URI representing the location."
        },
        "uniqueId": {
          "type": [
            "string",
            "null"
          ],
          "description": "For internal use only."
        },
        "uniqueIdType": {
          "$ref": "#/$defs/microsoft.graph.locationUniqueIdType"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.locationType": {
      "title": "locationType",
      "enum": [
        "default",
        "conferenceRoom",
        "homeAddress",
        "businessAddress",
        "geoCoordinates",
        "streetAddress",
        "hotel",
        "restaurant",
        "localBusiness",
        "postalAddress"
      ],
      "type": "string"
    },
    "microsoft.graph.locationUniqueIdType": {
      "title": "locationUniqueIdType",
      "enum": [
        "unknown",
        "locationStore",
        "directory",
        "private",
        "bing"
      ],
      "type": "string"
    },
    "microsoft.graph.multiValueLegacyExtendedProperty": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "multiValueLegacyExtendedProperty",
          "type": "object",
          "properties": {
            "value": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "A collection of property values."
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.onlineMeetingInfo": {
      "title": "onlineMeetingInfo",
      "type": "object",
      "properties": {
        "conferenceId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The ID of the conference."
        },
        "joinUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "The external link that launches the online meeting. This is a URL that clients launch into a browser and will redirect the user to join the meeting."
        },
        "phones": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.phone"
          },
          "description": "All of the phone numbers associated with this conference."
        },
        "quickDial": {
          "type": [
            "string",
            "null"
          ],
          "description": "The preformatted quick dial for this call."
        },
        "tollFreeNumbers": {
          "type": "array",
          "items": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": "The toll free numbers that can be used to join the conference."
        },
        "tollNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "The toll number that can be used to join the conference."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.onlineMeetingProviderType": {
      "title": "onlineMeetingProviderType",
      "enum": [
        "unknown",
        "skypeForBusiness",
        "skypeForConsumer",
        "teamsForBusiness"
      ],
      "type": "string"
    },
    "microsoft.graph.outlookGeoCoordinates": {
      "title": "outlookGeoCoordinates",
      "type": "object",
      "properties": {
        "accuracy": {
          "type": [
            "number",
            "null"
          ],
          "description": "The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.",
          "format": "double"
        },
        "altitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "The altitude of the location.",
          "format": "double"
        },
        "altitudeAccuracy": {
          "type": [
            "number",
            "null"
          ],
          "description": "The accuracy of the altitude.",
          "format": "double"
        },
        "latitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "The latitude of the location.",
          "format": "double"
        },
        "longitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "The longitude of the location.",
          "format": "double"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.outlookItem": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "outlookItem",
          "type": "object",
          "properties": {
            "categories": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "The categories associated with the item"
            },
            "changeKey": {
              "type": [
                "string",
                "null"
              ],
              "description": "Identifies the version of the item. Every time the item is changed, changeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only."
            },
            "createdDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
              "format": "date-time"
            },
            "lastModifiedDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
              "format": "date-time"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.patternedRecurrence": {
      "title": "patternedRecurrence",
      "type": "object",
      "properties": {
        "pattern": {
          "$ref": "#/$defs/microsoft.graph.recurrencePattern"
        },
        "range": {
          "$ref": "#/$defs/microsoft.graph.recurrenceRange"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.phone": {
      "title": "phone",
      "type": "object",
      "properties": {
        "language": {
          "type": [
            "string",
            "null"
          ]
        },
        "number": {
          "type": [
            "string",
            "null"
          ],
          "description": "The phone number."
        },
        "region": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "$ref": "#/$defs/microsoft.graph.phoneType"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.phoneType": {
      "title": "phoneType",
      "enum": [
        "home",
        "business",
        "mobile",
        "other",
        "assistant",
        "homeFax",
        "businessFax",
        "otherFax",
        "pager",
        "radio"
      ],
      "type": "string"
    },
    "microsoft.graph.physicalAddress": {
      "title": "physicalAddress",
      "type": "object",
      "properties": {
        "city": {
          "type": [
            "string",
            "null"
          ],
          "description": "The city."
        },
        "countryOrRegion": {
          "type": [
            "string",
            "null"
          ],
          "description": "The country or region. It's a free-format string value, for example, 'United States'."
        },
        "postalCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "The postal code."
        },
        "state": {
          "type": [
            "string",
            "null"
          ],
          "description": "The state."
        },
        "street": {
          "type": [
            "string",
            "null"
          ],
          "description": "The street."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.recipient": {
      "title": "recipient",
      "type": "object",
      "properties": {
        "emailAddress": {
          "$ref": "#/$defs/microsoft.graph.emailAddress"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.recurrencePattern": {
      "title": "recurrencePattern",
      "type": "object",
      "properties": {
        "dayOfMonth": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.",
          "format": "int32"
        },
        "daysOfWeek": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.dayOfWeek"
          },
          "description": "A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern.  Required if type is weekly, relativeMonthly, or relativeYearly."
        },
        "firstDayOfWeek": {
          "$ref": "#/$defs/microsoft.graph.dayOfWeek"
        },
        "index": {
          "$ref": "#/$defs/microsoft.graph.weekIndex"
        },
        "interval": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.",
          "format": "int32"
        },
        "month": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "The month in which the event occurs.  This is a number from 1 to 12.",
          "format": "int32"
        },
        "type": {
          "$ref": "#/$defs/microsoft.graph.recurrencePatternType"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.recurrencePatternType": {
      "title": "recurrencePatternType",
      "enum": [
        "daily",
        "weekly",
        "absoluteMonthly",
        "relativeMonthly",
        "absoluteYearly",
        "relativeYearly"
      ],
      "type": "string"
    },
    "microsoft.graph.recurrenceRange": {
      "title": "recurrenceRange",
      "type": "object",
      "properties": {
        "endDate": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
          "type": [
            "string",
            "null"
          ],
          "description": "The date to stop applying the recurrence pattern. Depending on the recurrence pattern of the event, the last occurrence of the meeting may not be this date. Required if type is endDate.",
          "format": "date"
        },
        "numberOfOccurrences": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": "number",
          "description": "The number of times to repeat the event. Required and must be positive if type is numbered.",
          "format": "int32"
        },
        "recurrenceTimeZone": {
          "type": [
            "string",
            "null"
          ],
          "description": "Time zone for the startDate and endDate properties. Optional. If not specified, the time zone of the event is used."
        },
        "startDate": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
          "type": [
            "string",
            "null"
          ],
          "description": "The date to start applying the recurrence pattern. The first occurrence of the meeting may be this date or later, depending on the recurrence pattern of the event. Must be the same value as the start property of the recurring event. Required.",
          "format": "date"
        },
        "type": {
          "$ref": "#/$defs/microsoft.graph.recurrenceRangeType"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.recurrenceRangeType": {
      "title": "recurrenceRangeType",
      "enum": [
        "endDate",
        "noEnd",
        "numbered"
      ],
      "type": "string"
    },
    "microsoft.graph.responseStatus": {
      "title": "responseStatus",
      "type": "object",
      "properties": {
        "response": {
          "$ref": "#/$defs/microsoft.graph.responseType"
        },
        "time": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "The date and time when the response was returned. It uses ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
          "format": "date-time"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.responseType": {
      "title": "responseType",
      "enum": [
        "none",
        "organizer",
        "tentativelyAccepted",
        "accepted",
        "declined",
        "notResponded"
      ],
      "type": "string"
    },
    "microsoft.graph.sensitivity": {
      "title": "sensitivity",
      "enum": [
        "normal",
        "personal",
        "private",
        "confidential"
      ],
      "type": "string"
    },
    "microsoft.graph.singleValueLegacyExtendedProperty": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "singleValueLegacyExtendedProperty",
          "type": "object",
          "properties": {
            "value": {
              "type": [
                "string",
                "null"
              ],
              "description": "A property value."
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.timeSlot": {
      "title": "timeSlot",
      "type": "object",
      "properties": {
        "end": {
          "$ref": "#/$defs/microsoft.graph.dateTimeTimeZone"
        },
        "start": {
          "$ref": "#/$defs/microsoft.graph.dateTimeTimeZone"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.weekIndex": {
      "title": "weekIndex",
      "enum": [
        "first",
        "second",
        "third",
        "fourth",
        "last"
      ],
      "type": "string"
    }
  }
}