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!;
///
public VisaCategory VisaCategory { get; set; }
/// Is for group
public bool ForGroup { get; set; }
///
public RequestedNumberOfEntries RequestedNumberOfEntries { get; set; }
/// When application was created
public DateOnly RequestDate { get; set; }
/// Valid days requested
public int ValidDaysRequested { get; set; }
}
}