Data Model

namespace MechantLocation
{
    public class MerchantLocationResp
    {
        public int MerchantId { get; set; }

        /// <summary>
        /// Unique Location Id
        /// </summary>
        [Required]
        public int LocationId { get; set; }

        /// <summary>
        /// Address of the Location
        /// </summary>
        [Required]
        [MaxLength(512)]
        public string Address { get; set; }

        /// <summary>
        /// City of the Location
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string City { get; set; }

        /// <summary>
        /// State of the Location
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string State { get; set; }

        /// <summary>
        /// PostCode of the Location
        /// </summary>
        [Required]
        [MaxLength(10)]
        public string PostCode { get; set; }

        /// <summary>
        /// Country of the Location
        /// </summary>
        [Required]
        [MaxLength(100)]
        public string Country { get; set; }

        public string Email { get; set; }

        /// <summary>
        /// The Location Type
        /// </summary>
        public int? LocationTypeId { get; set; }

        /// <summary>
        /// Unique Location Reference
        /// </summary>
        [Required]
        [MaxLength(100)]
        public string LocationReferenceIdentifier { get; set; }

        /// <summary>
        /// Google place identifier for the location
        /// </summary>
        [MaxLength(500)]
        public string GooglePlaceId { get; set; }

        /// <summary>
        /// Location Latitude
        /// </summary>
        public double? Latitude { get; set; }

        /// <summary>
        /// Location Longitude
        /// </summary>
        public double? Longitude { get; set; }

        /// <summary>
        /// Description of the Location
        /// </summary>
        [MaxLength(1024)]
        public string LocationDescription { get; set; }

        /// <summary>
        /// Phone Number of the Location
        /// </summary>
        [MaxLength(50)]
        public string PhoneNumber { get; set; }

        public DateTime? CreatedOn { get; set; }

        public DateTime? ModifiedOn { get; set; }

        /// <summary>
        /// Name of the Location Merchant
        /// </summary>
        [Required]
        [MaxLength(200)]
        public string LocationName { get; set; }

        /// <summary>
        /// Merchant Identifier for the Location
        /// </summary>
        [MaxLength(50)]
        public string LocationMID { get; set; }

        /// <summary>
        /// Denotes if the MID of the Location is Verified
        /// </summary>
        public bool IsValidMID { get; set; }

        /// <summary>
        /// List of Operating Hours
        /// </summary>
        [Required]
        public List<TradingHours> TradingHours { get; set; }

        /// <summary>
        /// List of Location Images
        /// </summary>
        public List<ImageModel>? LocationImages { get; set; }

        public int TotalRows { get; set; }

        /// <summary>
        /// Merchant Primary Location
        /// </summary>
        [Required]
        public bool IsPrimaryLocation { get; set; }

        /// <summary>
        /// Offers Mapped to this location
        /// </summary>
        public Guid[] MappedOffers { get; set; }
    }
}