Use Venue Locations for Inventory
As a Host, I want to use the current venue’s bars and storage areas to define location options for products, tools, and glassware, So that I can assign items to specific physical locations within the venue.
Acceptance Criteria
Section titled “Acceptance Criteria”- Given I have set a current venue (see
set_current_venue.md) - When I add a product, tool, or glassware to inventory
- Then I can select a storage location from the current venue’s bars and storage areas
- And location options are dynamically generated from:
- Bar areas in the current venue (e.g., “Main Bar”, “Kitchen Counter Bar”)
- Storage areas in the current venue (e.g., “Pantry”, “Kitchen Fridge”, “Bottle Cooler”)
- And I can select either:
- A bar area (for items used at service stations)
- A storage area (for items stored when not in use)
- And if no current venue is set, the system uses the default venue (“The Lime Factory”)
- And if a venue has no bars or storage areas defined, generic location options are available as fallback
- And I can filter inventory by location to see all items at a specific bar or storage area
- And I can view all items across all locations in the current venue
Implementation Status
Section titled “Implementation Status”✅ FULLY IMPLEMENTED (January 2026)
Priority
Section titled “Priority”Medium - Important for inventory organization and location tracking
Related Entities
Section titled “Related Entities”- Venue, Bar, StorageArea, Product, Tool, Glassware, Equipment, Inventory
Related Commands
Section titled “Related Commands”SetCurrentVenue(fromset_current_venue.md)GetVenueLocations(to be defined)
Implementation Notes
Section titled “Implementation Notes”Implementation:
-
Location Options Generation: ✅
- Created
shaker/utils/venueLocations.tsutility module getCurrentVenueLocationOptions()- Gets locations from current venue (async)getCurrentVenueLocationOptionsSync()- Synchronous version for default venuegetVenueLocationOptionsById(venueId)- Get locations for specific venue- Dynamically generates options from venue’s bars and storage areas
- Includes bar areas as “Bar: {name}” options
- Includes storage areas as “Storage: {name}” options
- Created
-
Fallback Handling: ✅
- Default venue (“The Lime Factory”) used if no current venue set
- Generic location options provided as fallback if venue has no bars/storage
- Fallback options: Bar Shelf, Pantry, Refrigerator, Freezer, Wine Cellar, Storage Room, Bar Area, Kitchen, Basement, Other
-
Files Modified: ✅
shaker/app/(tabs)/inventory/add-product.tsx- UsesgetCurrentVenueLocationOptions()shaker/app/(tabs)/inventory/tools/add-tool.tsx- UsesgetCurrentVenueLocationOptions()shaker/app/(tabs)/inventory/glassware/add-glassware.tsx- UsesgetCurrentVenueLocationOptions()shaker/app/(tabs)/inventory/equipment/add-equipment.tsx- UsesgetCurrentVenueLocationOptions()shaker/app/(tabs)/inventory/edit-item.tsx- UsesgetCurrentVenueLocationOptions()
-
Utility Functions: ✅
getVenueLocationOptions(venue)- Internal function to format venue locationsgetCurrentVenueLocationOptions()- Get locations from current venue (async)getCurrentVenueLocationOptionsSync()- Synchronous versiongetVenueLocationOptionsById(venueId)- Get locations for specific venuegenericLocationOptions- Exported fallback options
-
Filtering & Views: ✅
- Location filter added to
inventory-items.tsxscreen - Location picker filter with all venue locations
- “Group by Location” toggle to switch between category and location grouping
- Location summary display showing item counts per location (e.g., “15 items at Main Bar, 8 items at Pantry”)
- Location filter integrated with existing category and stock filters
- Location filter added to
Benefits:
- Location options match actual venue structure
- Better organization when working at different venues
- Easy to see what’s where at each venue
- Supports multi-venue inventory management
Related Features
Section titled “Related Features”- Set Current Venue (
set_current_venue.md) - Must be implemented first - Add Venue (
add_venue.md) - Venues must have bars/storage defined - Add Bar (
add_bar.md) - Bar areas added to venues - Add Product/Tool/Glassware stories - Location selection updated
Future Enhancements
Section titled “Future Enhancements”- Multi-venue inventory tracking (items at different venues)
- Location-based inventory reports
- Automatic suggestions based on item type (e.g., cold items → cold storage areas)
- Location capacity tracking
- Move items between locations