namespace Baya.Application.Models.Addresses;

/// <summary>
/// A customer's saved address, returned only in the owner's own read path — the encrypted street address,
/// postal code and recipient contact are decrypted here for the owner (they are never surfaced to any
/// other actor in this phase). Coordinates are <see cref="decimal"/> and may be null when the address was
/// saved without a confident geocode.
/// </summary>
public record CustomerAddressDto(
    long Id,
    string Title,
    long ProvinceId,
    long CityId,
    string CityNameFa,
    string CityNameEn,
    long? DistrictId,
    string DistrictNameFa,
    string DistrictNameEn,
    string AddressLine,
    string PostalCode,
    decimal? Latitude,
    decimal? Longitude,
    bool IsPrimary,
    string RecipientName,
    string RecipientPhone);
