Done
Details
Assignee
Jason SavellJason SavellReporter
sthomassthomas(Deactivated)Priority
P2Story Points
13Sprint
NoneDevelopment Team
ProkopovychFix versions
TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee
Jason Savell
Jason SavellReporter
sthomas
sthomas(Deactivated)Priority
Story Points
13
Sprint
None
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
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.