text: # coding=utf-8
  # --------------------------------------------------------------------------
  # Copyright (c) Microsoft Corporation. All rights reserved.
  # Licensed under the MIT License. See License.txt in the project root for license information.
  # Code generated by Microsoft (R) AutoRest Code Generator.
  # Changes may cause incorrect behavior and will be lost if the code is regenerated.
  # --------------------------------------------------------------------------
  
  import datetime
  from typing import Dict, List, Optional, Union
  
  from azure.core.exceptions import HttpResponseError
  import msrest.serialization
  
  from ._calendar_enums import *
  
  
  class CollectionOfAttachment(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment0(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment0, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment1(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment1, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment10(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment10, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment2(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment2, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment3(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment3, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment4(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment4, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment5(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment5, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment6(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment6, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment7(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment7, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment8(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment8, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfAttachment9(msrest.serialization.Model):
      """Collection of attachment.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphAttachment]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphAttachment]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphAttachment"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfAttachment9, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendar(msrest.serialization.Model):
      """Collection of calendar.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendar]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendar]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendar"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendar, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendar0(msrest.serialization.Model):
      """Collection of calendar.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendar]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendar]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendar"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendar0, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarGroup(msrest.serialization.Model):
      """Collection of calendarGroup.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarGroup]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarGroup]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarGroup"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarGroup, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarPermission(msrest.serialization.Model):
      """Collection of calendarPermission.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarPermission]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarPermission, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarPermission0(msrest.serialization.Model):
      """Collection of calendarPermission.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarPermission]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarPermission0, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarPermission1(msrest.serialization.Model):
      """Collection of calendarPermission.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarPermission]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarPermission1, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarPermission2(msrest.serialization.Model):
      """Collection of calendarPermission.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarPermission]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarPermission2, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarPermission3(msrest.serialization.Model):
      """Collection of calendarPermission.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarPermission]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarPermission3, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarPermission4(msrest.serialization.Model):
      """Collection of calendarPermission.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarPermission]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarPermission4, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarPermission5(msrest.serialization.Model):
      """Collection of calendarPermission.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarPermission]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarPermission5, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfCalendarPermission6(msrest.serialization.Model):
      """Collection of calendarPermission.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphCalendarPermission]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfCalendarPermission6, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent0(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent0, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent1(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent1, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent10(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent10, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent11(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent11, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent12(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent12, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent13(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent13, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent14(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent14, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent15(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent15, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent16(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent16, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent17(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent17, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent18(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent18, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent19(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent19, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent2(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent2, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent20(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent20, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent21(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent21, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent22(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent22, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent23(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent23, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent24(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent24, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent25(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent25, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent26(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent26, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent27(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent27, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent28(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent28, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent29(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent29, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent3(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent3, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent30(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent30, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent4(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent4, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent5(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent5, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent6(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent6, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent7(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent7, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent8(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent8, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfEvent9(msrest.serialization.Model):
      """Collection of event.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphEvent]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphEvent]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphEvent"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfEvent9, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension0(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension0, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension1(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension1, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension10(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension10, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension2(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension2, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension3(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension3, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension4(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension4, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension5(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension5, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension6(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension6, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension7(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension7, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension8(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension8, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfExtension9(msrest.serialization.Model):
      """Collection of extension.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphExtension]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphExtension]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphExtension"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfExtension9, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty0(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty0, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty1(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty1, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty10(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty10, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty11(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty11, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty12(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty12, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty13(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty13, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty14(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty14, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty15(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty15, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty16(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty16, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty17(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty17, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty18(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty18, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty2(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty2, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty3(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty3, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty4(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty4, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty5(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty5, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty6(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty6, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty7(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty7, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty8(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty8, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfMultiValueLegacyExtendedProperty9(msrest.serialization.Model):
      """Collection of multiValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfMultiValueLegacyExtendedProperty9, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfPlace(msrest.serialization.Model):
      """Collection of place.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphPlace]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphPlace]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphPlace"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfPlace, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty0(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty0, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty1(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty1, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty10(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty10, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty11(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty11, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty12(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty12, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty13(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty13, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty14(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty14, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty15(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty15, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty16(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty16, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty17(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty17, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty18(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty18, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty2(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty2, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty3(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty3, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty4(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty4, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty5(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty5, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty6(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty6, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty7(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty7, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty8(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty8, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class CollectionOfSingleValueLegacyExtendedProperty9(msrest.serialization.Model):
      """Collection of singleValueLegacyExtendedProperty.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value:
      :type value: list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      :param odata_next_link:
      :type odata_next_link: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
          'odata_next_link': {'key': '@odata\\.nextLink', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          odata_next_link: Optional[str] = None,
          **kwargs
      ):
          super(CollectionOfSingleValueLegacyExtendedProperty9, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.value = value
          self.odata_next_link = odata_next_link
  
  
  class MicrosoftGraphEntity(msrest.serialization.Model):
      """entity.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param id: Read-only.
      :type id: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'id': {'key': 'id', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          id: Optional[str] = None,
          **kwargs
      ):
          super(MicrosoftGraphEntity, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.id = id
  
  
  class MicrosoftGraphAttachment(MicrosoftGraphEntity):
      """attachment.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param content_type: The MIME type.
      :type content_type: str
      :param is_inline: true if the attachment is an inline attachment; otherwise, false.
      :type is_inline: bool
      :param last_modified_date_time: 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 would look
       like this: '2014-01-01T00:00:00Z'.
      :type last_modified_date_time: ~datetime.datetime
      :param name: The attachment's file name.
      :type name: str
      :param size: The length of the attachment in bytes.
      :type size: int
      """
  
      _validation = {
          'size': {'maximum': 2147483647, 'minimum': -2147483648},
      }
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'content_type': {'key': 'contentType', 'type': 'str'},
          'is_inline': {'key': 'isInline', 'type': 'bool'},
          'last_modified_date_time': {'key': 'lastModifiedDateTime', 'type': 'iso-8601'},
          'name': {'key': 'name', 'type': 'str'},
          'size': {'key': 'size', 'type': 'int'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          content_type: Optional[str] = None,
          is_inline: Optional[bool] = None,
          last_modified_date_time: Optional[datetime.datetime] = None,
          name: Optional[str] = None,
          size: Optional[int] = None,
          **kwargs
      ):
          super(MicrosoftGraphAttachment, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
          self.content_type = content_type
          self.is_inline = is_inline
          self.last_modified_date_time = last_modified_date_time
          self.name = name
          self.size = size
  
  
  class MicrosoftGraphRecipient(msrest.serialization.Model):
      """recipient.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param email_address: emailAddress.
      :type email_address: ~calendar.models.MicrosoftGraphEmailAddress
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'email_address': {'key': 'emailAddress', 'type': 'MicrosoftGraphEmailAddress'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          email_address: Optional["MicrosoftGraphEmailAddress"] = None,
          **kwargs
      ):
          super(MicrosoftGraphRecipient, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.email_address = email_address
  
  
  class MicrosoftGraphAttendeeBase(MicrosoftGraphRecipient):
      """attendeeBase.
  
      :param email_address: emailAddress.
      :type email_address: ~calendar.models.MicrosoftGraphEmailAddress
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param type:  Possible values include: "required", "optional", "resource".
      :type type: str or ~calendar.models.MicrosoftGraphAttendeeType
      """
  
      _attribute_map = {
          'email_address': {'key': 'emailAddress', 'type': 'MicrosoftGraphEmailAddress'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'type': {'key': 'type', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          email_address: Optional["MicrosoftGraphEmailAddress"] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          type: Optional[Union[str, "MicrosoftGraphAttendeeType"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphAttendeeBase, self).__init__(email_address=email_address, **kwargs)
          self.additional_properties = additional_properties
          self.type = type
  
  
  class MicrosoftGraphAttendee(MicrosoftGraphAttendeeBase):
      """attendee.
  
      :param email_address: emailAddress.
      :type email_address: ~calendar.models.MicrosoftGraphEmailAddress
      :param type:  Possible values include: "required", "optional", "resource".
      :type type: str or ~calendar.models.MicrosoftGraphAttendeeType
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param proposed_new_time: timeSlot.
      :type proposed_new_time: ~calendar.models.MicrosoftGraphTimeSlot
      :param status: responseStatus.
      :type status: ~calendar.models.MicrosoftGraphResponseStatus
      """
  
      _attribute_map = {
          'email_address': {'key': 'emailAddress', 'type': 'MicrosoftGraphEmailAddress'},
          'type': {'key': 'type', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'proposed_new_time': {'key': 'proposedNewTime', 'type': 'MicrosoftGraphTimeSlot'},
          'status': {'key': 'status', 'type': 'MicrosoftGraphResponseStatus'},
      }
  
      def __init__(
          self,
          *,
          email_address: Optional["MicrosoftGraphEmailAddress"] = None,
          type: Optional[Union[str, "MicrosoftGraphAttendeeType"]] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          proposed_new_time: Optional["MicrosoftGraphTimeSlot"] = None,
          status: Optional["MicrosoftGraphResponseStatus"] = None,
          **kwargs
      ):
          super(MicrosoftGraphAttendee, self).__init__(email_address=email_address, type=type, **kwargs)
          self.additional_properties = additional_properties
          self.proposed_new_time = proposed_new_time
          self.status = status
  
  
  class MicrosoftGraphCalendar(MicrosoftGraphEntity):
      """calendar.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param allowed_online_meeting_providers: Represent the online meeting service providers that
       can be used to create online meetings in this calendar. Possible values are: unknown,
       skypeForBusiness, skypeForConsumer, teamsForBusiness.
      :type allowed_online_meeting_providers: list[str or
       ~calendar.models.MicrosoftGraphOnlineMeetingProviderType]
      :param can_edit: 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 has been
       shared a calendar and granted write access.
      :type can_edit: bool
      :param can_share: True if the user has the permission to share the calendar, false otherwise.
       Only the user who created the calendar can share it.
      :type can_share: bool
      :param can_view_private_items: True if the user can read calendar items that have been marked
       private, false otherwise.
      :type can_view_private_items: bool
      :param change_key: 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.
      :type change_key: str
      :param color:  Possible values include: "lightBlue", "lightGreen", "auto", "lightOrange",
       "lightGray", "lightYellow", "lightTeal", "lightPink", "lightBrown", "lightRed", "maxColor".
      :type color: str or ~calendar.models.MicrosoftGraphCalendarColor
      :param default_online_meeting_provider:  Possible values include: "unknown",
       "skypeForBusiness", "skypeForConsumer", "teamsForBusiness".
      :type default_online_meeting_provider: str or
       ~calendar.models.MicrosoftGraphOnlineMeetingProviderType
      :param is_removable: Indicates whether this user calendar can be deleted from the user mailbox.
      :type is_removable: bool
      :param is_tallying_responses: Indicates whether this user calendar supports tracking of meeting
       responses. Only meeting invites sent from users' primary calendars support tracking of meeting
       responses.
      :type is_tallying_responses: bool
      :param name: The calendar name.
      :type name: str
      :param owner: emailAddress.
      :type owner: ~calendar.models.MicrosoftGraphEmailAddress
      :param calendar_permissions: The permissions of the users with whom the calendar is shared.
      :type calendar_permissions: list[~calendar.models.MicrosoftGraphCalendarPermission]
      :param calendar_view: The calendar view for the calendar. Navigation property. Read-only.
      :type calendar_view: list[~calendar.models.MicrosoftGraphEvent]
      :param events: The events in the calendar. Navigation property. Read-only.
      :type events: list[~calendar.models.MicrosoftGraphEvent]
      :param multi_value_extended_properties: The collection of multi-value extended properties
       defined for the calendar. Read-only. Nullable.
      :type multi_value_extended_properties:
       list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param single_value_extended_properties: The collection of single-value extended properties
       defined for the calendar. Read-only. Nullable.
      :type single_value_extended_properties:
       list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      """
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'allowed_online_meeting_providers': {'key': 'allowedOnlineMeetingProviders', 'type': '[str]'},
          'can_edit': {'key': 'canEdit', 'type': 'bool'},
          'can_share': {'key': 'canShare', 'type': 'bool'},
          'can_view_private_items': {'key': 'canViewPrivateItems', 'type': 'bool'},
          'change_key': {'key': 'changeKey', 'type': 'str'},
          'color': {'key': 'color', 'type': 'str'},
          'default_online_meeting_provider': {'key': 'defaultOnlineMeetingProvider', 'type': 'str'},
          'is_removable': {'key': 'isRemovable', 'type': 'bool'},
          'is_tallying_responses': {'key': 'isTallyingResponses', 'type': 'bool'},
          'name': {'key': 'name', 'type': 'str'},
          'owner': {'key': 'owner', 'type': 'MicrosoftGraphEmailAddress'},
          'calendar_permissions': {'key': 'calendarPermissions', 'type': '[MicrosoftGraphCalendarPermission]'},
          'calendar_view': {'key': 'calendarView', 'type': '[MicrosoftGraphEvent]'},
          'events': {'key': 'events', 'type': '[MicrosoftGraphEvent]'},
          'multi_value_extended_properties': {'key': 'multiValueExtendedProperties', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'single_value_extended_properties': {'key': 'singleValueExtendedProperties', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          allowed_online_meeting_providers: Optional[List[Union[str, "MicrosoftGraphOnlineMeetingProviderType"]]] = None,
          can_edit: Optional[bool] = None,
          can_share: Optional[bool] = None,
          can_view_private_items: Optional[bool] = None,
          change_key: Optional[str] = None,
          color: Optional[Union[str, "MicrosoftGraphCalendarColor"]] = None,
          default_online_meeting_provider: Optional[Union[str, "MicrosoftGraphOnlineMeetingProviderType"]] = None,
          is_removable: Optional[bool] = None,
          is_tallying_responses: Optional[bool] = None,
          name: Optional[str] = None,
          owner: Optional["MicrosoftGraphEmailAddress"] = None,
          calendar_permissions: Optional[List["MicrosoftGraphCalendarPermission"]] = None,
          calendar_view: Optional[List["MicrosoftGraphEvent"]] = None,
          events: Optional[List["MicrosoftGraphEvent"]] = None,
          multi_value_extended_properties: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          single_value_extended_properties: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphCalendar, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
          self.allowed_online_meeting_providers = allowed_online_meeting_providers
          self.can_edit = can_edit
          self.can_share = can_share
          self.can_view_private_items = can_view_private_items
          self.change_key = change_key
          self.color = color
          self.default_online_meeting_provider = default_online_meeting_provider
          self.is_removable = is_removable
          self.is_tallying_responses = is_tallying_responses
          self.name = name
          self.owner = owner
          self.calendar_permissions = calendar_permissions
          self.calendar_view = calendar_view
          self.events = events
          self.multi_value_extended_properties = multi_value_extended_properties
          self.single_value_extended_properties = single_value_extended_properties
  
  
  class MicrosoftGraphCalendarGroup(MicrosoftGraphEntity):
      """calendarGroup.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param change_key: Identifies the version of the calendar group. Every time the calendar group
       is changed, ChangeKey changes as well. This allows Exchange to apply changes to the correct
       version of the object. Read-only.
      :type change_key: str
      :param class_id: The class identifier. Read-only.
      :type class_id: str
      :param name: The group name.
      :type name: str
      :param calendars: The calendars in the calendar group. Navigation property. Read-only.
       Nullable.
      :type calendars: list[~calendar.models.MicrosoftGraphCalendar]
      """
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'change_key': {'key': 'changeKey', 'type': 'str'},
          'class_id': {'key': 'classId', 'type': 'str'},
          'name': {'key': 'name', 'type': 'str'},
          'calendars': {'key': 'calendars', 'type': '[MicrosoftGraphCalendar]'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          change_key: Optional[str] = None,
          class_id: Optional[str] = None,
          name: Optional[str] = None,
          calendars: Optional[List["MicrosoftGraphCalendar"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphCalendarGroup, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
          self.change_key = change_key
          self.class_id = class_id
          self.name = name
          self.calendars = calendars
  
  
  class MicrosoftGraphCalendarPermission(MicrosoftGraphEntity):
      """calendarPermission.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param allowed_roles: List of allowed sharing or delegating permission levels for the calendar.
       Possible values are: none, freeBusyRead, limitedRead, read, write,
       delegateWithoutPrivateEventAccess, delegateWithPrivateEventAccess, custom.
      :type allowed_roles: list[str or ~calendar.models.MicrosoftGraphCalendarRoleType]
      :param email_address: emailAddress.
      :type email_address: ~calendar.models.MicrosoftGraphEmailAddress
      :param is_inside_organization: True if the user in context (sharee or delegate) is inside the
       same organization as the calendar owner.
      :type is_inside_organization: bool
      :param is_removable: True if the user can be removed from the list of sharees 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 cannot remove 'My
       organization' as a sharee to a calendar.
      :type is_removable: bool
      :param role:  Possible values include: "none", "freeBusyRead", "limitedRead", "read", "write",
       "delegateWithoutPrivateEventAccess", "delegateWithPrivateEventAccess", "custom".
      :type role: str or ~calendar.models.MicrosoftGraphCalendarRoleType
      """
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'allowed_roles': {'key': 'allowedRoles', 'type': '[str]'},
          'email_address': {'key': 'emailAddress', 'type': 'MicrosoftGraphEmailAddress'},
          'is_inside_organization': {'key': 'isInsideOrganization', 'type': 'bool'},
          'is_removable': {'key': 'isRemovable', 'type': 'bool'},
          'role': {'key': 'role', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          allowed_roles: Optional[List[Union[str, "MicrosoftGraphCalendarRoleType"]]] = None,
          email_address: Optional["MicrosoftGraphEmailAddress"] = None,
          is_inside_organization: Optional[bool] = None,
          is_removable: Optional[bool] = None,
          role: Optional[Union[str, "MicrosoftGraphCalendarRoleType"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphCalendarPermission, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
          self.allowed_roles = allowed_roles
          self.email_address = email_address
          self.is_inside_organization = is_inside_organization
          self.is_removable = is_removable
          self.role = role
  
  
  class MicrosoftGraphDateTimeZone(msrest.serialization.Model):
      """dateTimeTimeZone.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param date_time: A single point of time in a combined date and time representation
       ({date}T{time}; for example, 2017-08-29T04:00:00.0000000).
      :type date_time: str
      :param time_zone: Represents a time zone, for example, 'Pacific Standard Time'. See below for
       more possible values.
      :type time_zone: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'date_time': {'key': 'dateTime', 'type': 'str'},
          'time_zone': {'key': 'timeZone', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          date_time: Optional[str] = None,
          time_zone: Optional[str] = None,
          **kwargs
      ):
          super(MicrosoftGraphDateTimeZone, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.date_time = date_time
          self.time_zone = time_zone
  
  
  class MicrosoftGraphEmailAddress(msrest.serialization.Model):
      """emailAddress.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param address: The email address of the person or entity.
      :type address: str
      :param name: The display name of the person or entity.
      :type name: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'address': {'key': 'address', 'type': 'str'},
          'name': {'key': 'name', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          address: Optional[str] = None,
          name: Optional[str] = None,
          **kwargs
      ):
          super(MicrosoftGraphEmailAddress, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.address = address
          self.name = name
  
  
  class MicrosoftGraphOutlookItem(MicrosoftGraphEntity):
      """outlookItem.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param categories: The categories associated with the item.
      :type categories: list[str]
      :param change_key: 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.
      :type change_key: str
      :param created_date_time: 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 would look like
       this: '2014-01-01T00:00:00Z'.
      :type created_date_time: ~datetime.datetime
      :param last_modified_date_time: 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 would look
       like this: '2014-01-01T00:00:00Z'.
      :type last_modified_date_time: ~datetime.datetime
      """
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'categories': {'key': 'categories', 'type': '[str]'},
          'change_key': {'key': 'changeKey', 'type': 'str'},
          'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'},
          'last_modified_date_time': {'key': 'lastModifiedDateTime', 'type': 'iso-8601'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          categories: Optional[List[str]] = None,
          change_key: Optional[str] = None,
          created_date_time: Optional[datetime.datetime] = None,
          last_modified_date_time: Optional[datetime.datetime] = None,
          **kwargs
      ):
          super(MicrosoftGraphOutlookItem, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
          self.categories = categories
          self.change_key = change_key
          self.created_date_time = created_date_time
          self.last_modified_date_time = last_modified_date_time
  
  
  class MicrosoftGraphEvent(MicrosoftGraphOutlookItem):
      """event.
  
      :param id: Read-only.
      :type id: str
      :param categories: The categories associated with the item.
      :type categories: list[str]
      :param change_key: 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.
      :type change_key: str
      :param created_date_time: 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 would look like
       this: '2014-01-01T00:00:00Z'.
      :type created_date_time: ~datetime.datetime
      :param last_modified_date_time: 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 would look
       like this: '2014-01-01T00:00:00Z'.
      :type last_modified_date_time: ~datetime.datetime
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param allow_new_time_proposals: True if the meeting organizer allows invitees to propose a new
       time when responding, false otherwise. Optional. Default is true.
      :type allow_new_time_proposals: bool
      :param attendees: The collection of attendees for the event.
      :type attendees: list[~calendar.models.MicrosoftGraphAttendee]
      :param body: itemBody.
      :type body: ~calendar.models.MicrosoftGraphItemBody
      :param body_preview: The preview of the message associated with the event. It is in text
       format.
      :type body_preview: str
      :param end: dateTimeTimeZone.
      :type end: ~calendar.models.MicrosoftGraphDateTimeZone
      :param has_attachments: Set to true if the event has attachments.
      :type has_attachments: bool
      :param i_cal_u_id: A unique identifier that is shared by all instances of an event across
       different calendars. Read-only.
      :type i_cal_u_id: str
      :param importance:  Possible values include: "low", "normal", "high".
      :type importance: str or ~calendar.models.MicrosoftGraphImportance
      :param is_all_day: Set to true if the event lasts all day.
      :type is_all_day: bool
      :param is_cancelled: Set to true if the event has been canceled.
      :type is_cancelled: bool
      :param is_online_meeting: True if this event has online meeting information, false otherwise.
       Default is false. Optional.
      :type is_online_meeting: bool
      :param is_organizer: 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).
       This also applies if a delegate organized the event on behalf of the owner.
      :type is_organizer: bool
      :param is_reminder_on: Set to true if an alert is set to remind the user of the event.
      :type is_reminder_on: bool
      :param location: location.
      :type location: ~calendar.models.MicrosoftGraphLocation
      :param locations: 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 would be removed and replaced by the new
       location value.
      :type locations: list[~calendar.models.MicrosoftGraphLocation]
      :param online_meeting: onlineMeetingInfo.
      :type online_meeting: ~calendar.models.MicrosoftGraphOnlineMeetingInfo
      :param online_meeting_provider:  Possible values include: "unknown", "skypeForBusiness",
       "skypeForConsumer", "teamsForBusiness".
      :type online_meeting_provider: str or ~calendar.models.MicrosoftGraphOnlineMeetingProviderType
      :param online_meeting_url: A URL for an online meeting. The property is set only when an
       organizer specifies an event as an online meeting such as a Skype meeting. Read-only.
      :type online_meeting_url: str
      :param organizer: recipient.
      :type organizer: ~calendar.models.MicrosoftGraphRecipient
      :param original_end_time_zone: 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.
      :type original_end_time_zone: str
      :param original_start: 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 would look like
       this: '2014-01-01T00:00:00Z'.
      :type original_start: ~datetime.datetime
      :param original_start_time_zone: 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.
      :type original_start_time_zone: str
      :param recurrence: patternedRecurrence.
      :type recurrence: ~calendar.models.MicrosoftGraphPatternedRecurrence
      :param reminder_minutes_before_start: The number of minutes before the event start time that
       the reminder alert occurs.
      :type reminder_minutes_before_start: int
      :param response_requested: Default is true, which represents the organizer would like an
       invitee to send a response to the event.
      :type response_requested: bool
      :param response_status: responseStatus.
      :type response_status: ~calendar.models.MicrosoftGraphResponseStatus
      :param sensitivity:  Possible values include: "normal", "personal", "private", "confidential".
      :type sensitivity: str or ~calendar.models.MicrosoftGraphSensitivity
      :param series_master_id: The ID for the recurring series master item, if this event is part of
       a recurring series.
      :type series_master_id: str
      :param show_as:  Possible values include: "free", "tentative", "unknown", "busy", "oof",
       "workingElsewhere".
      :type show_as: str or ~calendar.models.MicrosoftGraphFreeBusyStatus
      :param start: dateTimeTimeZone.
      :type start: ~calendar.models.MicrosoftGraphDateTimeZone
      :param subject: The text of the event's subject line.
      :type subject: str
      :param transaction_id: 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. This is 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 cannot change transactionId in a subsequent update. This property is
       only returned in a response payload if an app has set it. Optional.
      :type transaction_id: str
      :param type:  Possible values include: "singleInstance", "occurrence", "exception",
       "seriesMaster".
      :type type: str or ~calendar.models.MicrosoftGraphEventType
      :param web_link: 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 be accessed from within an iFrame.
      :type web_link: str
      :param attachments: The collection of fileAttachment and itemAttachment attachments for the
       event. Navigation property. Read-only. Nullable.
      :type attachments: list[~calendar.models.MicrosoftGraphAttachment]
      :param calendar: calendar.
      :type calendar: ~calendar.models.MicrosoftGraphCalendar
      :param extensions: The collection of open extensions defined for the event. Read-only.
       Nullable.
      :type extensions: list[~calendar.models.MicrosoftGraphExtension]
      :param instances: The instances of the event. Navigation property. Read-only. Nullable.
      :type instances: list[~calendar.models.MicrosoftGraphEvent]
      :param multi_value_extended_properties: The collection of multi-value extended properties
       defined for the event. Read-only. Nullable.
      :type multi_value_extended_properties:
       list[~calendar.models.MicrosoftGraphMultiValueLegacyExtendedProperty]
      :param single_value_extended_properties: The collection of single-value extended properties
       defined for the event. Read-only. Nullable.
      :type single_value_extended_properties:
       list[~calendar.models.MicrosoftGraphSingleValueLegacyExtendedProperty]
      """
  
      _validation = {
          'reminder_minutes_before_start': {'maximum': 2147483647, 'minimum': -2147483648},
      }
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'categories': {'key': 'categories', 'type': '[str]'},
          'change_key': {'key': 'changeKey', 'type': 'str'},
          'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'},
          'last_modified_date_time': {'key': 'lastModifiedDateTime', 'type': 'iso-8601'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'allow_new_time_proposals': {'key': 'allowNewTimeProposals', 'type': 'bool'},
          'attendees': {'key': 'attendees', 'type': '[MicrosoftGraphAttendee]'},
          'body': {'key': 'body', 'type': 'MicrosoftGraphItemBody'},
          'body_preview': {'key': 'bodyPreview', 'type': 'str'},
          'end': {'key': 'end', 'type': 'MicrosoftGraphDateTimeZone'},
          'has_attachments': {'key': 'hasAttachments', 'type': 'bool'},
          'i_cal_u_id': {'key': 'iCalUId', 'type': 'str'},
          'importance': {'key': 'importance', 'type': 'str'},
          'is_all_day': {'key': 'isAllDay', 'type': 'bool'},
          'is_cancelled': {'key': 'isCancelled', 'type': 'bool'},
          'is_online_meeting': {'key': 'isOnlineMeeting', 'type': 'bool'},
          'is_organizer': {'key': 'isOrganizer', 'type': 'bool'},
          'is_reminder_on': {'key': 'isReminderOn', 'type': 'bool'},
          'location': {'key': 'location', 'type': 'MicrosoftGraphLocation'},
          'locations': {'key': 'locations', 'type': '[MicrosoftGraphLocation]'},
          'online_meeting': {'key': 'onlineMeeting', 'type': 'MicrosoftGraphOnlineMeetingInfo'},
          'online_meeting_provider': {'key': 'onlineMeetingProvider', 'type': 'str'},
          'online_meeting_url': {'key': 'onlineMeetingUrl', 'type': 'str'},
          'organizer': {'key': 'organizer', 'type': 'MicrosoftGraphRecipient'},
          'original_end_time_zone': {'key': 'originalEndTimeZone', 'type': 'str'},
          'original_start': {'key': 'originalStart', 'type': 'iso-8601'},
          'original_start_time_zone': {'key': 'originalStartTimeZone', 'type': 'str'},
          'recurrence': {'key': 'recurrence', 'type': 'MicrosoftGraphPatternedRecurrence'},
          'reminder_minutes_before_start': {'key': 'reminderMinutesBeforeStart', 'type': 'int'},
          'response_requested': {'key': 'responseRequested', 'type': 'bool'},
          'response_status': {'key': 'responseStatus', 'type': 'MicrosoftGraphResponseStatus'},
          'sensitivity': {'key': 'sensitivity', 'type': 'str'},
          'series_master_id': {'key': 'seriesMasterId', 'type': 'str'},
          'show_as': {'key': 'showAs', 'type': 'str'},
          'start': {'key': 'start', 'type': 'MicrosoftGraphDateTimeZone'},
          'subject': {'key': 'subject', 'type': 'str'},
          'transaction_id': {'key': 'transactionId', 'type': 'str'},
          'type': {'key': 'type', 'type': 'str'},
          'web_link': {'key': 'webLink', 'type': 'str'},
          'attachments': {'key': 'attachments', 'type': '[MicrosoftGraphAttachment]'},
          'calendar': {'key': 'calendar', 'type': 'MicrosoftGraphCalendar'},
          'extensions': {'key': 'extensions', 'type': '[MicrosoftGraphExtension]'},
          'instances': {'key': 'instances', 'type': '[MicrosoftGraphEvent]'},
          'multi_value_extended_properties': {'key': 'multiValueExtendedProperties', 'type': '[MicrosoftGraphMultiValueLegacyExtendedProperty]'},
          'single_value_extended_properties': {'key': 'singleValueExtendedProperties', 'type': '[MicrosoftGraphSingleValueLegacyExtendedProperty]'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          categories: Optional[List[str]] = None,
          change_key: Optional[str] = None,
          created_date_time: Optional[datetime.datetime] = None,
          last_modified_date_time: Optional[datetime.datetime] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          allow_new_time_proposals: Optional[bool] = None,
          attendees: Optional[List["MicrosoftGraphAttendee"]] = None,
          body: Optional["MicrosoftGraphItemBody"] = None,
          body_preview: Optional[str] = None,
          end: Optional["MicrosoftGraphDateTimeZone"] = None,
          has_attachments: Optional[bool] = None,
          i_cal_u_id: Optional[str] = None,
          importance: Optional[Union[str, "MicrosoftGraphImportance"]] = None,
          is_all_day: Optional[bool] = None,
          is_cancelled: Optional[bool] = None,
          is_online_meeting: Optional[bool] = None,
          is_organizer: Optional[bool] = None,
          is_reminder_on: Optional[bool] = None,
          location: Optional["MicrosoftGraphLocation"] = None,
          locations: Optional[List["MicrosoftGraphLocation"]] = None,
          online_meeting: Optional["MicrosoftGraphOnlineMeetingInfo"] = None,
          online_meeting_provider: Optional[Union[str, "MicrosoftGraphOnlineMeetingProviderType"]] = None,
          online_meeting_url: Optional[str] = None,
          organizer: Optional["MicrosoftGraphRecipient"] = None,
          original_end_time_zone: Optional[str] = None,
          original_start: Optional[datetime.datetime] = None,
          original_start_time_zone: Optional[str] = None,
          recurrence: Optional["MicrosoftGraphPatternedRecurrence"] = None,
          reminder_minutes_before_start: Optional[int] = None,
          response_requested: Optional[bool] = None,
          response_status: Optional["MicrosoftGraphResponseStatus"] = None,
          sensitivity: Optional[Union[str, "MicrosoftGraphSensitivity"]] = None,
          series_master_id: Optional[str] = None,
          show_as: Optional[Union[str, "MicrosoftGraphFreeBusyStatus"]] = None,
          start: Optional["MicrosoftGraphDateTimeZone"] = None,
          subject: Optional[str] = None,
          transaction_id: Optional[str] = None,
          type: Optional[Union[str, "MicrosoftGraphEventType"]] = None,
          web_link: Optional[str] = None,
          attachments: Optional[List["MicrosoftGraphAttachment"]] = None,
          calendar: Optional["MicrosoftGraphCalendar"] = None,
          extensions: Optional[List["MicrosoftGraphExtension"]] = None,
          instances: Optional[List["MicrosoftGraphEvent"]] = None,
          multi_value_extended_properties: Optional[List["MicrosoftGraphMultiValueLegacyExtendedProperty"]] = None,
          single_value_extended_properties: Optional[List["MicrosoftGraphSingleValueLegacyExtendedProperty"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphEvent, self).__init__(id=id, categories=categories, change_key=change_key, created_date_time=created_date_time, last_modified_date_time=last_modified_date_time, **kwargs)
          self.additional_properties = additional_properties
          self.allow_new_time_proposals = allow_new_time_proposals
          self.attendees = attendees
          self.body = body
          self.body_preview = body_preview
          self.end = end
          self.has_attachments = has_attachments
          self.i_cal_u_id = i_cal_u_id
          self.importance = importance
          self.is_all_day = is_all_day
          self.is_cancelled = is_cancelled
          self.is_online_meeting = is_online_meeting
          self.is_organizer = is_organizer
          self.is_reminder_on = is_reminder_on
          self.location = location
          self.locations = locations
          self.online_meeting = online_meeting
          self.online_meeting_provider = online_meeting_provider
          self.online_meeting_url = online_meeting_url
          self.organizer = organizer
          self.original_end_time_zone = original_end_time_zone
          self.original_start = original_start
          self.original_start_time_zone = original_start_time_zone
          self.recurrence = recurrence
          self.reminder_minutes_before_start = reminder_minutes_before_start
          self.response_requested = response_requested
          self.response_status = response_status
          self.sensitivity = sensitivity
          self.series_master_id = series_master_id
          self.show_as = show_as
          self.start = start
          self.subject = subject
          self.transaction_id = transaction_id
          self.type = type
          self.web_link = web_link
          self.attachments = attachments
          self.calendar = calendar
          self.extensions = extensions
          self.instances = instances
          self.multi_value_extended_properties = multi_value_extended_properties
          self.single_value_extended_properties = single_value_extended_properties
  
  
  class MicrosoftGraphExtension(MicrosoftGraphEntity):
      """extension.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      """
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          **kwargs
      ):
          super(MicrosoftGraphExtension, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
  
  
  class MicrosoftGraphItemBody(msrest.serialization.Model):
      """itemBody.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param content: The content of the item.
      :type content: str
      :param content_type:  Possible values include: "text", "html".
      :type content_type: str or ~calendar.models.MicrosoftGraphBodyType
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'content': {'key': 'content', 'type': 'str'},
          'content_type': {'key': 'contentType', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          content: Optional[str] = None,
          content_type: Optional[Union[str, "MicrosoftGraphBodyType"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphItemBody, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.content = content
          self.content_type = content_type
  
  
  class MicrosoftGraphLocation(msrest.serialization.Model):
      """location.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param address: physicalAddress.
      :type address: ~calendar.models.MicrosoftGraphPhysicalAddress
      :param coordinates: outlookGeoCoordinates.
      :type coordinates: ~calendar.models.MicrosoftGraphOutlookGeoCoordinates
      :param display_name: The name associated with the location.
      :type display_name: str
      :param location_email_address: Optional email address of the location.
      :type location_email_address: str
      :param location_type:  Possible values include: "default", "conferenceRoom", "homeAddress",
       "businessAddress", "geoCoordinates", "streetAddress", "hotel", "restaurant", "localBusiness",
       "postalAddress".
      :type location_type: str or ~calendar.models.MicrosoftGraphLocationType
      :param location_uri: Optional URI representing the location.
      :type location_uri: str
      :param unique_id: For internal use only.
      :type unique_id: str
      :param unique_id_type:  Possible values include: "unknown", "locationStore", "directory",
       "private", "bing".
      :type unique_id_type: str or ~calendar.models.MicrosoftGraphLocationUniqueIdType
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'address': {'key': 'address', 'type': 'MicrosoftGraphPhysicalAddress'},
          'coordinates': {'key': 'coordinates', 'type': 'MicrosoftGraphOutlookGeoCoordinates'},
          'display_name': {'key': 'displayName', 'type': 'str'},
          'location_email_address': {'key': 'locationEmailAddress', 'type': 'str'},
          'location_type': {'key': 'locationType', 'type': 'str'},
          'location_uri': {'key': 'locationUri', 'type': 'str'},
          'unique_id': {'key': 'uniqueId', 'type': 'str'},
          'unique_id_type': {'key': 'uniqueIdType', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          address: Optional["MicrosoftGraphPhysicalAddress"] = None,
          coordinates: Optional["MicrosoftGraphOutlookGeoCoordinates"] = None,
          display_name: Optional[str] = None,
          location_email_address: Optional[str] = None,
          location_type: Optional[Union[str, "MicrosoftGraphLocationType"]] = None,
          location_uri: Optional[str] = None,
          unique_id: Optional[str] = None,
          unique_id_type: Optional[Union[str, "MicrosoftGraphLocationUniqueIdType"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphLocation, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.address = address
          self.coordinates = coordinates
          self.display_name = display_name
          self.location_email_address = location_email_address
          self.location_type = location_type
          self.location_uri = location_uri
          self.unique_id = unique_id
          self.unique_id_type = unique_id_type
  
  
  class MicrosoftGraphMultiValueLegacyExtendedProperty(MicrosoftGraphEntity):
      """multiValueLegacyExtendedProperty.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value: A collection of property values.
      :type value: list[str]
      """
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': '[str]'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[List[str]] = None,
          **kwargs
      ):
          super(MicrosoftGraphMultiValueLegacyExtendedProperty, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
          self.value = value
  
  
  class MicrosoftGraphOnlineMeetingInfo(msrest.serialization.Model):
      """onlineMeetingInfo.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param conference_id: The ID of the conference.
      :type conference_id: str
      :param join_url: The external link that launches the online meeting. This is a URL that clients
       will launch into a browser and will redirect the user to join the meeting.
      :type join_url: str
      :param phones: All of the phone numbers associated with this conference.
      :type phones: list[~calendar.models.MicrosoftGraphPhone]
      :param quick_dial: The pre-formatted quickdial for this call.
      :type quick_dial: str
      :param toll_free_numbers: The toll free numbers that can be used to join the conference.
      :type toll_free_numbers: list[str]
      :param toll_number: The toll number that can be used to join the conference.
      :type toll_number: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'conference_id': {'key': 'conferenceId', 'type': 'str'},
          'join_url': {'key': 'joinUrl', 'type': 'str'},
          'phones': {'key': 'phones', 'type': '[MicrosoftGraphPhone]'},
          'quick_dial': {'key': 'quickDial', 'type': 'str'},
          'toll_free_numbers': {'key': 'tollFreeNumbers', 'type': '[str]'},
          'toll_number': {'key': 'tollNumber', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          conference_id: Optional[str] = None,
          join_url: Optional[str] = None,
          phones: Optional[List["MicrosoftGraphPhone"]] = None,
          quick_dial: Optional[str] = None,
          toll_free_numbers: Optional[List[str]] = None,
          toll_number: Optional[str] = None,
          **kwargs
      ):
          super(MicrosoftGraphOnlineMeetingInfo, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.conference_id = conference_id
          self.join_url = join_url
          self.phones = phones
          self.quick_dial = quick_dial
          self.toll_free_numbers = toll_free_numbers
          self.toll_number = toll_number
  
  
  class MicrosoftGraphOutlookGeoCoordinates(msrest.serialization.Model):
      """outlookGeoCoordinates.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param accuracy: 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.
      :type accuracy: float
      :param altitude: The altitude of the location.
      :type altitude: float
      :param altitude_accuracy: The accuracy of the altitude.
      :type altitude_accuracy: float
      :param latitude: The latitude of the location.
      :type latitude: float
      :param longitude: The longitude of the location.
      :type longitude: float
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'accuracy': {'key': 'accuracy', 'type': 'float'},
          'altitude': {'key': 'altitude', 'type': 'float'},
          'altitude_accuracy': {'key': 'altitudeAccuracy', 'type': 'float'},
          'latitude': {'key': 'latitude', 'type': 'float'},
          'longitude': {'key': 'longitude', 'type': 'float'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          accuracy: Optional[float] = None,
          altitude: Optional[float] = None,
          altitude_accuracy: Optional[float] = None,
          latitude: Optional[float] = None,
          longitude: Optional[float] = None,
          **kwargs
      ):
          super(MicrosoftGraphOutlookGeoCoordinates, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.accuracy = accuracy
          self.altitude = altitude
          self.altitude_accuracy = altitude_accuracy
          self.latitude = latitude
          self.longitude = longitude
  
  
  class MicrosoftGraphPatternedRecurrence(msrest.serialization.Model):
      """patternedRecurrence.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param pattern: recurrencePattern.
      :type pattern: ~calendar.models.MicrosoftGraphRecurrencePattern
      :param range: recurrenceRange.
      :type range: ~calendar.models.MicrosoftGraphRecurrenceRange
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'pattern': {'key': 'pattern', 'type': 'MicrosoftGraphRecurrencePattern'},
          'range': {'key': 'range', 'type': 'MicrosoftGraphRecurrenceRange'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          pattern: Optional["MicrosoftGraphRecurrencePattern"] = None,
          range: Optional["MicrosoftGraphRecurrenceRange"] = None,
          **kwargs
      ):
          super(MicrosoftGraphPatternedRecurrence, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.pattern = pattern
          self.range = range
  
  
  class MicrosoftGraphPhone(msrest.serialization.Model):
      """phone.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param language:
      :type language: str
      :param number: The phone number.
      :type number: str
      :param region:
      :type region: str
      :param type:  Possible values include: "home", "business", "mobile", "other", "assistant",
       "homeFax", "businessFax", "otherFax", "pager", "radio".
      :type type: str or ~calendar.models.MicrosoftGraphPhoneType
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'language': {'key': 'language', 'type': 'str'},
          'number': {'key': 'number', 'type': 'str'},
          'region': {'key': 'region', 'type': 'str'},
          'type': {'key': 'type', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          language: Optional[str] = None,
          number: Optional[str] = None,
          region: Optional[str] = None,
          type: Optional[Union[str, "MicrosoftGraphPhoneType"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphPhone, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.language = language
          self.number = number
          self.region = region
          self.type = type
  
  
  class MicrosoftGraphPhysicalAddress(msrest.serialization.Model):
      """physicalAddress.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param city: The city.
      :type city: str
      :param country_or_region: The country or region. It's a free-format string value, for example,
       'United States'.
      :type country_or_region: str
      :param postal_code: The postal code.
      :type postal_code: str
      :param state: The state.
      :type state: str
      :param street: The street.
      :type street: str
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'city': {'key': 'city', 'type': 'str'},
          'country_or_region': {'key': 'countryOrRegion', 'type': 'str'},
          'postal_code': {'key': 'postalCode', 'type': 'str'},
          'state': {'key': 'state', 'type': 'str'},
          'street': {'key': 'street', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          city: Optional[str] = None,
          country_or_region: Optional[str] = None,
          postal_code: Optional[str] = None,
          state: Optional[str] = None,
          street: Optional[str] = None,
          **kwargs
      ):
          super(MicrosoftGraphPhysicalAddress, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.city = city
          self.country_or_region = country_or_region
          self.postal_code = postal_code
          self.state = state
          self.street = street
  
  
  class MicrosoftGraphPlace(MicrosoftGraphEntity):
      """place.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param address: physicalAddress.
      :type address: ~calendar.models.MicrosoftGraphPhysicalAddress
      :param display_name: The name associated with the place.
      :type display_name: str
      :param geo_coordinates: outlookGeoCoordinates.
      :type geo_coordinates: ~calendar.models.MicrosoftGraphOutlookGeoCoordinates
      :param phone: The phone number of the place.
      :type phone: str
      """
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'address': {'key': 'address', 'type': 'MicrosoftGraphPhysicalAddress'},
          'display_name': {'key': 'displayName', 'type': 'str'},
          'geo_coordinates': {'key': 'geoCoordinates', 'type': 'MicrosoftGraphOutlookGeoCoordinates'},
          'phone': {'key': 'phone', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          address: Optional["MicrosoftGraphPhysicalAddress"] = None,
          display_name: Optional[str] = None,
          geo_coordinates: Optional["MicrosoftGraphOutlookGeoCoordinates"] = None,
          phone: Optional[str] = None,
          **kwargs
      ):
          super(MicrosoftGraphPlace, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
          self.address = address
          self.display_name = display_name
          self.geo_coordinates = geo_coordinates
          self.phone = phone
  
  
  class MicrosoftGraphRecurrencePattern(msrest.serialization.Model):
      """recurrencePattern.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param day_of_month: The day of the month on which the event occurs. Required if type is
       absoluteMonthly or absoluteYearly.
      :type day_of_month: int
      :param days_of_week: 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.
      :type days_of_week: list[str or ~calendar.models.MicrosoftGraphDayOfWeek]
      :param first_day_of_week:  Possible values include: "sunday", "monday", "tuesday", "wednesday",
       "thursday", "friday", "saturday".
      :type first_day_of_week: str or ~calendar.models.MicrosoftGraphDayOfWeek
      :param index:  Possible values include: "first", "second", "third", "fourth", "last".
      :type index: str or ~calendar.models.MicrosoftGraphWeekIndex
      :param interval: The number of units between occurrences, where units can be in days, weeks,
       months, or years, depending on the type. Required.
      :type interval: int
      :param month: The month in which the event occurs.  This is a number from 1 to 12.
      :type month: int
      :param type:  Possible values include: "daily", "weekly", "absoluteMonthly", "relativeMonthly",
       "absoluteYearly", "relativeYearly".
      :type type: str or ~calendar.models.MicrosoftGraphRecurrencePatternType
      """
  
      _validation = {
          'day_of_month': {'maximum': 2147483647, 'minimum': -2147483648},
          'interval': {'maximum': 2147483647, 'minimum': -2147483648},
          'month': {'maximum': 2147483647, 'minimum': -2147483648},
      }
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'day_of_month': {'key': 'dayOfMonth', 'type': 'int'},
          'days_of_week': {'key': 'daysOfWeek', 'type': '[str]'},
          'first_day_of_week': {'key': 'firstDayOfWeek', 'type': 'str'},
          'index': {'key': 'index', 'type': 'str'},
          'interval': {'key': 'interval', 'type': 'int'},
          'month': {'key': 'month', 'type': 'int'},
          'type': {'key': 'type', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          day_of_month: Optional[int] = None,
          days_of_week: Optional[List[Union[str, "MicrosoftGraphDayOfWeek"]]] = None,
          first_day_of_week: Optional[Union[str, "MicrosoftGraphDayOfWeek"]] = None,
          index: Optional[Union[str, "MicrosoftGraphWeekIndex"]] = None,
          interval: Optional[int] = None,
          month: Optional[int] = None,
          type: Optional[Union[str, "MicrosoftGraphRecurrencePatternType"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphRecurrencePattern, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.day_of_month = day_of_month
          self.days_of_week = days_of_week
          self.first_day_of_week = first_day_of_week
          self.index = index
          self.interval = interval
          self.month = month
          self.type = type
  
  
  class MicrosoftGraphRecurrenceRange(msrest.serialization.Model):
      """recurrenceRange.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param end_date: 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.
      :type end_date: ~datetime.date
      :param number_of_occurrences: The number of times to repeat the event. Required and must be
       positive if type is numbered.
      :type number_of_occurrences: int
      :param recurrence_time_zone: Time zone for the startDate and endDate properties. Optional. If
       not specified, the time zone of the event is used.
      :type recurrence_time_zone: str
      :param start_date: 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.
      :type start_date: ~datetime.date
      :param type:  Possible values include: "endDate", "noEnd", "numbered".
      :type type: str or ~calendar.models.MicrosoftGraphRecurrenceRangeType
      """
  
      _validation = {
          'number_of_occurrences': {'maximum': 2147483647, 'minimum': -2147483648},
      }
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'end_date': {'key': 'endDate', 'type': 'date'},
          'number_of_occurrences': {'key': 'numberOfOccurrences', 'type': 'int'},
          'recurrence_time_zone': {'key': 'recurrenceTimeZone', 'type': 'str'},
          'start_date': {'key': 'startDate', 'type': 'date'},
          'type': {'key': 'type', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          end_date: Optional[datetime.date] = None,
          number_of_occurrences: Optional[int] = None,
          recurrence_time_zone: Optional[str] = None,
          start_date: Optional[datetime.date] = None,
          type: Optional[Union[str, "MicrosoftGraphRecurrenceRangeType"]] = None,
          **kwargs
      ):
          super(MicrosoftGraphRecurrenceRange, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.end_date = end_date
          self.number_of_occurrences = number_of_occurrences
          self.recurrence_time_zone = recurrence_time_zone
          self.start_date = start_date
          self.type = type
  
  
  class MicrosoftGraphResponseStatus(msrest.serialization.Model):
      """responseStatus.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param response:  Possible values include: "none", "organizer", "tentativelyAccepted",
       "accepted", "declined", "notResponded".
      :type response: str or ~calendar.models.MicrosoftGraphResponseType
      :param time: The date and time that the response was returned. It uses ISO 8601 format and is
       always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this:
       '2014-01-01T00:00:00Z'.
      :type time: ~datetime.datetime
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'response': {'key': 'response', 'type': 'str'},
          'time': {'key': 'time', 'type': 'iso-8601'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          response: Optional[Union[str, "MicrosoftGraphResponseType"]] = None,
          time: Optional[datetime.datetime] = None,
          **kwargs
      ):
          super(MicrosoftGraphResponseStatus, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.response = response
          self.time = time
  
  
  class MicrosoftGraphSingleValueLegacyExtendedProperty(MicrosoftGraphEntity):
      """singleValueLegacyExtendedProperty.
  
      :param id: Read-only.
      :type id: str
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param value: A property value.
      :type value: str
      """
  
      _attribute_map = {
          'id': {'key': 'id', 'type': 'str'},
          'additional_properties': {'key': '', 'type': '{object}'},
          'value': {'key': 'value', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          id: Optional[str] = None,
          additional_properties: Optional[Dict[str, object]] = None,
          value: Optional[str] = None,
          **kwargs
      ):
          super(MicrosoftGraphSingleValueLegacyExtendedProperty, self).__init__(id=id, **kwargs)
          self.additional_properties = additional_properties
          self.value = value
  
  
  class MicrosoftGraphTimeSlot(msrest.serialization.Model):
      """timeSlot.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param end: dateTimeTimeZone.
      :type end: ~calendar.models.MicrosoftGraphDateTimeZone
      :param start: dateTimeTimeZone.
      :type start: ~calendar.models.MicrosoftGraphDateTimeZone
      """
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'end': {'key': 'end', 'type': 'MicrosoftGraphDateTimeZone'},
          'start': {'key': 'start', 'type': 'MicrosoftGraphDateTimeZone'},
      }
  
      def __init__(
          self,
          *,
          additional_properties: Optional[Dict[str, object]] = None,
          end: Optional["MicrosoftGraphDateTimeZone"] = None,
          start: Optional["MicrosoftGraphDateTimeZone"] = None,
          **kwargs
      ):
          super(MicrosoftGraphTimeSlot, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.end = end
          self.start = start
  
  
  class OdataError(msrest.serialization.Model):
      """OdataError.
  
      All required parameters must be populated in order to send to Azure.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param error: Required.
      :type error: ~calendar.models.OdataErrorMain
      """
  
      _validation = {
          'error': {'required': True},
      }
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'error': {'key': 'error', 'type': 'OdataErrorMain'},
      }
  
      def __init__(
          self,
          *,
          error: "OdataErrorMain",
          additional_properties: Optional[Dict[str, object]] = None,
          **kwargs
      ):
          super(OdataError, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.error = error
  
  
  class OdataErrorDetail(msrest.serialization.Model):
      """OdataErrorDetail.
  
      All required parameters must be populated in order to send to Azure.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param code: Required.
      :type code: str
      :param message: Required.
      :type message: str
      :param target:
      :type target: str
      """
  
      _validation = {
          'code': {'required': True},
          'message': {'required': True},
      }
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'code': {'key': 'code', 'type': 'str'},
          'message': {'key': 'message', 'type': 'str'},
          'target': {'key': 'target', 'type': 'str'},
      }
  
      def __init__(
          self,
          *,
          code: str,
          message: str,
          additional_properties: Optional[Dict[str, object]] = None,
          target: Optional[str] = None,
          **kwargs
      ):
          super(OdataErrorDetail, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.code = code
          self.message = message
          self.target = target
  
  
  class OdataErrorMain(msrest.serialization.Model):
      """OdataErrorMain.
  
      All required parameters must be populated in order to send to Azure.
  
      :param additional_properties: Unmatched properties from the message are deserialized to this
       collection.
      :type additional_properties: dict[str, object]
      :param code: Required.
      :type code: str
      :param message: Required.
      :type message: str
      :param target:
      :type target: str
      :param details:
      :type details: list[~calendar.models.OdataErrorDetail]
      :param innererror: The structure of this object is service-specific.
      :type innererror: dict[str, object]
      """
  
      _validation = {
          'code': {'required': True},
          'message': {'required': True},
      }
  
      _attribute_map = {
          'additional_properties': {'key': '', 'type': '{object}'},
          'code': {'key': 'code', 'type': 'str'},
          'message': {'key': 'message', 'type': 'str'},
          'target': {'key': 'target', 'type': 'str'},
          'details': {'key': 'details', 'type': '[OdataErrorDetail]'},
          'innererror': {'key': 'innererror', 'type': '{object}'},
      }
  
      def __init__(
          self,
          *,
          code: str,
          message: str,
          additional_properties: Optional[Dict[str, object]] = None,
          target: Optional[str] = None,
          details: Optional[List["OdataErrorDetail"]] = None,
          innererror: Optional[Dict[str, object]] = None,
          **kwargs
      ):
          super(OdataErrorMain, self).__init__(**kwargs)
          self.additional_properties = additional_properties
          self.code = code
          self.message = message
          self.target = target
          self.details = details
          self.innererror = innererror
  