[Evergreen-general] Hourly / End of the day checkouts, in building use checkouts

Josh Stompro stomproj at gsuite.larl.org
Tue Oct 26 13:31:32 EDT 2021

  Hello, we are looking at circulating laptops for in building use only,
and are looking into options for how to handle the checkout timing.

We would like to check out each item until the end of the day.  So if a
branch closes at 9pm, then we would always set the due date to 9pm for any
checkouts that day.

We want to be able to immediately bill the next morning, or even that
night.  We are not currently thinking to charge fines, so we don't need to
worry about those right now, or all the current issues with hourly fines.

We were thinking of having a duration rule that specifies 12 hours, since
that covers the longest time period that our locations have open.  But that
causes checkouts in the afternoon to be pushed to the next day, with
potentially extra days added if the next day is a closed day for that

So maybe we should use a shorter time period for the duration rule, to
avoid that.  But then staff will see a due time a few hours in the future,
which may cause confusion.  Ideally the initial checkout due date would be
set correctly, so the receipt could show the exact time the customer should
return the item.  Or maybe we should just not show the exact time for the
due date to keep customers from reading too much into it.

I was looking at how the duration rules work... and I wonder if it would
work to create one, or several special duration rule strings.  And then
teach create_due_date in Circulate.pm how to handle those?

"eod" = end of current day/end of current open period.  (For when the split
hours feature comes in).
"bond" = beginning of next open day
"eond" = end of next open day

Otherwise maybe I could change the duration rule over the course of the
day, so subsequent checkouts don't get pushed to the next day at least...
so at 7pm change the duration rule to be "2 hours" instead of 12... and do
that every couple hours over the course of the day.  Set the interval to
now() - 9pm every time the script is run....  normal=(now()::date + '21
hours'::interval) - now().

We have also thought of just updating the due dates for any non returned
items at 9:01pm each night, so at least the billing would happen correctly
the next morning.

Does anyone have any suggestions for how to make this work?

[image: Company logo]
*Josh Stompro*

*IT Director stomproj at gsuite.larl.org <stomproj at gsuite.larl.org>*
*218-233-3757 ext. 139* | *Mobile: 218-790-2110*

*Lake Agassiz Regional Library | **www.larl.org <http://www.larl.org>*
118 5th ST S
Moorhead MN 56560
*Celebrating 60 Years of Service in 2021!*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.evergreen-ils.org/pipermail/evergreen-general/attachments/20211026/60849b04/attachment.html>

More information about the Evergreen-general mailing list