Выбор большого числа временных промежутков

HEm

Сетевой бобер
Лирическое отступление: есть автосервис, с кучей мастеров, каждый мастер работает с 10:00 до 18:30, на запись к нему встают автолюбители в произвольное (свободное, естественно) его рабочее время.
Задача: дать мастеру возможность быстро вбить/отредактировать данные о своем свободном времени, на 2-3 месяца вперед, временные промежутки кратны получасу, то есть например "1 апреля я свободен с 10:00 до 11:30, с 14:00 до 15:00 и с 15:30 до 17:30, 2 апреля..... и т.д."

вопрос первый, скорее для форума по БД - как лучше организовать хранение данные, хранить ли сами временные промежутки с указанием начала и конца либо хранить на каждый день по 17 записей о каждом получасе с флажком свободен/занят
вопрос второй - можно тупо реализовать в админке вывод портянки за три месяца (милосердно схлопнув блоки понедельно или помесячно, как то так

однако, предвидя неизбежную диарею, насылаемую на меня пресловутыми мастерами, а также возможные проблемы с производительностью (полторы тысячи чекбоксов на странице это нормально вообще?) хочется упростить им работу и сделать чтото навроде вот такого

соответственно вопрос - есть ли какие то реализации такого множественного выбора на jQuery? Был бы весьма признателен за наводку
есть еще вариант - пихнуть несколько range slider типа таких http://www.egrappler.com/jqslider/demo.htm но предвижу усиленный геморрой и относительное неудобство использования, не говоря уж о нагрузке на страницу

Приветствуются также ссылки на любые реализации похожих задач. Заранее спасибо.
 

HEm

Сетевой бобер
В целом неплохо, только кажется весьма сложным для переделки. Я, кажется, уже склонился к мысли реализовать самому.

А в БД ложить только несвободные кусочки времени, таблица такая

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`master_id` bigint(20) unsigned NOT NULL,
`dt` date NOT NULL,
`hh_no` int(10) unsigned NOT NULL DEFAULT '20',
hh_no - номер получаса, соответственно 20-й это с 10:00 до 10:30
 

akd

dive now, work later
Команда форума
dtfrom datetime
dtto datetime

твой вариант это костыли такие .. не очень красивые :)
 

HEm

Сетевой бобер
некрасивые, но так рисовать легче
если бы было условие о произвольных временных промежутках, определяемых слайдерами или логами gps-навигатора например - да, там лучше фиксировать начало-конец, а если дискретные куски - то сразу привязку к чекбоксам/квадратикам по id
впрочем и так и так возникает нужда в промежуточных телодвижениях по сочетаемости
 

akd

dive now, work later
Команда форума
ну просто я писал такую хрень лет семь тому и потом поддерживал года два, с датами работать сильно проще, чем с какими-то костылями. :)
 
Сверху