{% extends "base.html" %} {% from '_upsell.html' import max_badge %} {% block title %}{{ _("Team Schedules") }}{% endblock %} {% block content %}

schedule {{ _("Team Schedules") }} {% if locked %}{{ max_badge() }}{% endif %}

{{ _("Set each team member's working hours so out-of-hours messages trigger the auto-response.") }}

arrow_back {{ _("Back to Settings") }}
{% if locked %} {# ── Upsell / locked state ── #}
lock

{{ _("Team Schedules requires the MAX plan") }}

{% trans %}Define per-member working hours so auto-responses only fire outside your team's actual coverage. Available on MAX.{% endtrans %}

{% else %} {# Flash messages #} {% with messages = get_flashed_messages(with_categories=true) %} {% for category, message in messages %}
{{ message }}
{% endfor %} {% endwith %} {# ── Timezone selector ── #}

{{ _("Schedules use this timezone.") }}

{% if not members %}
group

{{ _("No team members yet") }}

{% else %} {# ── Per-member schedule cards ── #} {% for m in members %} {% set is_first = loop.first %}
{# Card header #}

{{ m.name }}

{{ m.email }}

{# Presets + copy-from-first #}
{% if not is_first %} {% endif %}
{# 7-day rows #}
{% for weekday in range(7) %} {% set key = m.id ~ '_' ~ weekday %} {% set wins = schedules_by_cell.get(key, []) %} {% set win = wins[0] if wins else none %} {% set has_win = win is not none %} {% set has_multiple = wins|length > 1 %}
{# Toggle checkbox #} {# Day name #} {{ weekday_names[weekday] }} {# Time inputs — hidden when unchecked #}
{% if weekday == 0 %} {# Monday: copy-to-weekdays helper #} {% endif %}
{% if has_win and not has_multiple %} {% elif has_win and has_multiple %} {% set win_count = wins|length %} {% trans win_count=win_count %}({{ win_count }} windows — showing first only){% endtrans %} {% endif %}
{% endfor %}
{% endfor %} {% endif %} {% endif %}
{% endblock %}