Изучение (моё) AngularJS на примере?
Я бы диапазон дат формировал на клиенте, запрашивал данные с сервера из этого диапазона.
Таблицу бы рисовал по этому диапазону, а содержимое ячеек уже перебирал по данным с сервера.
В ячейках таблицы обработчики бы расставлял типа
<a href="" ng-click="doSomething(room)">click</a>

а в контроллере:
function MyCtrl($scope,$http) { 
$scope.doSomething(room){
//room - объект комнаты
//можно сохранить на сервер и т.п.
}
}

Я немного продвинулся в своем изучении.
Если структура данных о резервировании содержит объекты, в которых есть поле id — которое обозначает номер помещения и date — которое обозначает дату, то привязку к ячейкам можно сделать следующим образом:

В javascript'е вставить следующий код:

$scope.showreserv = function (room, day) {
            var x = $filter('filter')($scope.reservs, { id: room.id, date: day });

            if (x.length > 0) return x[0].type;
            else return "-";
        }



а в html'е следующий:

<tr ng-repeat="room in stores|orderBy:'name'">
<td ng-click="test(room)">{{room.id}} {{room.name}}</td>
<td ng-repeat="day in days">{{showreserv(room,day)}}</td>
</tr>


коллекция stores содержит информацию о пемещениях, поле id — идентификатор, name — название
коллекция days — содержит дни, начиная с сегодня. (в массиве содержатся целые числа timestamp)
вот этот кусок html кода 

<td ng-repeat="day in days">{{showreserv(room,day)}}</td>


повторяется для каждого помещения и дня и при каждой привязке вызывается функция showreserv. Ее код — выше.

фильтрация — обалденная штука (хотя додумался как с ней работать не сразу)

var x = $filter('filter')($scope.reservs, { id: room.id, date: day });


здесь $scope.reservs — массив всех резервирований.
а { id: room.id, date: day } — обозначает что в результате должны остаться только те элементы, у который поля id и date соответствуют входным параметрам функции привязки.

тут у меня был один ньюанс: фильтр не работал, пока дата в коллекциях была представлена объектом Date. видимо, разные экземпляры не сравнивались. когда вместо объектов Date я стал использовать целое число timestamp — все встело на свои места.

Теперь мне нужно сделать следующие вещи:
1. отображать в ячейках таблицы разные шаблоны для каждого значения типа резервирования и при отсутствии резервирования.
2. привязать к ячейкам обработчик клика
3. сделать так, чтобы данные отправлялись на сервер.