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

{{ facility.name }}

{% if facility.project %}{{ facility.project.name }}{% endif %} {% if facility.project and facility.address %} · {% endif %} {% if facility.address %}{{ facility.address }}{% endif %}
{# ── KPI row ── #}
{{ ('%.1f' % avg_score) ~ '%' if avg_score is not none else '—' }}
Avg Score
90 Days
{{ inspections_90 }}
Inspections
90 Days
{{ open_issue_count }}
Open
Issues
{{ resolved_90 }}
Resolved
90 Days
{# ── Score trend (aggregate only) ── #}
Score Trend — 30 Days vs Prior 30
{% if trend_delta is none %} Not enough data yet {% elif trend_delta > 0 %} +{{ '%.1f' % trend_delta }} pts {% elif trend_delta < 0 %} {{ '%.1f' % trend_delta }} pts {% else %} No change {% endif %}
{# ── Cleaning quality rating ── #}
Cleaning Quality
{{ rating_label }}
{# ── Recent inspections (DATES ONLY — occupant-safe) ── #} {% if recent_dates %}
Recent Inspections
{% for d in recent_dates %}
{{ d.strftime('%b %d, %Y') }} Completed
{% endfor %}
This facility is inspected regularly by our quality team.
{% endif %} {# ── Report a problem ── #}

Report a Problem

Notice something that needs attention? Let the cleaning team know.

{{ form.hidden_tag() }} {# Honeypot — hidden from humans; bots that fill it are rejected #}
{{ form.area_label.label(class="form-label small fw-semibold") }} {{ form.area_label(class="form-control", placeholder="e.g. 2nd floor men's restroom") }}
{{ form.description.label(class="form-label small fw-semibold") }} {{ form.description(class="form-control", rows="4", placeholder="Describe what you noticed…") }} {% for e in form.description.errors %}
{{ e }}
{% endfor %}
{{ form.reporter_name.label(class="form-label small fw-semibold") }} {{ form.reporter_name(class="form-control") }}
{{ form.reporter_contact.label(class="form-label small fw-semibold") }} {{ form.reporter_contact(class="form-control") }}
{{ form.photos.label(class="form-label small fw-semibold") }} {{ form.photos(class="form-control", accept="image/*", id="reportPhotos", multiple=true) }}
You can attach up to 5 photos.
{% for e in form.photos.errors %}
{{ e }}
{% endfor %}
Janitorial Quality Control