-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Add a check-in/check-out system to track which user has possession of an item, when it was checked out, and when it is expected to be returned. This is essential for shared inventories in organizations, ranges, and armories.
Motivation
In organizational settings — gun ranges, law enforcement armories, training facilities — multiple people access shared inventory. Without formal check-out tracking, items go missing, accountability is lost, and there is no record of who had what and when. A check-in/check-out system brings the same rigor to item custody that stock history brings to quantity tracking.
Proposed Implementation
- Create a
checkoutsDB table (id, item_id, checked_out_by, checked_out_at, expected_return_date, checked_in_at, checked_in_by, notes) - Add
/api/items/:id/checkoutand/api/items/:id/checkinendpoints - Add
/api/checkoutsendpoint for listing all active checkouts - Build checkout/checkin modals with user selection, expected return date, and notes
- Add status indicator on item list: available, checked out, maintenance
- Display checkout status prominently on item detail page
- Show checkout history timeline per item
- Add an active checkouts dashboard widget or page
- Overdue checkouts (past expected return date) should be highlighted
Acceptance Criteria
-
checkoutstable tracks check-out and check-in events with user and timestamp - Items can be checked out with an expected return date and notes
- Items can be checked in with the return recorded
- Item list shows status indicator (available, checked out, maintenance)
- Item detail page displays current checkout status and checkout history
- Active checkouts list is available (dashboard widget or dedicated page)
- Overdue checkouts are visually highlighted
- Only available items can be checked out (prevent double checkout)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request