CINXE.COM
Space Availability - Wells Library - Space Booking & Appointment Services - IU Libraries
<!DOCTYPE html> <html lang="en"> <head> <!-- iid: 3021 --> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://static-assets-us.libcal.com/bootstrap_13/bootstrap3.min.css" rel="stylesheet"> <link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <link href="https://static-assets-us.libcal.com/css_739/LibCal_public.min.css" rel="stylesheet"> <link href="https://static-assets-us.libcal.com/css_739/print.min.css" rel="stylesheet" media="print"> <script src="https://static-assets-us.libcal.com/jquery_16/jquery.min.js"></script> <script src="https://static-assets-us.libcal.com/bootstrap_13/bootstrap3.min.js"></script> <script src="https://static-assets-us.libcal.com/js_739/LibCal_public.min.js"></script> <script> springSpace.dateFormat = "dddd, MMMM D, YYYY"; springSpace.dateShortFormat = "dddd, MMMM D, YYYY"; springSpace.timeFormat = "h:mma"; springSpace.timezone = 'America/Detroit'; springSpace.currency = "USD"; springSpace.currencySymbol = "$"; springSpace.language = 'en'; // en springSpace.locale = 'en-US'; // en-US springSpace.phpTimeFormat = 'g:ia'; springSpace.bootstrapAsset = 'https://static-assets-us.libcal.com/bootstrap_13/bootstrap3_16.min.css'; springSpace.publicCssAsset = 'https://static-assets-us.libcal.com/css_739/LibCal_public.min.css'; springSpace.adminCssAsset = 'https://static-assets-us.libcal.com/css_739/LibCal_admin.min.css'; </script> <title> Space Availability - Wells Library - Space Booking & Appointment Services - IU Libraries </title> <style> #s-lc-public-banner { padding: 0; margin: 0; } .s-lc-public-footer { margin: 0; } </style> <link rel="stylesheet" href="https://static-assets-us.libcal.com/fullcalendar_14/fullcalendar.min.css"/> <style> .s-lc-eq-avail, .label-eq-avail, .s-lc-eq-period-available { background: #14951F none !important; border-color: #14951F !important; } .s-lc-eq-avail:hover, .s-lc-eq-period-available:hover { background: #095212 linear-gradient(90deg, rgba(255,255,255,.2) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.2) 50%, rgba(255,255,255,.2) 75%, transparent 75%, transparent) !important; border-color: #095212 !important; } .s-lc-eq-pending, .label-eq-pending, .s-lc-eq-period-pending { background: #F59F16 linear-gradient(45deg, rgba(255,255,255,.2) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.2) 50%, rgba(255,255,255,.2) 75%, transparent 75%, transparent) !important; border-color: #F59F16 !important; } .s-lc-eq-checkout, .s-lc-eq-r-unavailable, .s-lc-eq-r-padding, .label-eq-unavailable, .s-lc-eq-period-booked { background: #C91908 linear-gradient(0deg, rgba(255,255,255,.2) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.2) 50%, rgba(255,255,255,.2) 75%, transparent 75%, transparent) !important; border-color: #C91908 !important; } </style> <style> @media (max-width: 768px) { .fc-timeline .fc-cell-text { font-size: 12px !important; } } </style> <script src="https://iub.libanswers.com/load_chat.php?hash=68eb5f56ad6f453d36d016d8645b35ec"></script> <link rel="stylesheet" type="text/css" href="https://libapps.s3.amazonaws.com/sites/2263/include/hanging-indent.css"> <link rel="stylesheet" type="text/css" href="https://blogs.libraries.indiana.edu/libguides/rivet-2.8.css"> <link rel="stylesheet" type="text/css" href="https://blogs.libraries.indiana.edu/libguides/rivet-custom.css"> <style>.rvt-container-xl {max-width: 85em;}</style> <style>.s-lc-public-footer {background-color:#ffffff;}</style> <style>#s-lib-admin-main .dataTables_paginate > ul.pagination > li.paginate_button:not(.disabled):not(.active) > a, #s-lib-public-main .dataTables_paginate > ul.pagination > li.paginate_button:not(.disabled):not(.active) > a, .s-lg-link-contrast, .ui-widget-content a, a { color: #2d699e; } .form-inline > span { display:none; } #s-lib-footer-login-link a, #s-lib-footer-support-link a { color: #2d699e; }.rvt-footer-resources__list-item a { font-size: 14px; }</style> <link rel="shortcut icon" href="https://www.iu.edu/favicon.ico" /> <script src="https://blogs.libraries.indiana.edu/libguides/js/min/ss.js"></script> <script src="https://blogs.libraries.indiana.edu/libguides/js/rivet-2.8.js"></script> <script>Rivet.init();</script> <script> $(window).ready(function(){ $('#s-lg-public-skiplink + div').each(function(){ if($(this).html()==" ") { $(this).hide(); } }); }); </script> </head> <body id="equip_" class="s-lc-public s-lc-public-page-5"> <a class="s-lc-skiplink alert-info" href="/r/accessible?lid=1426&gid=0"> Alternate page for screen reader Users </a> <a id="s-lc-public-skiplink" class="s-lc-skiplink alert-info" href="#s-lc-public-title-area">Skip to Main Content</a> <div id="s-lc-public-cust-header" role="banner"><!-- HEADER BEGIN --> <header class="rvt-header-wrapper"> <div class="rvt-header-global"> <div class="rvt-container-xl"> <div class="rvt-header-global__inner"> <div class="rvt-header-global__logo-slot [ rvt-m-right-lg ]"> <a class="rvt-lockup" href="https://libraries.indiana.edu" rel="home"> <div class="rvt-lockup__tab"> <svg xmlns="http://www.w3.org/2000/svg" class="rvt-lockup__trident" viewBox="0 0 28 34"> <path d="M-3.34344e-05 4.70897H8.83308V7.174H7.1897V21.1426H10.6134V2.72321H8.83308V0.121224H18.214V2.65476H16.2283V21.1426H19.7889V7.174H18.214V4.64047H27.0471V7.174H25.0614V23.6761L21.7746 26.8944H16.2967V30.455H18.214V33.8787H8.76463V30.592H10.6819V26.8259H5.20403L1.91726 23.6077V7.174H-3.34344e-05V4.70897Z" fill="currentColor"></path> </svg> </div> <div class="rvt-lockup__body [ rvt-text-nobr ]"> <span class="rvt-lockup__title">Libraries</span> <span class="rvt-lockup__subtitle">Indiana University Bloomington</span> </div> </a> </div> <div class="rvt-header-global__controls"> <div data-rvt-disclosure="menu" data-rvt-close-click-outside> <button aria-expanded="false" class="rvt-global-toggle rvt-global-toggle--menu rvt-hide-lg-up" data-rvt-disclosure-toggle="menu"> <span class="rvt-sr-only">Menu</span> <svg class="rvt-global-toggle__open" fill="currentColor" width="16" height="16" viewBox="0 0 16 16"> <path d="M15 4H1V2h14v2Zm0 5H1V7h14v2ZM1 14h14v-2H1v2Z"></path> </svg> <svg class="rvt-global-toggle__close" fill="currentColor" width="16" height="16" viewBox="0 0 16 16"> <path d="m3.5 2.086 4.5 4.5 4.5-4.5L13.914 3.5 9.414 8l4.5 4.5-1.414 1.414-4.5-4.5-4.5 4.5L2.086 12.5l4.5-4.5-4.5-4.5L3.5 2.086Z"></path> </svg> </button> <nav aria-label="Main" class="rvt-header-menu rvt-c-header-menu" data-rvt-disclosure-target="menu" hidden> <h2 class="rvt-sr-only">Main navigation</h2> <ul class="rvt-header-menu__list"> <li class="rvt-header-menu__item"> <a href="https://libraries.indiana.edu/finding-borrowing" target="_self" class="rvt-header-menu__link" title="Finding & Borrowing" >Finding <br>& Borrowing</a> </li> <li class="rvt-header-menu__item"> <a href="https://libraries.indiana.edu/researching-teaching" target="_self" class="rvt-header-menu__link" title="Researching & Teaching">Researching <br>& Teaching</a> </li> <li class="rvt-header-menu__item"> <a href="https://libraries.indiana.edu/visiting-studying" target="_self" class="rvt-header-menu__link" title="Visiting & Studying">Visiting <br>& Studying</a> </li> <li class="rvt-header-menu__item"> <a href="https://libraries.indiana.edu/news-events" target="_self" class="rvt-header-menu__link" title="News & Events">News <br>& Events</a> </li> <li class="rvt-header-menu__item"> <a href="https://libraries.indiana.edu/about-us" target="_self" class="rvt-header-menu__link" title="About Us">About Us</a> </li> <li class="rvt-header-menu__item"> <a href="https://libraries.indiana.edu/need-help" target="_self" class="rvt-header-menu__link" >Need Help?</a> </li> <li class="rvt-header-menu__item"> <a href="https://iucat.iu.edu/" target="_blank" class="rvt-cta rvt-cta--button rvt-header-menu__link">IUCAT</a> </li> </ul> </nav> </div> </div> </div> </div> </div> </header> <!-- HEADER END --></div> <div class="container"> <div id="s-lc-public-bc" class="row"> <div class="col-md-12"> <nav aria-label="Breadcrumb"> <ol class="breadcrumb"> <li><a href="https://libraries.indiana.edu/">IU Libraries</a></li> <li class="s-lc-desktop-only"><a href="https://iub.libcal.com">Space Booking & Appointment Services</a></li> <li class="active s-lc-desktop-only"> Space Availability - Wells Library </li> </ol> </nav> </div> </div> <noscript> <div class="alert alert-danger" id="noscript">Your browser has javascript disabled. Without javascript some functions will not work.</div> </noscript> <div id="s-lc-public-title-area"> </div> <main> <div id="s-lc-public-main" class="s-lc-public-main"> <div id="s-lc-public-page-content" class="row"> <div id="col1" class="col-md-12 center" > <div id="s-lc-eq-navform" class="s-lc-spaces-setup-info"> <h1 class="sr-only"> Space Availability - Wells Library </h1> <form class="form-inline" role="search" autocomplete="off"> <input type="hidden" name="page" id="page" value="1"> <input type="hidden" name="type" id="type" value="2"> <div class="form-group form-group-sm"> <label class="hidden-sm" for="lid">Location</label> <select class="form-control" name="lid" id="lid"> <option value="1426" selected="selected">Wells Library</option> <option value="1269" >Business/SPEA Library</option> <option value="9102" >Business/SPEA Bloomberg Computers</option> <option value="10310" >Education Library</option> <option value="11217" >Neal Marshall Black Culture Center Library</option> <option value="14001" >Music Library group study rooms</option> <option value="13771" >Sciences Library</option> <option value="0"> View All Locations </option> </select> </div> <div class="form-group form-group-sm"> <label class="hidden-sm" for="gid">Category</label> <select class="form-control" name="gid" id="gid"> <option value="29593" >Learning Commons Collaboration Rooms</option> <option value="29457" >Scholars' Commons Consultation Rooms</option> <option value="29594" >West Tower Third Floor Study Rooms</option> <option value="29747" >Media Viewing Rooms</option> <option value="0" selected="selected">Show All</option> </select> </div> <div class="form-group form-group-sm"> <label class="hidden-sm" for="capacity"> Capacity </label> <select class="form-control" name="capacity" id="capacity"> <option value="0"> All Spaces (not seats) </option> <option value="1"> Space For 1-4 people </option> <option value="2"> Space For 5-8 people </option> </select> </div> </form> </div> <div id="s-lc-location-description" role="region" aria-label="description" class="s-lc-resource-description s-lc-spaces-setup-info"> <h2>Herman B Wells Library </h2> <p>Note: This page only shows reservable spaces in the Wells Library. You can use the filter above to find spaces in other campus libraries.</p> <p> </p> </div> <div id="s-lc-window-limit-warning" class="alert alert-info margin-top-med margin-bottom-none" role="alert" style="display: none;"> You have reached the end of the bookable window. No availability will be shown past this point. </div> <div id="time_grid_cont" role="grid" class="s-lc-spaces-time-grid s-lc-spaces-setup-info"> <div id="eq-time-grid"> </div> <div id="s-lc-time-grid-pagination" class="s-lc-time-grid-pagination"> </div> <div class="s-lc-time-grid-legend" id="eq-time-grid-legend"> <span class="label-eq-cont" data-toggle="tooltip" data-placement="top" title="Slot is available, click to book!"><span class="label label-eq-avail"> </span> Available</span> <span class="label-eq-cont" data-toggle="tooltip" data-placement="top" title="Your pending booking."><span class="label label-eq-pending"> </span> Your Booking</span> <span class="label-eq-cont" data-toggle="tooltip" data-placement="top" title="This slot is unavailable for starting a new booking. Bookings may occasionally extend into this slot."><span class="label label-eq-unavailable"> </span> Unavailable/Padding</span> </div> </div> <div id="s-lc-eq-form-box" class="s-lc-spaces-setup-info" style="display: none;" role="region" aria-label="booking form" aria-live="polite"> <form id="s-lc-eq-form-times" class="form-horizontal" method="post"> <fieldset> <div id="s-lc-eq-bwell" class="well" tabindex="0"> </div> <div id="s-lc-eq-bform-inner" class="col-sm-offset-5"> <button class="btn btn-primary" name="submit_times" id="submit_times">Submit Times</button> </div> </fieldset> </form> </div> <div id="s-lc-eq-form" style="clear:both; display: none;" role="region" aria-live="polite" aria-label="Booking details"></div> <div id="s-lc-eq-errors" class="alert alert-danger" style="display: none;" role="region" aria-live="polite" aria-label="Error encountered"></div> <div id="s-lc-eq-success" style="display: none;" role="region" aria-live="polite" aria-labelledby="s-lc-eq-success-title"> </div> </div> </div> </div> </main> <footer id="s-lc-public-footer" class="row s-lc-public-footer"> <div id="s-lc-public-footer-brand"> <span title="libcal-us-2">Powered by</span> <a href="https://www.springshare.com">Springshare</a>. </div> <div id="s-lc-public-footer-rights"> All rights reserved. </div> <div id="s-lc-footer-support-link"> <a href="mailto:libref@iu.edu">Report a tech support issue.</a> </div> <div id="s-lc-public-footer-print-link"> View this page in a format suitable for <a href="/r/accessible?lid=1426&gid=0"> screen-readers and keyboard-only users </a> </div> <div id="s-lc-public-footer-admin-links" role="navigation" aria-label="Admin Footer"> <a id="s-lc-sign-in" href="https://iub.libapps.com/libapps/login.php?site_id=4318&target=">Login to LibApps</a> </div> <div class="s-lc-public-footer-actions"> <div id="s-lc-language"> <select id="s-lc-language-selector" aria-label="Select Language"> <option value="ca" >català</option> <option value="cy" >Cymraeg</option> <option value="en" selected>English</option> <option value="es" >español</option> <option value="fr" >français</option> <option value="ga" >Irish</option> <option value="ja" >日本語 Nihongo</option> <option value="nl" >Nederlands</option> <option value="sl" >slovenski jezik</option> <option value="vi" >Tiếng Việt</option> <option value="zh" >中文 Zhōngwén</option> </select> </div> </div> </footer> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-50027317-3', 'auto'); ga('send', 'pageview'); </script> </div> <div id="s-lc-public-cust-footer"><!-- FOOTER BEGIN --> <div aria-labelledby="social-heading" class="rvt-footer-social rvt-c-region rvt-c-region--footer-social" role="complementary"><h2 class="rvt-sr-only" id="social-heading">Social media</h2><div class="rvt-c-region__inner rvt-container-xl"><div class="settings-tray-editable block block-menu-block block-menu-blockmenu-footer-social-media" data-drupal-settingstray="editable"><ul class="rvt-footer-social__list"><li><a href="https://twitter.com/iulibraries" target="_self" class="icon-twitter" title="IU Libraries on Twitter"><span class="rvt-sr-only rvt-color-white">Twitter</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" height="40" viewBox="0 0 40 40" width="40"><path d="M20 40C31.0457 40 40 31.0457 40 20C40 8.9543 31.0457 0 20 0C8.9543 0 0 8.9543 0 20C0 31.0457 8.9543 40 20 40Z" fill="#7A1705"></path><path d="M30.0002 13.7998C29.3002 14.0998 28.5002 14.2998 27.6002 14.3998C28.4002 13.8998 29.1002 13.0998 29.4002 12.0998C28.6002 12.5998 27.7002 12.8998 26.8002 13.0998C26.1002 12.2998 25.0002 11.7998 23.8002 11.7998C21.5002 11.7998 19.7002 13.5998 19.7002 15.8998C19.7002 16.1998 19.7002 16.4998 19.8002 16.7998C16.4002 16.5998 13.4002 14.9998 11.3002 12.4998C10.9002 13.0998 10.7002 13.7998 10.7002 14.5998C10.7002 15.9998 11.4002 17.2998 12.5002 17.9998C11.8002 17.9998 11.2002 17.7998 10.6002 17.4998C10.6002 17.4998 10.6002 17.4998 10.6002 17.5998C10.6002 19.5998 12.0002 21.1998 13.9002 21.5998C13.6002 21.6998 13.2002 21.6998 12.8002 21.6998C12.5002 21.6998 12.3002 21.6998 12.0002 21.5998C12.5002 23.1998 14.0002 24.3998 15.8002 24.3998C14.4002 25.4998 12.6002 26.1998 10.7002 26.1998C10.4002 26.1998 10.0002 26.1998 9.7002 26.0998C11.5002 27.2998 13.7002 27.8998 16.0002 27.8998C23.5002 27.8998 27.7002 21.5998 27.7002 16.1998C27.7002 15.9998 27.7002 15.7998 27.7002 15.6998C28.8002 15.2998 29.4002 14.5998 30.0002 13.7998Z" fill="#F7F7F8"></path></svg></a></li><li><a href="https://www.instagram.com/hermanbwells/" target="_self" class="icon-instagram" title="Herman B Wells Library on Instagram"><span class="rvt-sr-only rvt-color-white">Instagram</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" height="40" viewBox="0 0 40 40" width="40"><path d="M20 40C31.0457 40 40 31.0457 40 20C40 8.9543 31.0457 0 20 0C8.9543 0 0 8.9543 0 20C0 31.0457 8.9543 40 20 40Z" fill="#7A1705"></path><path d="M24.3004 29.9999H15.6004C12.5004 29.9999 9.90039 27.4999 9.90039 24.2999V15.5999C9.90039 12.4999 12.4004 9.8999 15.6004 9.8999H24.3004C27.4004 9.8999 30.0004 12.3999 30.0004 15.5999V24.2999C30.0004 27.4999 27.5004 29.9999 24.3004 29.9999ZM24.3004 28.4999C25.4004 28.4999 26.5004 28.0999 27.2004 27.2999C27.9004 26.4999 28.4004 25.4999 28.4004 24.3999V15.6999C28.4004 14.5999 28.0004 13.4999 27.2004 12.7999C26.4004 11.9999 25.4004 11.5999 24.3004 11.5999H15.6004C14.5004 11.5999 13.4004 11.9999 12.7004 12.7999C11.9004 13.5999 11.5004 14.5999 11.5004 15.6999V24.3999C11.5004 25.4999 11.9004 26.5999 12.7004 27.2999C13.5004 27.9999 14.5004 28.4999 15.6004 28.4999H24.3004Z" fill="#F7F7F8"></path><path d="M25.4006 19.9C25.4006 22.9 23.0006 25.3 20.0006 25.3C17.0006 25.3 14.6006 22.9 14.6006 19.9C14.6006 16.9 17.0006 14.5 20.0006 14.5C23.0006 14.5 25.4006 17 25.4006 19.9ZM20.0006 16.4C18.1006 16.4 16.5006 18 16.5006 19.9C16.5006 21.8 18.1006 23.4 20.0006 23.4C21.9006 23.4 23.5006 21.8 23.5006 19.9C23.5006 18 21.9006 16.4 20.0006 16.4Z" fill="#F7F7F8"></path><path d="M25.5002 15.8002C26.2182 15.8002 26.8002 15.2182 26.8002 14.5002C26.8002 13.7822 26.2182 13.2002 25.5002 13.2002C24.7822 13.2002 24.2002 13.7822 24.2002 14.5002C24.2002 15.2182 24.7822 15.8002 25.5002 15.8002Z" fill="#F7F7F8"></path></svg></a></li><li><a href="https://www.facebook.com/pages/IU-Libraries/237699996274633" target="_self" class="icon-facebook" title="IU Libraries on Facebook"><span class="rvt-sr-only rvt-color-white">Facebook</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" height="40" viewBox="0 0 40 40" width="40"><path d="M20 40C31.0457 40 40 31.0457 40 20C40 8.9543 31.0457 0 20 0C8.9543 0 0 8.9543 0 20C0 31.0457 8.9543 40 20 40Z" fill="#7A1705"></path><path d="M24.8996 9.99982V13.1998H23.0996C23.0996 13.1998 21.4996 12.9998 21.4996 14.4998V16.9998H24.7996L24.3996 20.3998H21.4996V29.9998H17.6996V20.2998H15.0996V16.9998H17.7996V14.0998C17.7996 14.0998 17.4996 12.4998 18.8996 11.1998C20.2996 9.89982 22.1996 9.99982 22.1996 9.99982H24.8996Z" fill="#F7F7F8"></path></svg></a></li><li><a href="/news-events/rss.xml" target="_self" class="icon-rss" title="IU Libraries - All News & Events content (rss feed)"><span class="rvt-sr-only rvt-color-white">RSS</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" height="40" viewBox="0 0 40 40" width="40"><path d="M20 40C31.0457 40 40 31.0457 40 20C40 8.9543 31.0457 0 20 0C8.9543 0 0 8.9543 0 20C0 31.0457 8.9543 40 20 40Z" fill="#7A1705"/><path d="M26.8665 26.9734C26.8857 27.5472 27.3574 27.9998 27.9269 27.9998C27.9397 27.9998 27.9524 27.9998 27.9641 27.9987C28.5506 27.9796 29.0107 27.4887 28.9894 26.9012C28.6983 18.2811 21.7177 11.3005 13.0976 11.0104C12.5313 10.9679 12.0202 11.4492 12 12.0357C11.9798 12.6222 12.4388 13.1131 13.0253 13.1333C20.5319 13.3872 26.6126 19.4658 26.8665 26.9734Z" fill="#F7F7F8"/><path d="M22.6102 27.9998C22.0492 27.9998 21.5795 27.5599 21.5498 26.9925C21.3097 22.3632 17.6366 18.6902 13.0073 18.45C12.4208 18.4182 11.9714 17.9199 12.0011 17.3334C12.0319 16.7469 12.5292 16.2942 13.1178 16.3272C18.8383 16.6247 23.3752 21.1626 23.6737 26.8831C23.7035 27.4696 23.253 27.9679 22.6675 27.9998H22.6102Z" fill="#F7F7F8"/><path d="M14.6563 27.9998C16.1233 27.9998 17.3125 26.8106 17.3125 25.3436C17.3125 23.8765 16.1233 22.6873 14.6563 22.6873C13.1893 22.6873 12 23.8765 12 25.3436C12 26.8106 13.1893 27.9998 14.6563 27.9998Z" fill="#F7F7F8"/></svg></a></li></ul></div></div></div> <div aria-labelledby="resources-heading" class="rvt-footer-resources rvt-c-region rvt-c-region--footer-resources" role="complementary"><h2 class="rvt-sr-only" id="resources-heading">Additional resources</h2><div class="rvt-container-xl"><div class="rvt-row"><div class="rvt-c-region__inner rvt-cols-md"><div id="block-rivet-iul-featured-databases" class="settings-tray-editable" data-drupal-settingstray="editable"><h3 class="rvt-footer-resources__heading"> Featured Databases </h3><div class="rvt-prose rvt-flow clearfix rvt-c-field rvt-c-field--body rvt-c-field--text-with-summary"><div class="rvt-row rvt-m-tb-xxs"><div class="rvt-cols-lg"><ul class="rvt-footer-resources__list rvt-m-top-none rvt-m-bottom-none"><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/databases/onesearch">OneSearch@IU</a></li><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/databases/googlescholar">Google Scholar</a></li><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/databases/jstor">JSTOR</a></li></ul></div><div class="rvt-cols-lg"><ul class="rvt-footer-resources__list rvt-m-top-none rvt-m-bottom-none"><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/databases/worldcat">WorldCat</a></li><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/databases/nexisuni">Nexis Uni</a></li><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/databases/hathitrust">HathiTrust Digital Library</a></li></ul></div></div><div><a class="rvt-button rvt-button--small rvt-c-footer-resources__button rvt-button--plain" href="https://libraries.indiana.edu/databases">Databases A-Z</a></div></div></div></div><div class="rvt-c-region__inner rvt-cols-md"><div id="block-rivet-iul-footer-resources" class="settings-tray-editable" data-drupal-settingstray="editable"><h3 class="rvt-footer-resources__heading"> IU Libraries </h3><div class="rvt-prose rvt-flow clearfix rvt-c-field rvt-c-field--body rvt-c-field--text-with-summary"><div class="rvt-row rvt-m-tb-xxs"><div class="rvt-cols-lg"><ul class="rvt-footer-resources__list rvt-m-top-none rvt-m-bottom-none"><li class="rvt-footer-resources__list-item"><a href="https://iub.libcal.com/reserve/wells">Spaces</a></li><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/team">Our Team</a></li><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/departments">Our Departments</a></li></ul></div><div class="rvt-cols-lg"><ul class="rvt-footer-resources__list rvt-m-top-none rvt-m-bottom-none"><li class="rvt-footer-resources__list-item"><a href="https://libraries.indiana.edu/contact-us">Contact Us</a></li><li class="rvt-footer-resources__list-item"><a href="https://indiana.sharepoint.com/sites/iub-libraries/SitePages/Home.aspx">Intranet SharePoint (Staff)</a></li><li class="rvt-footer-resources__list-item"></ul></div></div><div><a class="rvt-button rvt-button--small rvt-c-footer-resources__button rvt-button--plain" href="https://give.myiu.org/givenow?account=I320004179%2CP370008414%2CI320004210&sc=IU21GAN1IUOTGNWE00024&utm_source=Indiana_University&utm_medium=referral&utm_campaign=give_now&utm_content=IU21GAN1IUOTGNWE00024">Give Now</a></div></div></div></div></div></div></div> <!-- Base footer --> <footer class="rvt-footer-base "> <div class="rvt-container-xl"> <div class="rvt-footer-base__inner"> <!-- IU trident --> <div class="rvt-footer-base__logo"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <polygon fill="currentColor" points="15.3 3.19 15.3 5 16.55 5 16.55 15.07 13.9 15.07 13.9 1.81 15.31 1.81 15.31 0 8.72 0 8.72 1.81 10.12 1.81 10.12 15.07 7.45 15.07 7.45 5 8.7 5 8.7 3.19 2.5 3.19 2.5 5 3.9 5 3.9 16.66 6.18 18.98 10.12 18.98 10.12 21.67 8.72 21.67 8.72 24 15.3 24 15.3 21.67 13.9 21.67 13.9 18.98 17.82 18.98 20.09 16.66 20.09 5 21.5 5 21.5 3.19 15.3 3.19" fill="#231f20"/> </svg> </div> <!-- List of links --> <ul class="rvt-footer-base__list"> <li class="rvt-footer-base__item"> <a class="rvt-footer-base__link" href="https://accessibility.iu.edu/assistance/">Accessibility</a> </li> <li class="rvt-footer-base__item"> <a class="rvt-footer-base__link" href="/privacy">Privacy Notice</a> </li> <li class="rvt-footer-base__item"> <a class="rvt-footer-base__link" href="https://www.iu.edu/copyright/index.html">Copyright</a> © 2024 The Trustees of <a class="rvt-footer-base__link" href="https://www.iu.edu">Indiana University</a> </li> </ul> </div> </div> </footer> </div> <!-- FOOTER END --></div> <script defer src="https://static-assets-us.libcal.com/fullcalendar_14/fullcalendar.min.js"></script> <script defer src="https://static-assets-us.libcal.com/js_739/datepicker.min.js"></script> <link rel="stylesheet" href="https://static-assets-us.libcal.com/css_739/datepicker.min.css"/> <script> var springyFullCalendar = { commonOptions: { schedulerLicenseKey: '0391239527-fcs-1659132663', now: '2025\u002D04\u002D02\u002017\u003A58', nowIndicator: true, scrollTime: '16\u003A00\u003A00', lazyFetching: false, locale: springSpace.language, themeSystem: 'bootstrap', eventTextColor: '#222', eventDisplay: 'block', moreLinkClick: 'day', bootstrapFontAwesome: { goToDate: 'fa-calendar', goToNextAvailable: 'fa-fast-forward', refresh: 'fa-refresh', }, navLinks: true, // https://fullcalendar.io/docs/navLinks resourceOrder: false, // https://fullcalendar.io/docs/resourceOrder stickyHeaderDates: false, // https://fullcalendar.io/docs/stickyHeaderDates && https://github.com/springshare/LibCal/issues/11801 dayCellContent: function (info) { // regardless of language, show the day as a number with no extra characters return info.date.getDate(); }, }, timelineOptions: { height: 'auto', refetchResourcesOnNavigate: false, eventOverlap: false, displayEventTime: false, slotDuration: '00\u003A15', titleFormat: springSpace.dateFormat, views: { timelineSingleDay: { type: 'resourceTimeline', buttonText: 'Day\u0020View', duration: {days: 1}, slotLabelFormat: springSpace.timeFormat, }, timelineHourlyShort: { type: 'resourceTimeline', duration: {days: 3}, slotLabelFormat: [springSpace.dateFormat, springSpace.timeFormat], }, timelineHourlyLong: { type: 'resourceTimeline', duration: {days: 7}, slotLabelFormat: [springSpace.dateFormat, springSpace.timeFormat], }, timelineDailyLong: { type: 'resourceTimeline', slotDuration: '24:00', duration: {days: 28}, slotLabelFormat: ['dd D'], nowIndicator: false }, resourceTimeGridWeek: { buttonText: 'Week\u0020View', slotLabelFormat: springSpace.timeFormat, } }, }, publicTexts: { allDay: 'All\u0020Day', available: 'Available', dayGridMonth: 'Month', dayGridWeek: 'Agenda', goToDate: 'Go\u0020To\u0020Date', goToNextAvailable: 'Next\u0020Available', next: 'Next', prev: 'Previous', timeGridDay: 'Day', timeGridWeek: 'Week', today: 'Today', unavailable: 'Unavailable\/Padding', yourBooking: 'Your\u0020Booking', listWeek: 'Week\u0020List', }, adminTexts: { goToDate: 'Go\u0020To\u0020Date', refresh: 'Refresh', prev: 'Previous', next: 'Next', today: 'Today', week: 'Week', month: 'Month', day: 'Day', dayGridWeek: 'Agenda', allDay: 'All\u0020Day', atLocation: '\u0025title\u0025\u0020at\u0020\u0025location\u0025', }, dateTimeFormats: { monthViewTitle: 'MMMM YYYY', }, }; // placeholder for dynamic content boxes with a full calendar var calendarList = {}; function reRenderCalendarList() { for (var calId in calendarList) { calendarList[calId].render(); } } </script> <script defer src="https://static-assets-us.libcal.com/js_739/direct/full-calendar-common.min.js"></script> <script> var springLang = { eq_js_until_det: 'until...', eq_js_rem_pending: 'Remove\u0020Pending\u0020Booking', eq_js_cart_tt: 'Create\u0020a\u0020shopping\u0020cart\u0020with\u0020these\u0020space\u0020bookings,\u0020and\u0020go\u0020to\u0020equipment\u0020booking\u0020page\u0020to\u0020add\u0020more\u0020items\u0020to\u0020the\u0020cart.', eq_js_isRequired: 'is\u0020required\u0021', }; </script> <script defer src="https://static-assets-us.libcal.com/js_739/direct/public/equipment/common.min.js"></script> <script defer src="https://static-assets-us.libcal.com/js_739/direct/public/equipment/spaces.min.js"></script> <script defer src="https://static-assets-us.libcal.com/js_739/direct/public/equipment/session.min.js"></script> <script> var pendingRoomBookings = []; var pendingBookingNextId = 1; var pendingBookingsBlowAwayCart = false; function addError(msg, id) { jQuery(".s-lc-eq-" + id).addClass("has-error").find(".form-control").attr("aria-invalid", true); jQuery(".s-lc-eq-" + id).find(".s-lc-eq-flab").append('<div class="error-message">' + msg + "</div>"); jQuery("#" + id).focus(); return false; } function removeErrors() { jQuery(".s-lc-eq-q").removeClass("has-error").find(".error-message").remove(); } function agreeToTermsAndConditions() { jQuery("#bform-terms-container").hide(); jQuery("#bform-form-container").show(); scrollAndFocusOnElement('#s-lc-bform-help'); return false; } function toggleSubmitButton() { var isTermsAgreedTo = jQuery(this).is(':checked'); jQuery('#btn-form-submit').prop('disabled', !isTermsAgreedTo); } function customFormValidation() { // exists to be overwritten by the specific group validation function } function preFormValidationAndPayload() { removeErrors(); jQuery("#s-lc-eq-errors").hide(); if (!isVisibleFieldsValid()) { return false; } if (!customFormValidation()) { return false; } pageBusyBegin("#btn-form-submit"); var formElement = '#s-lc-eq-bform'; var bookings = preparePendingBookingsPayload(); var bookingsPayload = JSON.stringify(bookings); springyCommon.appendHiddenInput('bookings', bookingsPayload, formElement); springyCommon.appendHiddenInput('returnUrl', springySpaces.getReturnUrl(), formElement); springyCommon.appendHiddenInput('pickupHolds', jQuery('#s-lc-pickup-holds').val(), formElement); springyCommon.appendHiddenInput('method', springyPage.bookingMethod, formElement); return true; } function bookingSuccessCallback(data) { pageBusyEnd("#btn-form-submit"); if (data.error) { jQuery("#s-lc-eq-errors").html(data.error).show(); return; } jQuery('#s-lc-eq-form, .s-lc-spaces-setup-info').hide(); jQuery('#s-lc-eq-success').html(data.html).show().focus(); springySession.clear(); return; } function bookingErrorCallback(xhr) { pageBusyEnd("#btn-form-submit"); var errorMessage = ajaxErrorGetText(xhr); jQuery('#s-lc-eq-errors').html(errorMessage).show().focus(); } function submitPendingTimes() { var payload = { patron: springySpaces.patron, patronHash: springySpaces.patronHash, returnUrl: springySpaces.getReturnUrl(), bookings: preparePendingBookingsPayload(), method: springyPage.bookingMethod, }; pageBusyBegin("#submit_times"); jQuery.ajax({ type: 'post', url: '/ajax/space/times', data: payload, dataType: 'json', }) .always(function () { pageBusyEnd("#submit_times"); }) .done(function(data) { if (data.redirect) { // redirect to libauth checkout page window.location = data.redirect; return; } // hide a bunch of stuff jQuery('.s-lc-spaces-setup-info').hide(); // setup booking form + terms html jQuery("#s-lc-eq-form").html(data.html).show(); // scroll to the top of the page window.scrollTo(0, 0); }) .fail(ajaxErrorHandler); return false; } function makeCartAndGoToEquipPage() { // we only allow user to do this if all the room bookings start at the same time if (pendingRoomBookings.length > 1) { var startTime = pendingRoomBookings[0].start; for (var i = 1; i < pendingRoomBookings.length; i++) { var bookingInfo = pendingRoomBookings[i]; if (!bookingInfo.start.isSame(startTime)) { errorAlert('You can only create an Equipment Cart if all your room bookings begin at the same time.'); return false; } } } var payload = { blowAwayCart: pendingBookingsBlowAwayCart, returnUrl: springySpaces.getReturnUrl(), bookings: preparePendingBookingsPayload(), method: springyPage.bookingMethod, }; workingAlert(); jQuery.ajax({ type: 'post', url: "/ajax/space/createcart", data: payload, dataType: 'json', }) .always(function (data) { stopAlert(); }) .done(function(data) { if (data.success) { // redirect to new page window.location = data.redirect; } else if (data.hasItems) { errorAlert("Cart already has items in it. If you click the shopping cart again, the existing items in the cart will be replaced by the selected rooms."); pendingBookingsBlowAwayCart = true; } else { errorAlert(data.error); } }) .fail(ajaxErrorHandler); return false; } function changeBookingTimes() { // show the old form box + availability grid jQuery('.s-lc-spaces-setup-info').show(); // hide the terms + booking form jQuery('#s-lc-eq-form, #s-lc-eq-errors').hide(); return false; } function getSpaceResourceContent(info) { var html = ''; var resourceData = info.resource.extendedProps; var resourceId = springyPage.isSeatBooking ? resourceData.seatId : resourceData.eid; var title = escapeHtml(info.fieldValue); if (resourceData.hasInfo) { html += '<a href="#" class="s-lc-item-more-info" data-eid="' + resourceId + '"' + ' aria-label="Click\u0020for\u0020more\u0020info\u0020about ' + title + '">' + '<span class="s-lc-info-label">Info</span>' + '</a>'; } var additionalClasses = ''; var additionalIcons = ''; var filterIds = resourceData.filterIds || []; for (var i = 0; i < filterIds.length; i++) { var filterId = filterIds[i]; if (filterId in springyPage.searchFilters) { var filter = springyPage.searchFilters[filterId]; additionalClasses += ' s-lc-filter-' + filterId; additionalIcons += ' <i class="fa ' + filter.icon + ' fa-lg" aria-hidden="true"></i>'; } } var resourceLabel = '<span class="fc-cell-text' + additionalClasses + '">' + title + additionalIcons + '</span>'; if (resourceData.url !== undefined) { html += '<a href="' + resourceData.url + '">' + resourceLabel + '</a>'; } else { html += resourceLabel; } return { html: html, }; } jQuery(function () { springyPublic.registerClearBackForwardCache(); jQuery('#lid').on('change', goToPageForLocation); jQuery('#gid').on('change', goToPageForGroup); jQuery('#eq_cart').on('click', makeCartAndGoToEquipPage); jQuery('#s-lc-eq-form-times').on('submit', submitPendingTimes); }); </script> <script src="https://static-assets-us.libcal.com/js_739/direct/pagination.min.js"></script> <script src="https://static-assets-us.libcal.com/js_739/direct/public/equipment/spaces-standard.min.js"></script> <script> var springyPage = { wantAlternatingBackground: true, timelineOptions: { resourceAreaWidth: '33%', }, locationId: 1426, groupId: 0, itemId: -1, isSeatBooking: 0, seatId: 0, zoneId: 0, searchFilters: {"2009":{"id":2009,"icon":"fa-wheelchair-alt","name":"Accessible Seat\/Space"},"2010":{"id":2010,"icon":"fa-plug","name":"Power Available"}}, filterIds: [], isDailyBookings: 0, resourceRows: 42, resourceColumnLabel: 'Space', viewMode: 'timelineHourlyShort', returnUrl: '', capacitySeatValue: -1, pageIndex: 0, pageSize: 18, bookingMethod: 11, }; var resources = []; var resourceNameIdMap = []; resources.push({ id: "eid_112390", title: "W115A (Capacity 6)", url: "/space/112390", eid: 112390, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 6, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112390"] = "W115A"; resources.push({ id: "eid_112392", title: "W115B (Capacity 4)", url: "/space/112392", eid: 112392, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/4-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112392"] = "W115B"; resources.push({ id: "eid_112393", title: "W115C (Capacity 4)", url: "/space/112393", eid: 112393, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/4-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112393"] = "W115C"; resources.push({ id: "eid_112394", title: "W115D (Capacity 4)", url: "/space/112394", eid: 112394, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/4-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112394"] = "W115D"; resources.push({ id: "eid_112395", title: "W115E (Capacity 6)", url: "/space/112395", eid: 112395, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 6, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112395"] = "W115E"; resources.push({ id: "eid_112396", title: "W115F (Capacity 6)", url: "/space/112396", eid: 112396, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 6, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112396"] = "W115F"; resources.push({ id: "eid_112397", title: "W121A (Capacity 8)", url: "/space/112397", eid: 112397, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112397"] = "W121A"; resources.push({ id: "eid_112398", title: "W121B (Capacity 8)", url: "/space/112398", eid: 112398, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112398"] = "W121B"; resources.push({ id: "eid_112399", title: "W121C (Capacity 8)", url: "/space/112399", eid: 112399, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112399"] = "W121C"; resources.push({ id: "eid_112401", title: "W121D (Capacity 8)", url: "/space/112401", eid: 112401, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112401"] = "W121D"; resources.push({ id: "eid_112402", title: "W121E (Capacity 8)", url: "/space/112402", eid: 112402, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112402"] = "W121E"; resources.push({ id: "eid_112403", title: "W127A (Capacity 8)", url: "/space/112403", eid: 112403, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112403"] = "W127A"; resources.push({ id: "eid_112404", title: "W131A (Capacity 8)", url: "/space/112404", eid: 112404, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112404"] = "W131A"; resources.push({ id: "eid_112405", title: "W131B (Capacity 8)", url: "/space/112405", eid: 112405, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112405"] = "W131B"; resources.push({ id: "eid_112406", title: "W131C (Capacity 8)", url: "/space/112406", eid: 112406, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112406"] = "W131C"; resources.push({ id: "eid_112408", title: "W135A (Capacity 8)", url: "/space/112408", eid: 112408, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112408"] = "W135A"; resources.push({ id: "eid_112409", title: "W135B (Capacity 8)", url: "/space/112409", eid: 112409, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112409"] = "W135B"; resources.push({ id: "eid_112410", title: "W135C (Capacity 8)", url: "/space/112410", eid: 112410, gid: 29593, lid: 1426, grouping: "Learning\u0020Commons\u0020Collaboration\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/6-Seat-Option-in-the-Learning-Commons.jpg", filterIds: [], }); resourceNameIdMap["eid_112410"] = "W135C"; resources.push({ id: "eid_111717", title: "E157J (Capacity 8)", url: "/space/111717", eid: 111717, gid: 29457, lid: 1426, grouping: "Scholars\u0027\u0020Commons\u0020Consultation\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-Scholars-Commons-Consultation-Rooms.jpg", filterIds: [], }); resourceNameIdMap["eid_111717"] = "E157J"; resources.push({ id: "eid_111718", title: "E157K (Capacity 8)", url: "/space/111718", eid: 111718, gid: 29457, lid: 1426, grouping: "Scholars\u0027\u0020Commons\u0020Consultation\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-Scholars-Commons-Consultation-Rooms.jpg", filterIds: [], }); resourceNameIdMap["eid_111718"] = "E157K"; resources.push({ id: "eid_111719", title: "E157L (Capacity 8)", url: "/space/111719", eid: 111719, gid: 29457, lid: 1426, grouping: "Scholars\u0027\u0020Commons\u0020Consultation\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-Scholars-Commons-Consultation-Rooms.jpg", filterIds: [], }); resourceNameIdMap["eid_111719"] = "E157L"; resources.push({ id: "eid_111720", title: "E157M (Capacity 8)", url: "/space/111720", eid: 111720, gid: 29457, lid: 1426, grouping: "Scholars\u0027\u0020Commons\u0020Consultation\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-Scholars-Commons-Consultation-Rooms.jpg", filterIds: [], }); resourceNameIdMap["eid_111720"] = "E157M"; resources.push({ id: "eid_111722", title: "E157Q (Capacity 5)", url: "/space/111722", eid: 111722, gid: 29457, lid: 1426, grouping: "Scholars\u0027\u0020Commons\u0020Consultation\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 5, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-Scholars-Commons-Consultation-Rooms.jpg", filterIds: [], }); resourceNameIdMap["eid_111722"] = "E157Q"; resources.push({ id: "eid_111724", title: "E157R (Capacity 5)", url: "/space/111724", eid: 111724, gid: 29457, lid: 1426, grouping: "Scholars\u0027\u0020Commons\u0020Consultation\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 5, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-Scholars-Commons-Consultation-Rooms.jpg", filterIds: [], }); resourceNameIdMap["eid_111724"] = "E157R"; resources.push({ id: "eid_111725", title: "E157S (Capacity 5)", url: "/space/111725", eid: 111725, gid: 29457, lid: 1426, grouping: "Scholars\u0027\u0020Commons\u0020Consultation\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 5, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-Scholars-Commons-Consultation-Rooms.jpg", filterIds: [], }); resourceNameIdMap["eid_111725"] = "E157S"; resources.push({ id: "eid_112411", title: "3W\u002D315 (Capacity 4)", url: "/space/112411", eid: 112411, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "", filterIds: [], }); resourceNameIdMap["eid_112411"] = "3W\u002D315"; resources.push({ id: "eid_112412", title: "3W\u002D317 (Capacity 4)", url: "/space/112412", eid: 112412, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "", filterIds: [], }); resourceNameIdMap["eid_112412"] = "3W\u002D317"; resources.push({ id: "eid_112413", title: "3W\u002D319 (Capacity 4)", url: "/space/112413", eid: 112413, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "", filterIds: [], }); resourceNameIdMap["eid_112413"] = "3W\u002D319"; resources.push({ id: "eid_112414", title: "3W\u002D321 (Capacity 4)", url: "/space/112414", eid: 112414, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "", filterIds: [], }); resourceNameIdMap["eid_112414"] = "3W\u002D321"; resources.push({ id: "eid_112415", title: "3W\u002D323 (Capacity 4)", url: "/space/112415", eid: 112415, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "", filterIds: [], }); resourceNameIdMap["eid_112415"] = "3W\u002D323"; resources.push({ id: "eid_112416", title: "3W\u002D325 (Capacity 4)", url: "/space/112416", eid: 112416, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "", filterIds: [], }); resourceNameIdMap["eid_112416"] = "3W\u002D325"; resources.push({ id: "eid_112417", title: "3W\u002D327 (Capacity 4)", url: "/space/112417", eid: 112417, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "", filterIds: [], }); resourceNameIdMap["eid_112417"] = "3W\u002D327"; resources.push({ id: "eid_112419", title: "3W\u002D331 (Capacity 8)", url: "/space/112419", eid: 112419, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 8, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/10-Seat-Option-in-the-West-Tower-Third-Floor.jpg", filterIds: [], }); resourceNameIdMap["eid_112419"] = "3W\u002D331"; resources.push({ id: "eid_112420", title: "3W\u002D333 (Capacity 4)", url: "/space/112420", eid: 112420, gid: 29594, lid: 1426, grouping: "West\u0020Tower\u0020Third\u0020Floor\u0020Study\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 4, hasInfo: true, thumbnail: "", filterIds: [], }); resourceNameIdMap["eid_112420"] = "3W\u002D333"; resources.push({ id: "eid_113248", title: "E046F (Capacity 5)", url: "/space/113248", eid: 113248, gid: 29747, lid: 1426, grouping: "Media\u0020Viewing\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 5, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-the-Media-Services.jpg", filterIds: [2009,2010], }); resourceNameIdMap["eid_113248"] = "E046F"; resources.push({ id: "eid_113244", title: "E046G (Capacity 5)", url: "/space/113244", eid: 113244, gid: 29747, lid: 1426, grouping: "Media\u0020Viewing\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 5, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-the-Media-Services.jpg", filterIds: [2009,2010], }); resourceNameIdMap["eid_113244"] = "E046G"; resources.push({ id: "eid_113472", title: "E046H (Capacity 5)", url: "/space/113472", eid: 113472, gid: 29747, lid: 1426, grouping: "Media\u0020Viewing\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 5, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-the-Media-Services.jpg", filterIds: [2009,2010], }); resourceNameIdMap["eid_113472"] = "E046H"; resources.push({ id: "eid_113473", title: "E046J (Capacity 5)", url: "/space/113473", eid: 113473, gid: 29747, lid: 1426, grouping: "Media\u0020Viewing\u0020Rooms", gtype: 2, gBookingSelectableTime: false, capacity: 5, hasInfo: true, thumbnail: "https://libraries.indiana.edu/sites/default/files/media/images/5-Seat-Option-in-the-Media-Services.jpg", filterIds: [2009,2010], }); resourceNameIdMap["eid_113473"] = "E046J"; var paginatedResources = springyPagination.createPaginatedResources(resources, springyPage.pageSize); var capacityRangesMap = {}; capacityRangesMap[0] = { min: 0, max: 9223372036854775807 }; capacityRangesMap[1] = { min: 0, max: 4 }; capacityRangesMap[2] = { min: 5, max: 8 }; capacityRangesMap[3] = { min: 9, max: 12 }; capacityRangesMap[4] = { min: 13, max: 9223372036854775807 }; var resourceSettings = createResourceSettings(0); springyPage.resourceCount = resources.length; </script> <script> var pendingBookingsLimitIssues = null; var dateFormatStartTimeDict = "MMDDHHmm"; var dateFormatDayOfYear = "YYYY-MM-DD"; var issueTypeAdditionalText = { "duration": " minutes", "frequency": " bookings", }; var frequencyDisplayStrings = { "d": " per\u0020day", "w": " per\u0020week", "m": " per\u0020month", "y": " per\u0020year", "t": " at\u0020a\u0020time", }; function pendingRoomBookingsAreNowEmpty() { jQuery("#s-lc-eq-form-box").hide(); } function renderPendingRoomBookings() { // ensure all tooltips are hidden jQuery(".tooltip").hide(); if (pendingRoomBookings.length == 0) { pendingRoomBookingsAreNowEmpty(); return; } // refresh the shown cart items // format the room data as html var html = '<div>'; var startDateTimeFormat = springyPage.isDailyBookings ? springSpace.dateFormat : springSpace.getDateTimeFormat(); var endDateTimeFormat = springyPage.isDailyBookings ? springSpace.dateFormat : springSpace.getShortDateTimeFormat(); var totalCost = 0; for (var i = 0; i < pendingRoomBookings.length; i++) { var bookingInfo = pendingRoomBookings[i]; var bookingCost = bookingInfo.cost; var resourceId = bookingInfo.seat_id > 0 ? bookingInfo.seat_id : bookingInfo.eid; var resourceName = resourceNameIdMap['eid_' + resourceId]; html += '<div class="form-group s-lc-pending-booking" id="pending_booking_' + bookingInfo.id + '">'; html += ' <label class="col-md-5 control-label" for="bookingend_' + bookingInfo.id + '"><strong>' + resourceName + '</strong>: ' + bookingInfo.start.format(startDateTimeFormat) + ' ' + springLang.eq_js_until_det + '</label>'; html += ' <div class="col-md-3">'; html += ' <div class="input-group">'; html += ' <select id="bookingend_' + bookingInfo.id + '" name="bookingend_' + bookingInfo.id + '" data-booking="' + bookingInfo.id + '" class="form-control input-sm b-end-date">'; for (var selectionIndex = 0; selectionIndex < bookingInfo.options.length; selectionIndex++) { var selected = bookingInfo.optionSelected == selectionIndex ? 'selected="selected"' : ''; var value = bookingInfo.options[selectionIndex]; var name = moment(value).format(endDateTimeFormat); var checksum = bookingInfo.optionChecksums[selectionIndex]; html += '<option value="' + value + '" ' + selected + ' data-crc="' + checksum + '">' + name + '</option>'; } html += ' </select>'; html += ' <div class="input-group-btn">'; html += ' <button type="button" class="btn btn-default btn-sm" onclick="return removePendingBooking(' + bookingInfo.id + ',' + bookingInfo.lid + ');"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sr-only">' + springLang.eq_js_rem_pending + '</span></button>'; html += ' </div>'; html += ' </div>'; html += ' </div>'; if (bookingCost > 0) { var costDisplay = springSpace.formatCurrency(bookingCost); var costPreview = "\u007Bamount\u007D".replace("\u007Bamount\u007D", costDisplay).replace("\u007Brate\u007D", ""); html += '<label class="col-md-3 control-label s-lc-billing-cost-single">' + costPreview + '</label>'; } html += ' </div>'; html += ' </div>'; html += '</div>'; totalCost += bookingCost; } var bookingDurationOkay = true; if (pendingBookingsLimitIssues) { bookingDurationOkay = false; pendingBookingsLimitIssues.forEach(function(issueDetails) { var limitDisplay = issueDetails.allowed + issueTypeAdditionalText[issueDetails.type] + frequencyDisplayStrings[issueDetails.frequency]; var usedDisplay = issueDetails.used + issueTypeAdditionalText[issueDetails.type]; var issueDisplay = 'Sorry,\u0020you\u0020can\u0020only\u0020reserve\u0020\u007BlimitAmount\u007D,\u0020and\u0020you\u0020currently\u0020have\u0020\u007BusedAmount\u007D.\u0020Please\u0020adjust\u0020your\u0020booking.'.replace('{limitAmount}', limitDisplay).replace('{usedAmount}', usedDisplay); var issueHtml = '<strong>' + issueDetails.group + '</strong>: ' + issueDisplay; html += '\ <div class="form-group">\ <div class="col-md-offset-1 col-md-10">\ <div class="alert alert-warning">' + issueHtml + '</div>\ </div>\ </div>'; }); } if (totalCost > 0) { html += '\ <div class="form-group s-lc-pending-booking">\ <label class="col-md-5 control-label">Total\u0020cost\u0020for\u0020this\u0020reservation\u003A</label>\ <label class="col-md-5 control-label s-lc-billing-cost-total">' + springSpace.formatCurrency(totalCost) + '</label>\ </div>'; } html += '</div>'; // show the booking form box which contains the booking well, the terms + conditions and the booking form jQuery("#s-lc-eq-form-box").show(); // put the item in the displayed cart + set the window focus to the cart var roomCart = jQuery("#s-lc-eq-bwell"); roomCart.empty(); roomCart.html(html); roomCart.focus(); // disable the add equipment and form submission buttons until the times are okay jQuery("#submit_times, #eq_cart").prop('disabled', !bookingDurationOkay); // setup delete icon tooltips accessibleIcons(); // make the tooltip for the cart icon jQuery("#eq_cart").tooltip({ title: springLang.eq_js_cart_tt, html: true, container: "body" }); jQuery('.b-end-date').on('change', function() { var changedBooking = jQuery(this); updatePendingBookingDuration(changedBooking); }); } function preparePendingBookingsPayload() { var payload = []; for (var i = 0; i < pendingRoomBookings.length; i++) { var bookingInfo = pendingRoomBookings[i]; payload.push({ id: bookingInfo.id, eid: bookingInfo.eid, seat_id: bookingInfo.seat_id, gid: bookingInfo.gid, lid: bookingInfo.lid, start: bookingInfo.start.format(springSpace.phpDateTimeFormat), end: bookingInfo.end.format(springSpace.phpDateTimeFormat), checksum: bookingInfo.checksum, }); } return payload; } function updatePendingBookingsFromData(bookings) { pendingRoomBookings = []; for (var i = 0; i < bookings.length; i++) { var booking = bookings[i]; pendingRoomBookings.push({ id: booking.id, eid: booking.eid, seat_id: booking.seat_id, gid: booking.gid, lid: booking.lid, cost: booking.cost, checksum: booking.checksum, name: booking.name, start: moment(booking.start), end: moment(booking.end), options: booking.options, optionSelected: booking.optionSelected, optionChecksums: booking.optionChecksums, }); } } function pendingRoomBookingsUpdateListAndAvailability(payload, fcInstance) { // if we are adding rooms, we might need to hide the previous booking success message jQuery("#s-lc-eq-success").hide(); workingAlert(); // find out booking information jQuery.ajax({ type: "post", url: "/spaces/availability/booking/add", data: payload, dataType: "json", }) .always(stopAlert) .done(function(data) { if (data.error) { if (data.isRefreshRequired) { fcInstance.refetchEvents(); } return errorAlert(data.error); } // success! the entire pending bookings array can be re-created now pendingBookingsLimitIssues = data.limitIssues; updatePendingBookingsFromData(data.bookings); // this request might have came back with updated grid data // if it did not - refresh the whole grid if (data.gridUpdateData) { updateGridEventsForItem(data.gridUpdateData, fcInstance); } else if (fcInstance) { fcInstance.refetchEvents(); } renderPendingRoomBookings(); }) .fail(ajaxErrorHandler); return false; } function createStartTimeToClassMap(gridData) { var startTimeToClassMap = {}; gridData.forEach(function(gridElement) { var startMoment = moment(gridElement.start); startTimeToClassMap[startMoment.format(dateFormatStartTimeDict)] = [gridElement.className]; }); return startTimeToClassMap; } function updateGridEventsForItem(gridUpdateData, fcInstance) { var changedItemId = gridUpdateData.itemId; var changedRangeStart = moment(gridUpdateData.dateStart, springSpace.phpDateTimeFormat); var changedRangeEnd = moment(gridUpdateData.dateEnd, springSpace.phpDateTimeFormat); var startTimeToClassMap = createStartTimeToClassMap(gridUpdateData.gridData); fcInstance.batchRendering(function() { fcInstance.getEvents().forEach(function (clientEvent) { if (clientEvent.extendedProps.itemId !== changedItemId) { return; } var clientEventStart = moment(clientEvent.start); // if this event is before the day of events that was changed - forget it // and we only want to process events that start before the changed range "end" if (clientEventStart.isBefore(changedRangeStart) || !clientEventStart.isBefore(changedRangeEnd)) { return; } var startKey = clientEventStart.format(dateFormatStartTimeDict); if (startKey in startTimeToClassMap) { // this slot is unavailable clientEvent.setProp('classNames', startTimeToClassMap[startKey]); clientEvent.setExtendedProp('status', 1); } else { // this slot is available clientEvent.setProp('classNames', ["s-lc-eq-avail"]); clientEvent.setExtendedProp('status', 0); } }); }); } function timeGridClickedOnAvailableRoom(calEvent, fcInstance) { var resource = calEvent.getResources()[0]; var resourceData = resource.extendedProps; var timeslotData = calEvent.extendedProps; var view = fcInstance.view; var payload = { add: { eid: resourceData.eid, seat_id: resourceData.seatId, gid: resourceData.gid, lid: resourceData.lid, start: moment(calEvent.start).format(springSpace.phpDateTimeFormat), checksum: timeslotData.checksum, }, lid: 1426, gid: 0, start: moment(view.activeStart).format(dateFormatDayOfYear), end: moment(view.activeEnd).format(dateFormatDayOfYear), bookings: preparePendingBookingsPayload(), } return pendingRoomBookingsUpdateListAndAvailability(payload, fcInstance); } function updatePendingBookingDuration(changedBooking) { var fcInstance = getCurrentTimelineInstance(1426); var view = fcInstance.view; var selectedElement = changedBooking.find(':selected'); var payload = { update: { id: changedBooking.data('booking'), checksum: selectedElement.data('crc'), end: changedBooking.val() }, lid: 1426, gid: 0, start: moment(view.activeStart).format(dateFormatDayOfYear), end: moment(view.activeEnd).format(dateFormatDayOfYear), bookings: preparePendingBookingsPayload(), } return pendingRoomBookingsUpdateListAndAvailability(payload, fcInstance); } function removePendingBooking(pendingId, locationId) { var timeline = getCurrentTimelineInstance(locationId); var view = timeline.view; var payload = { removeId: pendingId, lid: 1426, gid: 0, start: moment(view.activeStart).format(dateFormatDayOfYear), end: moment(view.activeEnd).format(dateFormatDayOfYear), bookings: preparePendingBookingsPayload(), } return pendingRoomBookingsUpdateListAndAvailability(payload, timeline); } function formatEventsForFullCalendar(events) { events.forEach(function(eventData) { eventData.resourceId = "eid_" + eventData.itemId; if (eventData.className) { // this slot is unavailable eventData.status = 1; eventData.classNames = [eventData.className]; } else { // this slot is available eventData.classNames = ["s-lc-eq-avail"]; eventData.status = 0; } }); return events; } function timeGridRoomFetchEventsForTimePeriod(start, end, callback, lid, gid, eid) { var data = { lid: lid, gid: gid, eid: eid, seat: springyPage.isSeatBooking, seatId: springyPage.seatId, zone: springyPage.zoneId, filters: springyPage.filterIds, start: moment(start).format(dateFormatDayOfYear), end: moment(end).format(dateFormatDayOfYear), bookings: preparePendingBookingsPayload(), pageIndex: springyPage.pageIndex, pageSize: springyPage.pageSize, }; var url = '/spaces/availability/grid'; if (typeof springyPage.autoCreateBookingDate === 'string') { url = '/spaces/availability/grid/pre-create' data.autoCreateBookingDate = springyPage.autoCreateBookingDate; springyPage.autoCreateBookingDate = null; } springyCommon.closeAllPopups(); jQuery.ajax({ type: 'post', url: url, data: data, dataType: 'json', }) .done(function(data) { callback(formatEventsForFullCalendar(data.slots)); // sometimes on an initial view of the availability grid we auto-create a booking // (currently this is only possible via maps) if (data.isPreCreatedBooking) { updatePendingBookingsFromData(data.bookings); renderPendingRoomBookings(); } var isAtEndOfWindowLimit = data.windowEnd === true; jQuery('#s-lc-window-limit-warning').toggle(isAtEndOfWindowLimit); jQuery('.fc-next-button').prop('disabled', isAtEndOfWindowLimit); var selectorPrefix = ''; var isNextAvailableButtonWanted = (document.querySelector(selectorPrefix + '.s-lc-eq-avail') === null); jQuery(selectorPrefix + '.fc-goToNextAvailable-button').toggle(isNextAvailableButtonWanted); }) .fail(function(xhr) { // let fullcalendar know that the request has completed with no results callback([]); // and display the error to the user ajaxErrorHandler(xhr); }); } </script> </body> </html>