//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0018
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.System.idl";
import "Windows.UI.idl";
import "Windows.UI.Popups.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        typedef struct Rect Rect;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass User;
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Popups
        {
            typedef enum Placement Placement;
        }
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Appointments
        {
            typedef enum AppointmentBusyStatus AppointmentBusyStatus;

            typedef enum AppointmentCalendarOtherAppReadAccess AppointmentCalendarOtherAppReadAccess;

            typedef enum AppointmentCalendarOtherAppWriteAccess AppointmentCalendarOtherAppWriteAccess;

            typedef enum AppointmentCalendarSyncStatus AppointmentCalendarSyncStatus;

            typedef enum AppointmentConflictType AppointmentConflictType;

            typedef enum AppointmentDaysOfWeek AppointmentDaysOfWeek;

            typedef enum AppointmentDetailsKind AppointmentDetailsKind;

            typedef enum AppointmentParticipantResponse AppointmentParticipantResponse;

            typedef enum AppointmentParticipantRole AppointmentParticipantRole;

            typedef enum AppointmentRecurrenceUnit AppointmentRecurrenceUnit;

            typedef enum AppointmentSensitivity AppointmentSensitivity;

            typedef enum AppointmentStoreAccessType AppointmentStoreAccessType;

            typedef enum AppointmentStoreChangeType AppointmentStoreChangeType;

            typedef enum AppointmentSummaryCardView AppointmentSummaryCardView;

            typedef enum AppointmentWeekOfMonth AppointmentWeekOfMonth;

            typedef enum FindAppointmentCalendarsOptions FindAppointmentCalendarsOptions;

            typedef enum RecurrenceType RecurrenceType;

            interface IAppointment;

            interface IAppointment2;

            interface IAppointment3;

            interface IAppointmentCalendar;

            interface IAppointmentCalendar2;

            interface IAppointmentCalendar3;

            interface IAppointmentCalendarSyncManager;

            interface IAppointmentCalendarSyncManager2;

            interface IAppointmentConflictResult;

            interface IAppointmentException;

            interface IAppointmentInvitee;

            interface IAppointmentManagerForUser;

            interface IAppointmentManagerStatics;

            interface IAppointmentManagerStatics2;

            interface IAppointmentManagerStatics3;

            interface IAppointmentParticipant;

            interface IAppointmentPropertiesStatics;

            interface IAppointmentPropertiesStatics2;

            interface IAppointmentRecurrence;

            interface IAppointmentRecurrence2;

            interface IAppointmentRecurrence3;

            interface IAppointmentStore;

            interface IAppointmentStore2;

            interface IAppointmentStore3;

            interface IAppointmentStoreChange;

            interface IAppointmentStoreChange2;

            interface IAppointmentStoreChangeReader;

            interface IAppointmentStoreChangeTracker;

            interface IAppointmentStoreChangeTracker2;

            interface IAppointmentStoreChangedDeferral;

            interface IAppointmentStoreChangedEventArgs;

            interface IAppointmentStoreNotificationTriggerDetails;

            interface IFindAppointmentsOptions;

            runtimeclass Appointment;

            runtimeclass AppointmentCalendar;

            runtimeclass AppointmentCalendarSyncManager;

            runtimeclass AppointmentConflictResult;

            runtimeclass AppointmentException;

            runtimeclass AppointmentInvitee;

            runtimeclass AppointmentManager;

            runtimeclass AppointmentManagerForUser;

            runtimeclass AppointmentOrganizer;

            runtimeclass AppointmentProperties;

            runtimeclass AppointmentRecurrence;

            runtimeclass AppointmentStore;

            runtimeclass AppointmentStoreChange;

            runtimeclass AppointmentStoreChangeReader;

            runtimeclass AppointmentStoreChangeTracker;

            runtimeclass AppointmentStoreChangedDeferral;

            runtimeclass AppointmentStoreChangedEventArgs;

            runtimeclass AppointmentStoreNotificationTriggerDetails;

            runtimeclass FindAppointmentsOptions;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Appointments
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Appointments.Appointment*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Appointments.AppointmentCalendar*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Appointments.AppointmentException*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Appointments.AppointmentInvitee*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Appointments.AppointmentStoreChange*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Appointments.Appointment*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Appointments.AppointmentCalendar*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Appointments.AppointmentException*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Appointments.AppointmentInvitee*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Appointments.AppointmentStoreChange*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentCalendar*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentException*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentInvitee*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentStoreChange*>;

                interface Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Appointments.AppointmentInvitee*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.Appointment*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentCalendar*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentConflictResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentStore*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentCalendar*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentException*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentStoreChange*>*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Appointments.AppointmentCalendarSyncManager*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Appointments.AppointmentStore*, Windows.ApplicationModel.Appointments.AppointmentStoreChangedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Appointments
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentBusyStatus
            {
                Busy             = 0,
                Tentative        = 1,
                Free             = 2,
                OutOfOffice      = 3,
                WorkingElsewhere = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentCalendarOtherAppReadAccess
            {
                SystemOnly = 0,
                Limited    = 1,
                Full       = 2,
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                None       = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentCalendarOtherAppWriteAccess
            {
                None       = 0,
                SystemOnly = 1,
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                Limited    = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentCalendarSyncStatus
            {
                Idle                         = 0,
                Syncing                      = 1,
                UpToDate                     = 2,
                AuthenticationError          = 3,
                PolicyError                  = 4,
                UnknownError                 = 5,
                [contract(Windows.Foundation.UniversalApiContract, 2.0)]
                ManualAccountRemovalRequired = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentConflictType
            {
                None     = 0,
                Adjacent = 1,
                Overlap  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum AppointmentDaysOfWeek
            {
                None      = 0x0,
                Sunday    = 0x1,
                Monday    = 0x2,
                Tuesday   = 0x4,
                Wednesday = 0x8,
                Thursday  = 0x10,
                Friday    = 0x20,
                Saturday  = 0x40
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentDetailsKind
            {
                PlainText = 0,
                Html      = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentParticipantResponse
            {
                None      = 0,
                Tentative = 1,
                Accepted  = 2,
                Declined  = 3,
                Unknown   = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentParticipantRole
            {
                RequiredAttendee = 0,
                OptionalAttendee = 1,
                Resource         = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentRecurrenceUnit
            {
                Daily        = 0,
                Weekly       = 1,
                Monthly      = 2,
                MonthlyOnDay = 3,
                Yearly       = 4,
                YearlyOnDay  = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentSensitivity
            {
                Public  = 0,
                Private = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentStoreAccessType
            {
                AppCalendarsReadWrite = 0,
                AllCalendarsReadOnly  = 1,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                AllCalendarsReadWrite = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentStoreChangeType
            {
                AppointmentCreated  = 0,
                AppointmentModified = 1,
                AppointmentDeleted  = 2,
                ChangeTrackingLost  = 3,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                CalendarCreated     = 4,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                CalendarModified    = 5,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                CalendarDeleted     = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentSummaryCardView
            {
                System = 0,
                App    = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppointmentWeekOfMonth
            {
                First  = 0,
                Second = 1,
                Third  = 2,
                Fourth = 3,
                Last   = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum FindAppointmentCalendarsOptions
            {
                None          = 0x0,
                IncludeHidden = 0x1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum RecurrenceType
            {
                Master            = 0,
                Instance          = 1,
                ExceptionInstance = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.Appointment)]
            [uuid(DD002F2F-2BDD-4076-90A3-22C275312965)]
            interface IAppointment : IInspectable
            {
                [propget] HRESULT StartTime([out] [retval] Windows.Foundation.DateTime* value);
                [propput] HRESULT StartTime([in] Windows.Foundation.DateTime value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT Duration([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT Location([out] [retval] HSTRING* value);
                [propput] HRESULT Location([in] HSTRING value);
                [propget] HRESULT Subject([out] [retval] HSTRING* value);
                [propput] HRESULT Subject([in] HSTRING value);
                [propget] HRESULT Details([out] [retval] HSTRING* value);
                [propput] HRESULT Details([in] HSTRING value);
                [propget] HRESULT Reminder([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                [propput] HRESULT Reminder([in] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>* value);
                [propget] HRESULT Organizer([out] [retval] Windows.ApplicationModel.Appointments.AppointmentOrganizer** value);
                [propput] HRESULT Organizer([in] Windows.ApplicationModel.Appointments.AppointmentOrganizer* value);
                [propget] HRESULT Invitees([out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Appointments.AppointmentInvitee*>** value);
                [propget] HRESULT Recurrence([out] [retval] Windows.ApplicationModel.Appointments.AppointmentRecurrence** value);
                [propput] HRESULT Recurrence([in] Windows.ApplicationModel.Appointments.AppointmentRecurrence* value);
                [propget] HRESULT BusyStatus([out] [retval] Windows.ApplicationModel.Appointments.AppointmentBusyStatus* value);
                [propput] HRESULT BusyStatus([in] Windows.ApplicationModel.Appointments.AppointmentBusyStatus value);
                [propget] HRESULT AllDay([out] [retval] boolean* value);
                [propput] HRESULT AllDay([in] boolean value);
                [propget] HRESULT Sensitivity([out] [retval] Windows.ApplicationModel.Appointments.AppointmentSensitivity* value);
                [propput] HRESULT Sensitivity([in] Windows.ApplicationModel.Appointments.AppointmentSensitivity value);
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Uri([in] Windows.Foundation.Uri* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.Appointment)]
            [uuid(5E85983C-540F-3452-9B5C-0DD7AD4C65A2)]
            interface IAppointment2 : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointment
            {
                [propget] HRESULT LocalId([out] [retval] HSTRING* value);
                [propget] HRESULT CalendarId([out] [retval] HSTRING* value);
                [propget] HRESULT RoamingId([out] [retval] HSTRING* value);
                [propput] HRESULT RoamingId([in] HSTRING value);
                [propget] HRESULT OriginalStartTime([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propget] HRESULT IsResponseRequested([out] [retval] boolean* value);
                [propput] HRESULT IsResponseRequested([in] boolean value);
                [propget] HRESULT AllowNewTimeProposal([out] [retval] boolean* value);
                [propput] HRESULT AllowNewTimeProposal([in] boolean value);
                [propget] HRESULT OnlineMeetingLink([out] [retval] HSTRING* value);
                [propput] HRESULT OnlineMeetingLink([in] HSTRING value);
                [propget] HRESULT ReplyTime([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propput] HRESULT ReplyTime([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                [propget] HRESULT UserResponse([out] [retval] Windows.ApplicationModel.Appointments.AppointmentParticipantResponse* value);
                [propput] HRESULT UserResponse([in] Windows.ApplicationModel.Appointments.AppointmentParticipantResponse value);
                [propget] HRESULT HasInvitees([out] [retval] boolean* value);
                [propget] HRESULT IsCanceledMeeting([out] [retval] boolean* value);
                [propput] HRESULT IsCanceledMeeting([in] boolean value);
                [propget] HRESULT IsOrganizedByUser([out] [retval] boolean* value);
                [propput] HRESULT IsOrganizedByUser([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.Appointment)]
            [uuid(BFCC45A9-8961-4991-934B-C48768E5A96C)]
            interface IAppointment3 : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointment2,
                    Windows.ApplicationModel.Appointments.IAppointment
            {
                [propget] HRESULT ChangeNumber([out] [retval] UINT64* value);
                [propget] HRESULT RemoteChangeNumber([out] [retval] UINT64* value);
                [propput] HRESULT RemoteChangeNumber([in] UINT64 value);
                [propget] HRESULT DetailsKind([out] [retval] Windows.ApplicationModel.Appointments.AppointmentDetailsKind* value);
                [propput] HRESULT DetailsKind([in] Windows.ApplicationModel.Appointments.AppointmentDetailsKind value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentCalendar)]
            [uuid(5273819D-8339-3D4F-A02F-64084452BB5D)]
            interface IAppointmentCalendar : IInspectable
            {
                [propget] HRESULT DisplayColor([out] [retval] Windows.UI.Color* value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayName([in] HSTRING value);
                [propget] HRESULT LocalId([out] [retval] HSTRING* value);
                [propget] HRESULT IsHidden([out] [retval] boolean* value);
                [propget] HRESULT OtherAppReadAccess([out] [retval] Windows.ApplicationModel.Appointments.AppointmentCalendarOtherAppReadAccess* value);
                [propput] HRESULT OtherAppReadAccess([in] Windows.ApplicationModel.Appointments.AppointmentCalendarOtherAppReadAccess value);
                [propget] HRESULT OtherAppWriteAccess([out] [retval] Windows.ApplicationModel.Appointments.AppointmentCalendarOtherAppWriteAccess* value);
                [propput] HRESULT OtherAppWriteAccess([in] Windows.ApplicationModel.Appointments.AppointmentCalendarOtherAppWriteAccess value);
                [propget] HRESULT SourceDisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT SummaryCardView([out] [retval] Windows.ApplicationModel.Appointments.AppointmentSummaryCardView* value);
                [propput] HRESULT SummaryCardView([in] Windows.ApplicationModel.Appointments.AppointmentSummaryCardView value);
                [overload("FindAppointmentsAsync")] HRESULT FindAppointmentsAsync([in] Windows.Foundation.DateTime rangeStart, [in] Windows.Foundation.TimeSpan rangeLength, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>** result);
                [overload("FindAppointmentsAsync")] HRESULT FindAppointmentsAsyncWithOptions([in] Windows.Foundation.DateTime rangeStart, [in] Windows.Foundation.TimeSpan rangeLength, [in] Windows.ApplicationModel.Appointments.FindAppointmentsOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>** result);
                HRESULT FindExceptionsFromMasterAsync([in] HSTRING masterLocalId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentException*>*>** value);
                [overload("FindAllInstancesAsync")] HRESULT FindAllInstancesAsync([in] HSTRING masterLocalId, [in] Windows.Foundation.DateTime rangeStart, [in] Windows.Foundation.TimeSpan rangeLength, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>** value);
                [overload("FindAllInstancesAsync")] HRESULT FindAllInstancesAsyncWithOptions([in] HSTRING masterLocalId, [in] Windows.Foundation.DateTime rangeStart, [in] Windows.Foundation.TimeSpan rangeLength, [in] Windows.ApplicationModel.Appointments.FindAppointmentsOptions* pOptions, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>** value);
                HRESULT GetAppointmentAsync([in] HSTRING localId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.Appointment*>** result);
                HRESULT GetAppointmentInstanceAsync([in] HSTRING localId, [in] Windows.Foundation.DateTime instanceStartTime, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.Appointment*>** result);
                [overload("FindUnexpandedAppointmentsAsync")] HRESULT FindUnexpandedAppointmentsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>** result);
                [overload("FindUnexpandedAppointmentsAsync")] HRESULT FindUnexpandedAppointmentsAsyncWithOptions([in] Windows.ApplicationModel.Appointments.FindAppointmentsOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>** result);
                HRESULT DeleteAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                HRESULT SaveAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                HRESULT DeleteAppointmentAsync([in] HSTRING localId, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                HRESULT DeleteAppointmentInstanceAsync([in] HSTRING localId, [in] Windows.Foundation.DateTime instanceStartTime, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                HRESULT SaveAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* pAppointment, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentCalendar)]
            [uuid(18E7E422-2467-4E1C-A459-D8A29303D092)]
            interface IAppointmentCalendar2 : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointmentCalendar
            {
                [propget] HRESULT SyncManager([out] [retval] Windows.ApplicationModel.Appointments.AppointmentCalendarSyncManager** value);
                [propget] HRESULT RemoteId([out] [retval] HSTRING* value);
                [propput] HRESULT RemoteId([in] HSTRING value);
                [propput] HRESULT DisplayColor([in] Windows.UI.Color value);
                [propput] HRESULT IsHidden([in] boolean value);
                [propget] HRESULT UserDataAccountId([out] [retval] HSTRING* value);
                [propget] HRESULT CanCreateOrUpdateAppointments([out] [retval] boolean* value);
                [propput] HRESULT CanCreateOrUpdateAppointments([in] boolean value);
                [propget] HRESULT CanCancelMeetings([out] [retval] boolean* value);
                [propput] HRESULT CanCancelMeetings([in] boolean value);
                [propget] HRESULT CanForwardMeetings([out] [retval] boolean* value);
                [propput] HRESULT CanForwardMeetings([in] boolean value);
                [propget] HRESULT CanProposeNewTimeForMeetings([out] [retval] boolean* value);
                [propput] HRESULT CanProposeNewTimeForMeetings([in] boolean value);
                [propget] HRESULT CanUpdateMeetingResponses([out] [retval] boolean* value);
                [propput] HRESULT CanUpdateMeetingResponses([in] boolean value);
                [propget] HRESULT CanNotifyInvitees([out] [retval] boolean* value);
                [propput] HRESULT CanNotifyInvitees([in] boolean value);
                [propget] HRESULT MustNofityInvitees([out] [retval] boolean* value);
                [propput] HRESULT MustNofityInvitees([in] boolean value);
                HRESULT TryCreateOrUpdateAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] boolean notifyInvitees, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT TryCancelMeetingAsync([in] Windows.ApplicationModel.Appointments.Appointment* meeting, [in] HSTRING subject, [in] HSTRING comment, [in] boolean notifyInvitees, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT TryForwardMeetingAsync([in] Windows.ApplicationModel.Appointments.Appointment* meeting, [in] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Appointments.AppointmentInvitee*>* invitees, [in] HSTRING subject, [in] HSTRING forwardHeader, [in] HSTRING comment, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT TryProposeNewTimeForMeetingAsync([in] Windows.ApplicationModel.Appointments.Appointment* meeting, [in] Windows.Foundation.DateTime newStartTime, [in] Windows.Foundation.TimeSpan newDuration, [in] HSTRING subject, [in] HSTRING comment, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT TryUpdateMeetingResponseAsync([in] Windows.ApplicationModel.Appointments.Appointment* meeting, [in] Windows.ApplicationModel.Appointments.AppointmentParticipantResponse response, [in] HSTRING subject, [in] HSTRING comment, [in] boolean sendUpdate, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentCalendar)]
            [uuid(EB23D22B-A685-42AE-8495-B3119ADB4167)]
            interface IAppointmentCalendar3 : IInspectable
            {
                HRESULT RegisterSyncManagerAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentCalendarSyncManager)]
            [uuid(2B21B3A0-4AFF-4392-BC5F-5645FFCFFB17)]
            interface IAppointmentCalendarSyncManager : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.ApplicationModel.Appointments.AppointmentCalendarSyncStatus* value);
                [propget] HRESULT LastSuccessfulSyncTime([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT LastAttemptedSyncTime([out] [retval] Windows.Foundation.DateTime* value);
                HRESULT SyncAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                [eventadd] HRESULT SyncStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Appointments.AppointmentCalendarSyncManager*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SyncStatusChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentCalendarSyncManager)]
            [uuid(647528AD-0D29-4C7C-AAA7-BF996805537C)]
            interface IAppointmentCalendarSyncManager2 : IInspectable
            {
                [propput] HRESULT Status([in] Windows.ApplicationModel.Appointments.AppointmentCalendarSyncStatus value);
                [propput] HRESULT LastSuccessfulSyncTime([in] Windows.Foundation.DateTime value);
                [propput] HRESULT LastAttemptedSyncTime([in] Windows.Foundation.DateTime value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentConflictResult)]
            [uuid(D5CDF0BE-2F2F-3B7D-AF0A-A7E20F3A46E3)]
            interface IAppointmentConflictResult : IInspectable
            {
                [propget] HRESULT Type([out] [retval] Windows.ApplicationModel.Appointments.AppointmentConflictType* value);
                [propget] HRESULT Date([out] [retval] Windows.Foundation.DateTime* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentException)]
            [uuid(A2076767-16F6-4BCE-9F5A-8600B8019FCB)]
            interface IAppointmentException : IInspectable
            {
                [propget] HRESULT Appointment([out] [retval] Windows.ApplicationModel.Appointments.Appointment** value);
                [propget] HRESULT ExceptionProperties([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
                [propget] HRESULT IsDeleted([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentInvitee)]
            [uuid(13BF0796-9842-495B-B0E7-EF8F79C0701D)]
            interface IAppointmentInvitee : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointmentParticipant
            {
                [propget] HRESULT Role([out] [retval] Windows.ApplicationModel.Appointments.AppointmentParticipantRole* value);
                [propput] HRESULT Role([in] Windows.ApplicationModel.Appointments.AppointmentParticipantRole value);
                [propget] HRESULT Response([out] [retval] Windows.ApplicationModel.Appointments.AppointmentParticipantResponse* value);
                [propput] HRESULT Response([in] Windows.ApplicationModel.Appointments.AppointmentParticipantResponse value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentManagerForUser)]
            [uuid(70261423-73CC-4660-B318-B01365302A03)]
            interface IAppointmentManagerForUser : IInspectable
            {
                [overload("ShowAddAppointmentAsync")] HRESULT ShowAddAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                [overload("ShowAddAppointmentAsync")] HRESULT ShowAddAppointmentWithPlacementAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                [overload("ShowReplaceAppointmentAsync")] HRESULT ShowReplaceAppointmentAsync([in] HSTRING appointmentId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                [overload("ShowReplaceAppointmentAsync")] HRESULT ShowReplaceAppointmentWithPlacementAsync([in] HSTRING appointmentId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                [overload("ShowReplaceAppointmentAsync")] HRESULT ShowReplaceAppointmentWithPlacementAndDateAsync([in] HSTRING appointmentId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                [overload("ShowRemoveAppointmentAsync")] HRESULT ShowRemoveAppointmentAsync([in] HSTRING appointmentId, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                [overload("ShowRemoveAppointmentAsync")] HRESULT ShowRemoveAppointmentWithPlacementAsync([in] HSTRING appointmentId, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                [overload("ShowRemoveAppointmentAsync")] HRESULT ShowRemoveAppointmentWithPlacementAndDateAsync([in] HSTRING appointmentId, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT ShowTimeFrameAsync([in] Windows.Foundation.DateTime timeToShow, [in] Windows.Foundation.TimeSpan duration, [out] [retval] Windows.Foundation.IAsyncAction** result);
                [overload("ShowAppointmentDetailsAsync")] HRESULT ShowAppointmentDetailsAsync([in] HSTRING appointmentId, [out] [retval] Windows.Foundation.IAsyncAction** result);
                [overload("ShowAppointmentDetailsAsync")] HRESULT ShowAppointmentDetailsWithDateAsync([in] HSTRING appointmentId, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT ShowEditNewAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                HRESULT RequestStoreAsync([in] Windows.ApplicationModel.Appointments.AppointmentStoreAccessType options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentStore*>** result);
                [propget] HRESULT User([out] [retval] Windows.System.User** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentManager)]
            [uuid(3A30FA01-5C40-499D-B33F-A43050F74FC4)]
            interface IAppointmentManagerStatics : IInspectable
            {
                [overload("ShowAddAppointmentAsync")] HRESULT ShowAddAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [overload("ShowAddAppointmentAsync")] HRESULT ShowAddAppointmentWithPlacementAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [overload("ShowReplaceAppointmentAsync")] HRESULT ShowReplaceAppointmentAsync([in] HSTRING appointmentId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [overload("ShowReplaceAppointmentAsync")] HRESULT ShowReplaceAppointmentWithPlacementAsync([in] HSTRING appointmentId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [overload("ShowReplaceAppointmentAsync")] HRESULT ShowReplaceAppointmentWithPlacementAndDateAsync([in] HSTRING appointmentId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [overload("ShowRemoveAppointmentAsync")] HRESULT ShowRemoveAppointmentAsync([in] HSTRING appointmentId, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("ShowRemoveAppointmentAsync")] HRESULT ShowRemoveAppointmentWithPlacementAsync([in] HSTRING appointmentId, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("ShowRemoveAppointmentAsync")] HRESULT ShowRemoveAppointmentWithPlacementAndDateAsync([in] HSTRING appointmentId, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT ShowTimeFrameAsync([in] Windows.Foundation.DateTime timeToShow, [in] Windows.Foundation.TimeSpan duration, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentManager)]
            [uuid(0A81F60D-D04F-4034-AF72-A36573B45FF0)]
            interface IAppointmentManagerStatics2 : IInspectable
            {
                [overload("ShowAppointmentDetailsAsync")] HRESULT ShowAppointmentDetailsAsync([in] HSTRING appointmentId, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                [overload("ShowAppointmentDetailsAsync")] HRESULT ShowAppointmentDetailsWithDateAsync([in] HSTRING appointmentId, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                HRESULT ShowEditNewAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT RequestStoreAsync([in] Windows.ApplicationModel.Appointments.AppointmentStoreAccessType options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentStore*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentManager)]
            [uuid(2F9AE09C-B34C-4DC7-A35D-CAFD88AE3EC6)]
            interface IAppointmentManagerStatics3 : IInspectable
            {
                HRESULT GetForUser([in] Windows.System.User* user, [out] [retval] Windows.ApplicationModel.Appointments.AppointmentManagerForUser** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(615E2902-9718-467B-83FB-B293A19121DE)]
            interface IAppointmentParticipant : IInspectable
            {
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayName([in] HSTRING value);
                [propget] HRESULT Address([out] [retval] HSTRING* value);
                [propput] HRESULT Address([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentProperties)]
            [uuid(25141FE9-68AE-3AAE-855F-BC4441CAA234)]
            interface IAppointmentPropertiesStatics : IInspectable
            {
                [propget] HRESULT Subject([out] [retval] HSTRING* value);
                [propget] HRESULT Location([out] [retval] HSTRING* value);
                [propget] HRESULT StartTime([out] [retval] HSTRING* value);
                [propget] HRESULT Duration([out] [retval] HSTRING* value);
                [propget] HRESULT Reminder([out] [retval] HSTRING* value);
                [propget] HRESULT BusyStatus([out] [retval] HSTRING* value);
                [propget] HRESULT Sensitivity([out] [retval] HSTRING* value);
                [propget] HRESULT OriginalStartTime([out] [retval] HSTRING* value);
                [propget] HRESULT IsResponseRequested([out] [retval] HSTRING* value);
                [propget] HRESULT AllowNewTimeProposal([out] [retval] HSTRING* value);
                [propget] HRESULT AllDay([out] [retval] HSTRING* value);
                [propget] HRESULT Details([out] [retval] HSTRING* value);
                [propget] HRESULT OnlineMeetingLink([out] [retval] HSTRING* value);
                [propget] HRESULT ReplyTime([out] [retval] HSTRING* value);
                [propget] HRESULT Organizer([out] [retval] HSTRING* value);
                [propget] HRESULT UserResponse([out] [retval] HSTRING* value);
                [propget] HRESULT HasInvitees([out] [retval] HSTRING* value);
                [propget] HRESULT IsCanceledMeeting([out] [retval] HSTRING* value);
                [propget] HRESULT IsOrganizedByUser([out] [retval] HSTRING* value);
                [propget] HRESULT Recurrence([out] [retval] HSTRING* value);
                [propget] HRESULT Uri([out] [retval] HSTRING* value);
                [propget] HRESULT Invitees([out] [retval] HSTRING* value);
                [propget] HRESULT DefaultProperties([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentProperties)]
            [uuid(DFFC434B-B017-45DD-8AF5-D163D10801BB)]
            interface IAppointmentPropertiesStatics2 : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointmentPropertiesStatics
            {
                [propget] HRESULT ChangeNumber([out] [retval] HSTRING* value);
                [propget] HRESULT RemoteChangeNumber([out] [retval] HSTRING* value);
                [propget] HRESULT DetailsKind([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentRecurrence)]
            [uuid(D87B3E83-15A6-487B-B959-0C361E60E954)]
            interface IAppointmentRecurrence : IInspectable
            {
                [propget] HRESULT Unit([out] [retval] Windows.ApplicationModel.Appointments.AppointmentRecurrenceUnit* value);
                [propput] HRESULT Unit([in] Windows.ApplicationModel.Appointments.AppointmentRecurrenceUnit value);
                [propget] HRESULT Occurrences([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propput] HRESULT Occurrences([in] Windows.Foundation.IReference<UINT32>* value);
                [propget] HRESULT Until([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propput] HRESULT Until([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                [propget] HRESULT Interval([out] [retval] UINT32* value);
                [propput] HRESULT Interval([in] UINT32 value);
                [propget] HRESULT DaysOfWeek([out] [retval] Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek* value);
                [propput] HRESULT DaysOfWeek([in] Windows.ApplicationModel.Appointments.AppointmentDaysOfWeek value);
                [propget] HRESULT WeekOfMonth([out] [retval] Windows.ApplicationModel.Appointments.AppointmentWeekOfMonth* value);
                [propput] HRESULT WeekOfMonth([in] Windows.ApplicationModel.Appointments.AppointmentWeekOfMonth value);
                [propget] HRESULT Month([out] [retval] UINT32* value);
                [propput] HRESULT Month([in] UINT32 value);
                [propget] HRESULT Day([out] [retval] UINT32* value);
                [propput] HRESULT Day([in] UINT32 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentRecurrence)]
            [uuid(3DF3A2E0-05A7-4F50-9F86-B03F9436254D)]
            interface IAppointmentRecurrence2 : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointmentRecurrence
            {
                [propget] HRESULT RecurrenceType([out] [retval] Windows.ApplicationModel.Appointments.RecurrenceType* value);
                [propget] HRESULT TimeZone([out] [retval] HSTRING* value);
                [propput] HRESULT TimeZone([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentRecurrence)]
            [uuid(89FF96D9-DA4D-4A17-8DD2-1CEBC2B5FF9D)]
            interface IAppointmentRecurrence3 : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointmentRecurrence2,
                    Windows.ApplicationModel.Appointments.IAppointmentRecurrence
            {
                [propget] HRESULT CalendarIdentifier([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStore)]
            [uuid(A461918C-7A47-4D96-96C9-15CD8A05A735)]
            interface IAppointmentStore : IInspectable
            {
                [propget] HRESULT ChangeTracker([out] [retval] Windows.ApplicationModel.Appointments.AppointmentStoreChangeTracker** value);
                HRESULT CreateAppointmentCalendarAsync([in] HSTRING name, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentCalendar*>** operation);
                HRESULT GetAppointmentCalendarAsync([in] HSTRING calendarId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentCalendar*>** result);
                HRESULT GetAppointmentAsync([in] HSTRING localId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.Appointment*>** result);
                HRESULT GetAppointmentInstanceAsync([in] HSTRING localId, [in] Windows.Foundation.DateTime instanceStartTime, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.Appointment*>** result);
                [overload("FindAppointmentCalendarsAsync")] HRESULT FindAppointmentCalendarsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentCalendar*>*>** result);
                [overload("FindAppointmentCalendarsAsync")] HRESULT FindAppointmentCalendarsAsyncWithOptions([in] Windows.ApplicationModel.Appointments.FindAppointmentCalendarsOptions options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentCalendar*>*>** result);
                [overload("FindAppointmentsAsync")] HRESULT FindAppointmentsAsync([in] Windows.Foundation.DateTime rangeStart, [in] Windows.Foundation.TimeSpan rangeLength, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>** result);
                [overload("FindAppointmentsAsync")] HRESULT FindAppointmentsAsyncWithOptions([in] Windows.Foundation.DateTime rangeStart, [in] Windows.Foundation.TimeSpan rangeLength, [in] Windows.ApplicationModel.Appointments.FindAppointmentsOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.Appointment*>*>** result);
                [overload("FindConflictAsync")] HRESULT FindConflictAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentConflictResult*>** result);
                [overload("FindConflictAsync")] HRESULT FindConflictAsyncWithInstanceStart([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.DateTime instanceStartTime, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentConflictResult*>** result);
                HRESULT MoveAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.ApplicationModel.Appointments.AppointmentCalendar* destinationCalendar, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                HRESULT ShowAddAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [overload("ShowReplaceAppointmentAsync")] HRESULT ShowReplaceAppointmentAsync([in] HSTRING localId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [overload("ShowReplaceAppointmentAsync")] HRESULT ShowReplaceAppointmentWithPlacementAndDateAsync([in] HSTRING localId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [overload("ShowRemoveAppointmentAsync")] HRESULT ShowRemoveAppointmentAsync([in] HSTRING localId, [in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("ShowRemoveAppointmentAsync")] HRESULT ShowRemoveAppointmentWithPlacementAndDateAsync([in] HSTRING localId, [in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("ShowAppointmentDetailsAsync")] HRESULT ShowAppointmentDetailsAsync([in] HSTRING localId, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                [overload("ShowAppointmentDetailsAsync")] HRESULT ShowAppointmentDetailsWithDateAsync([in] HSTRING localId, [in] Windows.Foundation.DateTime instanceStartDate, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                HRESULT ShowEditNewAppointmentAsync([in] Windows.ApplicationModel.Appointments.Appointment* appointment, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT FindLocalIdsFromRoamingIdAsync([in] HSTRING roamingId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<HSTRING>*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStore)]
            [uuid(25C48C20-1C41-424F-8084-67C1CFE0A854)]
            interface IAppointmentStore2 : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointmentStore
            {
                [eventadd] HRESULT StoreChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Appointments.AppointmentStore*, Windows.ApplicationModel.Appointments.AppointmentStoreChangedEventArgs*>* pHandler, [out] [retval] EventRegistrationToken* pToken);
                [eventremove] HRESULT StoreChanged([in] EventRegistrationToken token);
                [overload("CreateAppointmentCalendarAsync")] HRESULT CreateAppointmentCalendarInAccountAsync([in] HSTRING name, [in] HSTRING userDataAccountId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Appointments.AppointmentCalendar*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStore)]
            [uuid(4251940B-B078-470A-9A40-C2E01761F72F)]
            interface IAppointmentStore3 : IInspectable
            {
                HRESULT GetChangeTracker([in] HSTRING identity, [out] [retval] Windows.ApplicationModel.Appointments.AppointmentStoreChangeTracker** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStoreChange)]
            [uuid(A5A6E035-0A33-3654-8463-B543E90C3B79)]
            interface IAppointmentStoreChange : IInspectable
            {
                [propget] HRESULT Appointment([out] [retval] Windows.ApplicationModel.Appointments.Appointment** value);
                [propget] HRESULT ChangeType([out] [retval] Windows.ApplicationModel.Appointments.AppointmentStoreChangeType* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStoreChange)]
            [uuid(B37D0DCE-5211-4402-A608-A96FE70B8EE2)]
            interface IAppointmentStoreChange2 : IInspectable
                requires
                    Windows.ApplicationModel.Appointments.IAppointmentStoreChange
            {
                [propget] HRESULT AppointmentCalendar([out] [retval] Windows.ApplicationModel.Appointments.AppointmentCalendar** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStoreChangeReader)]
            [uuid(8B2409F1-65F3-42A0-961D-4C209BF30370)]
            interface IAppointmentStoreChangeReader : IInspectable
            {
                HRESULT ReadBatchAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Appointments.AppointmentStoreChange*>*>** result);
                HRESULT AcceptChanges();
                HRESULT AcceptChangesThrough([in] Windows.ApplicationModel.Appointments.AppointmentStoreChange* lastChangeToAccept);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStoreChangeTracker)]
            [uuid(1B25F4B1-8ECE-4F17-93C8-E6412458FD5C)]
            interface IAppointmentStoreChangeTracker : IInspectable
            {
                HRESULT GetChangeReader([out] [retval] Windows.ApplicationModel.Appointments.AppointmentStoreChangeReader** value);
                HRESULT Enable();
                HRESULT Reset();
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStoreChangeTracker)]
            [uuid(B66AAF45-9542-4CF7-8550-EB370E0C08D3)]
            interface IAppointmentStoreChangeTracker2 : IInspectable
            {
                [propget] HRESULT IsTracking([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStoreChangedDeferral)]
            [uuid(4CB82026-FEDB-4BC3-9662-95A9BEFDF4DF)]
            interface IAppointmentStoreChangedDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStoreChangedEventArgs)]
            [uuid(2285F8B9-0791-417E-BFEA-CC6D41636C8C)]
            interface IAppointmentStoreChangedEventArgs : IInspectable
            {
                HRESULT GetDeferral([out] [retval] Windows.ApplicationModel.Appointments.AppointmentStoreChangedDeferral** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.AppointmentStoreNotificationTriggerDetails)]
            [uuid(9B33CB11-C301-421E-AFEF-047ECFA76ADB)]
            interface IAppointmentStoreNotificationTriggerDetails : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Appointments.FindAppointmentsOptions)]
            [uuid(55F7DC55-9942-3086-82B5-2CB29F64D5F5)]
            interface IFindAppointmentsOptions : IInspectable
            {
                [propget] HRESULT CalendarIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT FetchProperties([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT IncludeHidden([out] [retval] boolean* value);
                [propput] HRESULT IncludeHidden([in] boolean value);
                [propget] HRESULT MaxCount([out] [retval] UINT32* value);
                [propput] HRESULT MaxCount([in] UINT32 value);
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass Appointment
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointment;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Appointments.IAppointment2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Appointments.IAppointment3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentCalendar
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentCalendar;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Appointments.IAppointmentCalendar2;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.ApplicationModel.Appointments.IAppointmentCalendar3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentCalendarSyncManager
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentCalendarSyncManager;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.ApplicationModel.Appointments.IAppointmentCalendarSyncManager2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentConflictResult
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentConflictResult;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentException
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentException;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppointmentInvitee
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentInvitee;
                interface Windows.ApplicationModel.Appointments.IAppointmentParticipant;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Appointments.IAppointmentManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.ApplicationModel.Appointments.IAppointmentManagerStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.ApplicationModel.Appointments.IAppointmentManagerStatics3, Windows.Foundation.UniversalApiContract, 3.0)]
            runtimeclass AppointmentManager
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppointmentManagerForUser
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentManagerForUser;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppointmentOrganizer
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentParticipant;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Appointments.IAppointmentPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.ApplicationModel.Appointments.IAppointmentPropertiesStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass AppointmentProperties
            {
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppointmentRecurrence
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentRecurrence;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Appointments.IAppointmentRecurrence2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Appointments.IAppointmentRecurrence3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentStore
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentStore;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Appointments.IAppointmentStore2;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.ApplicationModel.Appointments.IAppointmentStore3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentStoreChange
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentStoreChange;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Appointments.IAppointmentStoreChange2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentStoreChangeReader
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentStoreChangeReader;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentStoreChangeTracker
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentStoreChangeTracker;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.ApplicationModel.Appointments.IAppointmentStoreChangeTracker2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentStoreChangedDeferral
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentStoreChangedDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentStoreChangedEventArgs
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentStoreChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentStoreNotificationTriggerDetails
            {
                [default] interface Windows.ApplicationModel.Appointments.IAppointmentStoreNotificationTriggerDetails;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FindAppointmentsOptions
            {
                [default] interface Windows.ApplicationModel.Appointments.IFindAppointmentsOptions;
            }
        }
    }
}
