Starting in Fall 2023, we created a bot to reservering study rooms in the UCF library. It was created in Python with Selenium/Chrome. The bot used multiple students logins to support more then four hours a day. RoomBot1.0 can be found here RoomBot1.0
Eventually in 2024, I realized that Selenium/Chrome is unreliable, so i re-created the bot as RoomBot2.0 which useds requests, and replicated what the UI/JavaScript would do on the real website. RoomBot2.0 can be found here RoomBot2.0
RoomBot2.0 had an improved algorithm which preplanned what rooms should be reserved, with 18 valid student logins, we ended up reserving 3 study rooms, all day every day of the week.
In the Winter of 2024, UCF changed how the Libcal sign in works with Microsoft/UCF SSO, and the sessions require 2FA. At this point the bot stopped working. Successfully logining in with requests for a system that uses SSO is the hardest part. This could be fixed by authenticating each user with 2FA and saving login session details, but the Microsoft, cookies, and session are complex.
In the Spring (March Spring break) of 2025, UCF came out with new study room booking procedures https://library.ucf.edu/news/new-study-room-booking-process/. https://www.reddit.com/r/ucf/comments/1jgkswd/new_study_room_booking_process/
- Reservations up to 4 hours per day – Students can now book study rooms for longer, uninterrupted study sessions.
- Monthly limit of 16 hours per patron – This ensures more students have access to study spaces throughout the month.
- Check-in requirement within 15 minutes – If you do not check in within 15 minutes of your reservation time, your booking may be canceled, allowing other students to use the space.
- Booking available up to 3 days in advance – Plan ahead while keeping rooms accessible for last-minute study needs.
- No automated reservations – The use of scripts or automated software to book rooms is prohibited to keep the process fair for all students.
This is the first time that UCF said that bots weren't allowed, up until this point, there was no policy against this. If you really wanted, you could still get a bot to work. If you have enough students logins, you could still have a reservation everyday.
- Over time RoomBot1.0 reserved over 911 hours in rooms, over a period over a few semesters.
- With RoomBot2.0 over a few weeks reservered 340 hours of rooms.
- All Time Hours: 1251
- All Time: 1 month, 22 days, 3 hours