My client wants sort of a layaway functionality. The customer should be able to order as many orders as they want, and defer the actual shipment of the orders. Then when they want the product shipped, they can click a button that basically says "Ship my stuff" and all the orders should be able to ship.

The plan I have is that on checkout there will be a checkbox that says to hold the shipping.
Clicking the button goes through all the orders and changes that field to false where it's true for that user, and notifies the admin of the store.

The problem is the shipping charges. The shipping should quote through UPS for all the orders combined, then subtract what they've already paid. Thus I need to modify the list of products before the quote request gets sent, and modify the price immediately afterwards. Is there a hook for this somewhere? Or any suggestions for alternative solutions? api.ubercart.org seems to be down.

Comments

mcaden’s picture

Another thing to note is that I've tried action conditional actions for when a quote is retrieved, but my actions never get fired. It gets the quote just fine but the action I define whether it's custom PHP code or simply displaying a message to the user never gets fired. I tried this in the "Get a UPS quote" action\

longwave’s picture

Actions not firing on the quote triggers is "by design", only the conditions are used even though the interface allows you to add actions.

Unfortunately I don't think there are any useful hooks for what you want to do here, but you might be interested in #630096: uc_quote patch that enables 3 new hooks + shipping exemption or if you want to submit a suggestion or patch please do so.

http://api.ubercart.me/ is a more up to date (and more often working!) alternative to api.ubercart.org.

mcaden’s picture

That looks like it work, I'll look into it, Thanks!

I will post back here with my results.

longwave’s picture

Status: Active » Fixed

I guess the original support request here is fixed, if you want to contribute to that hooks issue or open a new issue with a feature request/patch for this functionality, please do so!

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.