In This Article

Setting up and customizing seat bookings

The Seat Bookings module is available as an add-on to your LibCal subscription. When enabled for your LibCal system, the Seat Booking module lets you make either entire spaces or individual seats within a space available for booking. This allows you to more easily advertise and manage a space's seating capacity. Because the same general settings & booking limits you can apply to a space's category are also applied to its seats, this allows you to:

  • Enable staff mediation seat bookings
  • Define the minimum and maximum duration of each booking
  • Restrict the number of times or minutes a patron can book a seat by day, week, month, year, and/or simultaneously
  • Limit how many days in advance patrons can book spaces
  • Add padding time after a booking, allowing you to clean up and reset the seat before the next patron arrives
  • By applying custom availability hours to a space, limit the hours a space's seats are available to be booked each day of the week

Optionally, you can also require patrons to check in when they arrive for a seat booking and check out when they leave. This allows you to track the real-time occupancy of your spaces via the Spaces > Utilization dashboard.

Interested in adding the Seat Booking module to your LibCal subscription? Watch our overview video to learn more or contact our Springy Sales Team for more info today!

Getting started

To get up and running with Spaces, there are a few essential steps. The sections below will guide you through the process of creating locations, adding categories & spaces to your location, and setting up the hours your spaces are available to be booked. Admins will find these options by going to Admin > Spaces & Equipment.

the spaces & equipment option in the Admin menu


Creating and customizing locations

In LibCal, seats are contained in spaces, which are broadly organized by location. You must have at least one location in order to create spaces, but you can add multiple locations if needed. For example, you may have separate locations for different libraries on the same campus, branch libraries, schools, campuses, etc.

Within each location, spaces are grouped into categories. This creates a hierarchy similar to the following (locations are highlighted in bold):

  • Location: Main Library
    • Category: Study Rooms
      • Space: Room 110
      • Space: Room 120
    • Category: Classrooms
      • Space: Classroom A
      • Space: Classroom B
  • Location: Branch Library
    • Category: Study Rooms
      • Space: Room 208
      • Space: Room 310
    • Category: Meeting Rooms
      • Space: Community Room
      • Space: Small Meeting Room

Each location has its own operating hours, which is the schedule used to determine when spaces and their seats are available each day (more on this in the Setting up your hours section below). However, if needed, you can define separate hours for specific categories and spaces. For example, if you have a Maker Space that has limited hours only during weekdays, you could create custom hours just for that space.

You can also enable or disable certain booking restrictions for each location, as well. These include:

  • Requiring LibAuth authentication: if your LibApps Admin(s) has set up LibAuth, you can require patrons to first authenticate with your institution before they can submit bookings.
  • Requiring 2 step email verification: if you're not using LibAuth, you can choose to require 2-step email verification instead. When enabled, patrons will have a limited period of time (that you define) to click on a link in their booking confirmation emails. If they don't click the link in time, then their tentative booking will expire and other patrons will be able to book those times.
  • Limiting bookings to specific email domain names: you can choose to limit bookings to users with specific email domain names. For example, if your institution's email addresses end in @springyu.edu, you could limit bookings to only addresses ending in @springyu.edu. This would prevent users from submitting a booking from other email domains, such as @gmail.com, @outlook.com, etc.

The actual duration limits for your seat bookings are managed in each category's settings (i.e. how long a seat can be reserved per booking).

Throughout the booking lifecycle, there are several email notifications that a patron can receive. These are created by LibCal using each location's email templates, which feature customizable subject lines and bodies. For example, if you wanted to customize the message patrons receive when submitting a booking, you could customize the "Confirmed / Mediated Tentative / Verified". When customizing a template, you'll be able to use text, basic HTML code for formatting (such as <strong> or <em> tags), and specialized template tags that insert a booking's details into each email. 

Learn more

[Return to top]


Adding zones to locations (optional)

Zones allow you to organize your spaces and seats by where they are physically situated within a location (e.g. floors or wings of the library). The zones that you create for your location(s) can be used to track the utilization of your spaces, and to give your patrons an opportunity to select a space based on the zone that it is located in from the New Reservation booking page. Using the hierarchy we created in the previous section 

  • Location: Main Library
    • Zone: First Floor
      • Space: Room 110
      • Space: Room 120
    • Zone: Second Floor
      • Space: Classroom 210
      • Space: Classroom 220
  • Location: Branch Library
    • Zone: East Wing
      • Space: Room 108
      • Space: Room 110
    • Zone: West Wing
      • Space: Community Room
      • Space: Small Meeting Room

Zones are not a replacement for space categories. They are an additional way to sort and organize your spaces. If you have spaces that all have similar booking limits, you would continue to assign those spaces to the same category. For example, let's say that your library has multiple group study rooms on both floors of your library and there are also large meeting rooms on each floor. Because the group study rooms would all have the same booking limits that would differ from those for your meeting rooms, you would still set up separate space categories for the study rooms vs the meeting rooms. Then you could set up two new zones, Floor 1 and Floor 2, with the first-floor study rooms and meeting rooms assigned to Floor 1 and the second-floor study and meeting rooms assigned to Floor 2. This would allow you to track the utilization of your spaces on each floor and give your patrons the opportunity to find and book a room on a specific floor of the library.

While we recommend assigning spaces to a zone, if you do not want to set up zones for a location or if there are certain spaces within a location that do not fit into a particular zone that is ok -- they are optional.

Learn more

Adding categories to locations

Within each location, your individual spaces are grouped into categories. You must have at least one category in a location in order to add individual spaces, but you can create multiple categories if needed. Using the hierarchy we created in the previous section, categories are the second level (highlighted in bold):

  • Location: Main Library
    • Category: Study Rooms
      • Space: Room 110
      • Space: Room 120
    • Category: Classrooms
      • Space: Classroom A
      • Space: Classroom B
  • Location: Branch Library
    • Category: Study Rooms
      • Space: Room 208
      • Space: Room 310
    • Category: Meeting Rooms
      • Space: Community Room
      • Space: Small Meeting Room

Because spaces in a category share the same booking limits (i.e. how long patrons can book spaces) and public booking pages, it can be helpful to create a separate category for each type of space your library provides. For example, you could create categories for individual study rooms, group study rooms, meeting rooms, classrooms, computer labs, maker spaces, community rooms, etc. That would allow you to set different limits for different type of spaces, so your study rooms could have a maximum duration of 2 hours per booking with a weekly limit of 12 hours, while your maker spaces could have a maximum duration of 4 hours per booking with a weekly limit of 2 bookings.

You can also enable booking mediation for individual categories, too. When enabled, designated staff members must manually review new bookings submitted via your public booking pages. If a booking is approved, the booking will be confirmed; otherwise, the booking will be canceled and the time slots made available for others to reserve. In both cases, the patron will receive email notifications which can also include a note from staff explaining their decision.

If you charge patrons money for reserving certain spaces, these charges can be defined at the category level, too. Similar to your booking limits, this lets you define the same fees and/or hourly rates for all spaces in the category. Unlike booking limits, however, you can also set up billing charges for individual spaces, too -- even overriding the category billing charges, if needed (more on setting up billing in the Setting up Billing and managing charges section below).

Learn more

[Return to top]


Adding spaces to categories

Once you've created your categories, you're ready to add spaces to them. Spaces are the individual rooms that your patrons will be reserving, each using the booking limits defined in their parent category's settings. Using the hierarchy we created in the previous sections, spaces are the third level (highlighted in bold):

  • Location: Main Library
    • Category: Study Rooms
      • Space: Room 110
      • Space: Room 120
    • Category: Classrooms
      • Space: Classroom A
      • Space: Classroom B
  • Location: Branch Library
    • Category: Study Rooms
      • Space: Room 208
      • Space: Room 310
    • Category: Meeting Rooms
      • Space: Community Room
      • Space: Small Meeting Room

You can add helpful information to each space, such as a description, maximum capacity, directions, terms & conditions, and a photo. When patrons are viewing your public booking page, they'll be able to view these details to help them decide which space or seats to reserve. They will also be able to filter your spaces by capacity, as well, so they can more easily find rooms that are big enough for their needs. If you need to hide an individual space from the public due to renovations or repairs, you can update its status to Inactive until it's ready to be booked again.

To help you with setting up a lot of similar spaces, you can easily create copies of existing spaces. When you copy a space, it'll start with the same details, photo, etc. as the original. That way, you only need to customize the details that are different, rather than starting completely from scratch.

If you use Microsoft Exchange Resources, you can link each space in LibCal to an Exchange resource to enable two-way synchronization. That way, if you book a space in an Outlook event, it will also appear as booked in LibCal -- and, if a space is booked in LibCal, it will appear as busy if you look it up in Outlook (more on setting this up in the Syncing your space bookings with Outlook/Exchange resources section below).

Learn more

[Return to top]


Adding seats to spaces

When creating or editing a space, you have the option to make it either a container space or a space that is bookable as a whole.

  • container space is a space that contains seats. When you set a space as a container, the entire space cannot be booked as a whole -- it only allows for the individual seats in that space to be booked. The capacity of a container space is determined by the number of seats added to it.
  • A space that is bookable as a whole is the opposite: it cannot contain seats, but allows the entire space to be booked. The capacity of a space that's bookable as a whole is determined by its Current Capacity and Maximum Capacity settings (under the space's General settings tab).

Before you can add seats to a space, therefore, it's Type of Space setting must be set to Container space with seats. You can find this when adding or editing a space under the General tab.

the type of space option set to container space with seats

Once you've done that, you can click on the Seats tab to begin adding seats to the space. You can add seats one at a time, or you can add multiple seats at once. In both cases, each seat can have a name, description, and image which will display to patrons on the public booking page. You can also mark specific seats as accessible, allowing patrons to browse seats you've deemed accessible to people with disabilities.

the add seat button under the seats tab

Learn more

[Return to top]


Setting up your hours and adding exceptions

Before patrons can begin booking your spaces and seats, you must first set up your hours for each location. These are used to determine which times each day that your spaces and their seats are available. Between those opening and closing times, the booking limits you defined for each category will determine when bookings can start and the maximum number of minutes they can be booked. For example, let's say your location opens at 8 a.m. and closes at 10 p.m. on a given day. If a category's booking start times are set to begin every 30 minutes, patrons could book rooms in 30 minute slots starting at 8 a.m., 8:30 a.m., 9 a.m., etc., with the final slot starting at 9:30 p.m. If spaces in that category can be booked for a minimum of 30 minutes and a maximum of 120 minutes, a seat booking could start at 10:30 a.m. and end at 11 a.m., 11:30 a.m., 12 p.m., or 12:30 p.m.

You can set up your hours for an entire location at once, but you can also set up custom hours for individual categories and spaces, too (seats inherit the hours of their container space). This can come in handy if you have a category of rooms or individual spaces that are available at different times. For example, even though your study rooms are available from opening to closing each day of the week, your Maker Spaces may only be available from 12 p.m. to 4 p.m. on Tuesdays and Thursdays.

Example of adding custom hours to a location

To set up the hours for a location, category, or space, you have a few different options:

  • Link to a library or department from Admin > Hours: if you are already using the LibCal Hours module to manage & publicize your library hours, you don't need to completely recreate those for your Spaces. Instead, you can link a location, category, or space to any library or department in your Hours module. When linked, the opening and closing times for those spaces will mirror the current hours of that library/department -- including exceptions. If you generally allow patrons to book spaces from opening to closing each day, then using linked hours can be a real time saver.
  • Create custom hours just for your spaces: if you prefer not to use or link to the LibCal Hours module, or if your spaces are available at different times than the rest of your library, you can set up custom hours instead.
    • The first step is to create one or more weekly hours templates, which allows you to define when you open and close each day of the week. You can create templates for certain times of year, such as semesters, winter break, summer break, etc., as well as for individual locations.
    • For each location, category, or space, you will tell LibCal which dates to apply your templates. This allows you to create schedules in advance -- for example, you can apply your Fall Semester weekly hours template from August to November, your Finals Week template from December 1-15, your Winter Break template from December 15-January 15, and so on.
    • If you need to plan for holidays or other one-time schedule changes, you can also create individual exceptions on specific dates. This would allow you to be closed on Thanksgiving, for example, without having to move around your entire schedule.
    • When using custom hours, please keep in mind that dates not covered by a weekly hours template will be treated as Closed.
  • Use period-based scheduling: if you are a K-12 library, your spaces may only be available during certain class periods each day -- and these periods could vary in length each day of the week. As a result, using a weekly hours template (where patrons can select any time between opening and closing) may not be an option. To help with this, we provide a special K12 booking mode that allows you to create period-based daily hours templates. These are templates designed to be applied to individual days of the week, with multiple time slots added to each day. For example, you could create a daily template for Mondays, Wednesdays, and Fridays, with time slots aligned to the class periods on those days of the week.

If needed, you can combine the above options. For example, you could link a location's hours to a library or department from the Hours module, and use custom hours for just a specific category or space. (If you are using period-based scheduling, though, please keep in mind that this is applied at the location level: if you enable it for a location, all the spaces in that location will be switched to that mode.) When a category or space has its own separate hours, those will override the hours set at the location level. This includes dates where no hours are defined -- for example, if a category is using custom hours and a specific date is not covered by a weekly hours template, the category will appear as Closed. Categories and spaces will not automatically switch back to the location's hours if their own schedules run out.

Fortunately, you can set up your hours far in advance. That way, you can prepare for an entire academic or calendar year at one time. You can make changes to your hours templates, booking limits, or exceptions, at any time and your booking availability times will update automatically.

Learn more

[Return to top]


Optional customizations

Once you've added your locations, categories, spaces, seats, and hours, you've covered the essentials for getting started with Spaces and Seats. To learn more about additional customization options, including customized booking forms, billing, and Outlook/Exchange syncing, check out the sections below. These are all optional, but you may find them helpful for your local policies, preferences, and workflows.

Because seats are contained inside of spaces, they inherit the settings and hours of their containing spaces. For example, if you apply custom hours to a containing space, it's seats will inherit those hours. The same is true for booking form questions, billing type, and status, as well as any settings the space inherits from its parent category and location.

So, while the changes below are not made directly to your seats, they can be inherited by your seats if you apply them to their parent space, category, or location.

Creating booking forms

Booking forms are what patrons submit in order to place a booking. When a user submits a booking, they're required to enter their name and email address by default. However, if you'd like to gather more information from users, you can create customized booking forms with additional questions. For example, you could add fields for gathering a patron's phone number or ID number, or you could ask patrons if they need any amenities for spaces, help with equipment, or just general feedback.

Example of adding questions to a booking form

You can apply booking forms to entire locations, and/or individual categories & spaces (seats inherit the booking form questions from their container space). When a location, category, and/or space has a booking form assigned to it, the questions in each will combined into a single form for the patron to fill out. Although there's no limit to the number of questions you can add to a form, try to limit the number of required fields -- too many fields can turn away some users.

Data from your booking forms will be displayed in the booking's details throughout the Spaces and Seats modules. This includes the Booking Explorer, where you can also filter bookings by form responses. They're even included in your Booking Explorer exports, as well.

Learn more

[Return to top]


Setting up Billing and managing charges

If you charge patrons for space or seat bookings, you can use LibCal's billing functionality to allow them to quickly, easily, and securely pay online during the booking process. By connecting to a third-party payment processor, you will be able to collect credit card payments and deposit them into your library's merchant account. All charges, payments, and refunds are tracked automatically in LibCal so you can easily see the payment history for all billed bookings.

Before you begin collecting payments, an Admin user must first configure your billing settings in LibCal. The first step is to connect LibCal to a supported third-party payment processor, which will be used to actually handle all credit card transactions. If you have not already, your library will need to sign up for an account with one of these payment processors. Please keep in mind that each payment processor charges different transaction fees for things like handling payments and issuing refunds. These fees are part of the merchant agreement each library will have to agree to with their chosen payment processor. Please note that:

  • Springshare does not collect any fees. Inquiries about charges, refunds, and transaction fees should be directed to your payment processor, accordingly.
  • Springshare has no direct contact with credit card information during the payment process. All of the actual payment information passes directly from the payment page to the payment processor.
  • Only one payment processor can be used to collect payments at a time. Once you start collecting payments, your settings will be locked in and you will not be able to switch between payment processors. Please contact the Springy Support team if you need to change these settings.

In addition to setting up a payment processor, you will also want to select the local currency to use for your credit card payments. This is important, as all transactions with your payment processor will be made using the selected currency.

When charges are assessed, patrons will be prompted to pay online via credit card after submitting their booking or registration. This includes a button on the confirmation screens, but also links in the various confirmation emails sent by LibCal. As with other email notificaitons, these have customizable templates that can be found in your container space's location settings.

Learn more

[Return to top]


Syncing your container space's availability with Outlook/Exchange resources

LibCal allows you to set up a 2-way sync between Exchange calendars and LibCal spaces, so that reservations you make via Exchange will automatically block off availability in the Spaces module, and reservations made via Spaces are automatically pushed to Exchange!  This is a huge win for libraries with spaces that can be reserved both by the public (via LibCal) and by staff (via meeting requests in Exchange). This integration will keep your reservations in sync, no matter where a booking request originates. What's more, your LibCal platform will become a go-to place to get awesome statistics on the usage of your spaces and equipment from both sources.

Here’s another really cool thing about the Exchange support: it will make it even easier to integrate with touchscreen panels. LibCal Spaces offers full read/write APIs for integration with these types of panels, and many of these panels already support integration with Exchange. This means you can potentially integrate LibCal Spaces with these types of panels, without having to do any custom coding. This new integration means that availability stays synchronized across all possible booking points, with minimal setup effort.

To get started, you'll first need to connect your Spaces location to your Outlook/Exchange account. Then, you will be able to link individual spaces in that location to the corresponding resource in Exchange. To do this, you will need to know the email address of each resource (don't worry: your Exchange administrator can help with this if you're unsure).

Note that the availability of a container space is determined by the seats within it. For example, if a space has 10 seats, the whole space will be considered unavailable during times any of those seats are booked. This will be reflected in the connected Exchange resource, as well.

Learn more

[Return to top]


Public booking page settings

The primary way patrons will submit bookings is via LibCal's public seat booking page. Patrons will be able to browse by location, with options to filter seats by zone, category, and/or container space. They can also filter by seats that you have marked as accessible to patrons with disabilities (found in each seat's settings). As they browse, they will be presented with a grid of available time slots for each seat, which allows them to browse availability by date (up to the parent category's Window Limit). Available time slots will appear as green, while unavailable time slots will appear as red, making it easy to identify available times (these colors can be customized, too).

Public booking page example

To start a booking, a patron just needs to select an available start time from the grid for the desired seat and date. From there, they'll be guided through the rest of the booking process, including viewing any terms & conditions for your container spaces, LibAuth authentication (if enabled), and submitting the booking form.

Although the public seat booking page does not have a page editor, like the Homepage, there are still ways that you can customize its appearance and functionality. This includes customizing the colors used in the availability grid, the default category to display, and how many days of availability to display at once, just to name a few. You can find these options by going to Admin > Spaces & Equipment and clicking on the Settings tab.

The public spaces settings

Don't forget that there are also location and category settings that can have an impact on your booking page, as well, including public/private/admin-only access, window limit, and public nicknames.

Learn more

[Return to top]

Related Springboards