File: /var/www/html/dashboard.orbiwheels.com/app/Http/Resources/BookingResource.php
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class BookingResource extends JsonResource
{
public function toArray($request)
{
// relations (Collections)
$rides = collect($this->rides);
$totalRides = $rides->count();
$uniqueDays = $rides->pluck('ride_date')->unique()->count();
$baseFare = (float) $rides->sum('fare'); // total ride fare
$commission = (float) $this->commission_per_km;
$gst = (float) $this->gst_on_commission;
$taxes = $commission + $gst;
$total = (float) $this->total_customer_amount;
return [
'data' => [
'id' => $this->id,
'request_id' => "ORBI" . str_pad($this->id, 2, '0', STR_PAD_LEFT),
'ride_type' => $this->ride_type,
'ride_type_name' => $this->ride_type_name ?? null,
'no_of_passengers' => (int) $this->no_of_passengers,
'days' => $uniqueDays,
'rides' => $totalRides,
'base_fare' => round($baseFare, 2),
'taxes' => round($taxes, 2),
'total_amount' => round($total, 2),
],
];
}
}