%3 140529785841824 #start# 140529785169360 #single_turn_interact# {flight_date} ['Which day do you need to book a flight ticket?', 'What date ... Must input {flight_date} 140529785841824:e->140529785169360:w 140529768507456 #single_turn_interact# {flight_departure_city} Which city does the flight depart from? Must input {flight_departure_city} 140529785841824:e->140529768507456:w 140529768599856 #single_turn_interact# {flight_landing_city} Which city are you flying to? Must input {flight_landing_city} 140529785841824:e->140529768599856:w 140529768511200 #activity#execute_script set_default_and_prefered_value() Set the default value 'no limit to ...' or user preference value (and set the preference prompt content):   {flight_departure_airport}, {flight_landing_airport}, {airline}, {flight_is_direct_or_connecting}, {flight_departure_time_period}      Set the default value: {number_of_passengers}=1 140529785841824:e->140529768511200:w 140529787379040 #condition#script lambda ctx: ctx["{flight_booking_preference_tips}"].as_str()  ... 140529785841824:e->140529787379040:w 140529795719408 #single_turn_interact# {flight_departure_airport} Which airport are you departing from? The default value or preference value has been preset before   AI will not take the initiative to ask questions, but the user can take the initiative to mention it 140529785841824:e->140529795719408:w 140529768608064 #single_turn_interact# {flight_landing_airport} Which airport will you land at? The default value or preference value has been preset before   AI will not take the initiative to ask questions, but the user can take the initiative to mention it 140529785841824:e->140529768608064:w 140529768606336 #single_turn_interact# {airline} Which airline to choose for your flight? The default value or preference value has been preset before   AI will not take the initiative to ask questions, but the user can take the initiative to mention it 140529785841824:e->140529768606336:w 140529805716864 #single_turn_interact# {flight_is_direct_or_connecting} Is the flight a direct flight or a connecting flight? The default value or preference value has been preset before   AI will not take the initiative to ask questions, but the user can take the initiative to mention it 140529785841824:e->140529805716864:w 140529768779216 #single_turn_interact# {flight_departure_time_period} At what time of day would you like your flight to take off? The default value or preference value has been preset before   AI will not take the initiative to ask questions, but the user can take the initiative to mention it 140529785841824:e->140529768779216:w 140529768597168 #single_turn_interact# {flight_number} {question_about_flight_number} Based on the following InfoItems, eligible flight numbers, prices and other related information are listed for users to choose from:   {flight_date}、{flight_departure_city}、{flight_landing_city}、{flight_departure_airport}、{flight_landing_airport}   {airline}、{flight_is_direct_or_connecting}、{flight_departure_time_period}、{flight_cabin_class}   When {flight_cabin_class} has no value (that is, the user has not mentioned it yet), it means 'no limit'. It may filter out some flight numbers and also affect the display of prices and other related information;   Other InfoItems may be 'no limit to ...'   Then depending on the situation, you can choose to return several lines of text or return structured data for the client to generate UI Widget 140529785841824:e->140529768597168:w 140529768782048 #single_turn_interact# {flight_cabin_class} What class of cabin should I choose? 140529785841824:e->140529768782048:w 140529768776384 #single_turn_interact# {number_of_passengers} How many tickets are required for this reservation? The default value 1 was previously preset   AI will not proactively ask questions, but users can proactively mention them. 140529785841824:e->140529768776384:w 140529768780272 #single_turn_interact# {passenger_information} Please tell me the information of the passenger, including na ... You can enter one or more passenger information 140529785841824:e->140529768780272:w 140529768507936 #single_turn_interact# {are_all_flight_booking_information_correct} Please confirm whether these ticket booking information are c ... 140529785841824:e->140529768507936:w 140529768499008 #condition#script check_if_flight_date_invalid() Check the format and validity of the flight date. It must be in YYYY-MM-DD format   and cannot be a date in the past or a date 30 days later. 140529785169360:e->140529768499008:w 140529768501792 #inform_user# {flight_date_error_message} 140529768499008:e->140529768501792:w 140529768504720 #activity#ask_again {flight_date} 140529768501792:e->140529768504720:w 140529796979200 #condition#script check_if_flight_departure_city_invalid() Check if {flight_departure_city} is in the list of supported cities 140529768507456:e->140529796979200:w 140529795866624 #inform_user# {flight_city_error_message} 140529796979200:e->140529795866624:w 140529768596928 #activity#ask_again {flight_departure_city} 140529795866624:e->140529768596928:w 140529787381776 #condition#script check_if_flight_landing_city_invalid() Check if {flight_landing_city} is in the list of supported cities 140529768599856:e->140529787381776:w 140529768603216 #inform_user# {flight_city_error_message} 140529787381776:e->140529768603216:w 140529768510144 #activity#ask_again {flight_landing_city} 140529768603216:e->140529768510144:w 140529768502944 #inform_user# {flight_booking_preference_tips} 140529787379040:e->140529768502944:w 140529804477072 #condition#script check_if_flight_departure_airport_invalid() Check whether {flight_departure_airport} is in the corresponding airport list of {flight_departure_city} 140529795719408:e->140529804477072:w 140529768605424 #inform_user# {flight_airport_error_message} 140529804477072:e->140529768605424:w 140529799308128 #condition#script lambda ctx: len(_city_airport_dict[ctx["{flight_departure_cit ... Check whether there is only one airport in the corresponding airport list of {flight_departure_city}. If there is only one airport, then set it directly to the value of {flight_departure_airport} without letting the user choose. 140529768605424:e->140529799308128:w 140529795867968 #condition#script lambda ctx: len(_city_airport_dict[ctx["{flight_departure_cit ... Check whether there is more than one airport in the corresponding {flight_departure_city} airport list. If there is more than one airport, then the user needs to choose 140529768605424:e->140529795867968:w 140529768601200 #activity#execute_script set_only_one_airport_for_departure_city() Set the only airport corresponding to {flight_departure_city} to the value of {flight_departure_airport} 140529799308128:e->140529768601200:w 140529768606528 #activity#ask_again {flight_departure_airport} 140529795867968:e->140529768606528:w 140529802242256 #condition#script check_if_flight_landing_airport_invalid() Check whether {flight_landing_airport} is in the corresponding airport list of {flight_landing_city} 140529768608064:e->140529802242256:w 140529768611520 #inform_user# {flight_airport_error_message} 140529802242256:e->140529768611520:w 140529802242448 #condition#script lambda ctx: len(_city_airport_dict[ctx["{flight_landing_city} ... Check whether there is only one airport in the corresponding airport list of {flight_landing_city}. If there is only one airport, then set it directly to the value of {flight_landing_airport} without letting the user select it. 140529768611520:e->140529802242448:w 140529768610656 #condition#script lambda ctx: len(_city_airport_dict[ctx["{flight_landing_city} ... Check whether there is more than one airport in the corresponding airport list of {flight_landing_city}. If there is more than one airport, then the user needs to be allowed to choose. 140529768611520:e->140529768610656:w 140529768611808 #activity#execute_script set_only_one_airport_for_landing_city() Set the only airport corresponding to {flight_landing_city} to the value of {flight_landing_airport} 140529802242448:e->140529768611808:w 140529768607968 #activity#ask_again {flight_landing_airport} 140529768610656:e->140529768607968:w 140529800447184 #condition#script check_if_flight_airlines_invalid() Check if {airline} is in the list of supported airlines 140529768606336:e->140529800447184:w 140529768604800 #inform_user# {airline_error_message} 140529800447184:e->140529768604800:w 140529768428704 #activity#ask_again {airline} 140529768604800:e->140529768428704:w 140529768509712 #user_intent# no limit to direct or connecting 140529805716864:e->140529768509712:w 140529768509232 #user_intent# direct 140529805716864:e->140529768509232:w 140529768513264 #user_intent# connecting 140529805716864:e->140529768513264:w 140529787255072 #user_intent# no limit to departure time period 140529768779216:e->140529787255072:w 140529768782384 #user_intent# wee hours 140529768779216:e->140529768782384:w 140529768784016 #user_intent# early morning 140529768779216:e->140529768784016:w 140529785840816 #user_intent# mid-morning 140529768779216:e->140529785840816:w 140529802585600 #user_intent# noon 140529768779216:e->140529802585600:w 140529802450256 #user_intent# afternoon 140529768779216:e->140529802450256:w 140529768431056 #user_intent# evening 140529768779216:e->140529768431056:w 140529768430144 #user_intent# night 140529768779216:e->140529768430144:w 140529802090288 #condition#script lambda ctx: ctx["{flight_number}"].as_str().strip() not in ct ... Check whether the {flight_number} selected by the user is in the list of eligible flight numbers 140529768597168:e->140529802090288:w 140529806063712 #inform_user# The flight number '{flight_number}' you selected is not in th ... 140529802090288:e->140529806063712:w 140529768786032 #activity#execute_script reset_flight_cabin_class() The flight number selected by the user is not in the list. After prompting the user to select a flight number in the list, clear {flight_cabin_class} 140529806063712:e->140529768786032:w 140529801009328 #activity#ask_again {flight_number} 140529768786032:e->140529801009328:w 140529768779408 #user_intent# economy class 140529768782048:e->140529768779408:w 140529768786464 #user_intent# super economy class 140529768782048:e->140529768786464:w 140529768788192 #user_intent# business class 140529768782048:e->140529768788192:w 140529768789872 #user_intent# first class 140529768782048:e->140529768789872:w 140529768791504 #condition#script check_if_flight_cabin_class_invalid() Check whether the {flight_cabin_class} entered by the user is in the class list of the flight corresponding to the current {flight_number} 140529768779408:e->140529768791504:w 140529768786464:e->140529768791504:w 140529768788192:e->140529768791504:w 140529768789872:e->140529768791504:w 140529768790304 #inform_user# {flight_class_error_message} 140529768791504:e->140529768790304:w 140529768788000 #activity#ask_again {flight_cabin_class} 140529768790304:e->140529768788000:w 140529768782576 #condition#script check_if_passenger_info_invalid() Check whether there are any errors in the passenger information and handle it accordingly 140529768780272:e->140529768782576:w 140529768431584 #inform_user# {passenger_information_error_message} 140529768782576:e->140529768431584:w 140529768503568 #activity#ask_again {passenger_information} 140529768431584:e->140529768503568:w 140529802742240 #user_intent# The flight booking information is not all correct 140529768507936:e->140529802742240:w 140529799300784 #user_intent# The flight booking information is correct 140529768507936:e->140529799300784:w 140529768601008 #activity#ask_again {are_all_flight_booking_information_correct} 140529802742240:e->140529768601008:w 140529804117680 #activity#execute_script submit_order_and_get_payment_link() 140529799300784:e->140529804117680:w 140529766974048 #inform_user# Your order has been submitted successfully. Please click the  ... 140529804117680:e->140529766974048:w 140529766978080 #trigger# 140529768512208 #user_intent# Indicates that there is no need to book a flight ticket 140529766978080:e->140529768512208:w 140529768506352 #single_turn_interact# {whether_sure_to_end_the_dialogue} Are you sure you don't need to book a flight? Do you want to  ... 140529768512208:e->140529768506352:w 140529796834816 #user_intent# Confirm to end dialogue 140529768506352:e->140529796834816:w 140529787053424 #user_intent# Not confirm to end dialogue 140529768506352:e->140529787053424:w 140529768609312 #activity#terminate 140529796834816:e->140529768609312:w