Skip to main content

Configurations

Initial setup pieces like cataloging template, local thumbnail configuration, and custom resource type setup.

Alma Setup

Configuration > Fulfillment > General > Other Settings

  • allow_same_day_booking : false (not the default)
  • enable_booking_workflow : true (this is the default)

Cataloging

Equipment

New location: steq - Stacks Equipment (assigned to the Short Loan Fulfillment Unit)

Digital Media Studios

New location: studios - Digital Media Studios (assigned to the Short Loan Fulfillment Unit)

New item policy: Studio

Equipment Bib record template

The LDR and 008 values were from the existing Books template, so it's not properly correct from a cataloger point of view. These records are saved to our IZ only and not shared with the NZ.

245 10 $$a [name of the equipment]
500 __ $$a [any notes/descriptive information about brand/model/etc. that you want in the record to help patrons find it and know they have the right thing]
956 42 $$u [URL of a thumbnail image; if you don't have one, delete this field]
996 __ $$a equipment

Fulfillment

New Overdue and Lost Loan Profiles

Specifically for the Stacks Equipment location and Equipment item policy

  • Overdue notices at 1 day & 6 days overdue
    • 1 Day overdue also applies "Overdue Item" block to the patron's account
  • Lost at 7 days overdue
    • When the item becomes lost the Overdue block is removed but the patron is now blocked due to owing the replacement cost

For Studios: Lost Loan Profile

Request Pickup Configuration

Name: Booking requests for Digital Media Studios
Input Parameters: 
Request Type = Booking
Location = Lauinger Library - Digital Media Studios

Output Parameters:

  • Consider as missing when expired = Never
  • Show in 'Pick From Shelf' list = False
  • Expiry time for 'Pick From Shelf' (in days) = -
  • Calculate expiry time in open days = No

--

Name: Booking requests for Lau Equipment
Input Parameters: Request Type = Booking

Output Parameters:

  • Consider as missing when expired = Never
  • Show in 'Pick From Shelf' list = True
  • Expiry time for 'Pick From Shelf' (in days) = 3
  • Calculate expiry time in open days = Yes

 

Process Type Exception rules

Added at the top of the list of Booking rules to prevent requests on lost/missing items

Name: missing exception for studios
Description: prevent bookings on missing keys

Input Parameters:

  • Location = Lauinger Library - Digital Media Studios
  • Process Type InList Lost, Lost and paid, Missing

Output Parameters: Default terms of use (not bookable)

--

Name: process type exception [equipment]
Description: prevent bookings on lost/missing items

Input Parameters:

  • Process Type InList Lost, Lost and paid, Missing
  • Location = Lauinger Library - Stacks Equipment

Output Parameters: Default terms of use (not bookable)

Request Reminder Notice

We've adapted the Ful Requests Report Letter to send a daily reminder to patrons of their upcoming reservations for equipment and our digital media studios.

Configuration > Fulfillment > General > Fulfillment Jobs Configuration > Requests - Send report job, select all request types:

  • Non active requests
  • Requests in process
  • Requests on hold shelf

The requests letter XSL includes a terminate clause for non-booking requests, so the job always reports "Completed with Errors"

Letter XSL was heavily customized to remove the distinctions between types of requests and list the requests by start date/time.

Ful Requests Report Letter full XSL

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:include href="header.xsl" />
<xsl:include href="senderReceiver.xsl" />
<xsl:include href="mailReason.xsl" />
<xsl:include href="footer.xsl" />
<xsl:include href="style.xsl" />

<xsl:template match="/">
    <html>
            <xsl:if test="notification_data/languages/string">
                <xsl:attribute name="lang">
                    <xsl:value-of select="notification_data/languages/string"/>
                </xsl:attribute>
            </xsl:if>
            
        <head>
                <title>
                    <xsl:value-of select="notification_data/general_data/subject"/>
                </title>

        <xsl:call-template name="generalStyle" />
        </head>
        
        <body>
            <xsl:attribute name="style">
                <xsl:call-template name="bodyStyleCss" /> <!-- style.xsl -->
            </xsl:attribute>

                <xsl:call-template name="head" /> <!-- header.xsl -->
                <xsl:call-template name="senderReceiver" /> <!-- SenderReceiver.xsl -->
                
                <xsl:call-template name="toWhomIsConcerned" />
                <div class="messageArea">
                <div class="messageBody">
<!-- Don't send notice for non-booking requests  -->
<xsl:choose>
<xsl:when test="(notification_data/non_active_requests/ful_request_interpated/request_type = 'BOOKING') or (notification_data/process_requests/ful_request_interpated/request_type ='BOOKING') or (notification_data/hold_shelf_requests/ful_request_interpated/request_type ='BOOKING')">
                <h>@@please_find_below@@</h>
</xsl:when>
<xsl:otherwise>
<xsl:message terminate="yes">this is not a booking request!</xsl:message>
</xsl:otherwise>
</xsl:choose>                    
                <br />
                <br />
                <table role='presentation'  cellspacing="0" cellpadding="5" border="0" class="listing">
                    <xsl:attribute name="style">
                        <xsl:call-template name="mainTableStyleCss" />
                    </xsl:attribute>
                    <tr>
                       <xsl:attribute name="style">
                            <xsl:call-template name="headerTableStyleCss" /> <!-- style.xsl -->
                        </xsl:attribute>
                                    <th>@@title@@</th>
                                    <th>Reservation Start</th>
                                    <th>Start Time</th>
                                    <th>Reservation End</th>
                                    <th>End Time</th>                                    
                    </tr>
                        <xsl:for-each select="notification_data/hold_shelf_requests/ful_request_interpated|notification_data/process_requests/ful_request_interpated|notification_data/non_active_requests/ful_request_interpated">
                            <xsl:sort select="start_time" />
                            <xsl:if test="request_type='BOOKING'">
                    <tr>
                            <td><xsl:value-of select="title_display"/></td>
                            <td><xsl:value-of select="start_time"/></td>
                            <td><xsl:value-of select="booking_start_time"/></td>
                            <td><xsl:value-of select="end_time"/></td>
                            <td><xsl:value-of select="booking_end_time"/></td>
                    </tr>
                    </xsl:if>
                        </xsl:for-each>
                </table><br />
            <table>
                <tr><td><xsl:call-template name="signature" /></td></tr>
            </table>
                </div>
                </div>
            <xsl:call-template name="lastFooter" /> <!-- footer.xsl -->
        </body>
    </html>
</xsl:template>

</xsl:stylesheet>

Screenshot of customized "Scheduled Library Reservations" email

On Hold Shelf notice booking-specific text for equipment

required WRLC ticket, as the On Hold Shelf Letter is controlled centrally

<xsl:when test="contains(notification_data/request/delivery_address, 'Lauinger')">

<xsl:choose>

<xsl:when test="contains(notification_data/request/request_type, 'BOOKING')">

Your booked item will be held until the circulation desk closes on your requested pick up day.

</xsl:when>

<xsl:otherwise>

     @@note_item_held_until@@ <xsl:value-of select="notification_data/request/work_flow_entity/expiration_date"/>.

</xsl:otherwise>

</xsl:choose>

Loan and Booking Terms of Use

(see Terms of Use page for details)

Loan Receipt studio-specific text

(excerpt from the full Loan Receipt Letter)

       <xsl:if test="(/notification_data/loans_by_library/library_loans_for_display/item_loans/overdue_and_lost_loan_notification_display/item_loan/physical_item/item_policy='studio')">
             <tr><td bgcolor="yellow">
NOTE: You will be charged for any damage to the room and/or any items removed from the space. If there is any damage to the space, or missing equipment, at the start of reservation, please report it to digitalscholarship@georgetown.edu immediately to avoid being charged.<br/>
            </td></tr>
        </xsl:if>

(then comes the list of loaned items)


Primo Configurations

Equipment local resource type (996)

Configuration > Discovery > Display Configuration > Resource Types Configuration > Add/Edit Resource Type Configuration > Custom Local Resource Types tab

Code : equipment
Display Singular Label : Equipment
Display Plural Label : Equipment
MARC mapping : 996 $a equipment (Use Regular Expression : false)

Thumbnail template configuration (956)

Configuration > Discovery > Display Configuration > Thumbnail configuration > Add New Template

Template Name : local thumbnail
Template : $$LinkingParameter1
LinkingParameter Configuration
Field : 956 | Ind1 : 4 | Ind2 : 2 | Subfield : u
Use Field : Always
Normalization : No normalization

This setup is the most basic possible configuration and also allows us to selectively override book cover images that are incorrect.

Labels

Configuration > Discovery > Display Configuration > Labels > Request labels

  • almaRequest.startDate : Reservation Start
  • almaRequest.endDate : Reservation End
  • almaRequest.checkAvailiability : Check Availability Calendar<p></p> [adds space between the link and the rest of the request form]
  • 400307 : Same day requests cannot be accepted. Please choose a date in the future.

Considering adding a form description specifically to the booking form (almaBookingRequest.formDescription), but haven't so far.

Additional Considerations

Library Hours

The time our service desk opens varies depending on the day of the week, which caused some unexpected issues with the booking duration initially selected (3 days). This is why the booking duration currently in use for equipment is 76 hours instead of 72.

We also set our service desk hours in Alma to begin 30 minutes after staff are scheduled to arrive so that patrons aren't expecting to pick up their equipment (or check out the Digital Media Studio keys) the instant the library opens.

Title-level vs. Item-level requests

One of the goals of setting up our equipment in Alma was to allow patrons to place requests without needing to select a particular item. This also allows requests to be filled by whichever item is currently on the shelf automatically. Having it work this way REQUIRES that nothing be put into the Item Description field. As soon as you put anything in the Description, even if multiple items have the same Description, that changes the request process to be item-specific.