Additional Time intervals for appointment and additional form field

Hi, i have a service that last 2 hours and i start working hours at 7am, so this only lets people book 7am slot, 9am slot, 11am slot etc. However i want to chang this, so people can book anytime in half hour intervals ( i.e. 7am 7.30am 8am ) as i have the capacity to fulfill multiple concurrent appointments. How can i do this for all of my provided services ? Also, how do i add in additional dropdown fields for users to fill in when they book an appointment ? I just need one additional field that says preferred method of contact and let them choose between email, phone . Thank you