[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Expand]Diagram Control
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Collapse]Scheduler (legacy)
   [Expand]Getting Started
    [Expand]Scheduler Elements
      What Is an Appointment
      Appointment Labels and Statuses
      Recurring Appointments and Exceptions
      Reminders for Appointments
     Pop-up Menus
    [Expand]Data Binding
    [Expand]Supported Formats
    [Expand]Styles and Templates
     Time Zones
     Product Class Structure
     Scheduling Basics
   [Expand]Visual Elements
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

What Is an Appointment


You are viewing documentation for the legacy WPF Scheduler control. If you're starting a new project, we strongly recommend that you use a new control declared in the DevExpress.Xpf.Scheduling namespace. If you decide to upgrade an existing project in order to switch to the updated scheduler control, see the Migration Guidelines document.

This document introduces the Appointment concept, describes the types of appointments and their interaction with the Appointment Storage:

Expanded Appointment Overview

An appointment represents a time interval and the end-user activity scheduled for this time interval. An activity is characterized by its subject, location, indicators (labels and statuses), and description. Any number of custom properties can also be defined for an appointment. Appointments can be recurring, which means that an activity can be scheduled for repetitive time intervals.

A single appointment is an object which exposes the Appointment inteface. What an appointment looks like depends upon the active View, which is used to show the Scheduler's data. The picture below illustrates an appointment viewed using the Day View of a Scheduler control.

Appointments are stored in the AppointmentStorage, which is part of the Scheduler Storage and can be accessed via the SchedulerStorage.AppointmentStorage property. The collection of all appointments is accessible via the AppointmentStorage.Items property.

The Appointment Storage allows the appointment data to persist in a data source, and appointments to be assigned to particular Resources.

Expanded Types of Appointments

Every appointment is of a particular type, which can be accessed via its Appointment.Type property. For example, a simple non-recurring appointment's type is AppointmentType.Normal. All appointment types are listed by the AppointmentType enumeration's members.

The following diagram illustrates the difference between recurring and non-recurring appointment types.

To learn more about recurring appointments and their types, see the Recurring Appointments and Exceptions document.

Expanded Manage Appointments

Expanded End-User Restrictions

By default, all appointment operations (copying, deleting, dragging, etc.) are enabled for end-users. But in some cases, it may be necessary to prevent end-users from modifying appointments shown within the Scheduler Control.

You can restrict certain appointment operations using the set of properties (named AlowAppointment*) of the OptionsCustomization object accessed via SchedulerControl.OptionsCustomization. The UsedAppointmentType enumeration's members are used by the OptionsCustomization.AlowAppointment* properties to specify the types of appointments that can be used in end-user restrictions.

If you set one of the OptionsCustomization.Allow* properties to UsedAppointmentType.Custom, a related SchedulerControl.Allow* event will fire, in which you can decide how to handle a particular case.

For example, to restrict appointment creation, the OptionsCustomization.AllowAppointmentDelete property and SchedulerControl.AllowAppointmentDelete event can be used.

For more information, see the How to: Set End-User Restrictions (legacy) document.

Is this topic helpful?​​​​​​​