private async Task <DialogTurnResult> ActStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { // Call LUIS and gather any potential booking details. (Note the TurnContext has the response to the prompt.) var onSpotPerformance = stepContext.Result != null ? await LuisHelper.ExecuteOnSpotLuisQuery(Configuration, Logger, stepContext.Context, cancellationToken) : new OnSpotPerformance(); //new BookingDetails(); // In this sample we only have a single Intent we are concerned with. However, typically a scenario // will have multiple different Intents each corresponding to starting a different child Dialog. // Run the BookingDialog giving it whatever details we have from the LUIS call, it will fill out the remainder. return(await stepContext.BeginDialogAsync(nameof(OnSpotDialog), onSpotPerformance, cancellationToken)); }