'boolean', 'starts_at' => 'datetime', 'ends_at' => 'datetime', 'trigger_config' => 'array', 'conditions' => 'array', 'channels' => 'array', 'last_anchor_price' => 'float', 'sms_send_hour' => 'integer', 'sms_send_minute' => 'integer', 'in_app_send_hour' => 'integer', 'in_app_send_minute' => 'integer', 'cooldown_hours' => 'integer', 'max_sends' => 'integer', 'sent_count' => 'integer', 'failed_count' => 'integer', 'last_sms_run_at' => 'datetime', 'last_in_app_run_at' => 'datetime', ]; public function sends(): HasMany { return $this->hasMany(AutomationSend::class); } public function delayedJobs(): HasMany { return $this->hasMany(AutomationDelayedJob::class); } public function usesChannel(string $channel): bool { return in_array($channel, $this->channels ?? [], true); } }