if(!$this->check_datetime_availability(TRUE))
{
throw new Exception($this->lang->line('Hours not available'));
}
$available_periods = $this->get_provider_available_time_periods(
$appointment['guid_users_provider'], date('Y-m-d', strtotime($appointment['start_datetime'])),
$exclude_appointments, $exclude_breaks);
foreach($reserved_appointments as $appointment) {
if (isset($selected_date_working_plan['breaks']) && !$exclude_breaks) {
But, it could be possible to make a setting for that so that breaks do not block appointments, but then again there is no reason to enter breaks (at least this is only how I see it).
Anyway the modification I did on the file was on the appointments.php controller and will change the appointment hour gap from 15 minutes to 1 hour (eg 10:00, 11:00, 12:00...)
Solving your issue directly requires more work because E!A was not designed to work this way (e.g. take a look at how the appointment availability is validated). You cannot just disable the appointments without completely rewriting some part of the appointments controller.