Details
-
Umbrella
-
Status: Closed (View Workflow)
-
TBD
-
Resolution: Done
-
None
-
None
-
-
Prokopovych
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
- See attached flow chart Aged2Lost.jpg for overview
- This is a batch process that will run daily at a time set by the institution
- 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)
IMPORTANT NOTE
Fee/Fine Types "Lost item fee" and "Lost item processing fee" exist in the Manual Charges table (at Settings>Users>Fee/Fine: Manual Charges) with the new Manual/Automated Flag set to "automated." "Overdue fine" Fee/Fine Type was added first, under the direction of Vega team member Oleksandr Kurash, so please contact him for for more information.
AGED TO LOST PROCESSING
PART A: Determine if it is time to bill items already set to aged to lost, where institution is using delayed billing
- Scenario
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled > System Date
Then:
Do no further aged to lost processing for item - Scenario
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled <= System Date and Lost item fee policy set to use Actual cost
Then:
Do no further aged to lost processing for item
(Note:UIU-1500will take care of changing the status of this item and closing the loan) - Scenario
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled <= System Date, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = No
Then:
Set lostItemHasBeenBilled to "true"
Set dateLostItemShouldBeBilled to blank
Do no further aged to lost processing for item - Scenario
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled <= System Date, Lost item fee policy Set cost = 0 or blank 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 - Scenario
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled <= System Date, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = No
Then:
Set lostItemHasBeenBilled to "true"
Set dateLostItemShouldBeBilled to blank
Create fee/fine record for Lost item fee - Scenario
Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
When Loan Record field dateLostItemShouldBeBilled <= System Date, Lost item fee policy Set cost > 0 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 fee
Create fee/fine record for Lost item processing fee
PART B: Determine which loaned items should be marked as aged to lost now and when they should be billed
- Scenario
Given Item Status NOT = 'Aged to lost'
When item claimed returned
Then:
Do no further aged to lost processing for item - Scenario
Given Item Status NOT = 'Aged to lost'
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
Given Item Status NOT = 'Aged to lost'
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
Given Item Status NOT = 'Aged to lost'
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 and Lost item fee policy set to use Actual cost
Then:
Do no further aged to lost processing for item - Scenario
Given Item Status NOT = 'Aged to lost'
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, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = No
Then:
Set Item status to 'Aged to lost'
(Note:UIU-1500will take care of changing the status of this item and closing the loan) - Scenario
Given Item Status NOT = 'Aged to lost'
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, Lost item fee policy Set cost = 0 or blank and 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 - Scenario
Given Item Status NOT = 'Aged to lost'
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, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = No
Then:
Set Item status to 'Aged to lost'
Create fee/fine record for Lost item fee - Scenario
Given Item Status NOT = 'Aged to lost'
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, Lost item fee policy Set cost > 0 and 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 fee
Create fee/fine record for Lost item processing fee - Scenario
Given Item Status NOT = 'Aged to lost'
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, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = No
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
Given Item Status NOT = 'Aged to lost'
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, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = Yes
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
Given Item Status NOT = 'Aged to lost'
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, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = No
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
Given Item Status NOT = 'Aged to lost'
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, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = Yes
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
Create fee/fine record for Lost item fee
- Fee/fine type = "Lost item 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 = Charge amount for item
- Remaining amount = Charge amount for item
- 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 fee"
- Amount = Charge amount for item
- Balance = Charge amount for item
- Transaction information = blank
- Created at = "-"
- Source should be "System"
- Additional information = blank
Create fee/fine record for Lost item processing fee
- 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-667 New endpoint for aging loaned item to lost
-
- Closed
-
-
CIRC-668 Backend - Aged to lost: Check in
-
- Closed
-
-
CIRC-669 Backend - Aged to lost: Check out (not allowed)
-
- Closed
-
-
CIRC-670 Backend - Aged to lost: Prevent all request types
-
- Closed
-
-
CIRC-671 Backend - Aged to lost: Renewal (staff only)
-
- Closed
-
-
CIRC-672 Backend - Aged to lost: Prevent change due date
-
- Closed
-
-
CIRC-819 Aged to lost: Automatically age overdue items to lost - ACTUAL COST
-
- Closed
-
-
CIRC-844 Aged to lost: Renewal (effect on lost item fees) - SET COST
-
- Closed
-
-
CIRC-845 Aged to lost: Check in (effect on fees/fines) - SET COST
-
- Closed
-
-
UICHKIN-164 Aged to lost: Check in
-
- Closed
-
-
UICHKOUT-600 Aged to lost: Checkout (not allowed)
-
- Closed
-
-
UIIN-1006 Aged to lost: Behavior in Inventory
-
- Closed
-
-
UIREQ-429 Aged to lost: Prevent all request types
-
- Closed
-
-
UIU-1220 Claim returned-2.3: effect on SET COST fees when item is lost or missing
-
- Closed
-
-
UIU-1500 Aged to lost: Closing (Lost and paid status) - SET COST
-
- Closed
-
-
UIU-1645 Claim returned-1.5: Effect on SET COST fees for item status Aged to Lost
-
- Closed
-
- defines
-
UXPROD-87 Loan: Aged to Lost using SET 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
-
-
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
-
- is cloned by
-
CIRC-819 Aged to lost: Automatically age overdue items to lost - ACTUAL COST
-
- Closed
-
- is defined by
-
CIRC-835 [SPIKE] Technical design for the 'Aged to lost' feature
-
- Closed
-
-
CIRC-851 Age to lost: Mark overdue loans as Aged to lost
-
- Closed
-
-
CIRC-852 Age to lost: Assign lost fees for aged to lost loans - SET COST
-
- Closed
-
-
CIRC-854 Age to lost: Add billing date and time when aging an item to lost - SET COST
-
- Closed
-
- relates to
-
CIRC-819 Aged to lost: Automatically age overdue items to lost - ACTUAL COST
-
- Closed
-