{% extends 'layouts/app.html' %} {% block title %}{{ ticket.ref }} — FM Operations{% endblock %} {% block extra_styles %} {% endblock %} {% block sidebar %} {% set active_nav = 'fm_dashboard' %} {% include 'components/sidebar.html' %} {% endblock %} {% block topbar %}

{{ ticket.ref }}

{{ ticket.summary[:80] }}{% if ticket.summary|length > 80 %}…{% endif %}

← Back to Dashboard
{% endblock %} {% block content %}

{{ ticket.ref }}

Created {{ ticket.created_at[:16] }} UTC · Updated {{ ticket.updated_at[:16] }} UTC · Source: {{ ticket.source }}
{{ ticket.status }} {{ ticket.priority }} {{ ticket.category }}

Conversation Thread

{{ ticket.status }} {{ ticket.category }} {{ ticket.priority }}
{% if messages %} {% for msg in messages %}
{{ msg.created_at[:16] }} UTC · {{ msg.sender }} · {{ msg.source or '' }} {% if msg.is_internal %}internal{% endif %}
{{ msg.body }}
{% endfor %} {% else %}
No messages in this thread yet.
{% endif %}
To Customer
Internal Note

Ticket Details

{{ ticket.ref }}

Diagnostics & Evidence

Photos {{ evidence|length }} attached
{% if evidence %} {% for ev in evidence %}
IMG
{% endfor %} {% endif %}
+
+
Room Tasks
{{ ticket.category|title }} inspection
{{ ticket.location_note or 'Document findings and capture photos for every area inspected.' }}
Notes
Record all changes in the ticket thread. Store photos for audit and handover.

Ticket Events

{{ events|length }}
{% if events %} {% for ev in events %} {% endfor %} {% else %} {% endif %}
Type Source Received Status
{{ ev.event_type }} {{ ev.source }} {{ ev.received_at[:16] }} {{ ev.status }}
No events
{% endblock %} {% block scripts %} {% endblock %}