namespace FruitBank.Common.Dtos;

/// <summary>
/// Frozen snapshot of the customer site (telephely) selected for an order, stored
/// as JSON in the order's "Site" generic attribute. Shaped to the NAV EKÁER
/// LocationType (UnloadLocation) so the outgoing trade card can use it directly.
/// </summary>
public class OrderSiteSnapshot
{
    /// <summary>The customer Address this snapshot was taken from (reference only; data is frozen).</summary>
    public int SourceAddressId { get; set; }

    public string? Name { get; set; }        // LocationType.Name (Company or person name)
    public string? VatNumber { get; set; }   // LocationType.VatNumber (customer's VAT)
    public string? CountryCode { get; set; } // LocationType.Country (ISO, e.g. "HU")
    public string? ZipCode { get; set; }     // LocationType.ZipCode
    public string? City { get; set; }        // LocationType.City
    public string? Street { get; set; }      // LocationType.Street (Address1 [+ Address2])

    /// <summary>Pre-formatted one-line display for UI.</summary>
    public string? Display { get; set; }
}