Identifying Relationships

Preface

This document describes the first step seen by Schedule Visitors in the Scheduling Assistant appointment creation workflow.

What Happened?

When a Schedule Visitor logs in and starts the appointment creation workflow, the Scheduling Assistant first looks for the Visitor's Relationships. A Relationship consists of a reference to a Schedule Visitor, a reference to a Schedule Owner, and a String containing a description of the relationship. The Live Demo instance has a Relationship source that is configured to connect 'bbadger' example student with both the 'advisor' and 'instructor' accounts, with an appropriate example description for each.

For Deployers

The Scheduling Assistant sources these Relationships in real time through the RelationshipDao interface. There are built in implementations; one allows Schedule Owners to hand-create their relationships. Another allows the Scheduling Assistant system administrator to point to a Comma Separated Values (CSV) file that can be reloaded periodically or on demand.

Implementing your own RelationshipDao instance is simple too, the method signatures are simple:

/**
 * This method is optional.
 *
 * @return a never null, but potentially empty, List of Relationships for the specified Schedule Owner
 */
List<Relationship> forOwner(IScheduleOwner owner);
/**
 * This method is required.
 *
 * @return a never null, but potentially empty, List of Relationships for the specified Schedule Visitor
 */
List<Relationship> forVisitor(IScheduleVisitor visitor);