Change Ubercart shipping/billing layout & logic? I'm selling some tickets for a concert online with Ubercart, and I give people the option of holding the tickets at Will Call, or mailing them out for $1.

The customer's workflow when they're checking out looks a little wonky right now. The first set of address fields is the Shipping Address, then they can click the checkbox to indicate "My billing information is the same as my delivery information." But for a Will Call person, that feels backwards. They shouldn't need to enter a shipping address at all.

Is there a way to put the Billing Information first, and only expose a Shipping Information block when it's needed?

Seems like the same question would pertain to an electronic delivery situation too - but in that case you'd also be generating download links, etc., which I wouldn't need.

Thanks.

(Note - I also posted this question yesterday on ubercart.org's forums, but it looks like traffic there is very slow, I'm wondering whether this is a better place for it.)
You can change the order here:

admin/store/settings/checkout/edit/panes

But you cannot dynamically determine whether the shipping is required. (at least not without tweaking the code.)

Do you really need to offer both anyway? (how often person A buys tickets that need to be sent to person B?)