{% extends "base.html" %} {% block title %}Programme schedule{% endblock %} {% block content %}
Programme schedule

Class & delivery schedule

Filter sessions by date, thematic area, status, or type — then download as a spreadsheet (CSV) or calendar file (ICS) for Outlook or Google Calendar. Scheduled dates and times are in {{ eat_label }}.

{% if learner %}

Your join date: {{ learner.join_date }} — use filters to plan upcoming attendance.

{% endif %}
All scheduled dates and times use {{ eat_label }}. Date range filters (From / To) are calendar dates in East Africa Time. Downloads include only sessions matching your selected filters.

Filter schedule

Quick presets: Upcoming sessions · Past sessions · All sessions

Clear filters
{% if not filters_are_default %}
Active filters: {% for label in filter_summary %} {{ label }} {% endfor %}
{% endif %}

Download filtered schedule

Exports {{ sessions|length }} session{{ 's' if sessions|length != 1 else '' }} matching your current filters. {% if not filters_are_default %} Filtered by: {{ filter_summary | join(' · ') }}. {% endif %}

Download CSV (Excel / Sheets) Download calendar (ICS)

CSV opens in Excel or Google Sheets. ICS imports into Google Calendar, Outlook, or Apple Calendar. Cancelled sessions are hidden unless you filter by status Cancelled.

Sessions ({{ sessions|length }} shown — click column headers to sort)

{% for s in sessions %} {% else %} {% endfor %}
Scheduled (EAT) Conducted (EAT) Area Module Type Status Facilitator
{{ s.scheduled_date | session_schedule(s.scheduled_time) }} {% if s|session_conducted %} {{ s|session_conducted }} {% else %} — {% endif %} {{ s.area_name }} M{{ s.module_number }} — {{ s.module_name }} {{ s.session_type }} {{ s.status }} {{ s.facilitator_name or '—' }}
No sessions match your filters.

{% if session.role == 'learner' %} My progress {% elif session.role in ['admin', 'super_admin', 'facilitator'] %} Facilitator dashboard {% if session.role in ['admin', 'super_admin'] %} Admin home {% endif %} {% endif %}

{% endblock %}