{{ __('messages.analytics') }}
{{ __('messages.scope') }}: @if ($selectedBranchId > 0) {{ optional($allBranches->firstWhere('id', $selectedBranchId))->name }} @else {{ __('messages.all_branches') }} @endif
{{ __('messages.total_sales') }}
£{{ number_format($totals['gross_sales'], 2) }}
{{ __('messages.till') }}£{{ number_format($totals['sales_till'], 2) }}
{{ __('messages.kiosk') }}£{{ number_format($totals['sales_kiosk'], 2) }}
{{ __('messages.total_orders') }}
{{ number_format($totals['orders']) }}
{{ __('messages.till') }}{{ number_format($totals['orders_till']) }}
{{ __('messages.kiosk') }}{{ number_format($totals['orders_kiosk']) }}
{{ __('messages.average_order_value') }}
£{{ number_format($totals['avg_order'], 2) }}
{{ __('messages.till') }}£{{ number_format($totals['avg_till_order'], 2) }}
{{ __('messages.kiosk') }}£{{ number_format($totals['avg_kiosk_order'], 2) }}
{{ __('messages.average_order_time') }}
{{ $formatSeconds($totals['avg_order_time_seconds']) }}
{{ __('messages.card') }}
£{{ number_format($totals['card_total'], 2) }}
{{ __('messages.cash') }}
£{{ number_format($totals['cash_total'], 2) }}
Gross Profit
£{{ number_format($totals['gross_profit'], 2) }}
{{ __('messages.stock_value') }}
£{{ number_format($totals['stock_value'], 2) }}
| Branch | Till Orders | Kiosk Orders | Total Orders | Total Sales |
|---|---|---|---|---|
| {{ $branch->name }} | {{ number_format($eposOrdersByBranch[$branch->id] ?? 0) }} | {{ number_format($kioskOrdersByBranch[$branch->id] ?? 0) }} | {{ number_format($ordersByBranch[$branch->id] ?? 0) }} | £{{ number_format($grossSalesByBranch[$branch->id] ?? 0, 2) }} |
| No branches configured yet. | ||||
Fixed Totals
Top Branch Revenue
@php $featuredBranch = $reportPreview->first(); @endphp @if ($featuredBranch){{ $selectedBranchId > 0 ? 'Selected Branch Snapshot' : 'Top Performer (All Branches)' }}
{{ $featuredBranch['name'] }}
Total Sales
£{{ number_format((float) ($featuredBranch['sales'] ?? 0), 2) }}
Avg Order Value
£{{ number_format((float) ($featuredBranch['avg_order_value'] ?? 0), 2) }}
Avg Order Time
{{ $formatSeconds((int) ($featuredBranch['avg_time_seconds'] ?? 0)) }}
No branch data available for the selected filters.
@endifTop Sellers
No top sellers available.
@endforelseBottom Sellers
No bottom sellers available.
@endforelse{{ $showBusyDaysChart ? 'Busy Days & Hours' : 'Busy Hours' }}
@if($showBusyDaysChart)Device Split
EPOS Share
{{ number_format($eposSharePct, 1) }}%
{{ number_format((int) ($totals['epos_orders'] ?? 0)) }} orders
Kiosk Share
{{ number_format($kioskSharePct, 1) }}%
{{ number_format((int) ($totals['kiosk_orders'] ?? 0)) }} orders
Sales Trend
Current 30 Days
£{{ number_format($currentThirtyDaySalesTotal ?? 0, 2) }}
Previous 30 Days
£{{ number_format($previousThirtyDaySalesTotal ?? 0, 2) }}
Best Sold Product
{{ $bestProductName ? $bestProductName . ' (' . number_format($bestProductQty) . ')' : 'N/A' }}
Best Customer
{{ $bestCustomerName ? $bestCustomerName . ' (£' . number_format($bestCustomerValue, 2) . ')' : 'N/A' }}
Best Seller Category
{{ $bestCategoryName ?? 'N/A' }}
Report
{{ $rlabel }}
@endforeach