public async Task <dto.GetSSRAvailabilityForBookingResponse> GetSSRAvailabilityForBooking() { var legKeys = new List <LegKey>(); foreach (var journey in (await _sessionBag.Booking()).Journeys) { foreach (var segment in journey.Segments) { foreach (var leg in segment.Legs) { legKeys.Add(new LegKey { ArrivalStation = segment.ArrivalStation, DepartureStation = segment.DepartureStation, CarrierCode = segment.FlightDesignator.CarrierCode.Trim(), DepartureDate = segment.STD, FlightNumber = segment.FlightDesignator.FlightNumber.Trim(), OpSuffix = segment.FlightDesignator.OpSuffix.Trim() }); } } } var ssrAvailabilityForBookingRequest = new SSRAvailabilityForBookingRequest { CurrencyCode = (await _sessionBag.Booking()).CurrencyCode, SSRAvailabilityMode = SSRAvailabilityMode.NonBundledSSRs, InventoryControlled = true, NonInventoryControlled = true, NonSeatDependent = true, SeatDependent = true, PassengerNumberList = (await _sessionBag.Booking()).Passengers.Select(p => p.PassengerNumber).ToArray(), SegmentKeyList = legKeys.ToArray() }; var response = await _client.GetSSRAvailabilityForBookingAsync(new GetSSRAvailabilityForBookingRequest { ContractVersion = _navApiContractVer, MessageContractVersion = _navMsgContractVer, Signature = await _sessionBag.Signature(), EnableExceptionStackTrace = false, SSRAvailabilityForBookingRequest = ssrAvailabilityForBookingRequest }); //_navApiContractVer, false, _navMsgContractVer, //await _sessionBag.Signature(), ssrAvailabilityForBookingRequest); return(Mapper.Map <dto.GetSSRAvailabilityForBookingResponse>(response)); }