using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Fitness_core_BE.Models { // Records what an admin actually agreed with a client for their fingerprint/access // device at assignment time (full purchase vs. rental + one-time setup fee). // DevicePricingConfig stays as the admin's reference/default rates; this is per-client. public class ClientDeviceBilling { [Key] public Guid Id { get; set; } public Guid FKClientId { get; set; } [ForeignKey("FKClientId")] public virtual Client Client { get; set; } public string Mode { get; set; } = "Rental"; // "FullPurchase" | "Rental" public decimal AgreedAmount { get; set; } // full price if FullPurchase, monthly fee if Rental public decimal SetupFee { get; set; } = 0; public bool IsActive { get; set; } = true; public DateTime AssignedAt { get; set; } = DateTime.UtcNow; public Guid? AssignedByAdminId { get; set; } } }