using Domains.ApplicantDomain;
using Domains.Common;
namespace Domains.VisaApplicationDomain
{
    /// Model of visit request
    public class VisaApplication : IEntity
    {
        /// Unique identifier of 
        public Guid Id { get; private set; } = Guid.NewGuid();
        /// Applicant of 
        public Applicant Applicant { get; set; } = null!;
        /// 
        /// always null if  is not a non-resident
        public ReentryPermit? ReentryPermit { get; set; }
        ///  that  wants to visit
        public Country DestinationCountry { get; set; } = null!;
        /// 
        /// List of  that applicant had before
        /// 
        public List PastVisas { get; set; } = null!;
        /// Permission to enter the destination country of 
        /// always null if  is Schengen
        public PermissionToDestCountry? PermissionToDestCountry { get; set; }
        public List PastVisits { get; set; } = null!;
    }
}