@extends('layouts.admin') @section('title', 'Reports') @section('styles') @endsection @section('content') @php $currencySymbol = \App\Models\AppSetting::getValue('currency_symbol', '₹'); $statusLabels = \App\Models\Order::getStatuses(); $paymentStatusLabels = \App\Models\Order::getPaymentStatuses(); @endphp

Growth, Earnings and Dispatch Intelligence

Track platform revenue, store momentum, payout exposure, driver batching, and real order behavior across your selected reporting window.

{{ $startDate->format('d M Y') }} - {{ $endDate->format('d M Y') }}
{{ number_format((int) ($summary->total_orders ?? 0)) }} total orders
{{ number_format((float) ($dispatchMetrics['acceptance_rate'] ?? 0), 1) }}% dispatch acceptance

Filter Window

Refine the report by date, store, order status, and payment state.
Reset

Revenue Overview

Core sales, fee, and partner earning performance for this reporting window
Gross Sales

{{ $currencySymbol }}{{ number_format((float) ($summary->gross_sales ?? 0), App\Models\AppSetting::currencyDecimals()) }}

{{ $summary->total_orders ?? 0 }} total orders
Admin Revenue

{{ $currencySymbol }}{{ number_format((float) ($summary->admin_commission_total ?? 0), App\Models\AppSetting::currencyDecimals()) }}

Commission, platform fee and delivery-side cut
Store Earnings

{{ $currencySymbol }}{{ number_format((float) ($summary->restaurant_earning_total ?? 0), App\Models\AppSetting::currencyDecimals()) }}

Partner settlement side
Driver Earnings

{{ $currencySymbol }}{{ number_format((float) ($summary->driver_earning_total ?? 0), App\Models\AppSetting::currencyDecimals()) }}

Delivery-side payouts
Delivery Charges

{{ $currencySymbol }}{{ number_format((float) ($summary->delivery_fee_total ?? 0), App\Models\AppSetting::currencyDecimals()) }}

Distance-based collections
Tax Collected

{{ $currencySymbol }}{{ number_format((float) ($summary->tax_total ?? 0), App\Models\AppSetting::currencyDecimals()) }}

Checkout tax totals
Discount Given

{{ $currencySymbol }}{{ number_format((float) ($summary->discount_total ?? 0), App\Models\AppSetting::currencyDecimals()) }}

Coupon and promo impact
Refunds

{{ $currencySymbol }}{{ number_format((float) ($summary->refund_total ?? 0), App\Models\AppSetting::currencyDecimals()) }}

{{ $summary->cancelled_orders ?? 0 }} cancelled orders

Dispatch and Fulfilment

Assignment quality, batching behavior, and route efficiency signals
Assigned Orders

{{ $dispatchMetrics['assigned_orders'] }}

Driver assignment attempts tracked
Acceptance Rate

{{ number_format((float) $dispatchMetrics['acceptance_rate'], 1) }}%

{{ $dispatchMetrics['accepted_orders'] }} accepted orders
Avg Acceptance Time

{{ number_format((float) $dispatchMetrics['avg_acceptance_minutes'], 1) }} min

Avg attempts {{ number_format((float) $dispatchMetrics['avg_assignment_attempts'], 2) }}
Route-Matched Batches

{{ $dispatchMetrics['route_matched_batches'] }}

{{ $dispatchMetrics['route_matched_orders'] }} orders inside {{ number_format((float) $dispatchMetrics['route_match_radius_km'], 1) }} km radius

Daily Sales Trend

Sales amount and order volume across the selected window

Order Status Mix

Delivered, cancelled, and in-flight composition

Dispatch Health

Assignment quality indicators
Assigned Orders{{ $dispatchMetrics['assigned_orders'] }}
Accepted Orders{{ $dispatchMetrics['accepted_orders'] }}
Acceptance Rate{{ number_format((float) $dispatchMetrics['acceptance_rate'], 1) }}%
Auto-cancelled Unassigned{{ $dispatchMetrics['auto_cancelled_unassigned'] }}
Avg Assignment Attempts{{ number_format((float) $dispatchMetrics['avg_assignment_attempts'], 2) }}
Route Match Radius{{ number_format((float) $dispatchMetrics['route_match_radius_km'], 1) }} km

Platform Snapshot

User base and order economics
Total Customers{{ $userCounts['customers'] }}
Total Drivers{{ $userCounts['drivers'] }}
Store Owners{{ $userCounts['restaurant_owners'] }}
Store Staff{{ $userCounts['restaurant_staff'] }}
Successful Payments{{ $summary->successful_payments ?? 0 }}
Average Order Value{{ $currencySymbol }}{{ number_format((float) ($summary->avg_order_value ?? 0), App\Models\AppSetting::currencyDecimals()) }}

Payout Overview

Settlement and processing exposure
Total Payouts{{ $payoutSummary->total_payouts ?? 0 }}
Payout Amount{{ $currencySymbol }}{{ number_format((float) ($payoutSummary->total_amount ?? 0), App\Models\AppSetting::currencyDecimals()) }}
Processed{{ $payoutSummary->processed_count ?? 0 }}
Pending{{ $payoutSummary->pending_count ?? 0 }}
Failed{{ $payoutSummary->failed_count ?? 0 }}

Payment Method Mix

Checkout channel preference
@forelse($paymentBreakdown as $method => $count)
{{ strtoupper($method ?: 'N/A') }} {{ $count }}
@empty
No payment data found for the selected range.
@endforelse

Top Batched Drivers

Strongest grouped-route operators
@forelse($dispatchMetrics['top_batched_drivers'] as $driverMetric) @empty @endforelse
Driver Route-Matched Orders Batch Groups
{{ $driverMetric['driver_name'] }} {{ $driverMetric['route_matched_orders'] }} {{ $driverMetric['bundles'] }}
No route-matched batches found for the selected range.

Top Stores

Stores leading this sales window
@forelse($topRestaurants as $restaurant) @empty @endforelse
Store Orders Sales
{{ $restaurant->name }} {{ $restaurant->orders_count }} {{ $currencySymbol }}{{ number_format((float) $restaurant->sales_total, App\Models\AppSetting::currencyDecimals()) }}
No stores found for the selected filters.

Top Drivers

Highest delivery contribution in the range
@forelse($topDrivers as $driver) @empty @endforelse
Driver Orders Earnings
{{ $driver->name }} {{ $driver->orders_count }} {{ $currencySymbol }}{{ number_format((float) $driver->earnings_total, App\Models\AppSetting::currencyDecimals()) }}
No driver data found for the selected filters.

Recent Orders

Detailed operational records for the active report selection
@forelse($orders as $order) @empty @endforelse
Order Store Customer Status Payment Admin Commission Total Date
{{ $order->order_number }}
{{ strtoupper($order->payment_method ?? 'N/A') }}
{{ $order->restaurant?->name ?? 'N/A' }} {{ $order->customer?->name ?? $order->customer_name ?? 'N/A' }} {{ ucfirst(str_replace('_', ' ', $order->status)) }} {{ ucfirst($order->payment_status) }} {{ $currencySymbol }}{{ number_format((float) ($order->admin_commission ?? 0), App\Models\AppSetting::currencyDecimals()) }} {{ $currencySymbol }}{{ number_format((float) $order->total, App\Models\AppSetting::currencyDecimals()) }} {{ optional($order->created_at)->format('d M Y, h:i A') }}
No orders found for the selected filters.
{{ $orders->links() }}
@endsection @section('scripts') @endsection