What I am trying to do is create a "preorder" functionality. Customers will still pay immediately. The only difference between ordering a product and its preorder variant is the price and the length of time before the customer will receive it.
What I have done is set up a "Preorder Status" characteristic with only one value ("Preorder"). And on the product configuration page, I created a variant with that characteristic, and a different price, quantity, and product ID. When this variant is published, everything works great. The variant's price and quantity are displayed. When it is unpublished, what I would like to see is that the price returns to the default price of the product, and the stock returns to the default stock level. Instead it says that there are none in stock, the price is still the preorder price, and the drop down with "Preorder" is still visible.
Example of what I would like to happen: I have 1000 of Product1 (future stock) for $10. I would like to allow 200 of Product1 to be ordered before I physically have the product, for $5. The product code is different (Product1-P). As soon as those 200 are sold or as soon as I physically have the product (whichever comes first) the preorder period is over, and Product1 is now displayed at price of $10 and without the "Preorder" characteristic being shown any longer. The stock level should now be at 800.
Am I going about this the wrong way? It could be done with two different products, but that would be much more work.