diff --git a/src/BusProNet/DataProcessor/BookingDataProcessor.php b/src/BusProNet/DataProcessor/BookingDataProcessor.php index 13c2633..ecebed2 100644 --- a/src/BusProNet/DataProcessor/BookingDataProcessor.php +++ b/src/BusProNet/DataProcessor/BookingDataProcessor.php @@ -33,26 +33,33 @@ class BookingDataProcessor ...$participant->rentalInsurance, ]; foreach ($servicesToMap as $service) { - if (false === isset($this->additionalServices[$service->id])) { - $serviceToAdd = $travelData->additionalServices[$service->id]; + if (false === isset($bookingData->additionalServices[$service->id])) { + $serviceToAdd = $travelData->additionalServices[$service->id] ?? null; if (null !== $serviceToAdd) { $bookingData->additionalServices[$service->id] = $serviceToAdd; $bookingData->additionalServices[$service->id]->individualPrice[$participant->index] = $serviceToAdd->price; } } - $bookingData->additionalServices[$service->id]->mapping[] = $participant->index; + if (true === isset($bookingData->additionalServices[$service->id])) { + $bookingData->additionalServices[$service->id]->mapping[] = $participant->index; + } } foreach ([$participant->transportationServiceTo, $participant->transportationServiceFro] as $service) { - if (false === isset($this->transportationServices[$service->id])) { - $serviceToAdd = $travelData->transportationServices[$service->id]; + if (null === $service) { + continue; + } + if (false === isset($bookingData->transportationServices[$service->id])) { + $serviceToAdd = $travelData->transportationServices[$service->id] ?? null; if (null !== $serviceToAdd) { $bookingData->transportationServices[$service->id] = $serviceToAdd; $bookingData->transportationServices[$service->id]->individualPrice[$participant->index] = $serviceToAdd->price; } } - $bookingData->transportationServices[$service->id]->mapping[] = $participant->index; + if (true === isset($bookingData->transportationServices[$service->id])) { + $bookingData->transportationServices[$service->id]->mapping[] = $participant->index; + } } - if ('BUS' === $participant->transportationServiceTo->subType && null !== $selectedPickup = $participant->pickup) { + if ('BUS' === $participant->transportationServiceTo?->subType && null !== $selectedPickup = $participant->pickup) { if (false === isset($bookingData->pickupsTo[$selectedPickup->id])) { $bookingData->pickupsTo[$selectedPickup->id] = $selectedPickup; }