Интерфейс назначения времени встречи

Юрий11 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
23.05.2014

Вместо обычного элемента HTML формы по заданию интервала времени От и До с datetime picker-ом, требуется предложить современный адаптивный HTML5/Javascript интерфейс, который кроме всего прочего накладывает ограничения на возможные диапазон задания даты.

Ограничения следующие:

1) Праздники, массив holidays

$holidays = array ( "23/05/2014", "28/05/2014", "05/06/2014" , "23/05/2014");

2) Время работы учреждения, массив opening_hours

$opening_hours = array(

0 => array( // Пн c 9 до 20, перерыв с 13 до 14

array('09:00', '13:00' ),

array('14:00', '20:00' )

),

1 => array( '09:00', '20:00' ), // Вт c 9 до 20

2 => array( '09:00', '20:00' ),

3 => array( '09:00', '20:00' ),

4 => array( '11:00', '18:00' ),

5 => array( '11:00', '15:00' )

);

Вс - выходной, т.к. нет данных для ндекса 6. Ещё возможно сокращение "0-4" => array( '09:00', '20:00' ), это для случая, когда все будние дни время работы одинаковое.

3) Время работы конкретного сотрудника working_hours - массив по формату полностью аналогичен предыдущему

4) Время, когда конкретный сотрудник уже занят busy_time:

$busy_time = array (

"23/05/2014" => array( '09:00', '11:00' ),

"28/05/2014" => array( '09:00', '12:00' ),

"05/06/2014" => array( '09:45', '11:30' ),

"13/06/2014" => array( '09:00', '11:00' ),

"23/05/2014" => array( '09:00', '12:00' ),

"23/05/2014" => array( '13:45', '18:15' )

);

Вернуть надо date_time_from и date_time_to .

Имея исходные данные в виде массивов holidays, opening_hours, working_hours и busy_time требуется предложить интерфейс для удобного назначения время встречи.

Примеры:

http://dhtmlx.com/docs/products/dhtmlxScheduler/

или http://javascript.daypilot.org/demo/scheduler/

или http://demos.telerik.com/kendo-ui/web/scheduler/index.html