JSFiddle - React, Tailwind, and code Playground
HTML
<div ng-app="App" ng-controller="MainCtrl">
<table>
<thead>
<tr>
<th>Date/Time:</th>
<th ng-repeat="entry in calendar">{{entry.date}}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="hour in workhours">
<td>Time: {{hour}}</td>
<td ng-repeat="entry in calendar">
{{entry.hours_free.includes(hour) ? 'FREE' : 'BUSY'}}
</td>
</tr>
</tbody>
</table>
</div>
CSS
td{
padding: 3px;
width: 400px;
border-left: solid 1px black;
}
JavaScript
angular.module('App', [])
.controller('MainCtrl', ['$scope', function($scope){
$scope.calendar = [
{date: '2016-05-18', hours_free: [9, 10, 11, 12, 13, 14, 17]}
, {date: '2016-05-19', hours_free: [9, 10, 11, 12, 13, 14, 15, 16, 17]}
]
// Just a helper to give us a range from 9 to 17
$scope.workhours = Array.from({length:9}).map((_, i)=> i + 9);
}])