Alternate Loan Period With Pending Hold Request

Description

Purpose: As a library staff member who administers loan policies, I want to configure FOLIO to allow for the loan period configured in a policy to be altered in the event that additional patrons are waiting to check out the same barcoded item.

At checkout, I would like FOLIO to assess the request queue for pending hold requests and alter the loan period at checkout according to the loan policy configurations established in the 'Alternate loan period at checkout for items with an active, pending hold request' under the scenarios that follow.

Currently in FOLIO, there are different Request Status between the top queued item (Request queue = 1; Request Status = Open - awaiting pickup) and the remaining queued items (Request queue = 2, 3,...n; Request Status = Open - not yet filled). When considering "pending hold requests", this applies to items with two or more queued requests, where the 2nd request is a Hold.

Scenarios:

1. Scenario: (Request queue = 1; Existing Hold is for patron checking out)

At checkout:

  • Given item barcode, which has:
    Request queue = 1
    Type = Hold
    Request Status = Open - awaiting pickup

  • Then allow normal checkout

2. Scenario: (Request queue = n>1; Holds exist following active patron check-out; Alternate loan=Y; Rolling)

At checkout:

  • Given item barcode, which has:
    Request queue = n>1

  • Then if for request in position 2:
    Type = Hold
    Request Status = Open - not yet filled

  • AND Given Loan Policy X, where:
    Loanable = Y
    Loan profile = Rolling
    Alternate loan period at checkout for items with an active, pending hold request = <any value other than ‘null’>

  • Then ignore ‘Loan period’ and use ‘Alternate loan period at checkout for items with an active, pending hold request’ value for determining due date-time for loan.

  • Note: Existing logic for ‘closed library due date management’ settings and ‘Fixed due date schedule (due date limit) will still apply when determining the final calculated Due date-time for the loan.

3. Scenario: (Request queue = n>1; Holds exist following active patron check-out; Alternate loan=Y; Fixed)

At checkout:

  • Given item barcode, which has:
    Request queue = n>1

  • Then if for request in position 2:
    Type = Hold
    Request Status = Open - not yet filled

  • AND Given Loan Policy X, where:
    Loanable = Y
    Loan profile = Fixed
    Alternate loan period at checkout for items with an active, pending hold request = <any value other than ’null’>

  • Then use this ‘Alternate loan period at checkout…’ value to determine due date-time for loan.

  • If calculated due date is an earlier date than the Due Date associated with the ‘Fixed due date schedule’ selection, then use the due date that was calculated as described above.

  • ELSE If calculated due date is a later date than the Due Date associated with the ‘Fixed due date schedule’ selection, then use the ‘Fixed due date schedule’ Due Date for the loan.

  • Note: Existing logic for ‘closed library due date management’ settings still apply.

4. Scenario: (Request queue = n>1; Holds exist following active patron check-out; Alternate loan=<null>; Rolling OR Fixed>

At checkout:

  • Given item barcode, which has:
    Request queue = n>1

  • Then if for request in position 2:
    Type = Hold
    Request Status = Open - not yet filled

  • Then Given Loan Policy X, where:
    Loanable = Y
    Loan profile = Rolling OR Fixed
    Alternate loan period at checkout for items with an active, pending hold request = <null>

  • Then ignore the ‘Alternate loan period at checkout…’ field and calculate the due date-time for the loan as you would a normal checkout with no associated requests.

Environment

None

Potential Workaround

None

Checklist

hide

TestRail: Results

Activity

Show:

Cate BoeremaSeptember 26, 2019 at 10:20 AM

This seems to be working great. Thanks so much !

Cate BoeremaSeptember 20, 2019 at 2:29 PM

That fits with my reading of scenario 3 above.

Marc JohnsonSeptember 20, 2019 at 10:40 AM

yes, that is what said in this comment, right?

I'm not sure it is quite the same.

has noted a concern

I have concerns about whether this would currently work in a scenario where we actually change the loan from type=fixed to type=rolling.

And this is effectively what I am proposing.

Given that Charlotte has requested that item X be held (it was previously checked out to be able to do this)
And Julia has also requested that item X be held
And the loan policy being applied is fixed with an alternate period for hold requests
When Charlotte checks out item X
Then Charlotte's request will be fulfilled
And Julia's request will be in position 1 in the queue for item X
And the loan to charlotte will be applied as rolling, with the alternate period, and a due date limit of the original fixed due date schedules

Does that fit with both of your understanding's of this change?

Marc JohnsonSeptember 11, 2019 at 11:12 AM

I'm trying to refresh my understanding of this work.

During scenario 3

Does this effectively mean that the policy becomes rolling with the alternate loan period limited by the main fixed due date schedule chosen in the main policy?

Done

Details

Assignee

Reporter

Priority

Story Points

Sprint

Development Team

Prokopovych

Fix versions

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created January 31, 2019 at 5:01 AM
Updated October 7, 2019 at 11:16 AM
Resolved September 26, 2019 at 10:20 AM
TestRail: Cases
TestRail: Runs