'datetime:d/m/Y', 'inicio' => 'datetime:H:i', 'fim' => 'datetime:H:i', 'permite_agendamento_somente_supervisor' => 'boolean', ]; protected $fillable = [ 'tipo_id', 'lotacao_id', 'especialidade_id', 'data', 'inicio', 'fim', 'quantidade_consulta', 'tempo_consulta', 'quantidade_retorno', 'tempo_retorno', 'quantidade_consulta_conectasus_cidadao', 'tempo_consulta_conectasus_cidadao', 'quantidade_retorno_conectasus_cidadao', 'tempo_retorno_conectasus_cidadao', 'situacao_id', 'permite_agendamento_somente_supervisor', ]; protected $hidden = [ 'created_at', 'created_lotacao_id', 'created_centro_custo_id', 'updated_at', 'updated_lotacao_id', 'updated_centro_custo_id', ]; protected $appends = [ 'dia_semana', ]; public function tipo() { return $this->belongsTo(JornadaTipo::class); } public function lotacao() { return $this->belongsTo(Lotacao::class); } public function especialidade() { return $this->belongsTo(Especialidade::class); } public function situacao() { return $this->belongsTo(JornadaSituacao::class); } public function agendamentos() { return $this->hasMany(Agendamento::class); } public function demandasEspontaneas() { return $this->hasMany(DemandaEspontanea::class); } public function getDiaSemanaAttribute() { return $this->data->dayOfWeek + 1; } }