diff --git a/biscuit/apps/chronos/urls.py b/biscuit/apps/chronos/urls.py
index fb05d07e00ebd88e0b65580d333d33fce952f568..4161fb3c33f52407f1a653635749feaf16976228 100644
--- a/biscuit/apps/chronos/urls.py
+++ b/biscuit/apps/chronos/urls.py
@@ -5,4 +5,6 @@ from . import views
 
 urlpatterns = [
     path('timetable', views.timetable, name='timetable'),
+    path('lessons', views.lessons_day, name='lessons_day'),
+    path('lessons/<when>', views.lessons_day, name='lessons_day_by_date')
 ]
diff --git a/biscuit/apps/chronos/util.py b/biscuit/apps/chronos/util.py
index 73790dcaa5ebed08fee0a75ec7949be5a3be1ff3..fe78d98d774c6467de2ccf70846f3a9e052f5c50 100644
--- a/biscuit/apps/chronos/util.py
+++ b/biscuit/apps/chronos/util.py
@@ -30,3 +30,7 @@ def current_lesson_periods(when: Optional[datetime] = None) -> models.query.Quer
                                        period__weekday=now.isoweekday(),
                                        period__time_start__lte=now.time(),
                                        period__time_end__gte=now.time())
+
+
+def week_weekday_from_date(when: date) -> Sequence[int, int]:
+    return (int(when.strftime('%V')), int(when.strftime('%u')))
diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py
index 0e6d69daa5bc9443302874588ec4c33ed3472ea2..0093134989a1241a4d52306a82756abfd8bb09e9 100644
--- a/biscuit/apps/chronos/views.py
+++ b/biscuit/apps/chronos/views.py
@@ -1,4 +1,5 @@
 from collections import OrderedDict
+from datetime import date, timedelta
 
 from django.contrib.auth.decorators import login_required
 from django.db.models import Max, Min
@@ -12,7 +13,7 @@ from biscuit.core.models import Group, Person
 
 from .forms import SelectForm
 from .models import LessonPeriod, TimePeriod, Room
-from .util import current_week
+from .util import current_week, week_weekday_from_date
 
 
 @login_required
@@ -78,3 +79,28 @@ def timetable(request: HttpRequest) -> HttpResponse:
     context['select_form'] = select_form
 
     return render(request, 'chronos/tt_week.html', context)
+
+
+@login_required
+def lessons_day(request: HttpRequest, when: Optional[str] = None) -> HttpResponse:
+    context = {}
+
+    if when:
+        day = datetime.strptime(when, '%Y-%m-%d').date()
+    else:
+        day = date.today()
+
+    week, weekday = week_weekday_from_date(day)
+
+    lesson_periods = LessonPeriod.objects.filter(
+        lesson__date_start__lte=day, lesson__date_end__gte=day,
+        period__weekday=weekday
+    ).all()
+
+    context['day'] = day
+    context['day_prev'] = day + timedelta(days=-1)
+    context['day_next'] = day + timedelta(days=1)
+    context['week'] = week
+    context['lesson_periods'] = lesson_periods
+
+    return render(request, 'chronos/lessons_day.html', context)