@extends('customer.layouts.app') @section('title', 'Booking Saya') @section('activeMenu', 'booking') @php $statusReservasiLabel = [ 'menunggu_konfirmasi' => 'Menunggu Konfirmasi', 'dikonfirmasi' => 'Dikonfirmasi', 'check_in' => 'Check In', 'selesai' => 'Selesai', 'dibatalkan' => 'Dibatalkan', ]; $statusReservasiBadge = [ 'menunggu_konfirmasi' => 'warning', 'dikonfirmasi' => 'primary', 'check_in' => 'info', 'selesai' => 'success', 'dibatalkan' => 'secondary', ]; $statusServisLabel = [ 'menunggu' => 'Menunggu', 'dikerjakan' => 'Dikerjakan', 'selesai' => 'Selesai', 'diambil' => 'Diambil', ]; $statusServisBadge = [ 'menunggu' => 'warning', 'dikerjakan' => 'info', 'selesai' => 'success', 'diambil' => 'primary', ]; $canBook = $availableSlots->isNotEmpty() && $layanans->isNotEmpty(); $oldLayanan = array_map('intval', (array) old('layanan', [])); $selectedSlotId = old('id_slot', $requestedSlotId ?? null); $oldKendaraanBaru = old('kendaraan_baru', []); $pakaiKendaraanBaru = $kendaraans->isEmpty() || $errors->has('kendaraan_baru') || $errors->has('kendaraan_baru.merk_motor_id') || $errors->has('kendaraan_baru.plat_nomor') || $errors->has('kendaraan_baru.model') || $errors->has('kendaraan_baru.tahun') || (is_array($oldKendaraanBaru) && count(array_filter( $oldKendaraanBaru, fn ($value) => $value !== null && $value !== '' )) > 0); @endphp @push('styles') @endpush @section('content')

Halo, {{ auth()->user()->name }}!

Pantau reservasi, servis, dan kendaraan Anda dalam satu tempat.

Cek Slot

Reservasi Aktif

{{ number_format($ringkasan['reservasi_aktif'], 0, ',', '.') }}

Menunggu konfirmasi, dikonfirmasi, atau check in.

Servis Berlangsung

{{ number_format($ringkasan['servis_berlangsung'], 0, ',', '.') }}

Kendaraan yang menunggu atau sedang dikerjakan.

Kendaraan Saya

{{ number_format($ringkasan['kendaraan'], 0, ',', '.') }}

Kelola kendaraan

Riwayat Servis

{{ number_format($ringkasan['servis_selesai'], 0, ',', '.') }}

Lihat riwayat servis
@if (! $canBook)
Reservasi belum dapat dibuat karena belum ada layanan aktif atau slot jadwal yang tersedia. Silakan hubungi admin bengkel.
@endif @if ($reservasiSaya->isEmpty())
@else
@foreach ($reservasiSaya as $reservasi) @php $statusValue = $reservasi->status->value; @endphp @php $alasanPenolakan = $reservasi->alasanPenolakan(); $labelStatus = $alasanPenolakan ? 'Ditolak' : ($statusReservasiLabel[$statusValue] ?? $statusValue); $badgeStatus = $alasanPenolakan ? 'danger' : ($statusReservasiBadge[$statusValue] ?? 'secondary'); @endphp @endforeach
Daftar reservasi servis motor Anda beserta jadwal, kendaraan, layanan, dan statusnya
Kode Jadwal Kendaraan Layanan Status Progres Servis Aksi
{{ $reservasi->kode }}
{{ $reservasi->created_at?->translatedFormat('d M Y') }}
{{ $reservasi->slot?->tanggal?->translatedFormat('d M Y') ?? '-' }}
{{ $reservasi->slot ? substr($reservasi->slot->jam_mulai, 0, 5).' – '.substr($reservasi->slot->jam_selesai, 0, 5) : '-' }}
{{ $reservasi->kendaraan?->plat_nomor ?? '-' }}
{{ trim(($reservasi->kendaraan?->merk?->nama ?? '').' '.($reservasi->kendaraan?->model ?? '')) ?: '-' }}
{{ $reservasi->layanan->pluck('nama')->join(', ') ?: 'Belum ada layanan' }} {{ $labelStatus }} @if ($alasanPenolakan)
{{ $alasanPenolakan }}
@endif
@if ($reservasi->servis) @include('partials.service-timeline', ['servis' => $reservasi->servis, 'compact' => true]) @else Belum check in @endif
Detail @if (in_array($statusValue, ['menunggu_konfirmasi', 'dikonfirmasi'], true))
@csrf
@endif
@if ($reservasiSaya->hasPages()) @endif @endif
Riwayat Servis @if ($servisTerakhir->isEmpty())
@else
@foreach ($servisTerakhir as $servis) @php $servisStatus = $servis->status->value; $layananServis = $servis->reservasi?->layanan->pluck('nama')->join(', '); @endphp @endforeach
Riwayat servis kendaraan Anda
Tanggal Kendaraan Layanan Pekerjaan Odometer Status
{{ $servis->tanggal_masuk?->translatedFormat('d M Y') ?? '-' }} @if ($servis->tanggal_selesai)
Selesai {{ $servis->tanggal_selesai->translatedFormat('d M Y') }} @endif
{{ $servis->kendaraan?->plat_nomor ?? '-' }}
{{ trim(($servis->kendaraan?->merk?->nama ?? '').' '.($servis->kendaraan?->model ?? '')) ?: '-' }}
{{ $layananServis ?: '-' }} {{ $servis->rincian_pekerjaan ?: '-' }} {{ $servis->odometerTampil() !== null ? number_format($servis->odometerTampil(), 0, ',', '.').' km' : '-' }} {{ $statusServisLabel[$servisStatus] ?? $servisStatus }}
@endif
@if ($slotTerdekat->isEmpty()) @else
    @foreach ($slotTerdekat as $slot)
  • {{ $slot->tanggal->translatedFormat('d M Y') }}
    {{ substr($slot->jam_mulai, 0, 5) }}–{{ substr($slot->jam_selesai, 0, 5) }} · sisa {{ $slot->sisa }} dari {{ $slot->kapasitas }}
    Pilih
  • @endforeach
@endif
Tambah Kendaraan
@if ($kendaraans->isEmpty()) Tambah Kendaraan @else
@foreach ($kendaraans as $kendaraan)
{{ $kendaraan->plat_nomor }}
{{ trim(($kendaraan->merk?->nama ?? '').' '.($kendaraan->model ?? '')) ?: '-' }}
{{ $kendaraan->tahun ?? '-' }} {{ number_format($kendaraan->kilometer, 0, ',', '.') }} km
Edit
@endforeach
@endif
@endsection @push('scripts') @endpush