@extends('layouts.app') @section('content')

Automatic Calling — Reports

Campaign performance, agent metrics, and problem analysis.
{{-- Report tabs --}}
@php $tabs = ['summary'=>'Campaign Summary','agents'=>'Agent Performance','not-connected'=>'Not Connected','outcomes'=>'Outcomes','callbacks'=>'Callbacks']; @endphp @foreach($tabs as $key => $label) {{ $label }} @endforeach
{{-- Report content --}} @if($activeTab === 'summary' && isset($summary))
Campaign Summary
@php $s = $summary; @endphp
Total Attempts
{{ number_format($s->total_attempts ?? 0) }}
Customers Answered
{{ number_format($s->customers_answered ?? 0) }}
Agents Connected
{{ number_format($s->agent_connected ?? 0) }}
Not Connected
{{ number_format($s->not_connected ?? 0) }} ({{ $s->not_connected_pct ?? 0 }}%)
No Answer
{{ number_format($s->no_answer ?? 0) }}
Busy
{{ number_format($s->busy ?? 0) }}
Failed
{{ number_format($s->failed ?? 0) }}
DNC Requests
{{ number_format($s->dnc_requests ?? 0) }}
Avg Wait (sec)
{{ $s->avg_wait_seconds ? round($s->avg_wait_seconds) : '—' }}
Max Wait (sec)
{{ $s->max_wait_seconds ?? '—' }}
Avg Talk (sec)
{{ $s->avg_talk_seconds ? round($s->avg_talk_seconds) : '—' }}
Callbacks Created
{{ number_format($s->callbacks_created ?? 0) }}
@endif @if($activeTab === 'agents' && isset($agents))
Agent Performance
@forelse($agents as $a) @empty @endforelse
AgentConnectedDesk PhoneWebphoneSoftphoneTotal TalkAvg Talk
Agent #{{ $a->connected_agent_id }} {{ $a->calls_connected }} {{ $a->desk_phone_calls }} {{ $a->webphone_calls }} {{ $a->softphone_calls }} {{ gmdate('H:i:s', $a->total_talk_seconds ?? 0) }} {{ $a->avg_talk_seconds ? round($a->avg_talk_seconds) . 's' : '—' }}
No agent data yet.
@endif @if($activeTab === 'not-connected' && isset($notConnected))
Answered but Not Connected
@forelse($notConnected as $nc) @empty @endforelse
DateCustomerNumberReasonWait (sec)
{{ \Carbon\Carbon::parse($nc->created_at)->format('d M H:i') }} {{ $nc->customer_name ?? '—' }} {{ $nc->phone_number_dialled }} {{ ucfirst(str_replace('_', ' ', $nc->not_connected_reason ?? 'unknown')) }} {{ $nc->customer_waiting_seconds ?? '—' }}
No failed connections recorded.
@endif @if($activeTab === 'outcomes' && isset($outcomes))
Call Outcomes
@forelse($outcomes as $o) @empty @endforelse
OutcomeTypeCount
{{ $o->label }} {{ $o->is_system ? 'System' : 'Conversation' }} {{ $o->count }}
No outcomes recorded yet.
@endif @if($activeTab === 'callbacks' && isset($callbackStats))
Callback Summary
@php $cs = $callbackStats; @endphp
Total Callbacks
{{ $cs->total ?? 0 }}
Completed
{{ $cs->completed ?? 0 }}
Overdue
{{ $cs->overdue ?? 0 }}
Escalated
{{ $cs->escalated ?? 0 }}
Any Agent Rule
{{ $cs->any_agent ?? 0 }}
Prefer Same Agent
{{ $cs->prefer_same ?? 0 }}
Only Same Agent
{{ $cs->only_same ?? 0 }}
Handled by Different Agent
{{ $cs->handled_by_different ?? 0 }}
@endif @endsection