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

package msgraph

import "time"

// EducationAssignment undocumented
type EducationAssignment struct {
	// Entity is the base model of EducationAssignment
	Entity
	// ClassID undocumented
	ClassID *string `json:"classId,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// Instructions undocumented
	Instructions *EducationItemBody `json:"instructions,omitempty"`
	// CloseDateTime undocumented
	CloseDateTime *time.Time `json:"closeDateTime,omitempty"`
	// DueDateTime undocumented
	DueDateTime *time.Time `json:"dueDateTime,omitempty"`
	// AssignDateTime undocumented
	AssignDateTime *time.Time `json:"assignDateTime,omitempty"`
	// AssignedDateTime undocumented
	AssignedDateTime *time.Time `json:"assignedDateTime,omitempty"`
	// Grading undocumented
	Grading *EducationAssignmentGradeType `json:"grading,omitempty"`
	// AssignTo undocumented
	AssignTo *EducationAssignmentRecipient `json:"assignTo,omitempty"`
	// AllowLateSubmissions undocumented
	AllowLateSubmissions *bool `json:"allowLateSubmissions,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// CreatedBy undocumented
	CreatedBy *IdentitySet `json:"createdBy,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// LastModifiedBy undocumented
	LastModifiedBy *IdentitySet `json:"lastModifiedBy,omitempty"`
	// AllowStudentsToAddResourcesToSubmission undocumented
	AllowStudentsToAddResourcesToSubmission *bool `json:"allowStudentsToAddResourcesToSubmission,omitempty"`
	// Status undocumented
	Status *EducationAssignmentStatus `json:"status,omitempty"`
	// Resources undocumented
	Resources []EducationAssignmentResource `json:"resources,omitempty"`
	// Submissions undocumented
	Submissions []EducationSubmission `json:"submissions,omitempty"`
	// Categories undocumented
	Categories []EducationCategory `json:"categories,omitempty"`
	// Rubric undocumented
	Rubric *EducationRubric `json:"rubric,omitempty"`
}

// EducationAssignmentClassRecipient undocumented
type EducationAssignmentClassRecipient struct {
	// EducationAssignmentRecipient is the base model of EducationAssignmentClassRecipient
	EducationAssignmentRecipient
}

// EducationAssignmentGrade undocumented
type EducationAssignmentGrade struct {
	// Object is the base model of EducationAssignmentGrade
	Object
	// GradedBy undocumented
	GradedBy *IdentitySet `json:"gradedBy,omitempty"`
	// GradedDateTime undocumented
	GradedDateTime *time.Time `json:"gradedDateTime,omitempty"`
}

// EducationAssignmentGradeType undocumented
type EducationAssignmentGradeType struct {
	// Object is the base model of EducationAssignmentGradeType
	Object
}

// EducationAssignmentGroupRecipient undocumented
type EducationAssignmentGroupRecipient struct {
	// EducationAssignmentRecipient is the base model of EducationAssignmentGroupRecipient
	EducationAssignmentRecipient
}

// EducationAssignmentIndividualRecipient undocumented
type EducationAssignmentIndividualRecipient struct {
	// EducationAssignmentRecipient is the base model of EducationAssignmentIndividualRecipient
	EducationAssignmentRecipient
	// Recipients undocumented
	Recipients []string `json:"recipients,omitempty"`
}

// EducationAssignmentPointsGrade undocumented
type EducationAssignmentPointsGrade struct {
	// EducationAssignmentGrade is the base model of EducationAssignmentPointsGrade
	EducationAssignmentGrade
	// Points undocumented
	Points *float64 `json:"points,omitempty"`
}

// EducationAssignmentPointsGradeType undocumented
type EducationAssignmentPointsGradeType struct {
	// EducationAssignmentGradeType is the base model of EducationAssignmentPointsGradeType
	EducationAssignmentGradeType
	// MaxPoints undocumented
	MaxPoints *float64 `json:"maxPoints,omitempty"`
}

// EducationAssignmentRecipient undocumented
type EducationAssignmentRecipient struct {
	// Object is the base model of EducationAssignmentRecipient
	Object
}

// EducationAssignmentResource undocumented
type EducationAssignmentResource struct {
	// Entity is the base model of EducationAssignmentResource
	Entity
	// DistributeForStudentWork undocumented
	DistributeForStudentWork *bool `json:"distributeForStudentWork,omitempty"`
	// Resource undocumented
	Resource *EducationResource `json:"resource,omitempty"`
}

// EducationCategory undocumented
type EducationCategory struct {
	// Entity is the base model of EducationCategory
	Entity
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
}

// EducationClass undocumented
type EducationClass struct {
	// Entity is the base model of EducationClass
	Entity
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// MailNickname undocumented
	MailNickname *string `json:"mailNickname,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
	// CreatedBy undocumented
	CreatedBy *IdentitySet `json:"createdBy,omitempty"`
	// ClassCode undocumented
	ClassCode *string `json:"classCode,omitempty"`
	// ExternalName undocumented
	ExternalName *string `json:"externalName,omitempty"`
	// ExternalID undocumented
	ExternalID *string `json:"externalId,omitempty"`
	// ExternalSource undocumented
	ExternalSource *EducationExternalSource `json:"externalSource,omitempty"`
	// Grade undocumented
	Grade *string `json:"grade,omitempty"`
	// Term undocumented
	Term *EducationTerm `json:"term,omitempty"`
	// Course undocumented
	Course *EducationCourse `json:"course,omitempty"`
	// Assignments undocumented
	Assignments []EducationAssignment `json:"assignments,omitempty"`
	// AssignmentCategories undocumented
	AssignmentCategories []EducationCategory `json:"assignmentCategories,omitempty"`
	// Members undocumented
	Members []EducationUser `json:"members,omitempty"`
	// Teachers undocumented
	Teachers []EducationUser `json:"teachers,omitempty"`
	// Schools undocumented
	Schools []EducationSchool `json:"schools,omitempty"`
	// Group undocumented
	Group *Group `json:"group,omitempty"`
}

// EducationCourse undocumented
type EducationCourse struct {
	// Object is the base model of EducationCourse
	Object
	// Subject undocumented
	Subject *string `json:"subject,omitempty"`
	// CourseNumber undocumented
	CourseNumber *string `json:"courseNumber,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// ExternalID undocumented
	ExternalID *string `json:"externalId,omitempty"`
}

// EducationCsvDataProvider undocumented
type EducationCsvDataProvider struct {
	// EducationSynchronizationDataProvider is the base model of EducationCsvDataProvider
	EducationSynchronizationDataProvider
	// Customizations undocumented
	Customizations *EducationSynchronizationCustomizations `json:"customizations,omitempty"`
}

// EducationExcelResource undocumented
type EducationExcelResource struct {
	// EducationResource is the base model of EducationExcelResource
	EducationResource
	// FileURL undocumented
	FileURL *string `json:"fileUrl,omitempty"`
}

// EducationFeedback undocumented
type EducationFeedback struct {
	// Object is the base model of EducationFeedback
	Object
	// Text undocumented
	Text *EducationItemBody `json:"text,omitempty"`
	// FeedbackDateTime undocumented
	FeedbackDateTime *time.Time `json:"feedbackDateTime,omitempty"`
	// FeedbackBy undocumented
	FeedbackBy *IdentitySet `json:"feedbackBy,omitempty"`
}

// EducationFeedbackOutcome undocumented
type EducationFeedbackOutcome struct {
	// EducationOutcome is the base model of EducationFeedbackOutcome
	EducationOutcome
	// Feedback undocumented
	Feedback *EducationFeedback `json:"feedback,omitempty"`
	// PublishedFeedback undocumented
	PublishedFeedback *EducationFeedback `json:"publishedFeedback,omitempty"`
}

// EducationFileResource undocumented
type EducationFileResource struct {
	// EducationResource is the base model of EducationFileResource
	EducationResource
	// FileURL undocumented
	FileURL *string `json:"fileUrl,omitempty"`
}

// EducationFileSynchronizationVerificationMessage undocumented
type EducationFileSynchronizationVerificationMessage struct {
	// Object is the base model of EducationFileSynchronizationVerificationMessage
	Object
	// Type undocumented
	Type *string `json:"type,omitempty"`
	// FileName undocumented
	FileName *string `json:"fileName,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
}

// EducationFormResource undocumented
type EducationFormResource struct {
	// EducationResource is the base model of EducationFormResource
	EducationResource
	// OriginalFormID undocumented
	OriginalFormID *string `json:"originalFormId,omitempty"`
	// FormID undocumented
	FormID *string `json:"formId,omitempty"`
	// IsGroupForm undocumented
	IsGroupForm *bool `json:"isGroupForm,omitempty"`
	// ViewURL undocumented
	ViewURL *string `json:"viewUrl,omitempty"`
	// EditURL undocumented
	EditURL *string `json:"editUrl,omitempty"`
}

// EducationIdentityCreationConfiguration undocumented
type EducationIdentityCreationConfiguration struct {
	// EducationIdentitySynchronizationConfiguration is the base model of EducationIdentityCreationConfiguration
	EducationIdentitySynchronizationConfiguration
	// UserDomains undocumented
	UserDomains []EducationIdentityDomain `json:"userDomains,omitempty"`
}

// EducationIdentityDomain undocumented
type EducationIdentityDomain struct {
	// Object is the base model of EducationIdentityDomain
	Object
	// AppliesTo undocumented
	AppliesTo *EducationUserRole `json:"appliesTo,omitempty"`
	// Name undocumented
	Name *string `json:"name,omitempty"`
}

// EducationIdentityMatchingConfiguration undocumented
type EducationIdentityMatchingConfiguration struct {
	// EducationIdentitySynchronizationConfiguration is the base model of EducationIdentityMatchingConfiguration
	EducationIdentitySynchronizationConfiguration
	// MatchingOptions undocumented
	MatchingOptions []EducationIdentityMatchingOptions `json:"matchingOptions,omitempty"`
}

// EducationIdentityMatchingOptions undocumented
type EducationIdentityMatchingOptions struct {
	// Object is the base model of EducationIdentityMatchingOptions
	Object
	// AppliesTo undocumented
	AppliesTo *EducationUserRole `json:"appliesTo,omitempty"`
	// SourcePropertyName undocumented
	SourcePropertyName *string `json:"sourcePropertyName,omitempty"`
	// TargetPropertyName undocumented
	TargetPropertyName *string `json:"targetPropertyName,omitempty"`
	// TargetDomain undocumented
	TargetDomain *string `json:"targetDomain,omitempty"`
}

// EducationIdentitySynchronizationConfiguration undocumented
type EducationIdentitySynchronizationConfiguration struct {
	// Object is the base model of EducationIdentitySynchronizationConfiguration
	Object
}

// EducationItemBody undocumented
type EducationItemBody struct {
	// Object is the base model of EducationItemBody
	Object
	// ContentType undocumented
	ContentType *BodyType `json:"contentType,omitempty"`
	// Content undocumented
	Content *string `json:"content,omitempty"`
}

// EducationLinkResource undocumented
type EducationLinkResource struct {
	// EducationResource is the base model of EducationLinkResource
	EducationResource
	// Link undocumented
	Link *string `json:"link,omitempty"`
}

// EducationMakeCodeResource undocumented
type EducationMakeCodeResource struct {
	// EducationResource is the base model of EducationMakeCodeResource
	EducationResource
	// HostWebURL undocumented
	HostWebURL *string `json:"hostWebUrl,omitempty"`
	// ProjectID undocumented
	ProjectID *string `json:"projectId,omitempty"`
}

// EducationOnPremisesInfo undocumented
type EducationOnPremisesInfo struct {
	// Object is the base model of EducationOnPremisesInfo
	Object
	// ImmutableID undocumented
	ImmutableID *string `json:"immutableId,omitempty"`
}

// EducationOneNoteResource undocumented
type EducationOneNoteResource struct {
	// EducationResource is the base model of EducationOneNoteResource
	EducationResource
	// SectionName undocumented
	SectionName *string `json:"sectionName,omitempty"`
	// PageURL undocumented
	PageURL *string `json:"pageUrl,omitempty"`
}

// EducationOneRosterAPIDataProvider undocumented
type EducationOneRosterAPIDataProvider struct {
	// EducationSynchronizationDataProvider is the base model of EducationOneRosterAPIDataProvider
	EducationSynchronizationDataProvider
	// ConnectionURL undocumented
	ConnectionURL *string `json:"connectionUrl,omitempty"`
	// ConnectionSettings undocumented
	ConnectionSettings *EducationSynchronizationConnectionSettings `json:"connectionSettings,omitempty"`
	// SchoolsIDs undocumented
	SchoolsIDs []string `json:"schoolsIds,omitempty"`
	// TermIDs undocumented
	TermIDs []string `json:"termIds,omitempty"`
	// ProviderName undocumented
	ProviderName *string `json:"providerName,omitempty"`
	// Customizations undocumented
	Customizations *EducationSynchronizationCustomizations `json:"customizations,omitempty"`
}

// EducationOrganization undocumented
type EducationOrganization struct {
	// Entity is the base model of EducationOrganization
	Entity
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
	// ExternalSource undocumented
	ExternalSource *EducationExternalSource `json:"externalSource,omitempty"`
}

// EducationOutcome undocumented
type EducationOutcome struct {
	// Entity is the base model of EducationOutcome
	Entity
	// LastModifiedBy undocumented
	LastModifiedBy *IdentitySet `json:"lastModifiedBy,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
}

// EducationPointsOutcome undocumented
type EducationPointsOutcome struct {
	// EducationOutcome is the base model of EducationPointsOutcome
	EducationOutcome
	// Points undocumented
	Points *EducationAssignmentPointsGrade `json:"points,omitempty"`
	// PublishedPoints undocumented
	PublishedPoints *EducationAssignmentPointsGrade `json:"publishedPoints,omitempty"`
}

// EducationPowerPointResource undocumented
type EducationPowerPointResource struct {
	// EducationResource is the base model of EducationPowerPointResource
	EducationResource
	// FileURL undocumented
	FileURL *string `json:"fileUrl,omitempty"`
}

// EducationPowerSchoolDataProvider undocumented
type EducationPowerSchoolDataProvider struct {
	// EducationSynchronizationDataProvider is the base model of EducationPowerSchoolDataProvider
	EducationSynchronizationDataProvider
	// ConnectionURL undocumented
	ConnectionURL *string `json:"connectionUrl,omitempty"`
	// ClientID undocumented
	ClientID *string `json:"clientId,omitempty"`
	// ClientSecret undocumented
	ClientSecret *string `json:"clientSecret,omitempty"`
	// SchoolsIDs undocumented
	SchoolsIDs []string `json:"schoolsIds,omitempty"`
	// SchoolYear undocumented
	SchoolYear *string `json:"schoolYear,omitempty"`
	// AllowTeachersInMultipleSchools undocumented
	AllowTeachersInMultipleSchools *bool `json:"allowTeachersInMultipleSchools,omitempty"`
	// Customizations undocumented
	Customizations *EducationSynchronizationCustomizations `json:"customizations,omitempty"`
}

// EducationResource undocumented
type EducationResource struct {
	// Object is the base model of EducationResource
	Object
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// CreatedBy undocumented
	CreatedBy *IdentitySet `json:"createdBy,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// LastModifiedBy undocumented
	LastModifiedBy *IdentitySet `json:"lastModifiedBy,omitempty"`
}

// EducationRoot undocumented
type EducationRoot struct {
	// Entity is the base model of EducationRoot
	Entity
	// SynchronizationProfiles undocumented
	SynchronizationProfiles []EducationSynchronizationProfile `json:"synchronizationProfiles,omitempty"`
	// Classes undocumented
	Classes []EducationClass `json:"classes,omitempty"`
	// Schools undocumented
	Schools []EducationSchool `json:"schools,omitempty"`
	// Users undocumented
	Users []EducationUser `json:"users,omitempty"`
	// Me undocumented
	Me *EducationUser `json:"me,omitempty"`
}

// EducationRubric undocumented
type EducationRubric struct {
	// Entity is the base model of EducationRubric
	Entity
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// Description undocumented
	Description *EducationItemBody `json:"description,omitempty"`
	// Qualities undocumented
	Qualities []RubricQuality `json:"qualities,omitempty"`
	// Levels undocumented
	Levels []RubricLevel `json:"levels,omitempty"`
	// Grading undocumented
	Grading *EducationAssignmentGradeType `json:"grading,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// CreatedBy undocumented
	CreatedBy *IdentitySet `json:"createdBy,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// LastModifiedBy undocumented
	LastModifiedBy *IdentitySet `json:"lastModifiedBy,omitempty"`
}

// EducationRubricOutcome undocumented
type EducationRubricOutcome struct {
	// EducationOutcome is the base model of EducationRubricOutcome
	EducationOutcome
	// RubricQualityFeedback undocumented
	RubricQualityFeedback []RubricQualityFeedbackModel `json:"rubricQualityFeedback,omitempty"`
	// RubricQualitySelectedLevels undocumented
	RubricQualitySelectedLevels []RubricQualitySelectedColumnModel `json:"rubricQualitySelectedLevels,omitempty"`
	// PublishedRubricQualityFeedback undocumented
	PublishedRubricQualityFeedback []RubricQualityFeedbackModel `json:"publishedRubricQualityFeedback,omitempty"`
	// PublishedRubricQualitySelectedLevels undocumented
	PublishedRubricQualitySelectedLevels []RubricQualitySelectedColumnModel `json:"publishedRubricQualitySelectedLevels,omitempty"`
}

// EducationSchool undocumented
type EducationSchool struct {
	// EducationOrganization is the base model of EducationSchool
	EducationOrganization
	// PrincipalEmail undocumented
	PrincipalEmail *string `json:"principalEmail,omitempty"`
	// PrincipalName undocumented
	PrincipalName *string `json:"principalName,omitempty"`
	// ExternalPrincipalID undocumented
	ExternalPrincipalID *string `json:"externalPrincipalId,omitempty"`
	// LowestGrade undocumented
	LowestGrade *string `json:"lowestGrade,omitempty"`
	// HighestGrade undocumented
	HighestGrade *string `json:"highestGrade,omitempty"`
	// SchoolNumber undocumented
	SchoolNumber *string `json:"schoolNumber,omitempty"`
	// ExternalID undocumented
	ExternalID *string `json:"externalId,omitempty"`
	// Phone undocumented
	Phone *string `json:"phone,omitempty"`
	// Fax undocumented
	Fax *string `json:"fax,omitempty"`
	// CreatedBy undocumented
	CreatedBy *IdentitySet `json:"createdBy,omitempty"`
	// Address undocumented
	Address *PhysicalAddress `json:"address,omitempty"`
	// Classes undocumented
	Classes []EducationClass `json:"classes,omitempty"`
	// Users undocumented
	Users []EducationUser `json:"users,omitempty"`
	// AdministrativeUnit undocumented
	AdministrativeUnit *AdministrativeUnit `json:"administrativeUnit,omitempty"`
}

// EducationStudent undocumented
type EducationStudent struct {
	// Object is the base model of EducationStudent
	Object
	// GraduationYear undocumented
	GraduationYear *string `json:"graduationYear,omitempty"`
	// Grade undocumented
	Grade *string `json:"grade,omitempty"`
	// BirthDate undocumented
	BirthDate *Date `json:"birthDate,omitempty"`
	// Gender undocumented
	Gender *EducationGender `json:"gender,omitempty"`
	// StudentNumber undocumented
	StudentNumber *string `json:"studentNumber,omitempty"`
	// ExternalID undocumented
	ExternalID *string `json:"externalId,omitempty"`
}

// EducationSubmission undocumented
type EducationSubmission struct {
	// Entity is the base model of EducationSubmission
	Entity
	// Recipient undocumented
	Recipient *EducationSubmissionRecipient `json:"recipient,omitempty"`
	// Status undocumented
	Status *EducationSubmissionStatus `json:"status,omitempty"`
	// SubmittedBy undocumented
	SubmittedBy *IdentitySet `json:"submittedBy,omitempty"`
	// SubmittedDateTime undocumented
	SubmittedDateTime *time.Time `json:"submittedDateTime,omitempty"`
	// UnsubmittedBy undocumented
	UnsubmittedBy *IdentitySet `json:"unsubmittedBy,omitempty"`
	// UnsubmittedDateTime undocumented
	UnsubmittedDateTime *time.Time `json:"unsubmittedDateTime,omitempty"`
	// ReleasedBy undocumented
	ReleasedBy *IdentitySet `json:"releasedBy,omitempty"`
	// ReleasedDateTime undocumented
	ReleasedDateTime *time.Time `json:"releasedDateTime,omitempty"`
	// ReturnedBy undocumented
	ReturnedBy *IdentitySet `json:"returnedBy,omitempty"`
	// ReturnedDateTime undocumented
	ReturnedDateTime *time.Time `json:"returnedDateTime,omitempty"`
	// ResourcesFolderURL undocumented
	ResourcesFolderURL *string `json:"resourcesFolderUrl,omitempty"`
	// Resources undocumented
	Resources []EducationSubmissionResource `json:"resources,omitempty"`
	// SubmittedResources undocumented
	SubmittedResources []EducationSubmissionResource `json:"submittedResources,omitempty"`
	// Outcomes undocumented
	Outcomes []EducationOutcome `json:"outcomes,omitempty"`
}

// EducationSubmissionIndividualRecipient undocumented
type EducationSubmissionIndividualRecipient struct {
	// EducationSubmissionRecipient is the base model of EducationSubmissionIndividualRecipient
	EducationSubmissionRecipient
	// UserID undocumented
	UserID *string `json:"userId,omitempty"`
}

// EducationSubmissionRecipient undocumented
type EducationSubmissionRecipient struct {
	// Object is the base model of EducationSubmissionRecipient
	Object
}

// EducationSubmissionResource undocumented
type EducationSubmissionResource struct {
	// Entity is the base model of EducationSubmissionResource
	Entity
	// Resource undocumented
	Resource *EducationResource `json:"resource,omitempty"`
	// AssignmentResourceURL undocumented
	AssignmentResourceURL *string `json:"assignmentResourceUrl,omitempty"`
}

// EducationSynchronizationConnectionSettings undocumented
type EducationSynchronizationConnectionSettings struct {
	// Object is the base model of EducationSynchronizationConnectionSettings
	Object
	// ClientID undocumented
	ClientID *string `json:"clientId,omitempty"`
	// ClientSecret undocumented
	ClientSecret *string `json:"clientSecret,omitempty"`
}

// EducationSynchronizationCustomization undocumented
type EducationSynchronizationCustomization struct {
	// Object is the base model of EducationSynchronizationCustomization
	Object
	// OptionalPropertiesToSync undocumented
	OptionalPropertiesToSync []string `json:"optionalPropertiesToSync,omitempty"`
	// SynchronizationStartDate undocumented
	SynchronizationStartDate *time.Time `json:"synchronizationStartDate,omitempty"`
	// IsSyncDeferred undocumented
	IsSyncDeferred *bool `json:"isSyncDeferred,omitempty"`
	// AllowDisplayNameUpdate undocumented
	AllowDisplayNameUpdate *bool `json:"allowDisplayNameUpdate,omitempty"`
}

// EducationSynchronizationCustomizations undocumented
type EducationSynchronizationCustomizations struct {
	// EducationSynchronizationCustomizationsBase is the base model of EducationSynchronizationCustomizations
	EducationSynchronizationCustomizationsBase
	// School undocumented
	School *EducationSynchronizationCustomization `json:"school,omitempty"`
	// Section undocumented
	Section *EducationSynchronizationCustomization `json:"section,omitempty"`
	// Student undocumented
	Student *EducationSynchronizationCustomization `json:"student,omitempty"`
	// Teacher undocumented
	Teacher *EducationSynchronizationCustomization `json:"teacher,omitempty"`
	// StudentEnrollment undocumented
	StudentEnrollment *EducationSynchronizationCustomization `json:"studentEnrollment,omitempty"`
	// TeacherRoster undocumented
	TeacherRoster *EducationSynchronizationCustomization `json:"teacherRoster,omitempty"`
}

// EducationSynchronizationCustomizationsBase undocumented
type EducationSynchronizationCustomizationsBase struct {
	// Object is the base model of EducationSynchronizationCustomizationsBase
	Object
}

// EducationSynchronizationDataProvider undocumented
type EducationSynchronizationDataProvider struct {
	// Object is the base model of EducationSynchronizationDataProvider
	Object
}

// EducationSynchronizationError undocumented
type EducationSynchronizationError struct {
	// Entity is the base model of EducationSynchronizationError
	Entity
	// EntryType undocumented
	EntryType *string `json:"entryType,omitempty"`
	// ErrorCode undocumented
	ErrorCode *string `json:"errorCode,omitempty"`
	// ErrorMessage undocumented
	ErrorMessage *string `json:"errorMessage,omitempty"`
	// JoiningValue undocumented
	JoiningValue *string `json:"joiningValue,omitempty"`
	// RecordedDateTime undocumented
	RecordedDateTime *time.Time `json:"recordedDateTime,omitempty"`
	// ReportableIdentifier undocumented
	ReportableIdentifier *string `json:"reportableIdentifier,omitempty"`
}

// EducationSynchronizationLicenseAssignment undocumented
type EducationSynchronizationLicenseAssignment struct {
	// Object is the base model of EducationSynchronizationLicenseAssignment
	Object
	// AppliesTo undocumented
	AppliesTo *EducationUserRole `json:"appliesTo,omitempty"`
	// SKUIDs undocumented
	SKUIDs []string `json:"skuIds,omitempty"`
}

// EducationSynchronizationOAuth1ConnectionSettings undocumented
type EducationSynchronizationOAuth1ConnectionSettings struct {
	// EducationSynchronizationConnectionSettings is the base model of EducationSynchronizationOAuth1ConnectionSettings
	EducationSynchronizationConnectionSettings
}

// EducationSynchronizationOAuth2ClientCredentialsConnectionSettings undocumented
type EducationSynchronizationOAuth2ClientCredentialsConnectionSettings struct {
	// EducationSynchronizationConnectionSettings is the base model of EducationSynchronizationOAuth2ClientCredentialsConnectionSettings
	EducationSynchronizationConnectionSettings
	// TokenURL undocumented
	TokenURL *string `json:"tokenUrl,omitempty"`
	// Scope undocumented
	Scope *string `json:"scope,omitempty"`
}

// EducationSynchronizationProfile undocumented
type EducationSynchronizationProfile struct {
	// Entity is the base model of EducationSynchronizationProfile
	Entity
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// DataProvider undocumented
	DataProvider *EducationSynchronizationDataProvider `json:"dataProvider,omitempty"`
	// IdentitySynchronizationConfiguration undocumented
	IdentitySynchronizationConfiguration *EducationIdentitySynchronizationConfiguration `json:"identitySynchronizationConfiguration,omitempty"`
	// LicensesToAssign undocumented
	LicensesToAssign []EducationSynchronizationLicenseAssignment `json:"licensesToAssign,omitempty"`
	// State undocumented
	State *EducationSynchronizationProfileState `json:"state,omitempty"`
	// HandleSpecialCharacterConstraint undocumented
	HandleSpecialCharacterConstraint *bool `json:"handleSpecialCharacterConstraint,omitempty"`
	// Errors undocumented
	Errors []EducationSynchronizationError `json:"errors,omitempty"`
	// ProfileStatus undocumented
	ProfileStatus *EducationSynchronizationProfileStatus `json:"profileStatus,omitempty"`
}

// EducationSynchronizationProfileStatus undocumented
type EducationSynchronizationProfileStatus struct {
	// Entity is the base model of EducationSynchronizationProfileStatus
	Entity
	// Status undocumented
	Status *EducationSynchronizationStatus `json:"status,omitempty"`
	// LastSynchronizationDateTime undocumented
	LastSynchronizationDateTime *time.Time `json:"lastSynchronizationDateTime,omitempty"`
}

// EducationTeacher undocumented
type EducationTeacher struct {
	// Object is the base model of EducationTeacher
	Object
	// TeacherNumber undocumented
	TeacherNumber *string `json:"teacherNumber,omitempty"`
	// ExternalID undocumented
	ExternalID *string `json:"externalId,omitempty"`
}

// EducationTerm undocumented
type EducationTerm struct {
	// Object is the base model of EducationTerm
	Object
	// ExternalID undocumented
	ExternalID *string `json:"externalId,omitempty"`
	// StartDate undocumented
	StartDate *Date `json:"startDate,omitempty"`
	// EndDate undocumented
	EndDate *Date `json:"endDate,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
}

// EducationUser undocumented
type EducationUser struct {
	// Entity is the base model of EducationUser
	Entity
	// RelatedContacts undocumented
	RelatedContacts []RelatedContact `json:"relatedContacts,omitempty"`
	// PrimaryRole undocumented
	PrimaryRole *EducationUserRole `json:"primaryRole,omitempty"`
	// MiddleName undocumented
	MiddleName *string `json:"middleName,omitempty"`
	// ExternalSource undocumented
	ExternalSource *EducationExternalSource `json:"externalSource,omitempty"`
	// ResidenceAddress undocumented
	ResidenceAddress *PhysicalAddress `json:"residenceAddress,omitempty"`
	// MailingAddress undocumented
	MailingAddress *PhysicalAddress `json:"mailingAddress,omitempty"`
	// Student undocumented
	Student *EducationStudent `json:"student,omitempty"`
	// Teacher undocumented
	Teacher *EducationTeacher `json:"teacher,omitempty"`
	// CreatedBy undocumented
	CreatedBy *IdentitySet `json:"createdBy,omitempty"`
	// AccountEnabled undocumented
	AccountEnabled *bool `json:"accountEnabled,omitempty"`
	// AssignedLicenses undocumented
	AssignedLicenses []AssignedLicense `json:"assignedLicenses,omitempty"`
	// AssignedPlans undocumented
	AssignedPlans []AssignedPlan `json:"assignedPlans,omitempty"`
	// BusinessPhones undocumented
	BusinessPhones []string `json:"businessPhones,omitempty"`
	// Department undocumented
	Department *string `json:"department,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// GivenName undocumented
	GivenName *string `json:"givenName,omitempty"`
	// Mail undocumented
	Mail *string `json:"mail,omitempty"`
	// MailNickname undocumented
	MailNickname *string `json:"mailNickname,omitempty"`
	// MobilePhone undocumented
	MobilePhone *string `json:"mobilePhone,omitempty"`
	// PasswordPolicies undocumented
	PasswordPolicies *string `json:"passwordPolicies,omitempty"`
	// PasswordProfile undocumented
	PasswordProfile *PasswordProfile `json:"passwordProfile,omitempty"`
	// OfficeLocation undocumented
	OfficeLocation *string `json:"officeLocation,omitempty"`
	// PreferredLanguage undocumented
	PreferredLanguage *string `json:"preferredLanguage,omitempty"`
	// ProvisionedPlans undocumented
	ProvisionedPlans []ProvisionedPlan `json:"provisionedPlans,omitempty"`
	// RefreshTokensValidFromDateTime undocumented
	RefreshTokensValidFromDateTime *time.Time `json:"refreshTokensValidFromDateTime,omitempty"`
	// ShowInAddressList undocumented
	ShowInAddressList *bool `json:"showInAddressList,omitempty"`
	// Surname undocumented
	Surname *string `json:"surname,omitempty"`
	// UsageLocation undocumented
	UsageLocation *string `json:"usageLocation,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
	// UserType undocumented
	UserType *string `json:"userType,omitempty"`
	// OnPremisesInfo undocumented
	OnPremisesInfo *EducationOnPremisesInfo `json:"onPremisesInfo,omitempty"`
	// Assignments undocumented
	Assignments []EducationAssignment `json:"assignments,omitempty"`
	// Rubrics undocumented
	Rubrics []EducationRubric `json:"rubrics,omitempty"`
	// Classes undocumented
	Classes []EducationClass `json:"classes,omitempty"`
	// TaughtClasses undocumented
	TaughtClasses []EducationClass `json:"taughtClasses,omitempty"`
	// Schools undocumented
	Schools []EducationSchool `json:"schools,omitempty"`
	// User undocumented
	User *User `json:"user,omitempty"`
}

// EducationWordResource undocumented
type EducationWordResource struct {
	// EducationResource is the base model of EducationWordResource
	EducationResource
	// FileURL undocumented
	FileURL *string `json:"fileUrl,omitempty"`
}
