namespace HotelPosApi.Models;

public class Booking
{
    public int Id { get; set; }
    public string BookingCode { get; set; } = string.Empty;
    public string GuestName { get; set; } = string.Empty;
    public string? Phone { get; set; }
    public string? Email { get; set; }
    public string? Ic { get; set; }
    public string Nationality { get; set; } = "Malaysian";
    public int? PricingId { get; set; }
    public string? PackageType { get; set; }
    public string? Course { get; set; }
    public string Room { get; set; } = string.Empty;
    public DateOnly Checkin { get; set; }
    public DateOnly Checkout { get; set; }
    public int Nights { get; set; }
    public string PaxJson { get; set; } = "{}";
    public string AddonsJson { get; set; } = "[]";
    public string? FeesJson { get; set; }
    public string? AgentCode { get; set; }
    public string? AgentId { get; set; }
    public decimal TotalAmount { get; set; }
    public decimal AmountPaid { get; set; }
    public string PayMethod { get; set; } = "cash";
    public string? Remarks { get; set; }
    public string Status { get; set; } = "confirmed";
    public DateTime CreatedAtUtc { get; set; } = DateTime.UtcNow;
    public List<BookingAttribute> Attributes { get; set; } = new();
}
