@extends('layouts.app') @section('content') @php // Ensure variables are defined for backward compatibility $isMultiSlotSession = $isMultiSlotSession ?? false; $allBookings = $allBookings ?? collect([$booking]); $relatedBookings = $relatedBookings ?? collect(); $totalSessionPrice = $totalSessionPrice ?? $booking->total_price; // Function to clean session ID from notes for display function cleanNotesForDisplay($notes) { if (!$notes) return null; return trim(preg_replace('/\[SESSION:[^\]]+\]/', '', $notes)) ?: null; } @endphp
@if($isMultiSlotSession)

Réservations multiples #{{ $booking->booking_number }}

{{ $booking->service->name }}

Du {{ $allBookings->first()->start_datetime->format('d/m/Y à H:i') }} au {{ $allBookings->last()->end_datetime->format('d/m/Y à H:i') }} ({{ $allBookings->count() }} créneaux)

@else

Réservation {{ $booking->booking_number }}

{{ $booking->service->name }}

{{ $booking->start_datetime->format('d/m/Y à H:i') }}

@endif
@include('bookings.partials.flash-messages') @if($isMultiSlotSession)

Créneaux réservés ({{ $allBookings->count() }})

Prix total
{{ number_format($totalSessionPrice, 2) }} €
@foreach($allBookings as $sessionBooking)
#{{ $sessionBooking->booking_number }}
@if($sessionBooking->status === 'pending') En attente @elseif($sessionBooking->status === 'confirmed') Confirmée @elseif($sessionBooking->status === 'completed') Terminée @elseif($sessionBooking->status === 'cancelled') Annulée @elseif($sessionBooking->status === 'refused') Refusée @endif
{{ $sessionBooking->start_datetime->format('d/m/Y') }}
{{ $sessionBooking->start_datetime->format('H:i') }} - {{ $sessionBooking->end_datetime->format('H:i') }}
{{ number_format($sessionBooking->total_price, 2) }} €
@if($sessionBooking->id === $booking->id)
Créneau actuel
@endif
@endforeach
@if($relatedBookings->count() > 0)
Navigation rapide :
@foreach($allBookings as $sessionBooking) @if($sessionBooking->id !== $booking->id) #{{ $sessionBooking->booking_number }} @endif @endforeach
@endif
@endif
@include('bookings.partials.status-actions', [ 'booking' => $booking, 'isMultiSlotSession' => $isMultiSlotSession, 'allBookings' => $allBookings ?? collect(), 'relatedBookings' => $relatedBookings ?? collect() ])
@if($isMultiSlotSession) @include('bookings.partials.booking-details-multi', ['currentBooking' => $booking, 'allBookings' => $allBookings, 'totalSessionPrice' => $totalSessionPrice]) @else @include('bookings.partials.booking-details') @endif
@include('bookings.partials.user-profile')
@if($booking->status === 'confirmed' && $booking->confirmed_at)
Confirmée le {{ $booking->confirmed_at->format('d/m/Y à H:i') }}
@elseif($booking->status === 'completed' && $booking->completed_at)
Terminé le {{ $booking->completed_at->format('d/m/Y à H:i') }}
@elseif($booking->status === 'cancelled' || $booking->status === 'refused')
@if($booking->status === 'cancelled') Annulée le {{ $booking->cancelled_at->format('d/m/Y à H:i') }} @else Refusée le {{ $booking->cancelled_at->format('d/m/Y à H:i') }} @endif
@if($booking->cancellation_reason)

Raison: {{ $booking->cancellation_reason }}

@endif
@endif @php $cleanClientNotes = cleanNotesForDisplay($booking->client_notes); $cleanPrestataireNotes = cleanNotesForDisplay($booking->prestataire_notes); @endphp @if($cleanClientNotes || $cleanPrestataireNotes)

Notes

@if($cleanClientNotes)

Client

{{ $cleanClientNotes }}

@endif @if($cleanPrestataireNotes)

Prestataire

{{ $cleanPrestataireNotes }}

@endif
@endif
@include('bookings.partials.modals') @push('scripts') @endpush @endsection