-
- Notifications
You must be signed in to change notification settings - Fork 571
Description
Summary
Diaper banks would like to allow partners to request event-specific kits. For example: first time menstrual kits, new infant kits, first time adult incontinence kits. A first-time menstrual kit might contain single pads of several sizes as well as tampons of several sizes. A new infant kit might contain diaper cream and a package of wipes as well as newborn diapers.
In order to do this, diaper banks need to be able to 1)define kits and 2)convert existing inventory into "kit" inventory. And 3) partners need to be able to order kits
Kit Inventory Conversion Details
Because kits are composed of products already recorded in inventory, we need to support the conversion of non-kit constituent products into a kit record.
Example imagine a First-Time Menstrual Kit is: 1 Large Pad, 2 Small Pad, and 1 Tampon and current inventory is 900 Large Pads, 800 Small Pads, and 1500 Tampons. When a diaperbase user builds 150 first-time menstrual kits, inventory should be updated to: 150 First-Time Menstrual Kits, 750 Large Pads, 500 Small Pads, and 1350 Tampons
The goal is to keep total inventory value constant while building kits.
UX/UI input is very welcome. Suggested Workflow:
Under Inventory -> Inventory Adjustments add a +Build Kits button next to +New Adjustment
User needs to input:
Type of kit (this should already be defined via the kit definition workflow)
Number of kits being built
We should throw an error and fail kit creation if existing inventory is not sufficient to build the user-entered number of the selected kit.
Once a Build Kit request has been submitted, Inventory should be updated to reflect an increase in the number of kits and a decrease in the inventory of products that were used to build those kits.
Automated Unit Tests for Kit Inventory Conversion
Validate that kit creation fails if current inventory is not sufficient (in terms of the example above, if there are only 50 Tampons in inventory, and the user try to build 100 First Time Menstrual Kits, we should throw an error and fail)
Validate that for a kit that is composed of several different quantities of multiple items, kit creation updates both kits and each constituent kit element in Inventory