If you offer an immediate delivery service or in-store collect for a specific time of day this can be achieved by combining the delivery zones system and adding a miscelleneous customer field based on time / date.
As an example we do not charge for delivery if the customer picks the order from in-store. Yet we also deliver to specific local areas which have a small delivery charge. The key to this service is we can set a time when we would like the order prepared and ready for either collection in store or delivered.
So how we do this?
Add two shipping zones. One zone will cover the selection for pick up in-store which is free. There is a pricing scheme attached to this but the delivery charge has been set to zero.
The other zone we set up custom local areas to which we deliver to. This zone has also a pricing scheme yet a small charge is made for delivery.
On our Pick Up At Store option we have set a pricing scheme yet its at zero charge.
On the eShop settings page we edit the miscellaneous fields and add a customer field Store Delivery Times / Hours
We set our hours when we deliver as the diagram below.