using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace LittleShop.Models;

public class ShippingRate
{
    [Key]
    public Guid Id { get; set; }
    
    [Required]
    [StringLength(100)]
    public string Name { get; set; } = string.Empty;
    
    [StringLength(500)]
    public string? Description { get; set; }
    
    [Required]
    [StringLength(100)]
    public string Country { get; set; } = "United Kingdom";
    
    // Weight range in grams
    [Column(TypeName = "decimal(18,2)")]
    public decimal MinWeight { get; set; }
    
    [Column(TypeName = "decimal(18,2)")]
    public decimal MaxWeight { get; set; }
    
    [Column(TypeName = "decimal(18,2)")]
    public decimal Price { get; set; }
    
    // Estimated delivery days
    public int MinDeliveryDays { get; set; }
    public int MaxDeliveryDays { get; set; }
    
    public bool IsActive { get; set; } = true;
    
    public DateTime CreatedAt { get; set; }
    public DateTime UpdatedAt { get; set; }
}