OCI Digital Assistant Professional study materials
OCI Digital Assistant Professional study resources

Airline Rebooking Flow Interrupted by Q&A and Help Requests

OCI Digital Assistant Professional · Put your knowledge to work in context.

All case studies

Airline Rebooking Flow Interrupted by Q&A and Help Requests

An airline's RebookFlight skill collects confirmationNumber, flightDate, and newFlight in a composite bag. The flow sets rebookingInProgress=true and stores partial data. About 6,500 rebooking conversations run per day. When asked for a new flight, if a user asks 'what's the weather in Boston', the skill's unresolved intent answers from Q&A and ends; 9% of rebooking sessions must restart. A 'help' intent also ends the flow. System intents are enabled; Q&A has 400 entries; SMS users send 'Tuesday' or 'the 8am one' as one-word replies. The team wants to add 'cancel' and 'agent' global commands without breaking slot filling. The draft flow has a 'start over' transition that clears all variables.

1. Why does the weather question terminate the rebooking flow even though rebookingInProgress is set? How does interruption handling actually work here?

Read the worked answer

Setting a variable does not preserve dialog state. In ODA, when an unresolved intent or Q&A match takes over, the current flow transitions to that resolution path. If the Q&A or help path has a terminal transition, the conversation context ends instead of returning to the entity prompt. rebookingInProgress is only a flag; nothing in the flow uses it to restore the previous prompt or the composite bag position. The 'help' intent has the same problem. This is a flow-design defect: interruptions need explicit return behavior, not just a state variable. The 9% restart rate is the observable symptom. The fix is to make Q&A and help non-terminal for in-progress flows, or to capture the last prompt and route back after answering.

2. Design global intents for help, cancel, agent, and Q&A that preserve or deliberately clear rebooking state. Include SMS handling for one-word replies.

Read the worked answer

Define global intents at the skill or digital-assistant level for help, cancel, agent, and Q&A. For help, answer briefly and return to the exact entity prompt that was active, preserving confirmationNumber, flightDate, and any partial newFlight. If the platform requires an explicit return, store lastPrompt and re-enter the composite bag at that prompt. For Q&A, answer at most one question, then return; prevent loops by limiting consecutive Q&A turns. For cancel, ask for confirmation, then clear all rebooking variables and exit. For agent, escalate with a summary of collected slots.

For SMS, accept 'Tuesday' as a day name relative to the current week and confirm the resolved date, for example 'Did you mean Tuesday, March 4?' For 'the 8am one', present numbered flight options and accept the ordinal. Do not treat a one-word reply as an unresolved intent just because it is short. Confirm before committing a date or flight, and allow correction without restarting the whole flow.

3. How would you test and measure the revised interruption behavior before and after release?

Read the worked answer

Build at least 30 scripted conversations that interrupt at each slot with weather, help, cancel, agent, and an unrelated Q&A question. Measure whether the flow resumes at the correct prompt, whether previously collected slots are retained, and whether cancel actually clears PII. Include SMS one-word and numeric replies, plus a user who asks two questions in a row. Compare restart rate against the 9% baseline, along with abandonment, containment, and agent transfers. Test in a versioned test assistant with the same channels, then publish and monitor for two weeks. Verify that Q&A does not answer PHI or booking-change questions that require authentication, and keep the prior version for rollback.