def METHOD_NAME(day: date) -> Tuple[datetime, datetime]:
    """Return datetime objects representing open and close for a day rounded
    down to the hour.
    If the lab is closed all day (e.g. holiday), just return our weekday hours.
    """
    hours_listing = get_hours_listing()
    d = hours_listing.hours_on_date()
    if d:
        start = datetime(day.year, day.month, day.day, min(h.open.hour for h in d))
        end = datetime(day.year, day.month, day.day, max(h.close.hour for h in d))
    else:
        start = datetime(
            day.year,
            day.month,
            day.day,
            min(h.open.hour for hour_list in hours_listing.regular.values() for h in hour_list),
        )
        end = datetime(
            day.year,
            day.month,
            day.day,
            max(h.close.hour for hour_list in hours_listing.regular.values() for h in hour_list),
        )
    return start, end