Add a Bottle to Inventory
As a Host, I want to add a new bottle or product to my inventory, so that the system can accurately track what ingredients I have available for my recipes.
Acceptance Criteria
Section titled “Acceptance Criteria”- I can add a new product to my inventory.
- I must provide the product’s Name (e.g., “Smith & Cross”).
- I can optionally provide the following details:
- Brand (e.g., “Smith & Cross”)
- Type (e.g., Spirit, Liqueur, Mixer)
- Category/Style (e.g., “Jamaican Rum”, “Amaro”, “Tonic Water”)
- Volume and Unit (e.g., 750, ml)
- Storage Location within a venue (e.g., “Pantry”, “Bar Shelf”)
- Current Level (e.g., Full, 75%, 500ml)
- The system should record the product in the inventory.
- The new product should be available for use in recipes and for inventory checks.
- And when viewing a product, I can see visual level indicators:
- Horizontal bar indicator showing fill level
- Vertical bottle-like indicator showing fill level
- Compact badge with percentage
- Detailed indicator with full information
- And level indicators are color-coded by status (full, high, medium, low, empty)
Implementation Status
Section titled “Implementation Status”✅ IMPLEMENTED (December 2025)
Implementation Details
Section titled “Implementation Details”Product Level Visualization:
- ProductLevelIndicator component with multiple variants:
bar- Horizontal bar (default)vertical- Bottle-like vertical barcompact- Small badgedetailed- Full information display
- Color-coded by fill level (green, yellow, orange, red)
- Integration into product detail screen
Files Created:
shaker/components/ProductLevelIndicator.tsx- Level visualization component
Files Modified:
shaker/app/(tabs)/inventory/products/[id].tsx- Added level indicatorsshaker/app/(tabs)/inventory/products/index.tsx- Added level indicators to list
See:
- This story covers the manual addition of a product. A separate story will cover adding a product by scanning a barcode.
- The persona is “Host” but could also be “Bartender”.
Related Commands
Section titled “Related Commands”AddProductToInventory(C50)