private async void SwitchToDetailedView(MessageTypes.ViewStopDetails args)
        {
            RaiseStateChanged(StopSearchState.Details);
            SelectedStop = args.StopSelected;

            LinesAtStop.Clear();
            DeparturesAtStop.Clear();

            IsDetailsLoading = true;
            ApiResult <TransitStopDetails> stopDetailsResponse = await _networkService.GetStopDetails(args.StopSelected.BackingStop.GtfsId, DateTime.Now);

            IsDetailsLoading = false;

            if (stopDetailsResponse.IsFailure)
            {
                //todo: show failed UI somehow
                return;
            }
            LinesAtStop = new ObservableCollection <TransitLineWithoutStops>(
                stopDetailsResponse.Result.LinesThroughStop);

            DeparturesAtStop = new ObservableCollection <TransitStopTime>(
                stopDetailsResponse.Result.Stoptimes
                .Where(x => x.RealtimeDepartureDateTime >= DateTime.Now || x.ScheduledDepartureDateTime >= DateTime.Now)
                .ToList());
        }
 private void SwitchToOverview()
 {
     if (_currentState == StopSearchState.Details)
     {
         RaiseStateChanged(StopSearchState.Overview);
         LinesAtStop.Clear();
         DeparturesAtStop.Clear();
     }
 }