public async Task <IEnumerable <FlightModel> > GetFlights(GetFlightsRequest request)
        {
            var res = await lotApiClient.GetOffers(new GetOffersRequest()
            {
                GetOffersRequestParam = new GetOffersRequestParam()
                {
                    Origin        = new string[] { request.From },
                    Destination   = new string[] { request.To },
                    DepartureDate = new List <string>()
                    {
                        request.Date.ToLotFormat()
                    },
                    TripType             = request.OneWay ? "O" : "R",
                    ReturnDate           = request.Date.AddDays(7).ToLotFormat(),
                    NumberOfAdultsOver16 = request.NumberOfAdultsOver16
                }
            });

            if (!string.IsNullOrEmpty(request.Mode))
            {
                res = res.Where(a => a.Tags.Contains(request.Mode));
            }

            if (request.Tags != null && request.Tags.Any())
            {
                res = res.Where(a => !request.Tags.Except(a.Tags).Any());
            }

            res = res.OrderBy(a => Guid.NewGuid()).ToList();

            if (res.Count() > 9)
            {
                res = res.Take(9);
            }

            return(res);
        }
 public async Task <IEnumerable <FlightModel> > Get([FromQuery] GetFlightsRequest request) => await flightService.GetFlights(request);