namespace PowderCoating.Application.DTOs.Terminal { /// /// Minimal postal address used to create a Stripe Terminal Location. Kept in the Application /// layer so IStripeConnectService doesn't leak Stripe SDK types to controllers. /// public class TerminalAddressDto { public string Line1 { get; set; } = string.Empty; public string City { get; set; } = string.Empty; public string State { get; set; } = string.Empty; public string PostalCode { get; set; } = string.Empty; public string Country { get; set; } = "US"; } /// /// A Stripe Terminal reader as returned by the Stripe API, projected to a plain DTO for the /// settings page and reconciliation. Stripe remains the source of truth for live network status. /// public class TerminalReaderDto { public string StripeReaderId { get; set; } = string.Empty; public string Label { get; set; } = string.Empty; public string DeviceType { get; set; } = string.Empty; public string? SerialNumber { get; set; } public string? NetworkStatus { get; set; } // "online" / "offline" public DateTime? LastSeenAt { get; set; } } }