Hi,
First option would be to add your custom control to the Shipping selection step control - in the file
\CMSModules\Ecommerce\Controls\ShoppingCart\ShoppingCartPaymentShipping.ascx
so that your customers won't need to go through extra step (it's common trend to rather reduce the steps count nowadays).
Following your aim exactly - the extra step - I think the best way would be to check the extra step customization scenario (example) at
E-commerce guide - creating custom checkout process steps article.
You can store the collected value (datetime) in the
ShoppingCartCustomData and use it later in the Order (when an order is created, that ShoppingCartCustomData are transferred to OrderCustomData). You can use SetValue and GetValue method with this XML structure data field.
Please feel free to contact us if you have any additional questions.
Regards,
Zdenek