<?php

namespace Database\Factories;

use App\Models\Agenda;
use App\Models\Cliente;
use App\Models\EstadoTurno;
use App\Models\Profesional;
use App\Models\Servicio;
use App\Models\Turno;
use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Turno>
 */
class TurnoFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = Turno::class;

    /**
     * Define the model's default state.
     *
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'inicio' => $this->faker->dateTimeBetween('-1 month', '+1 month'),
            'correo' => $this->faker->unique()->safeEmail(),
            'nombrecompleto' => $this->faker->name(),
            'descripcion' => $this->faker->paragraph(),
            'cliente_id' => Cliente::factory(),
            'estadoturno_id' => EstadoTurno::factory(),
            'agenda_id' => Agenda::factory(),
            'profesional_id' => Profesional::factory(),
            'servicio_id' => Servicio::factory(),
        ];
    }
}
