We describe a generalization of the Vickrey auction. Our mechanism extends the auction to implement efficient allocations for problems with more than one good, multiple units for the goods, and externalities. The primary restriction on preferences is that they must be quasilinear.
http://deepblue.lib.umich.edu/bitstream/2027.42/41250/1/gva3.pdf