[Expand]General Information
[Expand]WinForms Controls
[Collapse]ASP.NET Controls and MVC Extensions
 [Expand]What's Installed
 [Expand]Common Concepts
 [Collapse]ASP.NET WebForms Controls
   Getting Started
  [Expand]Grid View
  [Expand]Tree List
  [Expand]Card View
  [Expand]Chart Control
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
   [Expand]Product Information
    Getting Started
   [Expand]Scheduler Elements
     Scheduling Basics
      What Is an Appointment
      Appointment Labels and Statuses
      Recurring Appointments and Exceptions
      Reminders for Appointments
      Appointment Tooltip
     Floating Action Button
    [Expand]Data Binding
     Client-Side Functionality
     Callback Commands
     Time Zones
     iCalendar Support
     Keyboard Shortcuts
   [Expand]Visual Elements
   [Expand]Design-Time Features
   [Expand]End-User Capabilities
   [Expand]Member Tables
  [Expand]Site Navigation and Layout
  [Expand]HTML Editor
  [Expand]Vertical Grid
  [Expand]Data Editors
  [Expand]Docking and Popups
  [Expand]File Management
  [Expand]Data and Image Navigation
  [Expand]Multi-Use Site Controls
  [Expand]Spell Checker
  [Expand]Query Builder
 [Expand]ASP.NET MVC Extensions
 [Expand]Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[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)

Reminders for Appointments

This document introduces the Reminder for Appointments concept and describes how to create and handle reminders. It also contains a code sample that shows how to utilize reminders in ASPxScheduler.

Expanded Overview

An appointment can have one or more reminders. They are responsible for sending alerts at specified time periods before an appointment's start time. An appointment displays the image if it has a reminder. The ASPxScheduler Suite provides an abstract ReminderBase class, which implements the basic reminder functionality and two derived classes - Reminder for AppointmentType.Normal type appointments and RecurringReminder for recurring appointments.

Expanded Creating Reminders

You can create a reminder for a particular appointment programmatically or using an appointment's editing form.

There are two ways to create a reminder via code.

  • Using the Appointment.HasReminder property if an appointment has no reminders. Set the HasReminder property to true to create a new reminder with default parameters and associate it with the appointment.
  • Creating a new reminder via the Appointment.CreateNewReminder method. After its characteristics are set, add it to the particular appointment's Appointment.Reminders collection. Use this method when an appointment requires several reminders.

Expanded Using Reminders

To access the appointment's reminders, use the Appointment.Reminder property. This returns the first reminder in a collection or the Appointment.Reminders property, which gets all an appointment's reminders.

A reminder invokes the following notification dialog at the specified alert time:

An end-user can implement the following actions using the dialog:

  • Review the appointment's detailed information.
  • Open the appointment using the "Open Item" button.
  • Turn the reminders off by clicking the "Dismiss" or "Dismiss All" buttons.
  • Postpone the alert time for a specified period by selecting the time interval in the combo box and clicking the "Snooze" button.

Expanded Handling Outdated Appointments

  • If a reminder is set for an AppointmentType.Normal type appointment, this outdated appointment generates an alert as usual (taking into account the SchedulerStorageBase.RemindersCheckInterval setting). You can use the SchedulerStorageBase.TriggerAlerts method to fire all reminders for outdated appointments at once when the application starts.
  • If a reminder is set for a recurrent appointment, the reminder never fires for an outdated occurrence because recurrence chains can be lengthy and even infinite.

Expanded Handling Reminders for Changed Occurrences

If an occurrence is in the future:

  • Its reminders are deleted if it is moved to the past;
  • Its reminders are reinstated when it is restored to a point in the future and persists until it is in the past again;
  • Its reminders are not reinstated when it is restored to a point in the past.

If a recurring appointment is in the past (such occurrences do not have reminders):

  • Its reminders are re-created from the pattern when it is moved to the future;
  • Its reminders are deleted when it is restored to a point in the past.

Expanded Reminder Member Table

The following table lists the main properties, methods, and events which implement a Reminder's basic functionality:

Member Name Description
AppointmentStorageBase.SupportsReminders property Informs you whether reminder info mapping exists so the storage can operate with reminders (relevant for the bound mode).
SchedulerStorageBase.EnableReminders property Allows you to specify whether reminder operations are allowed.
SchedulerStorageBase.RemindersEnabled property Indicates whether reminders are enabled (supported AND allowed).
Appointment Information
Reminder.Appointment property Gets the appointment to which the reminder is applied.
Reminder.Subject property Gets the subject text of the appointment to which the reminder is applied.
Alert Options
ReminderBase.AlertTime property Gets the reminder's alert time.
ReminderBase.TimeBeforeStart property Gets or sets the time interval before the appointment's start time.
Alert Handling
ASPxSchedulerDataWebControlBase.ReminderAlert event. Occurs when a reminder is triggered.
ReminderBase.Dismiss method Switches the reminder off for the associated appointment.
ReminderBase.Snooze method Notifies the scheduler to stop the specified interval from triggering a reminder.
SchedulerStorageBase.RemindersCheckInterval property Gets or sets the time interval a reminder's alert time should be checked (in milliseconds).
SchedulerStorageBase.TriggerAlerts method Triggers alerts immediately.
Reminders Form
ASPxScheduler.RemindersFormShowing event Occurs before the Reminders form is displayed.
ASPxScheduler.RemindersFormDefaultAction event. Occurs when an end-user closes the Reminders Form without clicking the Dismiss or Snooze button.
ASPxSchedulerOptionsForms.RemindersFormTemplateUrl property. Gets or sets a template location for the form used to edit the current appointment's associated alert.

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