Time Intervals not showing correctly

I have many services that vary in time. When someone wants to book a service and it takes 2 hours, they should have the option to book the service every 30 minutes that is available not every 2 hours.

I hope I have explained this correctly, and I hope someone can help me figure out how to achieve this.