Ready to Learn?Ex Libris products all provide open APIs

Tech Blog


Graphical Calendar Interface to Booking using Alma API

Dean Lingley on August 11th, 2017

At Purdue, we were in need of a solution which would allow us to view equipment bookings in a graphical calendar format for all scheduled bookings in a similar way to the functionality provided by the Voyager media scheduling application.
The biggest things we needed:
  1. A graphical calendar view of the bookings in Alma
  2. An easy form which could be used by staff to setup bookings
Once these two things were in place, managing the checkouts within Alma would not be a problem.
This is where the Alma APIs came to the rescue.  Using the Alma APIs, we were able to develop a PHP based solution which met our needs.

Alma API based Equipment Booking with Graphical Calendar Views

Here is an overview of the application we developed at Purdue to meet our needs.  The is linked below.
First staff navigate to the booking application and authenticate using their campus credentials.  After authenticating they are taken to a calendar view of the current bookings:
Shows app default login view
The staff member can click on a booking to see its details or cancel the booking if desired:
See details and delete if desired
They can also change the calendar view from Month to Week or Day:
Booking week view
Booking day view
Or create a new booking for Patron:
New booking form
After submitting the form, you receive feedback that the new booking was created:
New booking confirm
After clicking the X to close the modal window, the calendar is updated with the new booking:
Updated calendar
We also created a no login view, which shows the booking calendar without the patron's names and without the ability to click to see details and cancel:
Calendar no loginSo that is basically it at this point.  Staff perform and monitor the scheduling using this tool and then perform the actual checkouts using Alma.  We talked about self-bookings for a future release, but we have also been looking at the Libcal equipment module and might be switching to that soon, so the development of those features is on hold for the moment.
Here is the link to the code as it stands now:
Feel free to download, tweak and improve to your heart's content!