authorize('viewPickupTimeslots', $shop); $domainShop = $this->shopRepository->find($shop->getId()); if ($domainShop === null) { return Response::json(['message' => 'Shop not found'], 404); } return TimeSlotResource::collection( $this->pickupService->getTimeSlotsFor( $domainShop, $this->getUntil() ) ); } private function getUntil(): CarbonInterface { return CarbonImmutable::now()->addDays(self::TIMESLOTS_DAY_TARGET); } }