using System.ComponentModel.DataAnnotations;
using ApplicationLayer.Services.Applicants.Models;
using Domains.VisaApplicationDomain;
namespace ApplicationLayer.Services.VisaApplications.Models;
/// Model of  with applicant property
public class VisaApplicationModel
{
    /// 
    [Required]
    public Guid Id { get; set; }
    /// Applicant of application
    [Required]
    public ApplicantModel Applicant { get; set; } = null!;
    /// 
    [Required]
    public ApplicationStatus Status { get; set; }
    /// 
    public ReentryPermitModel? ReentryPermit { get; set; }
    /// 
    [Required]
    public string DestinationCountry { get; set; } = null!;
    /// 
    [Required]
    public List PastVisas { get; set; } = null!;
    /// 
    public PermissionToDestCountryModel? PermissionToDestCountry { get; set; }
    [Required]
    public List PastVisits { get; set; } = null!;
    /// 
    [Required]
    public VisaCategory VisaCategory { get; set; }
    /// 
    [Required]
    public bool ForGroup { get; set; }
    /// 
    [Required]
    public RequestedNumberOfEntries RequestedNumberOfEntries { get; set; }
    /// 
    [Required]
    public DateTime RequestDate { get; set; }
    /// 
    [Required]
    public int ValidDaysRequested { get; set; }
}