public function publish($date, Carbon $startAt, Carbon $finishAt, $serviceId, $capacity = 1) { $vacancyKeys = ['business_id' => $this->business->id, 'service_id' => $serviceId, 'date' => $date]; $vacancyValues = ['capacity' => intval($capacity), 'start_at' => $startAt->timezone('UTC')->toDateTimeString(), 'finish_at' => $finishAt->timezone('UTC')->toDateTimeString()]; return Vacancy::updateOrCreate($vacancyKeys, $vacancyValues); }