Seems like a fair way to do it (while still extracting lots value), would be to a sort of dutch type auction. E.g. theater seats 1000, so you take bids for the max people are willing to pay.<p>Then, once that closes out, you take enough people to fill, say, the first 5 rows off the top of the list, and charge them whatever the <i>lowest</i> winning bid is of the people in that group. Repeat for each tier going back until the venue is sold out.<p>This actually tackles the inefficiencies at both ends - people willing to splurge on great seats get them, but if a show is not high in demand, you might still get people who kind of want to go to pay, say, $5 for the nosebleeds.