ews javascript api

AppointmentSchema

function
 AppointmentSchema() 

function AppointmentSchema() {
    var _this = this;
    _super.call(this);
    this.StartTimeZone = new StartTimeZonePropertyDefinition_1.StartTimeZonePropertyDefinition("StartTimeZone", XmlElementNames_1.XmlElementNames.StartTimeZone, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.StartTimeZone, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.EndTimeZone = new TimeZonePropertyDefinition_1.TimeZonePropertyDefinition("EndTimeZone", XmlElementNames_1.XmlElementNames.EndTimeZone, ExchangeVersion_1.ExchangeVersion.Exchange2010, FieldUris.EndTimeZone, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.Start = new ScopedDateTimePropertyDefinition_1.ScopedDateTimePropertyDefinition("Start", XmlElementNames_1.XmlElementNames.Start, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Start, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function (version) { return _this.StartTimeZone; });
    this.End = new ScopedDateTimePropertyDefinition_1.ScopedDateTimePropertyDefinition("End", XmlElementNames_1.XmlElementNames.End, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.End, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function (version) {
        if (version !== ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1) {
            return _this.EndTimeZone;
        }
        return _this.StartTimeZone;
    });
    this.OriginalStart = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("OriginalStart", XmlElementNames_1.XmlElementNames.OriginalStart, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.OriginalStart, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
    this.IsAllDayEvent = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsAllDayEvent", XmlElementNames_1.XmlElementNames.IsAllDayEvent, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsAllDayEvent, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.LegacyFreeBusyStatus = new GenericPropertyDefinition_1.GenericPropertyDefinition("LegacyFreeBusyStatus", XmlElementNames_1.XmlElementNames.LegacyFreeBusyStatus, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.LegacyFreeBusyStatus, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.Location = new StringPropertyDefinition_1.StringPropertyDefinition("Location", XmlElementNames_1.XmlElementNames.Location, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Location, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.When = new StringPropertyDefinition_1.StringPropertyDefinition("When", XmlElementNames_1.XmlElementNames.When, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.When, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsMeeting = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsMeeting", XmlElementNames_1.XmlElementNames.IsMeeting, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsMeeting, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsCancelled = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsCancelled", XmlElementNames_1.XmlElementNames.IsCancelled, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsCancelled, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsRecurring = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsRecurring", XmlElementNames_1.XmlElementNames.IsRecurring, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsRecurring, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.MeetingRequestWasSent = new BoolPropertyDefinition_1.BoolPropertyDefinition("MeetingRequestWasSent", XmlElementNames_1.XmlElementNames.MeetingRequestWasSent, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MeetingRequestWasSent, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsResponseRequested = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsResponseRequested", XmlElementNames_1.XmlElementNames.IsResponseRequested, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsResponseRequested, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.AppointmentType = new GenericPropertyDefinition_1.GenericPropertyDefinition("CalendarItemType", XmlElementNames_1.XmlElementNames.CalendarItemType, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.CalendarItemType, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.MyResponseType = new GenericPropertyDefinition_1.GenericPropertyDefinition("MyResponseType", XmlElementNames_1.XmlElementNames.MyResponseType, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MyResponseType, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.Organizer = new ContainedPropertyDefinition_1.ContainedPropertyDefinition("Organizer", XmlElementNames_1.XmlElementNames.Organizer, XmlElementNames_1.XmlElementNames.Mailbox, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Organizer, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new EmailAddress_1.EmailAddress(); });
    this.RequiredAttendees = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("RequiredAttendees", XmlElementNames_1.XmlElementNames.RequiredAttendees, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.RequiredAttendees, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new AttendeeCollection_1.AttendeeCollection(); });
    this.OptionalAttendees = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("OptionalAttendees", XmlElementNames_1.XmlElementNames.OptionalAttendees, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.OptionalAttendees, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new AttendeeCollection_1.AttendeeCollection(); });
    this.Resources = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("Resources", XmlElementNames_1.XmlElementNames.Resources, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Resources, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new AttendeeCollection_1.AttendeeCollection(); });
    this.ConflictingMeetingCount = new IntPropertyDefinition_1.IntPropertyDefinition("ConflictingMeetingCount", XmlElementNames_1.XmlElementNames.ConflictingMeetingCount, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ConflictingMeetingCount, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
    this.AdjacentMeetingCount = new IntPropertyDefinition_1.IntPropertyDefinition("AdjacentMeetingCount", XmlElementNames_1.XmlElementNames.AdjacentMeetingCount, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AdjacentMeetingCount, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
    this.ConflictingMeetings = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ConflictingMeetings", XmlElementNames_1.XmlElementNames.ConflictingMeetings, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ConflictingMeetings, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new ItemCollection_1.ItemCollection(); });
    this.AdjacentMeetings = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("AdjacentMeetings", XmlElementNames_1.XmlElementNames.AdjacentMeetings, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AdjacentMeetings, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new ItemCollection_1.ItemCollection(); });
    this.Duration = new TimeSpanPropertyDefinition_1.TimeSpanPropertyDefinition("Duration", XmlElementNames_1.XmlElementNames.Duration, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Duration, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.TimeZone = new StringPropertyDefinition_1.StringPropertyDefinition("TimeZone", XmlElementNames_1.XmlElementNames.TimeZone, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.TimeZone, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.AppointmentReplyTime = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("AppointmentReplyTime", XmlElementNames_1.XmlElementNames.AppointmentReplyTime, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AppointmentReplyTime, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.AppointmentSequenceNumber = new IntPropertyDefinition_1.IntPropertyDefinition("AppointmentSequenceNumber", XmlElementNames_1.XmlElementNames.AppointmentSequenceNumber, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AppointmentSequenceNumber, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
    this.AppointmentState = new IntPropertyDefinition_1.IntPropertyDefinition("AppointmentState", XmlElementNames_1.XmlElementNames.AppointmentState, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AppointmentState, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.Recurrence = new RecurrencePropertyDefinition_1.RecurrencePropertyDefinition("Recurrence", XmlElementNames_1.XmlElementNames.Recurrence, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Recurrence, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete);
    this.FirstOccurrence = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("FirstOccurrence", XmlElementNames_1.XmlElementNames.FirstOccurrence, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.FirstOccurrence, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new OccurrenceInfo_1.OccurrenceInfo(); });
    this.LastOccurrence = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("LastOccurrence", XmlElementNames_1.XmlElementNames.LastOccurrence, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.LastOccurrence, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new OccurrenceInfo_1.OccurrenceInfo(); });
    this.ModifiedOccurrences = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ModifiedOccurrences", XmlElementNames_1.XmlElementNames.ModifiedOccurrences, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ModifiedOccurrences, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new OccurrenceInfoCollection_1.OccurrenceInfoCollection(); });
    this.DeletedOccurrences = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("DeletedOccurrences", XmlElementNames_1.XmlElementNames.DeletedOccurrences, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DeletedOccurrences, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new DeletedOccurrenceInfoCollection_1.DeletedOccurrenceInfoCollection(); });
    this.MeetingTimeZone = new MeetingTimeZonePropertyDefinition_1.MeetingTimeZonePropertyDefinition("MeetingTimeZone", XmlElementNames_1.XmlElementNames.MeetingTimeZone, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MeetingTimeZone, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate);
    this.ConferenceType = new IntPropertyDefinition_1.IntPropertyDefinition("ConferenceType", XmlElementNames_1.XmlElementNames.ConferenceType, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ConferenceType, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.AllowNewTimeProposal = new BoolPropertyDefinition_1.BoolPropertyDefinition("AllowNewTimeProposal", XmlElementNames_1.XmlElementNames.AllowNewTimeProposal, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AllowNewTimeProposal, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsOnlineMeeting = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsOnlineMeeting", XmlElementNames_1.XmlElementNames.IsOnlineMeeting, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsOnlineMeeting, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.MeetingWorkspaceUrl = new StringPropertyDefinition_1.StringPropertyDefinition("MeetingWorkspaceUrl", XmlElementNames_1.XmlElementNames.MeetingWorkspaceUrl, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MeetingWorkspaceUrl, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.NetShowUrl = new StringPropertyDefinition_1.StringPropertyDefinition("NetShowUrl", XmlElementNames_1.XmlElementNames.NetShowUrl, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.NetShowUrl, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.ICalUid = new StringPropertyDefinition_1.StringPropertyDefinition("ICalUid", XmlElementNames_1.XmlElementNames.Uid, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Uid, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.ICalRecurrenceId = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("ICalRecurrenceId", XmlElementNames_1.XmlElementNames.RecurrenceId, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.RecurrenceId, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, true);
    this.ICalDateTimeStamp = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("ICalDateTimeStamp", XmlElementNames_1.XmlElementNames.DateTimeStamp, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DateTimeStamp, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, true);
    this.EnhancedLocation = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("EnhancedLocation", XmlElementNames_1.XmlElementNames.EnhancedLocation, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.EnhancedLocation, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new EnhancedLocation_1.EnhancedLocation(); });
    this.JoinOnlineMeetingUrl = new StringPropertyDefinition_1.StringPropertyDefinition("JoinOnlineMeetingUrl", XmlElementNames_1.XmlElementNames.JoinOnlineMeetingUrl, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.JoinOnlineMeetingUrl, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.OnlineMeetingSettings = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("OnlineMeetingSettings", XmlElementNames_1.XmlElementNames.OnlineMeetingSettings, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.OnlineMeetingSettings, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new OnlineMeetingSettings_1.OnlineMeetingSettings(); });
    //if (AppointmentSchema.Instance) throw new Error("can not create another instance");
}
AppointmentSchema.prototype.RegisterProperties = function () {
    this.init();
    _super.prototype.RegisterProperties.call(this);
    _super.prototype.RegisterProperty.call(this, this.ICalUid);
    _super.prototype.RegisterProperty.call(this, this.ICalRecurrenceId);
    _super.prototype.RegisterProperty.call(this, this.ICalDateTimeStamp);
    _super.prototype.RegisterProperty.call(this, this.Start);
    _super.prototype.RegisterProperty.call(this, this.End);
    _super.prototype.RegisterProperty.call(this, this.OriginalStart);
    _super.prototype.RegisterProperty.call(this, this.IsAllDayEvent);
    _super.prototype.RegisterProperty.call(this, this.LegacyFreeBusyStatus);
    _super.prototype.RegisterProperty.call(this, this.Location);
    _super.prototype.RegisterProperty.call(this, this.When);
    _super.prototype.RegisterProperty.call(this, this.IsMeeting);
    _super.prototype.RegisterProperty.call(this, this.IsCancelled);
    _super.prototype.RegisterProperty.call(this, this.IsRecurring);
    _super.prototype.RegisterProperty.call(this, this.MeetingRequestWasSent);
    _super.prototype.RegisterProperty.call(this, this.IsResponseRequested);
    _super.prototype.RegisterProperty.call(this, this.AppointmentType);
    _super.prototype.RegisterProperty.call(this, this.MyResponseType);
    _super.prototype.RegisterProperty.call(this, this.Organizer);
    _super.prototype.RegisterProperty.call(this, this.RequiredAttendees);
    _super.prototype.RegisterProperty.call(this, this.OptionalAttendees);
    _super.prototype.RegisterProperty.call(this, this.Resources);
    _super.prototype.RegisterProperty.call(this, this.ConflictingMeetingCount);
    _super.prototype.RegisterProperty.call(this, this.AdjacentMeetingCount);
    _super.prototype.RegisterProperty.call(this, this.ConflictingMeetings);
    _super.prototype.RegisterProperty.call(this, this.AdjacentMeetings);
    _super.prototype.RegisterProperty.call(this, this.Duration);
    _super.prototype.RegisterProperty.call(this, this.TimeZone);
    _super.prototype.RegisterProperty.call(this, this.AppointmentReplyTime);
    _super.prototype.RegisterProperty.call(this, this.AppointmentSequenceNumber);
    _super.prototype.RegisterProperty.call(this, this.AppointmentState);
    _super.prototype.RegisterProperty.call(this, this.Recurrence);
    _super.prototype.RegisterProperty.call(this, this.FirstOccurrence);
    _super.prototype.RegisterProperty.call(this, this.LastOccurrence);
    _super.prototype.RegisterProperty.call(this, this.ModifiedOccurrences);
    _super.prototype.RegisterProperty.call(this, this.DeletedOccurrences);
    _super.prototype.RegisterInternalProperty.call(this, this.MeetingTimeZone);
    _super.prototype.RegisterProperty.call(this, this.StartTimeZone);
    _super.prototype.RegisterProperty.call(this, this.EndTimeZone);
    _super.prototype.RegisterProperty.call(this, this.ConferenceType);
    _super.prototype.RegisterProperty.call(this, this.AllowNewTimeProposal);
    _super.prototype.RegisterProperty.call(this, this.IsOnlineMeeting);
    _super.prototype.RegisterProperty.call(this, this.MeetingWorkspaceUrl);
    _super.prototype.RegisterProperty.call(this, this.NetShowUrl);
    _super.prototype.RegisterProperty.call(this, this.EnhancedLocation);
    _super.prototype.RegisterProperty.call(this, this.JoinOnlineMeetingUrl);
    _super.prototype.RegisterProperty.call(this, this.OnlineMeetingSettings);
};
AppointmentSchema.prototype.init = function () {
    var _this = this;
    this.StartTimeZone = new StartTimeZonePropertyDefinition_1.StartTimeZonePropertyDefinition("StartTimeZone", XmlElementNames_1.XmlElementNames.StartTimeZone, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.StartTimeZone, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.EndTimeZone = new TimeZonePropertyDefinition_1.TimeZonePropertyDefinition("EndTimeZone", XmlElementNames_1.XmlElementNames.EndTimeZone, ExchangeVersion_1.ExchangeVersion.Exchange2010, FieldUris.EndTimeZone, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.Start = new ScopedDateTimePropertyDefinition_1.ScopedDateTimePropertyDefinition("Start", XmlElementNames_1.XmlElementNames.Start, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Start, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function (version) { return _this.StartTimeZone; });
    this.End = new ScopedDateTimePropertyDefinition_1.ScopedDateTimePropertyDefinition("End", XmlElementNames_1.XmlElementNames.End, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.End, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function (version) {
        if (version !== ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1) {
            return _this.EndTimeZone;
        }
        return _this.StartTimeZone;
    });
    this.OriginalStart = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("OriginalStart", XmlElementNames_1.XmlElementNames.OriginalStart, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.OriginalStart, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
    this.IsAllDayEvent = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsAllDayEvent", XmlElementNames_1.XmlElementNames.IsAllDayEvent, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsAllDayEvent, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.LegacyFreeBusyStatus = new GenericPropertyDefinition_1.GenericPropertyDefinition("LegacyFreeBusyStatus", XmlElementNames_1.XmlElementNames.LegacyFreeBusyStatus, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.LegacyFreeBusyStatus, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.Location = new StringPropertyDefinition_1.StringPropertyDefinition("Location", XmlElementNames_1.XmlElementNames.Location, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Location, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.When = new StringPropertyDefinition_1.StringPropertyDefinition("When", XmlElementNames_1.XmlElementNames.When, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.When, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsMeeting = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsMeeting", XmlElementNames_1.XmlElementNames.IsMeeting, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsMeeting, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsCancelled = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsCancelled", XmlElementNames_1.XmlElementNames.IsCancelled, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsCancelled, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsRecurring = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsRecurring", XmlElementNames_1.XmlElementNames.IsRecurring, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsRecurring, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.MeetingRequestWasSent = new BoolPropertyDefinition_1.BoolPropertyDefinition("MeetingRequestWasSent", XmlElementNames_1.XmlElementNames.MeetingRequestWasSent, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MeetingRequestWasSent, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsResponseRequested = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsResponseRequested", XmlElementNames_1.XmlElementNames.IsResponseRequested, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsResponseRequested, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.AppointmentType = new GenericPropertyDefinition_1.GenericPropertyDefinition("CalendarItemType", XmlElementNames_1.XmlElementNames.CalendarItemType, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.CalendarItemType, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.MyResponseType = new GenericPropertyDefinition_1.GenericPropertyDefinition("MyResponseType", XmlElementNames_1.XmlElementNames.MyResponseType, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MyResponseType, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.Organizer = new ContainedPropertyDefinition_1.ContainedPropertyDefinition("Organizer", XmlElementNames_1.XmlElementNames.Organizer, XmlElementNames_1.XmlElementNames.Mailbox, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Organizer, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new EmailAddress_1.EmailAddress(); });
    this.RequiredAttendees = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("RequiredAttendees", XmlElementNames_1.XmlElementNames.RequiredAttendees, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.RequiredAttendees, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new AttendeeCollection_1.AttendeeCollection(); });
    this.OptionalAttendees = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("OptionalAttendees", XmlElementNames_1.XmlElementNames.OptionalAttendees, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.OptionalAttendees, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new AttendeeCollection_1.AttendeeCollection(); });
    this.Resources = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("Resources", XmlElementNames_1.XmlElementNames.Resources, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Resources, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new AttendeeCollection_1.AttendeeCollection(); });
    this.ConflictingMeetingCount = new IntPropertyDefinition_1.IntPropertyDefinition("ConflictingMeetingCount", XmlElementNames_1.XmlElementNames.ConflictingMeetingCount, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ConflictingMeetingCount, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
    this.AdjacentMeetingCount = new IntPropertyDefinition_1.IntPropertyDefinition("AdjacentMeetingCount", XmlElementNames_1.XmlElementNames.AdjacentMeetingCount, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AdjacentMeetingCount, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
    this.ConflictingMeetings = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ConflictingMeetings", XmlElementNames_1.XmlElementNames.ConflictingMeetings, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ConflictingMeetings, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new ItemCollection_1.ItemCollection(); });
    this.AdjacentMeetings = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("AdjacentMeetings", XmlElementNames_1.XmlElementNames.AdjacentMeetings, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AdjacentMeetings, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new ItemCollection_1.ItemCollection(); });
    this.Duration = new TimeSpanPropertyDefinition_1.TimeSpanPropertyDefinition("Duration", XmlElementNames_1.XmlElementNames.Duration, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Duration, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.TimeZone = new StringPropertyDefinition_1.StringPropertyDefinition("TimeZone", XmlElementNames_1.XmlElementNames.TimeZone, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.TimeZone, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.AppointmentReplyTime = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("AppointmentReplyTime", XmlElementNames_1.XmlElementNames.AppointmentReplyTime, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AppointmentReplyTime, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.AppointmentSequenceNumber = new IntPropertyDefinition_1.IntPropertyDefinition("AppointmentSequenceNumber", XmlElementNames_1.XmlElementNames.AppointmentSequenceNumber, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AppointmentSequenceNumber, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
    this.AppointmentState = new IntPropertyDefinition_1.IntPropertyDefinition("AppointmentState", XmlElementNames_1.XmlElementNames.AppointmentState, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AppointmentState, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.Recurrence = new RecurrencePropertyDefinition_1.RecurrencePropertyDefinition("Recurrence", XmlElementNames_1.XmlElementNames.Recurrence, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Recurrence, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete);
    this.FirstOccurrence = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("FirstOccurrence", XmlElementNames_1.XmlElementNames.FirstOccurrence, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.FirstOccurrence, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new OccurrenceInfo_1.OccurrenceInfo(); });
    this.LastOccurrence = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("LastOccurrence", XmlElementNames_1.XmlElementNames.LastOccurrence, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.LastOccurrence, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new OccurrenceInfo_1.OccurrenceInfo(); });
    this.ModifiedOccurrences = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ModifiedOccurrences", XmlElementNames_1.XmlElementNames.ModifiedOccurrences, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ModifiedOccurrences, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new OccurrenceInfoCollection_1.OccurrenceInfoCollection(); });
    this.DeletedOccurrences = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("DeletedOccurrences", XmlElementNames_1.XmlElementNames.DeletedOccurrences, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DeletedOccurrences, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new DeletedOccurrenceInfoCollection_1.DeletedOccurrenceInfoCollection(); });
    this.MeetingTimeZone = new MeetingTimeZonePropertyDefinition_1.MeetingTimeZonePropertyDefinition("MeetingTimeZone", XmlElementNames_1.XmlElementNames.MeetingTimeZone, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MeetingTimeZone, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate);
    this.ConferenceType = new IntPropertyDefinition_1.IntPropertyDefinition("ConferenceType", XmlElementNames_1.XmlElementNames.ConferenceType, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ConferenceType, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.AllowNewTimeProposal = new BoolPropertyDefinition_1.BoolPropertyDefinition("AllowNewTimeProposal", XmlElementNames_1.XmlElementNames.AllowNewTimeProposal, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AllowNewTimeProposal, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.IsOnlineMeeting = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsOnlineMeeting", XmlElementNames_1.XmlElementNames.IsOnlineMeeting, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsOnlineMeeting, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.MeetingWorkspaceUrl = new StringPropertyDefinition_1.StringPropertyDefinition("MeetingWorkspaceUrl", XmlElementNames_1.XmlElementNames.MeetingWorkspaceUrl, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MeetingWorkspaceUrl, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.NetShowUrl = new StringPropertyDefinition_1.StringPropertyDefinition("NetShowUrl", XmlElementNames_1.XmlElementNames.NetShowUrl, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.NetShowUrl, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.ICalUid = new StringPropertyDefinition_1.StringPropertyDefinition("ICalUid", XmlElementNames_1.XmlElementNames.Uid, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Uid, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.ICalRecurrenceId = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("ICalRecurrenceId", XmlElementNames_1.XmlElementNames.RecurrenceId, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.RecurrenceId, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, true);
    this.ICalDateTimeStamp = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("ICalDateTimeStamp", XmlElementNames_1.XmlElementNames.DateTimeStamp, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DateTimeStamp, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, true);
    this.EnhancedLocation = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("EnhancedLocation", XmlElementNames_1.XmlElementNames.EnhancedLocation, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.EnhancedLocation, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new EnhancedLocation_1.EnhancedLocation(); });
    this.JoinOnlineMeetingUrl = new StringPropertyDefinition_1.StringPropertyDefinition("JoinOnlineMeetingUrl", XmlElementNames_1.XmlElementNames.JoinOnlineMeetingUrl, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.JoinOnlineMeetingUrl, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
    this.OnlineMeetingSettings = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("OnlineMeetingSettings", XmlElementNames_1.XmlElementNames.OnlineMeetingSettings, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.OnlineMeetingSettings, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new OnlineMeetingSettings_1.OnlineMeetingSettings(); });
};
AppointmentSchema.Instance = new AppointmentSchema();
return AppointmentSchema;
})(ItemSchema_1.ItemSchema);
exports.AppointmentSchema = AppointmentSchema;