docs: def get_reservations(self, sessionid, timeout=None):
          """Returns a list of location IDs and names."""
          url = "{}{}".format(BASE_URL, "/reservations/")
          cookies = dict(sessionid=sessionid)
  
          try:
              resp = requests.get(url, timeout=timeout, cookies=cookies)
          except resp.exceptions.HTTPError as error:
              raise APIError("Server Error: {}".format(error))
          except requests.exceptions.ConnectTimeout:
              raise APIError("Timeout Error")
  
          html = resp.content.decode("utf8")
  
          if "https://weblogin.pennkey.upenn.edu" in html:
              raise APIError("Wharton Auth Failed. Session ID is not valid.")
  
          soup = BeautifulSoup(html, "html5lib")
          reservations = []
          media = soup.find_all("div", {'class': "Media-body"})
          for res in media:
              times = res.find_all("span", {'class': "list-view-item__end-time"})
              reservation = {
                  "date": res.find("span", {'class': "list-view-item__start-time u-display-block"}).get_text(),
                  "startTime": times[0].get_text(),
                  "endTime": times[1].get_text(),
                  "location": res.find("span", {'class': "list-view-item-building"}).get_text(),
                  "booking_id": int(res.find("a")['href'].split("delete/")[1][:-1])
              }
              reservations.append(reservation)
          return reservations