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.

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. Two email templates, Appointment Cancelled and Appointment Rescheduled, are available by default for canceling and rescheduling appointments. 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, see Configuring Email Templates.
Appointment type email templates do not support Email Routing definitions for transactions.

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.
  • 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.

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 Implementing the Appointment Scheduling Web Pages

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.
SLInvalidAppointment You must associate this request with an appointment you are associated with.

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.
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.

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