HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
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),

            ],
        ];
    }
}