| Sale ID |
Date & Time |
Waiter |
Cashier |
Subtotal |
Tax |
Total |
Payment |
Status |
Actions |
@forelse($detailedSales as $sale)
|
#{{ $sale->id }}
|
{{ $sale->created_at->format('H:i') }}
{{ $sale->created_at->format('M d, Y') }}
|
{{ $sale->waiter ? ucwords($sale->waiter->name) : '—' }}
|
{{ $sale->cashier ? ucwords($sale->cashier->name) : '—' }}
|
Tsh {{ number_format(floatval($sale->subtotal), 2) }}
|
Tsh {{ number_format(floatval($sale->tax), 2) }}
|
Tsh {{ number_format($sale->total, 2) }}
|
{{ $sale->payment_type }}
|
{{ ucfirst($sale->status) }}
|
|
@empty
No sales records found for the selected filters
|
@endforelse
@if($detailedSales->hasPages())
Showing {{ ($detailedSales->currentPage() - 1) * $detailedSales->perPage() + 1 }} to
{{ min($detailedSales->currentPage() * $detailedSales->perPage(), $detailedSales->total()) }} of
{{ $detailedSales->total() }} entries
@if ($detailedSales->onFirstPage())
@else
Previous
@endif
@if ($detailedSales->hasMorePages())
Next
@else
@endif
@endif
| Date |
Day |
Total Orders |
Subtotal |
Tax |
Total Amount |
Avg Order Value |
Day Type |
@forelse($dailySales as $daily)
|
{{ \Carbon\Carbon::parse($daily->date)->format('M d, Y') }}
|
{{ $daily->day_name }}
|
{{ $daily->total_orders }}
|
Tsh {{ number_format($daily->total_subtotal, 2) }}
|
Tsh {{ number_format($daily->total_tax, 2) }}
|
Tsh {{ number_format($daily->total_amount, 2) }}
|
Tsh {{ number_format($daily->average_order_value, 2) }}
|
{{ in_array(strtolower($daily->day_name), ['saturday', 'sunday']) ? 'Weekend' : 'Weekday' }}
|
@empty
No daily sales data found for the selected filters
|
@endforelse
@if($dailySales->hasPages())
Showing {{ ($dailySales->currentPage() - 1) * $dailySales->perPage() + 1 }} to
{{ min($dailySales->currentPage() * $dailySales->perPage(), $dailySales->total()) }} of
{{ $dailySales->total() }} entries
@if ($dailySales->onFirstPage())
@else
Previous
@endif
@if ($dailySales->hasMorePages())
Next
@else
@endif
@endif
| Week |
Period |
Total Orders |
Subtotal |
Tax |
Total Amount |
Avg Order Value |
@forelse($weeklySales as $weekly)
|
Week {{ $weekly->week_number }}, {{ $weekly->year }}
|
{{ \Carbon\Carbon::parse($weekly->week_start)->format('M j') }} -
{{ \Carbon\Carbon::parse($weekly->week_end)->format('M j, Y') }}
|
{{ $weekly->total_orders }}
|
Tsh {{ number_format($weekly->total_subtotal, 2) }}
|
Tsh {{ number_format($weekly->total_tax, 2) }}
|
Tsh {{ number_format($weekly->total_amount, 2) }}
|
Tsh {{ number_format($weekly->average_order_value, 2) }}
|
@empty
No weekly sales data found for the selected filters
|
@endforelse
@if($weeklySales->hasPages())
Showing {{ ($weeklySales->currentPage() - 1) * $weeklySales->perPage() + 1 }} to
{{ min($weeklySales->currentPage() * $weeklySales->perPage(), $weeklySales->total()) }} of
{{ $weeklySales->total() }} entries
@if ($weeklySales->onFirstPage())
@else
Previous
@endif
@if ($weeklySales->hasMorePages())
Next
@else
@endif
@endif
| Month |
Total Orders |
Subtotal |
Tax |
Total Amount |
Avg Order Value |
Growth % |
@forelse($monthlySales as $monthly)
|
{{ $monthly->month_name }} {{ $monthly->year }}
|
{{ $monthly->total_orders }}
|
Tsh {{ number_format($monthly->total_subtotal, 2) }}
|
Tsh {{ number_format($monthly->total_tax, 2) }}
|
Tsh {{ number_format($monthly->total_amount, 2) }}
|
Tsh {{ number_format($monthly->average_order_value, 2) }}
|
@if($monthly->growth)
{{ number_format($monthly->growth, 1) }}%
@else
—
@endif
|
@empty
No monthly sales data found for the selected filters
|
@endforelse
@if($monthlySales->hasPages())
Showing {{ ($monthlySales->currentPage() - 1) * $monthlySales->perPage() + 1 }} to
{{ min($monthlySales->currentPage() * $monthlySales->perPage(), $monthlySales->total()) }} of
{{ $monthlySales->total() }} entries
@if ($monthlySales->onFirstPage())
@else
Previous
@endif
@if ($monthlySales->hasMorePages())
Next
@else
@endif
@endif
| Product |
Category |
Quantity Sold |
Times Ordered |
Total Revenue |
Avg Price |
Revenue per Item |
@forelse($productPerformance as $product)
|
{{ $product->product_name }}
|
{{ $product->category_name ?? '—' }}
|
{{ $product->total_quantity_sold }}
|
{{ $product->times_ordered }}
|
Tsh {{ number_format($product->total_revenue, 2) }}
|
Tsh {{ number_format($product->average_price, 2) }}
|
Tsh {{ number_format($product->revenue_per_item, 2) }}
|
@empty
No product performance data found for the selected filters
|
@endforelse
@if($productPerformance->hasPages())
Showing {{ ($productPerformance->currentPage() - 1) * $productPerformance->perPage() + 1 }} to
{{ min($productPerformance->currentPage() * $productPerformance->perPage(), $productPerformance->total()) }} of
{{ $productPerformance->total() }} entries
@if ($productPerformance->onFirstPage())
@else
Previous
@endif
@if ($productPerformance->hasMorePages())
Next
@else
@endif
@endif
| Waiter |
Total Orders |
Total Sales |
Avg Order Value |
Highest Sale |
Lowest Sale |
Performance |
@forelse($waiterPerformance as $waiter)
|
{{ $waiter->waiter_name }}
|
{{ $waiter->total_orders }}
|
Tsh {{ number_format($waiter->total_sales, 2) }}
|
Tsh {{ number_format($waiter->average_order_value, 2) }}
|
Tsh {{ number_format($waiter->highest_sale, 2) }}
|
Tsh {{ number_format($waiter->lowest_sale, 2) }}
|
{{ $waiter->performance_rating }}
|
@empty
No waiter performance data found for the selected filters
|
@endforelse
@if($waiterPerformance->hasPages())
Showing {{ ($waiterPerformance->currentPage() - 1) * $waiterPerformance->perPage() + 1 }} to
{{ min($waiterPerformance->currentPage() * $waiterPerformance->perPage(), $waiterPerformance->total()) }} of
{{ $waiterPerformance->total() }} entries
@if ($waiterPerformance->onFirstPage())
@else
Previous
@endif
@if ($waiterPerformance->hasMorePages())
Next
@else
@endif
@endif
| Hour |
Time Period |
Total Orders |
Total Amount |
Avg Order Value |
@forelse($hourlySales as $hourly)
|
{{ $hourly->hour_formatted }}
|
{{ $hourly->time_period }}
|
{{ $hourly->total_orders }}
|
Tsh {{ number_format($hourly->total_amount, 2) }}
|
Tsh {{ number_format($hourly->average_order_value, 2) }}
|
@empty
No hourly sales data found for the selected filters
|
@endforelse
@if($hourlySales->hasPages())
Showing {{ ($hourlySales->currentPage() - 1) * $hourlySales->perPage() + 1 }} to
{{ min($hourlySales->currentPage() * $hourlySales->perPage(), $hourlySales->total()) }} of
{{ $hourlySales->total() }} entries
@if ($hourlySales->onFirstPage())
@else
Previous
@endif
@if ($hourlySales->hasMorePages())
Next
@else
@endif
@endif