@extends('layouts.admin') @section('title', 'Laporan | Super Admin') @section('page_title', 'Laporan') @push('styles') @endpush @section('content') @php $bookingsReport = $bookingsReport ?? collect(); $paymentsReport = $paymentsReport ?? collect(); $topVehicles = $topVehicles ?? collect(); $activeCustomers = $activeCustomers ?? collect(); $revenueReport = $revenueReport ?? collect(); $commissionsReport = $commissionsReport ?? collect(); $rentalOptions = $rentalCompanies ?? collect(); $bookingStatusOptions = $bookingStatuses ?? [ 'waiting_payment' => 'Waiting Payment', 'waiting_verification' => 'Waiting Verification', 'confirmed' => 'Confirmed', 'ongoing' => 'Ongoing', 'completed' => 'Completed', 'cancelled' => 'Cancelled', ]; $paymentStatusOptions = $paymentStatuses ?? [ 'unpaid' => 'Unpaid', 'uploaded' => 'Uploaded', 'verified' => 'Verified', 'rejected' => 'Rejected', ]; $metricTotalBooking = (int) ($totalBookings ?? 0); $metricPaymentVerified = (int) ($totalPaymentsVerified ?? 0); $metricTotalRevenue = (float) ($totalRevenue ?? 0); $metricTotalCommission = (float) ($totalCommission ?? 0); $metricTotalRental = isset($totalRentals) ? (int) $totalRentals : null; $metricTotalCustomer = (int) ($totalActiveCustomers ?? 0); $statusBadgeClass = function (?string $status): string { return match (strtolower((string) $status)) { 'verified', 'completed', 'success' => 'is-success', 'uploaded', 'ongoing', 'confirmed' => 'is-info', 'unpaid', 'pending', 'waiting_payment', 'waiting_verification' => 'is-warning', 'rejected', 'cancelled', 'failed', 'error' => 'is-danger', default => 'is-muted', }; }; @endphp
Super Admin Laporan

Laporan

Pantau performa platform rental kendaraan secara menyeluruh melalui laporan booking, pembayaran, customer, dan komisi.

Reset Filter

Total Booking

{{ number_format($metricTotalBooking, 0, ',', '.') }}

Payment Verified

{{ number_format($metricPaymentVerified, 0, ',', '.') }}

Total Pendapatan Platform

Rp {{ number_format($metricTotalRevenue, 0, ',', '.') }}

Total Komisi Platform

Rp {{ number_format($metricTotalCommission, 0, ',', '.') }}

Total Rental

@if (is_null($metricTotalRental))

-

@else

{{ number_format($metricTotalRental, 0, ',', '.') }}

@endif

Total Customer

{{ number_format($metricTotalCustomer, 0, ',', '.') }}

Laporan Booking Per Rental

Ringkasan operasional booking pada setiap rental.

Lihat Semua
@if ($bookingsReport->count())
@foreach ($bookingsReport as $index => $row) @endforeach
No Nama Rental Total Booking Booking Completed Booking Cancelled Booking Ongoing Total Nilai Booking
{{ $index + 1 }} {{ $row->rental_name ?? $row->company_name ?? '-' }} {{ number_format((int) ($row->total_booking ?? 0), 0, ',', '.') }} {{ number_format((int) ($row->completed_booking ?? 0), 0, ',', '.') }} {{ number_format((int) ($row->cancelled_booking ?? 0), 0, ',', '.') }} {{ number_format((int) ($row->ongoing_booking ?? 0), 0, ',', '.') }} Rp {{ number_format((float) ($row->total_amount ?? $row->total_value ?? 0), 0, ',', '.') }}
@else

Belum ada data laporan untuk filter yang dipilih.

@endif

Laporan Pembayaran

Data status pembayaran lintas transaksi.

Lihat Semua
@if ($paymentsReport->count())
@foreach ($paymentsReport as $index => $row) @endforeach
No Booking Code Rental Customer Metode Pembayaran Amount Payment Status Paid At / Verified At
{{ $index + 1 }} {{ $row->booking_code ?? '-' }} {{ $row->rental_name ?? $row->rentalCompany->company_name ?? '-' }} {{ $row->customer_name ?? $row->customer->name ?? '-' }} {{ $row->payment_method ?? $row->payment?->payment_method ?? '-' }} Rp {{ number_format((float) ($row->amount ?? $row->total_amount ?? 0), 0, ',', '.') }} @php $paymentStatus = strtolower((string) ($row->payment_status ?? $row->payment?->payment_status ?? '')); @endphp {{ ucfirst($paymentStatus ?: '-') }} {{ optional($row->paid_at ?? $row->payment?->paid_at ?? $row->verified_at ?? $row->payment?->verified_at)->format('d M Y H:i') ?? '-' }}
@else

Belum ada data laporan untuk filter yang dipilih.

@endif

Kendaraan Terlaris

Kendaraan dengan performa booking terbaik.

Lihat Semua
@if ($topVehicles->count())
@foreach ($topVehicles as $index => $row) @endforeach
No Nama Kendaraan Rental Kategori Total Booking Valid Total Pendapatan Kendaraan
{{ $index + 1 }} {{ $row->name ?? '-' }} {{ $row->rentalCompany->company_name ?? $row->rental_name ?? '-' }} {{ $row->category ?? '-' }} {{ number_format((int) ($row->verified_booking_count ?? $row->total_booking_valid ?? 0), 0, ',', '.') }} Rp {{ number_format((float) ($row->total_revenue ?? $row->vehicle_revenue ?? 0), 0, ',', '.') }}
@else

Belum ada data laporan untuk filter yang dipilih.

@endif

Customer Aktif

Customer dengan aktivitas transaksi tertinggi.

Lihat Semua
@if ($activeCustomers->count())
@foreach ($activeCustomers as $index => $row) @endforeach
No Nama Customer Email Total Booking Booking Completed Total Transaksi Last Booking Date
{{ $index + 1 }} {{ $row->name ?? '-' }} {{ $row->email ?? '-' }} {{ number_format((int) ($row->total_booking_count ?? 0), 0, ',', '.') }} {{ number_format((int) ($row->completed_booking_count ?? 0), 0, ',', '.') }} Rp {{ number_format((float) ($row->total_transaction ?? 0), 0, ',', '.') }} {{ optional($row->last_booking_date)->format('d M Y H:i') ?? '-' }}
@else

Belum ada data laporan untuk filter yang dipilih.

@endif

Pendapatan Rental

Monitoring pendapatan kotor, komisi, dan estimasi bersih.

Lihat Semua
@if ($revenueReport->count())
@foreach ($revenueReport as $index => $row) @endforeach
No Nama Rental Total Booking Verified Pendapatan Kotor Komisi Platform Estimasi Pendapatan Bersih
{{ $index + 1 }} {{ $row['rental']->company_name ?? $row->rental_name ?? '-' }} {{ number_format((int) ($row['verified_booking_count'] ?? $row->verified_booking_count ?? 0), 0, ',', '.') }} Rp {{ number_format((float) ($row['gross_revenue'] ?? $row->gross_revenue ?? 0), 0, ',', '.') }} Rp {{ number_format((float) ($row['commission'] ?? $row->commission ?? 0), 0, ',', '.') }} Rp {{ number_format((float) ($row['net_revenue'] ?? $row->net_revenue ?? 0), 0, ',', '.') }}
@else

Belum ada data laporan untuk filter yang dipilih.

@endif

Komisi Platform

Detail transaksi komisi dari booking terverifikasi.

Lihat Semua
@if ($commissionsReport->count())
@foreach ($commissionsReport as $index => $row) @endforeach
No Booking Code Rental Customer Total Booking Nilai Komisi Tanggal Transaksi
{{ $index + 1 }} {{ $row->booking_code ?? '-' }} {{ $row->rentalCompany->company_name ?? $row->rental_name ?? '-' }} {{ $row->customer->name ?? $row->customer_name ?? '-' }} Rp {{ number_format((float) ($row->total_amount ?? 0), 0, ',', '.') }} Rp {{ number_format((float) ($row->commission_amount ?? 0), 0, ',', '.') }} {{ optional($row->created_at ?? $row->transaction_date)->format('d M Y H:i') ?? '-' }}
@else

Belum ada data laporan untuk filter yang dipilih.

@endif
@endsection