// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

// Calendar undocumented
type Calendar struct {
	// Entity is the base model of Calendar
	Entity
	// Name undocumented
	Name *string `json:"name,omitempty"`
	// Color undocumented
	Color *CalendarColor `json:"color,omitempty"`
	// HexColor undocumented
	HexColor *string `json:"hexColor,omitempty"`
	// IsDefaultCalendar undocumented
	IsDefaultCalendar *bool `json:"isDefaultCalendar,omitempty"`
	// ChangeKey undocumented
	ChangeKey *string `json:"changeKey,omitempty"`
	// CanShare undocumented
	CanShare *bool `json:"canShare,omitempty"`
	// CanViewPrivateItems undocumented
	CanViewPrivateItems *bool `json:"canViewPrivateItems,omitempty"`
	// IsShared undocumented
	IsShared *bool `json:"isShared,omitempty"`
	// IsSharedWithMe undocumented
	IsSharedWithMe *bool `json:"isSharedWithMe,omitempty"`
	// CanEdit undocumented
	CanEdit *bool `json:"canEdit,omitempty"`
	// Owner undocumented
	Owner *EmailAddress `json:"owner,omitempty"`
	// AllowedOnlineMeetingProviders undocumented
	AllowedOnlineMeetingProviders []OnlineMeetingProviderType `json:"allowedOnlineMeetingProviders,omitempty"`
	// DefaultOnlineMeetingProvider undocumented
	DefaultOnlineMeetingProvider *OnlineMeetingProviderType `json:"defaultOnlineMeetingProvider,omitempty"`
	// IsTallyingResponses undocumented
	IsTallyingResponses *bool `json:"isTallyingResponses,omitempty"`
	// IsRemovable undocumented
	IsRemovable *bool `json:"isRemovable,omitempty"`
	// SingleValueExtendedProperties undocumented
	SingleValueExtendedProperties []SingleValueLegacyExtendedProperty `json:"singleValueExtendedProperties,omitempty"`
	// MultiValueExtendedProperties undocumented
	MultiValueExtendedProperties []MultiValueLegacyExtendedProperty `json:"multiValueExtendedProperties,omitempty"`
	// CalendarPermissions undocumented
	CalendarPermissions []CalendarPermission `json:"calendarPermissions,omitempty"`
	// Events undocumented
	Events []Event `json:"events,omitempty"`
	// CalendarView undocumented
	CalendarView []Event `json:"calendarView,omitempty"`
}

// CalendarGroup undocumented
type CalendarGroup struct {
	// Entity is the base model of CalendarGroup
	Entity
	// Name undocumented
	Name *string `json:"name,omitempty"`
	// ClassID undocumented
	ClassID *UUID `json:"classId,omitempty"`
	// ChangeKey undocumented
	ChangeKey *string `json:"changeKey,omitempty"`
	// Calendars undocumented
	Calendars []Calendar `json:"calendars,omitempty"`
}

// CalendarPermission undocumented
type CalendarPermission struct {
	// Entity is the base model of CalendarPermission
	Entity
	// EmailAddress undocumented
	EmailAddress *EmailAddress `json:"emailAddress,omitempty"`
	// IsRemovable undocumented
	IsRemovable *bool `json:"isRemovable,omitempty"`
	// IsInsideOrganization undocumented
	IsInsideOrganization *bool `json:"isInsideOrganization,omitempty"`
	// Role undocumented
	Role *CalendarRoleType `json:"role,omitempty"`
	// AllowedRoles undocumented
	AllowedRoles []CalendarRoleType `json:"allowedRoles,omitempty"`
}

// CalendarSharingMessage undocumented
type CalendarSharingMessage struct {
	// Message is the base model of CalendarSharingMessage
	Message
	// CanAccept undocumented
	CanAccept *bool `json:"canAccept,omitempty"`
	// SuggestedCalendarName undocumented
	SuggestedCalendarName *string `json:"suggestedCalendarName,omitempty"`
	// SharingMessageAction undocumented
	SharingMessageAction *CalendarSharingMessageAction `json:"sharingMessageAction,omitempty"`
	// SharingMessageActions undocumented
	SharingMessageActions []CalendarSharingMessageAction `json:"sharingMessageActions,omitempty"`
}

// CalendarSharingMessageAction undocumented
type CalendarSharingMessageAction struct {
	// Object is the base model of CalendarSharingMessageAction
	Object
	// Importance undocumented
	Importance *CalendarSharingActionImportance `json:"importance,omitempty"`
	// ActionType undocumented
	ActionType *CalendarSharingActionType `json:"actionType,omitempty"`
	// Action undocumented
	Action *CalendarSharingAction `json:"action,omitempty"`
}