a retailer doesn't have the item in stock, and even if the retailer KNOWS they don't have the item in stock, it doesn't follow that they KNOW they wont be able to deliver.
If I'm a retailer selling something and I am expecting a delivery of the item to my warehouse tomorrow I don't see it as unreasonable to take an order from a customer for the item.
Providing I have the wherewithal to make a rapid refund, in the event that I don't get the goods in stock as I expect, I don't see a problem with taking payment either. The important thing is that there should be no deception.
And I say that as a customer, not a retailer.
Having said that, I don't know the legal requirements.