using OmsorgCore.Domain.Common;

namespace OmsorgCore.Domain.Entities;

/// <summary>
/// Core-Objekt "Auftrag" — Personalbedarf einer Einrichtung (REQUIREMENTS.md Abschnitt 6, Blueprint 19.4).
/// </summary>
public class Order : AuditableEntity
{
    public Guid FacilityId { get; set; }
    public Facility Facility { get; set; } = null!;

    public Guid? FacilityContactId { get; set; }
    public FacilityContact? FacilityContact { get; set; }

    public DateOnly StartDate { get; set; }
    public DateOnly? EndDate { get; set; }
    public string? RequiredQualification { get; set; }
    public string? ShiftType { get; set; }
    public int RequiredHeadcount { get; set; } = 1;
    public string? Conditions { get; set; }
    public string Priority { get; set; } = "Normal";

    public Guid StatusId { get; set; }
    public ValueListItem Status { get; set; } = null!;
}
