@php $dir = 'rtl'; // ── Logo ── $logoImg = $logoSrc ?? null; if (!$logoImg) { $logoImgRaw = data_get($company ?? [], 'invoice_logo') ?: null; $isHtml = request()->query('view') === 'html'; if ($logoImgRaw) { $logoImg = $isHtml ? asset($logoImgRaw) : public_path($logoImgRaw); if (!$isHtml && !file_exists($logoImg)) $logoImg = null; } } $companyName = data_get($company ?? [], 'company_name') ?? data_get($company ?? [], 'name_company') ?? 'Azora'; // ── Order ID ── $orderId = str_pad($carRentalDetail->id ?? 0, 4, '0', STR_PAD_LEFT); // ── Dates ── $expectedDate = $carRentalDetail->return_at ? \Carbon\Carbon::parse($carRentalDetail->return_at)->format('Y/m/d') : '---'; $returnDate = '---'; $exitDate = $carRentalDetail->pickup_at ? \Carbon\Carbon::parse($carRentalDetail->pickup_at)->format('Y/m/d') : '---'; $netDuration = $carRentalDetail->rental_days ?? '---'; // ── Customer Info ── $customer = $carRentalDetail->profile?->customer; $customerName = $customer?->full_name ?? '---'; $permAddress = $customer?->address ?? '---'; $egyptAddress = '---'; $email = $customer?->email ?? '---'; $licenseNumber = $customer?->license_number ?? '---'; $licenseIssuedFrom = $customer?->license_issued_from ?? '---'; $licenseIssue = $customer?->license_issue_date ? \Carbon\Carbon::parse($customer->license_issue_date)->format('Y/m/d') : '---'; $licenseExpiry = $customer?->license_expiry_date ? \Carbon\Carbon::parse($customer->license_expiry_date)->format('Y/m/d') : '---'; $nationality = $customer?->nationality?->currentTranslation?->name ?? '---'; $dob = $customer?->birth_date ? \Carbon\Carbon::parse($customer->birth_date)->format('Y/m/d') : '---'; $idNumber = $customer?->id_number ?? '---'; $idIssueDate = $customer?->id_issue_date ? \Carbon\Carbon::parse($customer->id_issue_date)->format('Y/m/d') : '---'; $passportNumber = $customer?->passport ?? '---'; // If with_driver is true, populate the top license/ID fields with the driver's info if ($carRentalDetail->with_driver && $carRentalDetail->driver) { $drv = $carRentalDetail->driver; $licenseNumber = $drv->license_number ?? '---'; $licenseExpiry = $drv->license_expiry_date ? \Carbon\Carbon::parse($drv->license_expiry_date)->format('Y/m/d') : '---'; $idNumber = $drv->national_id ?? '---'; // The driver model might not have these fields, but we clear them if they belonged to the customer $licenseIssuedFrom = '---'; $licenseIssue = '---'; $dob = '---'; $idIssueDate = '---'; $passportNumber = '---'; } // ── Drivers (سائق أول / سائق ثان) ── // Prepare unified driver data regardless of with_driver flag $driver1 = null; // سائق أول $driver2 = null; // سائق ثان if ($carRentalDetail->with_driver) { // With driver: driver1 = company driver, driver2 = first driverAssignment $driverModel = $carRentalDetail->driver; if ($driverModel) { $driver1 = [ 'name' => $driverModel->full_name ?? '---', 'id_number' => $driverModel->national_id ?? '---', 'license_number' => $driverModel->license_number ?? '---', 'license_issued_from' => '---', 'license_issue_date' => '---', 'license_expiry_date' => $driverModel->license_expiry_date ? \Carbon\Carbon::parse($driverModel->license_expiry_date)->format('Y/m/d') : '---', ]; } $assignment1 = $carRentalDetail->driverAssignments?->get(0); if ($assignment1 && $assignment1->customer) { $c = $assignment1->customer; $driver2 = [ 'name' => $c->full_name ?? '---', 'id_number' => $c->id_number ?? '---', 'license_number' => $c->license_number ?? '---', 'license_issued_from' => $c->license_issued_from ?? '---', 'license_issue_date' => $c->license_issue_date ? \Carbon\Carbon::parse($c->license_issue_date)->format('Y/m/d') : '---', 'license_expiry_date' => $c->license_expiry_date ? \Carbon\Carbon::parse($c->license_expiry_date)->format('Y/m/d') : '---', ]; } } else { // Without driver: both from driverAssignments $assignment1 = $carRentalDetail->driverAssignments?->get(0); $assignment2 = $carRentalDetail->driverAssignments?->get(1); if ($assignment1 && $assignment1->customer) { $c = $assignment1->customer; $driver1 = [ 'name' => $c->full_name ?? '---', 'id_number' => $c->id_number ?? '---', 'license_number' => $c->license_number ?? '---', 'license_issued_from' => $c->license_issued_from ?? '---', 'license_issue_date' => $c->license_issue_date ? \Carbon\Carbon::parse($c->license_issue_date)->format('Y/m/d') : '---', 'license_expiry_date' => $c->license_expiry_date ? \Carbon\Carbon::parse($c->license_expiry_date)->format('Y/m/d') : '---', ]; } if ($assignment2 && $assignment2->customer) { $c = $assignment2->customer; $driver2 = [ 'name' => $c->full_name ?? '---', 'id_number' => $c->id_number ?? '---', 'license_number' => $c->license_number ?? '---', 'license_issued_from' => $c->license_issued_from ?? '---', 'license_issue_date' => $c->license_issue_date ? \Carbon\Carbon::parse($c->license_issue_date)->format('Y/m/d') : '---', 'license_expiry_date' => $c->license_expiry_date ? \Carbon\Carbon::parse($c->license_expiry_date)->format('Y/m/d') : '---', ]; } } // ── Vehicle ── $vehicle = $carRentalDetail->vehicle; $plateNumber = '---'; $chassisNumber = '---'; $engineNumber = '---'; $vehicleType = '---'; $modelYear = '---'; if ($vehicle) { $plateNumber = $vehicle->plate_number ?? '---'; $chassisNumber = $vehicle->chassis_number ?? '---'; $engineNumber = $vehicle->engine_number ?? '---'; $modelYear = $vehicle->manufacture_year ?? '---'; $brandName = $vehicle->brand->currentTranslation->title ?? ($vehicle->brand->translations->first()->title ?? ''); $modelName = $vehicle->model->currentTranslation->title ?? ($vehicle->model->translations->first()->title ?? ''); $vehicleType = trim("$brandName $modelName") ?: '---'; } if ($carRentalDetail->rental_source === 'supplier' && !$vehicle) { $plateNumber = $carRentalDetail->supplier_vehicle_plate ?? '---'; $chassisNumber = $carRentalDetail->supplier_vehicle_chassis ?? '---'; $vehicleType = trim( ($carRentalDetail->supplier_vehicle_brand ?? '') . ' ' . ($carRentalDetail->supplier_vehicle_model ?? '') ) ?: '---'; $modelYear = $carRentalDetail->supplier_vehicle_model_year ?? '---'; } // ── Kilometers & Costs ── $departureKm = number_format((float)($carRentalDetail->pickup_odometer ?? 0), 0); $returnKm = number_format((float)($carRentalDetail->return_odometer ?? 0), 0); $usedKm = number_format(max(0, (float)($carRentalDetail->return_odometer ?? 0) - (float)($carRentalDetail->pickup_odometer ?? 0)), 0); $allowedKm = number_format((float)($carRentalDetail->km_per_day ?? 0), 0) . ' / اليوم'; $extraKm = number_format((float)($carRentalDetail->extra_km_amount ?? 0), 0); $extraKmRate = number_format((float)($carRentalDetail->extra_km_rate ?? 0), 2) . ' / إجمالية جارية'; $deliveryService = '---'; // Optional $basicPrice = number_format((float)($carRentalDetail->daily_rate ?? 0), 2); $value = number_format((float)($carRentalDetail->invoiceService?->invoice?->invoice_price ?? 0), 2); $paidAmount = number_format((float)($carRentalDetail->advance_amount ?? 0), 2); $additionalPay = number_format((float)($carRentalDetail->additions_amount ?? 0), 2); @endphp عقد إيجار سيارة {{ $orderId }} - {{ $companyName }}
{{-- 1. Header --}}
عقد إيجار سيارة
رقم {{ $orderId }}
@if($logoSrc) @else
{{ $companyName }}
ANDALIEB LIMOUSINE
@endif
{{-- 2. Two Columns Layout --}} {{-- Right Column (Customer & Companions) --}} {{-- Left Column (Dates, Vehicle & Financials) --}}
{{-- سائق أول --}} {{-- سائق ثان --}} {{-- Text Section --}}
الاسم {{ $customerName }}
عنوان الإقامة الدائمة {{ $permAddress }}
عنوان الإقامة بمصر {{ $egyptAddress }}
الإيميل {{ $email }}
رقم الرخصة {{ $licenseNumber }}
تاريخ الإصدار {{ $licenseIssue }}
تاريخ الانتهاء {{ $licenseExpiry }}
تاريخ الميلاد {{ $dob }}
الجنسية {{ $nationality }}
رقم البطاقة {{ $idNumber }}
تاريخ الإصدار {{ $idIssueDate }}
رقم جواز السفر {{ $passportNumber }}
سائق أول :
الاسم {{ $driver1['name'] ?? '---' }}
رقم البطاقة {{ $driver1['id_number'] ?? '---' }}
رقم الرخصة {{ $driver1['license_number'] ?? '---' }}
صادرة من {{ $driver1['license_issued_from'] ?? '---' }}
تاريخ الإصدار {{ $driver1['license_issue_date'] ?? '---' }}
سائق ثان :
الاسم {{ $driver2['name'] ?? '---' }}
رقم البطاقة {{ $driver2['id_number'] ?? '---' }}
رقم الرخصة {{ $driver2['license_number'] ?? '---' }}
صادرة من {{ $driver2['license_issued_from'] ?? '---' }}
تاريخ الإصدار {{ $driver2['license_issue_date'] ?? '---' }}
يقبل المستأجر دفع قيمة الإصلاحات الناتجة عن الحوادث التي يقوم بها أثناء فترة الإيجار أي كان المتسبب هو أم الغير وكذلك تحمل قيمة الإيجار عن الأيام المستغرقة في الإصلاح.
في حالة فقد رخصة أو لوحة السيارة يتحمل المستأجر دفع مبلغ وقدره ٥٠٠٠ جنيه
تاريخ المتوقع {{ $expectedDate }}
تاريخ العودة {{ $returnDate }}
تاريخ الخروج {{ $exitDate }}
صافي المدة {{ $netDuration }}
نوع السيارة {{ $vehicleType }}
سنة الموديل {{ $modelYear }}
رقم الشاسيه {{ $chassisNumber }}
رقم المحرك {{ $engineNumber }}
رقم اللوحة {{ $plateNumber }}
كم دخول {{ $departureKm }}
كم خروج {{ $returnKm }}
كم مستخدم {{ $usedKm }}
كم مسموح {{ $allowedKm }}
كم زيادة {{ $extraKm }}
سعر كم زيادة {{ $extraKmRate }}
خدمة التوصيل {{ $deliveryService }}
السعر الأساسي {{ $basicPrice }}
القيمة {{ $value }}
المبلغ المدفوع {{ $paidAmount }}
دفعات إضافية {{ $additionalPay }}
مستوى البنزين في حالة : الخروج   الدخول  
لا يعتمد إلا بختم الشركة
{{-- 3. Signatures Section --}} {{-- Company Approvals --}} {{-- Renter Signature --}}
اعتمد بواسطة
مدير التشغيل
-
مقبل العقد
-
فاتح العقد
-
اسم المستأجر:
{{ $customerName }}
توقيع المستأجر
@include('pdf.layouts.footer')