public async Task <Response <DistanceResponseVM> > GetDistanceAsync(DistanceRequestVM request)
        {
            try
            {
                var airportFromInfo = await _airpotsApi.GetAirportInfoAsync(request.IataCodeFrom);

                var airportToInfo = await _airpotsApi.GetAirportInfoAsync(request.IataCodeTo);

                var fromCoords = _mapper.Map <Coordinates>(airportFromInfo);
                var toCoords   = _mapper.Map <Coordinates>(airportToInfo);

                var distance = fromCoords.DistanceTo(toCoords);
                var vm       = new DistanceResponseVM()
                {
                    Distance = distance
                };

                var response = Response <DistanceResponseVM> .Success(vm);

                return(response);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error while calculating distance");
                var response = Response <DistanceResponseVM> .Error("Unable to get airport information");

                return(response);
            }
        }
        public async Task <ActionResult <Response <DistanceResponseVM> > > Post([FromBody] DistanceRequestVM distanceRequest)
        {
            var result = await _distanceCalculationService.GetDistanceAsync(distanceRequest);

            if (result.ResponseStatus == Domain.Enums.Status.Success)
            {
                return(Ok(result));
            }
            else
            {
                return(BadRequest(result));
            }
        }