Create a simple Magento Fix/Contribution using Magento's Extension methods.
XML request to UPS should be re-formatted in this manner:
1. XML request must contain the entire cart in a single request (contain multiple <package></package> calls when needed)
2. Any product in shopping cart heavier then 7 pounds must be treated as a separate <package></package> call.
3. Products lighter then 7lbs should be combined together, but the total weight of a resulting package shell not exceed 15lbs. (the 7lb and 15lb limits are subject to future change)
3lbs + 2lbs + 6lbs = 11lbs package;
3lbs + 2lbs + 7lbs = 5lbs package + 7lbs package;
5lbs + 5lbs + 5lbs = 15lbs package;
6lbs + 6lbs + 6lbs = 12lbs package + 6lbs package;
7lbs + 7lbs = 7lbs package + 7lbs package;
7lbs + 2lbs + 6lbs + 3lbs + 6lbs = 7lbs package + 11lbs package + 6lbs package
4. Original Magento's calculation for "bundle product" weight (as a sum of simple products weights it consists of) should be preserved.
5. Each package(<package></package>) must also include correct price for UPS XML <InsuredValue> tags for proper UPS insurance calculation.
6. Must check that all packages are within UPS weight limitations. No <package> should exceed 150lbs. I.e. if bundle product happens to be over 150lbs divide both the weight and InsuredValue to smaller packages to less then 150lbs accordingly.
7. Minimum of 1lb, if object is less then 1lb, just use 1lb
8. Must be coded according to Magento's Extension methods. Original UPS XML functionality does not need to be preserved if new Extension needs to override the Magento original, but in order to be upgrade safe, must be developed as a separate Extension. (IE /app/code/local)
Do not bid if you don't fully understand the task.