예약
열람실, 출입 QR 코드
도서관/열람실 자리 사용 현황 크롤링
자동 퇴실
혼잡도 예측/강제 퇴실 빈번한 시간대 예측
사용 종료 10분 전 알람 보내기
예약의 예약
기타 고려사항
const { DateTime } = require('luxon'); // Using luxon for date/time handling
const checkAndResetSeats = () => {
seats.forEach(seat => {
if (seat.reservedTime) {
const reservationEnd = DateTime.fromISO(seat.reservedTime).plus({ minutes: seat.time });
const now = DateTime.now();
if (30000 <= reservationEnd - now && reservationEnd - now < 31000) { // Before 30 minutes
console.log("Before 30 minutes"); // 1800000 over 1860000 under
}
if (now >= reservationEnd) {
console.log(`Resetting seat ${seat.seatNumber} as its reservation has expired.`);
seatArray=[];
seatArray.push(seat);
deleteSeat(seatArray);
}
}
});
};
// Run the check every minute
setInterval(checkAndResetSeats, 10000); // 60000 ms = 1 minute