Yes, book it in advance, you won’t get the factory tour if you leave it too soon before travel. Forget about getting the tour turning up on the day.

I’ve only rented from the BMWonDemand.de range, again I booked in advance. However I did see someone secure an M3 booking at the counter. It was October during Oktoberfest. I don’t know if classics are available through the same service.