Hello Nettower, thanks for your message. I think that is a separate issue. From the reading of code, all available time slot for next delivery time is put into an array. I am not sure why the initial coding is like that. I am not to comment if that is suit for purpose. But, I used a temporarily work around, by changing the the delivery time from its next value from array, to current time + delivery interval, e.g. if current time is 17:07, and delivery time is 40 minutes, it will show 17:47 instead the next value from its array.
To get this work aroud done, you need to modify code in the orderTimeRange() method in Location.php, change $order_times['asap'] value from $time to date('d-m-Y H:i', $this->current_time + ($time_interval * 60));
I would not suggest to have author to modify the official code, because this is just a preference, not a bug. the best way is for code to provide a method to allow choosing fixed time slot like current code does, or to just use the current time + delivery interval, which I described as above.