Appointment Scheduling Overview

Print Friendly and PDF Follow

This article provides an overview of the appointment scheduling feature, which allows you to define reading rooms in the Aeon Customization Manager in order to offer patrons the option to book appointments. Patrons have tools available on the web to create, edit, and manage their appointments, as well as the ability to associate a request with an appointment when submitting a new request. Staff can also create and manage appointments on behalf of patrons and associate requests with appointments through the Staff Client.

Video Overview

Click the video below to watch an overview of this feature:


To view a detailed webinar on configuring and using this feature, see Aeon in Focus - Appointment Scheduling.

Configuring Reading Room Calendars

A calendar for each reading room must be configured in the Aeon Customization Manager before users or staff can begin to book appointments. The configuration options for the room in the Customization Manager will determine settings such as how many appointment slots are available at any one time for that room, the minimum and maximum appointment length, and if users are required to associate all requests with an appointment.

For more information, see Configuring Reading Room Calendars.

Configuring Appointment Confirmation Workflows

These features are only available in Aeon 5.2 or later.

You can optionally configure your reading rooms to require that appointments booked in the room by patrons on the Aeon web interface are manually reviewed and confirmed by staff in the Aeon Client. Appointment Confirmation interfaces and options are available for staff to use to review, confirm, or cancel appointments in the Aeon Client. Several different appointment notification options and email templates are also configurable at key points in the appointment scheduling/confirmation workflow based on the status of the appointment and the confirmation options in place for the associated reading room.

Managing Appointments in the Client

If you had been using a custom staff template prior to updating to v5.1, you will need to edit your template to manually add the Appointments group tab to the Home form of the Client and the appointment fields to the relevant forms after updating to v5.1 of Aeon. 

After a reading room calendar is configured in the Customization Manager, staff will be able to view and manage appointments through the Appointments tab on the main form of the Aeon Client. Individual appointments can be created and managed directly on the reading room calendar on the Appointments tab and via the Appointment form. Appointment management options are also available on the Request form, User Information form, and request queues. 

For more information, see Managing Appointments in the Client.
Appointment fields related to each transaction are also included in request searches from the main form, custom request search form, and when viewing requests related to activities on the Activity form.

Check for Invalid Time Zones

To avoid any errors involving invalid time zones, the Client will check the time zones configured in the ReadingRooms database table and in the ServerTimeZoneID customization key during the startup process. If any of these values are invalid, an error message will display indicating the problem and then exit. If you encounter this error, please contact your IT department for assistance. 


Email Templates

Email templates with the Appointment type can be created or edited in the Customization Manager in addition to the existing Transaction, User, and Activity types. Five email templates, Appointment Cancelled, Appointment Confirmed (Aeon 5.2), Appointment Received (Aeon 5.2), Appointment Reminder (Aeon 5.2), and Appointment Rescheduled are available by default. Appointment tags containing the fields from the Appointments database table and some select fields from the ReadingRooms table are available for both Appointment and Transaction type email templates. 

For more information on configuring the default appointment scheduling templates, see Appointment Confirmation and Notification Settings. For more information on editing email templates, see Configuring Email Templates.
Appointment type email templates do not support Email Routing definitions for transactions. Emails for appointments created by a researcher's proxy will be sent to the researcher.

Print Templates

These features are only available in Aeon 5.2 or later.

As of Aeon v5.2, fields from the Appointments database table (including StartTime and StopTime) and some select fields from the ReadingRooms table (ReadingRoomName, MinAppointmentLength, MaxAppointmentLength) are available to be added as merge fields to the print templates for requests and callslips (PrintRequest.docx and PrintCallslip.docx). The merge fields can be inserted into the print templates using tools available in Microsoft Word.

If no appointment is associated with a request, these fields will be left blank when printing the request or callslip.

User Management

The following behaviors were added for handling appointments when managing users in the Client:

  • User Anonymization: Appointments are not deleted when a user is anonymized, but the Appointment Name will be removed from the user's appointment records as this information is user-supplied and may contain identifying information. Appointment-type emails that had been sent to the user will be deleted when the user is anonymized.
  • Merging Users: Merging a user into another user record will transfer that user's appointments to the new user.
  • Disavowing Users: Disavowing a user will clear all appointments from that user's record.
  • Deleting Users: Appointment-type emails that had been sent to the user will be deleted when the user is deleted. 

Web Platform

Web Pages

A set of feature-specific appointment scheduling web pages are available that allow patrons to schedule and edit their appointments in the web interface. The three main pages that control the patron interface are:

  • ViewAppointments.html: Displays a list of all appointments for the logged-in user.
  • ViewAppointment.html:  Displays details of a single appointment, including the requests associated with that appointment.
  • EditAppointment.html: Allows the user to edit or reschedule an appointment.

Installing the Appointment Scheduling Web Pages

The appointment scheduling web pages are not installed by default. These pages must be downloaded from the Aeon Downloads page, manually added to your web directory, and configured to work on your web request forms. For complete instructions, see:

Adding Appointment Details to Web Pages

A new <#APPOINTMENT> tag has been added to the Aeon web platform that is used to display an individual appointment's details. This tag is currently only supported for use on the detailed appointment web page (ViewAppointment.html)

Patron Web Interface 

After installing the appointment scheduling web pages, patrons will be able to create, view, reschedule or cancel appointments on the web using a scheduler tool similar to the one in the Client. Patrons will also have the option to create and associate a new appointment with a request directly from the request form. Appointments can be download in iCalendar format for import to a calendar application.

For more information on the web interface, see Appointment Scheduling Web Interface.

Web Status Lines

New status lines have been added for appointment scheduling. The status lines are located in the Aeon Customization Manager under Web Interface | Status Lines.

Key Name Default Text
SLAppointmentAssociationError You cannot view an appointment you are not associated with.
SLAppointmentCancelDenied You cannot cancel this appointment. Please contact staff.
SLAppointmentCancelled Appointment Cancelled. All associated requests have also been cancelled. You can resubmit cancelled requests from the Cancelled Requests menu option.
SLAppointmentRequired Requests for this site require an appointment.
SLAppointmentSubmitted Appointment scheduled. Please visit the appointments page to view or manage your appointments.
SLEditAppointment Complete the required fields below and press Submit to create your appointment.
SLEditAppointmentDenied You cannot edit this appointment. Please contact staff.
SLEditAppointmentInvalid You cannot edit an appointment that has been cancelled or already occurred.
SLInvalidAppointment You must associate this request with an appointment you are associated with.
This status line was deprecated in Aeon 5.2 and replaced with the new SLRequestViolatesMinLeadDays and SLRequestViolatesMaxLeadDays status lines.

This reading room requires <#MinLeadDays> days notice for requests and appointments. You cannot add a request to an appointment within <#MinLeadDays> days.

The <#MinLeadDays> tag will be replaced with the value configured in the Minimum Lead Days setting for the associated reading room.

This status line displays for multi-site instances of Aeon when submitting requests from the Saved Requests web page if the user attempts to associate a reading room with a request that is for a different site (i.e., when the request has a pre-existing site value that is not compatible with the selected reading room):

Request <#TRANSACTIONNUMBER> was not submitted because this item cannot be used in <#READINGROOM>. You can only request materials for one reading room at a time. Please resubmit this request for the appropriate reading room.


This reading room requires <#RequestMinLeadDays> days notice to add requests to an appointment.

The <#RequestMinLeadDays> tag will be replaced with the value configured in the Request Minimum Lead Days setting for the associated reading room.

Requests cannot be added to an appointment in this reading room more than <#RequestMaxLeadDays> days in advance.

The <#RequestMaxLeadDays> tag will be replaced with the value configured in the Request Maximum Lead Days setting for the associated reading room.
SLShowAppointment No default text. This is the web status line that is shown when displaying an appointment.
SLShowAppointments Choose an appointment from the list below.

*Added in Aeon v5.2

Data Repeaters

Two data repeaters are used in support of the appointment scheduling web interface. The ViewAppointments data repeater will list a user's appointments on the ViewAppointments.html page, while the ViewAppointmentRequests data repeater will list all requests associated with the current appointment on the ViewAppointment.html page.

ViewAppointmentRequests will exclude any requests in states of Cancelled by User, Cancelled by Staff, Request Merged, and Imported from Legacy System.
Click for ViewAppointments configuration details

Appointment Start Time and Stop Time will be displayed in the time zone configured for the appointment's reading room.

Attribute Description
templateFile Specifies the path of the template file (typically under the templates folder in the Web) to use.
context Specifies whose appointments are included. There are three options:
  • self: Only shows appointments that are in the user's name
  • researcher: Only show appointments that are in the name of a researcher for whom the user is a proxy
  • both: The default option if not provided, will show appointments from both self and proxy.
pending Specifies whether or not to exclude past appointments. There are two options:
  • true: Will only include appointments whose StopTime has not yet passed.
  • false: The default option, will include all appointments.

Specifies a SQL string that will be included in the query's WHERE clause. The following tables, with their respective aliases, are included in the query. It is recommended to specify the table alias when referring to columns in this parameter:

Table Alias
Appointments a
ReadingRooms rr
Users u
ProxyLink pl
Users (proxies linked through ProxyLink) p
orderby Specifies a SQL string that will define the order of the returned results. An order by clause may refer to any columns from the Appointments or ReadingRooms table. The default order is by ascending appointment start time.
Click for ViewAppointmentRequests configuration details
Attribute Description
templateFile Specifies the path of the template file (typically under the templates folder in the Web) to use.
noDataAction The message to show when the dataset does not contain any requests.
researcherTag Allows you to limit the repeater to display only those requests that have the specified tag(s) applied to them.

Specifies a SQL string that will be included in the query's WHERE clause. The ViewAppointmentRequests repeater uses the same table names as the other Request data repeaters in its query:

  • Accounts
  • Activities
  • Bundles
  • TransactionFlags
  • CustomFlags
  • Notes
  • Tracking
  • History
  • Users
  • Sites
  • Appointments
  • ReadingRooms

This attribute should be formatted in the "<TableName>.<FieldName>" style (e.g., "Bundles.Name").

orderby The column by which to order the input data, formatted in the "<columnName> [ASC|DESC]" style.

Enhanced Time Data Attributes

The appointment scheduling feature includes enhanced support for existing time conversion and formatting data attributes (e.g., data-iso8601) in atlasUtility.js. The following additional data attributes are used on the appointments template (DataRow_DefaultAppointment.html) to format appointment times without converting their timezone and to format them as a time range on a given date:

  • data-formatOnly: Formats the value specified in the data-serverTime attribute without performing a timezone conversion. When using this attribute, you do not need to specify the data-iso8601 attribute.
  • data-formatString: The string used to format the value from data-serverTime. Specifying the default string, "LLL," with this attribute will display the full date and time, while the appointment data repeater uses the string "LT" by default to only show the time component. For a full list of strings that can be used by this attribute for additional formatting options, click here and browse to the 'Localized formats' section.

AJAX Endpoints

A few AJAX (Asynchronous Javascript and XML) endpoints can be used to support the appointment scheduling feature. These endpoints return JSON responses containing all available appointments for a user, all available reading rooms, and appointment availability for a given room and date. Two additional endpoints were also added to handle creating and rescheduling appointments.  

For more information, see Appointment Scheduling AJAX Endpoints.

API Changes

New API endpoints have been created in support of the appointment scheduling feature. These include four new Reading Room endpoints that will return information about the reading rooms configured and appointment availability within a room and a new User endpoint that will return a list of appointments for a specified user.

For more information on the new API endpoints, see Aeon API


If this article didn’t resolve your issue, please contact Atlas Support for assistance:

Contact Support