{% include "_pwa_head.html" %}
Primary customer and issue details.
Job Number
{{ job.job_number }}Customer
{{ job.customer_name }}Mobile
{{ job.mobile }}Alt Mobile
{{ job.alt_no }}Device
{{ job.device }}Model
{{ job.model }}Serial
{{ job.serial_number }}Status
{{ job.status }}Age
{{ job.age_days }} days ({{ job.age_group }})Created
{{ job.created_on }}Closed On
{{ job.closed_on }}Service Type
{{ job.closure_service_type }}Complaint
{{ job.complaint }}Complaint Type
{{ job.complaint_type or 'N/A' }}Warranty
{{ job.warranty_status or 'N/A' }}Backup Required
{{ job.backup_required or 'N/A' }}Priority
{{ job.priority or 'N/A' }}Call Type
{{ job.call_type or 'N/A' }}Received By
{{ job.received_by or 'N/A' }}Assigned Engineer
{{ job.assigned_engineer or 'N/A' }}Estimate Amount
{{ job.estimate_amount or 'N/A' }}Service Charges
{{ '%.2f'|format(service_charges|float) }}Branch
{{ job.branch_name }}Accessories Received: {{ job.accessories_received }}
{% endif %} {% if job.engineer_remarks %}Engineer Remarks: {{ job.engineer_remarks }}
{% endif %} {% if used_spares %}Used Spares:
| Spare Name | Amount |
|---|---|
| {{ s.spare_name }} | {{ s.amount }} |
Billing Summary:
| Used Spares Total | {{ '%.2f'|format(total_spares_amount|float) }} |
| Service Charges | {{ '%.2f'|format(service_charges|float) }} |
| Total Bill Amount | {{ '%.2f'|format(bill_total_amount|float) }} |
| Cash | {{ '%.2f'|format((job.payment_cash or 0)|float) }} |
| UPI | {{ '%.2f'|format((job.payment_upi or 0)|float) }} |
| Card | {{ '%.2f'|format((job.payment_card or 0)|float) }} |
| Specialist Share | {{ '%.2f'|format(transfer_summary.specialist_service_total|float) }} |
| {{ job.branch_name }} Service Margin | {{ '%.2f'|format(transfer_summary.closing_branch_service_margin|float) }} |
Specialist Share: {{ '%.2f'|format(transfer_summary.specialist_service_total|float) }}
{{ job.branch_name }} Margin: {{ '%.2f'|format(transfer_summary.closing_branch_service_margin|float) }}
{% if transfer_summary.active_transfer %}Current Specialist Branch: {{ transfer_summary.active_transfer.to_branch_name }}
Current Specialist Engineer: {{ transfer_summary.active_transfer.specialist_engineer or 'Pending assignment' }}
Service Type: {{ transfer_summary.active_transfer.service_type or 'Not specified' }}
{% elif transfer_summary.latest_completed_transfer %}Last Specialist Branch: {{ transfer_summary.latest_completed_transfer.to_branch_name }}
Last Specialist Engineer: {{ transfer_summary.latest_completed_transfer.specialist_engineer or 'Not specified' }}
Last Specialist Status: {{ transfer_summary.latest_completed_transfer.status }}
{% endif %}| From | Specialist Branch | Engineer | Service Type | Status | Internal Charge | Updated | Notes |
|---|---|---|---|---|---|---|---|
| {{ transfer.from_branch_name }} | {{ transfer.to_branch_name }} | {{ transfer.specialist_engineer or '-' }} | {{ transfer.service_type or '-' }} | {{ transfer.status }} | {{ '%.2f'|format(transfer.internal_service_charge|float) }} |
{{ transfer.updated_on or transfer.created_on or '-' }}
{{ transfer.updated_by or transfer.sent_by or '-' }}
|
{{ transfer.request_notes or '-' }}
{% if transfer.status_notes %}
{{ transfer.status_notes }}
{% endif %}
|
Spare Billing:
{{ spare_billing.status }}
Invoice No: {{ spare_billing.invoice_no or '-' }}
Invoice Date: {{ spare_billing.invoice_date_display or '-' }}
Billed By: {{ spare_billing.billed_by or '-' }}
Notes:
Attachments: {{ attachments|length }}
Attachments are auto-removed {{ job_attachment_retention_days }} days after case closure.
{% endif %}| Status | Notes | Date | Edited By |
|---|---|---|---|
| {{ log.status }} | {{ log.notes }} | {{ format_datetime_display(log.updated_at) }} | {{ log.updated_by }} |