You don’t necessarily need to implement bidding on a dedicated slot—-the TV comparison assumes you’re sending the same thing to each user. This isn’t TV though, you can display different ads to different people of you wanted.
How about a system where probability of seeing an ad is weighted by how much money an advertiser pays? Then you just normalize across bidders and choose on that curve. Then perhaps the time slots just serve as a bucket to allow advertisers to approximate their target audience, perhaps there are additional buckets for things like geolocation.