diff --git a/app/Classes/Modules/Bookings/ControllersLogic/UpdateBookingOwnerLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/UpdateBookingOwnerLogic.php
new file mode 100644
index 00000000..90b3fb98
--- /dev/null
+++ b/app/Classes/Modules/Bookings/ControllersLogic/UpdateBookingOwnerLogic.php
@@ -0,0 +1,87 @@
+ 'Update Booking Owner',
+ 'message' => "You have successfully updated booking's owner"
+ ];
+ }
+
+ /** @var CanUpdateBooking */
+ private $canUpdateBooking;
+
+ /** @var UpdatesBookingOwner */
+ private $updatesBookingOwner;
+
+ /** @var FetchesBooking */
+ private $fetchesBooking;
+
+ /** @var CanFetchBooking */
+ private $canFetchBooking;
+
+ /** @var FetchesCompany */
+ private $fetchesCompany;
+
+ /**
+ * UpdateBookingLogic constructor.
+ * @param CanUpdateBooking $canUpdateBooking
+ * @param UpdatesBookingOwner $updatesBookingOwner
+ * @param CanFetchBooking $canFetchBooking
+ * @param FetchesBooking $fetchesBooking
+ * @param FetchesCompany $fetchesCompany
+ */
+ public function __construct(
+ CanUpdateBooking $canUpdateBooking,
+ UpdatesBookingOwner $updatesBookingOwner,
+ CanFetchBooking $canFetchBooking,
+ FetchesBooking $fetchesBooking,
+ FetchesCompany $fetchesCompany
+ ) {
+ $this->canUpdateBooking = $canUpdateBooking;
+ $this->updatesBookingOwner = $updatesBookingOwner;
+ $this->canFetchBooking = $canFetchBooking;
+ $this->fetchesBooking = $fetchesBooking;
+ $this->fetchesCompany = $fetchesCompany;
+ }
+
+ /**
+ * @param Request $request
+ * @return JsonResponse
+ * @throws ErrorException
+ */
+ public function logic(Request $request): JsonResponse
+ {
+ $this->canFetchBooking->passes();
+
+ $booking = $this->fetchesBooking->execute([
+ 'id' => $request->route('id'),
+ ]);
+
+ $newCompanyId = Company::where('reference', $request->input('newMarking'))->first()->id;
+
+ $this->updatesBookingOwner->execute($booking, $newCompanyId);
+
+ return $this->resourceResponse(new BookingResource($booking));
+ }
+}
diff --git a/app/Classes/Modules/Bookings/Services/UpdatesBookingOwner.php b/app/Classes/Modules/Bookings/Services/UpdatesBookingOwner.php
new file mode 100644
index 00000000..1fd094e4
--- /dev/null
+++ b/app/Classes/Modules/Bookings/Services/UpdatesBookingOwner.php
@@ -0,0 +1,22 @@
+company_id = $id;
+ return $this->handler($model);
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/Bookings/UpdateBookingOwnerController.php b/app/Http/Controllers/Bookings/UpdateBookingOwnerController.php
new file mode 100644
index 00000000..1ced189c
--- /dev/null
+++ b/app/Http/Controllers/Bookings/UpdateBookingOwnerController.php
@@ -0,0 +1,20 @@
+execute($request);
+ }
+
+}
\ No newline at end of file
diff --git a/resources/assets/vue/components/bookings/forms/ChangeBookingOwnerFormComponent.vue b/resources/assets/vue/components/bookings/forms/ChangeBookingOwnerFormComponent.vue
new file mode 100644
index 00000000..8034fcdc
--- /dev/null
+++ b/resources/assets/vue/components/bookings/forms/ChangeBookingOwnerFormComponent.vue
@@ -0,0 +1,62 @@
+
+ Change Booking Owner
+