I need the functionality of the Product Kit in Drupal's Ubercart to be expanded to allow the customer to de-select and not include certain items in the kit. This would most likely be accomplished through a custom module, but I'm open to other equally-effective solutions.
There should be an option displayed in the Product Kit which tells the customer that an item listed in the kit is *optional*, and allows them to easily de-select it and not have it added to their cart when they click on the Add To Cart button.
I need to be able to choose which items within the Product Kit are "optional" and which are not. Only the items I have designated as optional should be allowed to be de-selected from the Product Kit.
At this point, my best guess for the easiest way to implement this, from the customer's point of view, is to add a check box next to the "optional" items in the Product Kit, and when the box is un-checked then the item is not added to the cart. They layout, design and wording of this should be easy for me to modify.
Obviously, all work should be done using best practices, including documentation of the code for easy modification by other programmers at a later time, and a best effort to do things "The Drupal Way" so that it does not break and become inoperable when Drupal is updated.
## Deliverables
1) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the worker's Worker Legal Agreement).
2) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
3) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Worker in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
## Platform
Linux and Apache