diff --git a/src/Action/Functions.php b/src/Action/Functions.php
index 51b043bc7efdefaf8ab640a2bb8883159db7f60d..34e4ecd525ce9fe84b7317fcca7203f7da0e28df 100644
--- a/src/Action/Functions.php
+++ b/src/Action/Functions.php
@@ -9,7 +9,6 @@ use DateTime;
 use DateInterval;
 use DatePeriod;
 use Exception;
-use RuntimeException;
 
 class Functions
 {
@@ -72,13 +71,13 @@ class Functions
     }
 
     /**
-     * Выходной массив:
-     * Array (
-     *   [0] => Array([0] => laravel, [1] => php)
-     *   [1] => Array([0] => codeigniter, [1] => php)
-     *   [3] => Array([0] => c++, [1] => java))
-     * )
-     */
+      * Выходной массив:
+      * Array (
+      *   [0] => Array([0] => laravel, [1] => php)
+      *   [1] => Array([0] => codeigniter, [1] => php)
+      *   [3] => Array([0] => c++, [1] => java))
+      * )
+      */
 
     /**
      * Сгруппировать подразедлы в верхние разделы меню
@@ -159,7 +158,6 @@ class Functions
         return (int)$dateInterval->format("%a") + 1;
     }
 
-
     /**
      * Вернет все пятницы 13 в году
      * @param int $year год, в котором необходимо произвести расчет
@@ -215,5 +213,4 @@ class Functions
             throw new RuntimeException("File not found: $filePath");
         }
     }
-}
-
+}
\ No newline at end of file
diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php
index 803667d75db9e87714f38df7aec324050f7055dd..e2899a3c6a9f0093d97e12006f657dd4742347ee 100644
--- a/src/Controller/HomeController.php
+++ b/src/Controller/HomeController.php
@@ -3,9 +3,11 @@
 namespace App\Controller;
 
 use App\Action\Functions;
+use App\Validation\{ArrayValidation, DateValidation};
+use DateTimeImmutable;
 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
-use Symfony\Component\HttpFoundation\JsonResponse;
 use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Routing\Attribute\Route;
 
 class HomeController extends AbstractController
@@ -17,6 +19,91 @@ class HomeController extends AbstractController
         $this->functions = $functions;
     }
 
+    #[Route('/func1', name: 'home', methods: ['POST'])]
+    public function func1(Request $request): Response
+    {
+        $array = $request->get('arr');
+        if (!ArrayValidation::validateFunc1($array)) {
+            return new Response("Invalid array");
+        }
+        $array = $this->functions->sortPrice($array);
+        return $this->json($array);
+    }
+
+    #[Route('/func2', name: 'func2', methods: ['POST'])]
+    public function func2(Request $request): Response
+    {
+        $id = $request->query->getInt('id');
+        $array = $request->get('arr');
+        if (!ArrayValidation::validateFunc2($array)) {
+            return new Response("Invalid array");
+        }
+        $result = $this->functions->search($array, $id);
+        return $this->json($result);
+    }
+
+    #[Route('/func3', name: 'func3', methods: ['POST'])]
+    public function home(Request $request): Response
+    {
+        $array = $request->get('arr');
+        $result = $this->functions->uniqElements($array);
+        return $this->json($result);
+    }
+
+    #[Route('/func4', name: 'func4', methods: ['POST'])]
+    public function func4(Request $request): Response
+    {
+        $array = $request->get('arr');
+        if (!ArrayValidation::validateFunc4($array)) {
+            return new Response("Invalid array");
+        }
+        $result = $this->functions->prepareMenu($array);
+        return $this->json($result);
+    }
+
+    #[Route('/func5/{day}/{month}/{year}', name: 'func5')]
+    public function func5(int $day, int $month, int $year): Response
+    {
+        $dateAsString = $year . "-" . $month . "-" . $day;
+        try {
+            $result = $this->functions->howDaysToNy(new DateTimeImmutable($dateAsString));
+        } catch (\Exception $e) {
+            return new Response($e->getMessage());
+        }
+        return $this->json(["Days before NY:" => $result]);
+    }
+
+    #[Route('/func6/{year}', name: 'func6', methods: ['GET'])]
+    public function func6(int $year): Response
+    {
+        $fridays = array();
+        try {
+            foreach ($this->functions->countFriday13($year) as $date) {
+                $fridays[] = $date->format("Y-m-d l");
+            }
+        } catch (\Exception $e) {
+            return new Response($e->getMessage());
+        }
+        return $this->json($fridays);
+    }
+
+    #[Route('/func7/{startDate}/{endDate}', name: 'home')] // 01-01-2024
+    public function func7(string $startDate, string $endDate): Response
+    {
+        if (DateValidation::validate($startDate) && DateValidation::validate($endDate)) {
+            try {
+                $result = $this->functions->diffDays(
+                    new DateTimeImmutable($startDate),
+                    new DateTimeImmutable($endDate)
+                );
+                return $this->json(["The difference of days:" => $result]);
+            } catch (\Exception $e) {
+                return new Response($e->getMessage());
+            }
+        }
+        return new Response("Invalid date format");
+    }
+
     #[Route('/{fileName}', name: 'home')]
     public function home(string $fileName): Response // text.txt
     {
diff --git a/src/Validation/ArrayValidation.php b/src/Validation/ArrayValidation.php
new file mode 100644
index 0000000000000000000000000000000000000000..5807a447814593f64ecf069980c81099b8be861d
--- /dev/null
+++ b/src/Validation/ArrayValidation.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace App\Validation;
+
+class ArrayValidation
+{
+    public static function validateFunc1(array $array): bool
+    {
+        $prices = array_column($array, 'price');
+        $counts = array_column($array, 'count');
+        return ctype_digit(implode('',$prices)) && ctype_digit(implode('', $counts));
+    }
+
+    public static function validateFunc2(array $array): bool
+    {
+        $ids = array_column($array, 'id');
+        $ages = array_column($array, 'age');
+        return ctype_digit(implode('', $ids)) && ctype_digit(implode('', $ages));
+    }
+
+    public static function validateFunc4(array $array): bool
+    {
+        $depths = array_column($array, 'depth');
+        return ctype_digit(implode('', $depths));
+    }
+}
\ No newline at end of file
diff --git a/src/Validation/DateValidation.php b/src/Validation/DateValidation.php
new file mode 100644
index 0000000000000000000000000000000000000000..18046f84a0fef64f875f2f4c4a25c452d43df8c2
--- /dev/null
+++ b/src/Validation/DateValidation.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Validation;
+
+class DateValidation
+{
+    public static function validate(string $date): bool
+    {
+        if (strtotime($date)) {
+            return true;
+        }
+        return false;
+    }
+}
\ No newline at end of file