namespace PowderCoating.Web.ViewModels; public class QuoteApprovalViewModel { public string Token { get; set; } = string.Empty; public string QuoteNumber { get; set; } = string.Empty; public string CompanyName { get; set; } = string.Empty; public string? CompanyPhone { get; set; } public string? CompanyEmail { get; set; } public bool CompanyHasLogo { get; set; } public string CustomerName { get; set; } = string.Empty; public string? CustomerEmail { get; set; } public DateTime? ExpirationDate { get; set; } public DateTime? ApprovalTokenExpiresAt { get; set; } public decimal SubTotal { get; set; } public decimal DiscountAmount { get; set; } public bool HideDiscountFromCustomer { get; set; } public decimal RushFee { get; set; } public decimal TaxAmount { get; set; } public decimal Total { get; set; } public string? Terms { get; set; } public string? Description { get; set; } public string? SpecialInstructions { get; set; } public List Items { get; set; } = new(); public string? DeclineError { get; set; } // For AlreadyActed view public string? CurrentStatus { get; set; } public string? DeclineReason { get; set; } // Deposit payment link (shown on Confirmation page after approval) public bool RequiresDeposit { get; set; } public decimal DepositPercent { get; set; } public decimal DepositAmount { get; set; } // pre-calculated: Total * DepositPercent/100 public string? DepositPaymentLinkToken { get; set; } public decimal DepositAmountPaid { get; set; } // Prospect details collection public bool IsProspect { get; set; } public string? ProspectContactName { get; set; } public string? ProspectEmail { get; set; } public string? ProspectPhone { get; set; } public string? ProspectCompanyName { get; set; } public string? ProspectAddress { get; set; } public string? ProspectCity { get; set; } public string? ProspectState { get; set; } public string? ProspectZipCode { get; set; } } public class QuoteApprovalItemViewModel { public string Description { get; set; } = string.Empty; public decimal Quantity { get; set; } public decimal UnitPrice { get; set; } public decimal TotalPrice { get; set; } }