Details
-
Story
-
Status: Closed (View Workflow)
-
P2
-
Resolution: Done
-
None
-
None
-
-
EPAM-Veg Sprint 143
-
0
-
Vega
Description
On July 2, 2020 Holly split the CIRC-737 user story 'Aged to lost: Automatically age overdue items to lost' into 2 separate user stories:
CIRC-737- 'Aged to lost: Automatically age overdue items to lost - SET COST'CIRC-819- 'Aged to lost: Automatically age overdue items to lost - ACTUAL COST'
This has been done to mimic what was done with the Declared lost user stories.CIRC-751(Aged to lost: Exclude claim returned items from aged to lost process) must be completed withCIRC-737.
GENERAL INFORMATION
- This are two batch process that will run daily at a time set by the institution (one for aging items to lost and the other for billing aged to lost items)
- This process will create fee/fine records for Lost item processing fee and/or Lost item fee
- Aged to Lost settings are located at Settings>Circulation>Lost item fee policies (see attached screen print Lost-Item-Policy.JPG)
- Patron billed after aged to lost : Should the patron be billed now or just notified now? There will be an interval provided.
- Charge lost item processing fee if item aged to lost by system : Should patron be charged the lost item processing fee?
- Charge amount for item : Should actual cost be charged or is a default set cost provided?
- Two new fields have been added to the Loan Record for the aged to lost process - created by user story
CIRCSTORE-199- lostItemHasBeenBilled will be used to indicate if the aged to lost fee has been billed (for use where delayed billing is set up)
- dateLostItemShouldBeBilled will be used to indicate when the aged to lost fee should be billed (for use where delayed billing is set up)
AGED TO LOST PROCESSING
Please note that the code for using Set cost already exists. We are just adding code for "Actual cost" at this point.
PART A: Determine if it is time to bill ACTUAL COST items already set to aged to lost, where institution is using delayed billing
- Scenario (item has aged to lost, but it is not time to bill the fee(s))
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled > System Date and Actual cost selected in Lost Item Fee Policy
Then:
Do no further aged to lost processing for item - Scenario (item is ready to be billed an ACTUAL COST Lost Item Fee, but no Lost Item Processing Fee will be billed)
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled <= System Date, Actual cost selected in Lost Item Fee Policy and Charge lost item processing fee if item aged to lost by system = No
Then:
Set lostItemHasBeenBilled to "true"
Set dateLostItemShouldBeBilled to blank
Build ACTUAL COST record for Lost Item Fees Processing Page (seeUXPROD-3377) - Scenario (item is ready to be billed an ACTUAL COST Lost Item Fee and Lost Item Processing Fee)
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled <= System Date, Actual cost selected in Lost Item Fee Policy and Charge lost item processing fee if item aged to lost by system = Yes
Then:
Set lostItemHasBeenBilled to "true"
Set dateLostItemShouldBeBilled to blank
Create fee/fine record for Lost item processing fee
Build ACTUAL COST record for Lost Item Fees Processing Page (seeUXPROD-3377)
PART B: Determine which loaned items using ACTUAL COST should be marked as aged to lost now and when they should be billed
- Scenario (site does not age non-recalled items to lost)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item not RECALLED
When item NOT claimed returned and Items aged to lost after overdue interval (see Lost Item Fee policy) = 0 or blank
Then:
Do no further aged to lost processing for item - Scenario (site does not age recalled items to lost)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item is RECALLED
When item NOT claimed returned and Recalled items aged to lost after overdue interval (see Lost Item Fee policy) = 0 or blank
Then:
Do no further aged to lost processing for item - Scenario (not time yet to set non-recalled item to aged to lost)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item NOT RECALLED
When item NOT claimed returned, Items aged to lost after overdue interval > 0, and System date is NOT Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date
Then:
Do no further aged to lost processing for item - Scenario (not time yet to set recalled item to aged to lost)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item is RECALLED
When item NOT claimed returned, Recalled items aged to lost after overdue interval > 0, and System date is NOT Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date
Then:
Do no further aged to lost processing for item - Scenario (time to set non-recalled item to aged to lost and bill them, but no Lost Item Processing Fee billed)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item NOT RECALLED
When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval = 0 or blank, Charge lost item processing fee if item aged to lost by system = No
Then:
Set Item status to 'Aged to lost'
Build ACTUAL COST record for Lost Item Fees Processing Page (seeUXPROD-3377) - Scenario (time to set recalled item to aged to lost and bill them, but no Lost Item Processing Fee billed)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item is RECALLED
When item NOT claimed returned, Recalled items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval = 0 or blank, Charge lost item processing fee if item aged to lost by system = No
Then:
Set Item status to 'Aged to lost'
Build ACTUAL COST record for Lost Item Fees Processing Page (seeUXPROD-3377) - Scenario (time to set non-recalled item to aged to lost bill them, including a Lost Item Processing Fee)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item NOT RECALLED
When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval = 0 or blank, Charge lost item processing fee if item aged to lost by system = Yes
Then:
Set Item status to 'Aged to lost'
Create fee/fine record for Lost item processing fee
Build ACTUAL COST record for Lost Item Fees Processing Page (seeUXPROD-3377) - Scenario (time to set recalled item to aged to lost and bill them, including a Lost Item Processing Fee)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item is RECALLED
When item NOT claimed returned, Recalled items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval = 0 or blank, Charge lost item processing fee if item aged to lost by system = Yes
Then:
Set Item status to 'Aged to lost'
Create fee/fine record for Lost item processing fee
Build ACTUAL COST record for Lost Item Fees Processing Page (seeUXPROD-3377) - Scenario (it is time to set the status to aged to lost, but not time to bill yet for non-recalled item)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item is NOT RECALLED
When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval > 0
Then:
Set Item status to 'Aged to lost'
Set flag lostItemHasBeenBilled = "false"
Set dateLostItemShouldBeBilled = calculated date based on Patron billed after aged to lost interval - Scenario (it is time to set the status to aged to lost, but not time to bill yet for recalled item)
Given Item Status NOT = 'Aged to lost', item using ACTUAL COST and item is RECALLED
When item NOT claimed returned, Recalled items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed for recall after aged to lost interval > 0
Then:
Set Item status to 'Aged to lost'
Set flag lostItemHasBeenBilled = "false"
Set dateLostItemShouldBeBilled = calculated date based on Patron billed for recall after aged to lost interval
Create fee/fine record for Lost item processing fee <== Follow what is currently done for SET COST lost items
- Fee/fine type = "Lost item processing fee"
- Fee/fine owner = Use Barcode to locate Item Record; Use Holdings Location: Permanent location from Item Record to find Primary service point within Settings>Tenant>Service Points; Use Service Point in Settings>Users>Fee/Fine: Owners to find associated Fee/fine owner
- Billed date = System date and time
- Billed amount = Lost item processing fee
- Remaining amount = Lost item processing fee
- Payment status = "Outstanding"
- Loan details = link to loan record
- Overdue policy = Overdue fine policy link from Loan record
- Lost item policy = Lost item fee policy link from Loan record
- Action date = System date and time
- Action = "Lost item processing fee"
- Amount = Lost item processing fee
- Balance = Lost item processing fee
- Transaction information = blank
- Created at = "-"
- Source = "System"
- Additional information = blank
Open Issues:
- What should happen if Fee/Fine Owner not found will be addressed by UXPROD-2278
- Patron notices will be addressed by
UXPROD-2165
TestRail: Results
Attachments
Issue Links
- blocks
-
CIRC-1556 BACKEND - Closing declared lost loan (Lost and paid status) for actual cost
-
- Closed
-
-
UIIN-1930 Closing declared lost loan (Lost and paid status) for actual cost
-
- Closed
-
-
UIU-1605 Closing declared lost loan (Lost and paid status) for actual cost
-
- Closed
-
- clones
-
CIRC-737 Aged to lost: Automatically age overdue items to lost - SET COST
-
- Closed
-
- defines
-
UXPROD-2391 Loan: (BE) Declared Lost/Aged to Lost using ACTUAL COST
-
- Closed
-
- has to be finished together with
-
CIRCSTORE-198 Backend: Automatically age overdue items to lost
-
- Closed
-
-
CIRC-751 Aged to lost: Exclude claim returned items from aged to lost process
-
- Closed
-
- is blocked by
-
CIRC-667 New endpoint for aging loaned item to lost
-
- Closed
-
-
CIRC-737 Aged to lost: Automatically age overdue items to lost - SET COST
-
- Closed
-
-
CIRCSTORE-199 Backend: Add "agedToLostDelayedBilling" property to loan schema
-
- Closed
-
-
MODFEE-28 Create automatic FeeFine records on module initialization
-
- Closed
-
-
MODFEE-30 Backend: Update Manual Charges setting due to new automated Fee/Fine Types
-
- Closed
-
-
MODINV-299 Add 'Aged to lost' status to allowed item statuses list
-
- Closed
-
-
MODINVSTOR-503 Add 'Aged to lost' status to allowed item statuses list
-
- Closed
-
-
UICIRC-341 Circ Rules Editor - Add lost item fee policies to policy menu
-
- Closed
-
-
UIU-1156 CRUD Fee/Fine Lost Item Fee Policies
-
- Closed
-
-
UIU-1490 Update Manual Charges display to exclude "automated" fees/fines and to not allow "automated" Fee/Fine Types to be duplicated as "manual" Fee/Fine Types
-
- Closed
-
- relates to
-
CIRC-737 Aged to lost: Automatically age overdue items to lost - SET COST
-
- Closed
-