%3 134176401621504 #start# 134176392846928 #single_turn_interact# {flight_date} ['Which day do you need to book a flight ticket?', 'What date ... Must input {flight_date} 134176401621504:e->134176392846928:w 134176365932432 #single_turn_interact# {flight_departure_city} Which city does the flight depart from? Must input {flight_departure_city} 134176401621504:e->134176365932432:w 134176366006768 #single_turn_interact# {flight_landing_city} Which city are you flying to? Must input {flight_landing_city} 134176401621504:e->134176366006768:w 134176365932672 #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 134176401621504:e->134176365932672:w 134176365932000 #condition#script lambda ctx: ctx["{flight_booking_preference_tips}"].as_str()  ... 134176401621504:e->134176365932000:w 134176365920672 #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 134176401621504:e->134176365920672:w 134176384474800 #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 134176401621504:e->134176384474800:w 134176366012912 #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 134176401621504:e->134176366012912:w 134176365923456 #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 134176401621504:e->134176365923456:w 134176364105360 #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 134176401621504:e->134176364105360:w 134176366005040 #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 134176401621504:e->134176366005040:w 134176384477680 #single_turn_interact# {flight_cabin_class} What class of cabin should I choose? 134176401621504:e->134176384477680:w 134176364105216 #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. 134176401621504:e->134176364105216:w 134176364106560 #single_turn_interact# {passenger_information} Please tell me the information of the passenger, including na ... You can enter one or more passenger information 134176401621504:e->134176364106560:w 134176398211024 #single_turn_interact# {are_all_flight_booking_information_correct} Please confirm whether these ticket booking information are c ... 134176401621504:e->134176398211024:w 134176392846112 #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. 134176392846928:e->134176392846112:w 134176365927392 #inform_user# {flight_date_error_message} 134176392846112:e->134176365927392:w 134176365929984 #activity#ask_again {flight_date} 134176365927392:e->134176365929984:w 134176365836480 #condition#script check_if_flight_departure_city_invalid() Check if {flight_departure_city} is in the list of supported cities 134176365932432:e->134176365836480:w 134176365935936 #inform_user# {flight_city_error_message} 134176365836480:e->134176365935936:w 134176366003936 #activity#ask_again {flight_departure_city} 134176365935936:e->134176366003936:w 134176396220016 #condition#script check_if_flight_landing_city_invalid() Check if {flight_landing_city} is in the list of supported cities 134176366006768:e->134176396220016:w 134176366010128 #inform_user# {flight_city_error_message} 134176396220016:e->134176366010128:w 134176365936080 #activity#ask_again {flight_landing_city} 134176366010128:e->134176365936080:w 134176365927152 #inform_user# {flight_booking_preference_tips} 134176365932000:e->134176365927152:w 134176384347184 #condition#script check_if_flight_departure_airport_invalid() Check whether {flight_departure_airport} is in the corresponding airport list of {flight_departure_city} 134176365920672:e->134176384347184:w 134176366011712 #inform_user# {flight_airport_error_message} 134176384347184:e->134176366011712:w 134176366009456 #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. 134176366011712:e->134176366009456:w 134176366002592 #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 134176366011712:e->134176366002592:w 134176366007728 #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} 134176366009456:e->134176366007728:w 134176366013488 #activity#ask_again {flight_departure_airport} 134176366002592:e->134176366013488:w 134176384474896 #condition#script check_if_flight_landing_airport_invalid() Check whether {flight_landing_airport} is in the corresponding airport list of {flight_landing_city} 134176384474800:e->134176384474896:w 134176366018384 #inform_user# {flight_airport_error_message} 134176384474896:e->134176366018384:w 134176364103056 #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. 134176366018384:e->134176364103056:w 134176366016944 #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. 134176366018384:e->134176366016944:w 134176366008688 #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} 134176364103056:e->134176366008688:w 134176366014064 #activity#ask_again {flight_landing_airport} 134176366016944:e->134176366014064:w 134176382557728 #condition#script check_if_flight_airlines_invalid() Check if {airline} is in the list of supported airlines 134176366012912:e->134176382557728:w 134176366011328 #inform_user# {airline_error_message} 134176382557728:e->134176366011328:w 134176365827024 #activity#ask_again {airline} 134176366011328:e->134176365827024:w 134176365929024 #user_intent# no limit to direct or connecting 134176365923456:e->134176365929024:w 134176400353824 #user_intent# direct 134176365923456:e->134176400353824:w 134176396218816 #user_intent# connecting 134176365923456:e->134176396218816:w 134176384473408 #user_intent# no limit to departure time period 134176364105360:e->134176384473408:w 134176364108528 #user_intent# wee hours 134176364105360:e->134176364108528:w 134176364110160 #user_intent# early morning 134176364105360:e->134176364110160:w 134176398203200 #user_intent# mid-morning 134176364105360:e->134176398203200:w 134176365927728 #user_intent# noon 134176364105360:e->134176365927728:w 134176365930560 #user_intent# afternoon 134176364105360:e->134176365930560:w 134176401761456 #user_intent# evening 134176364105360:e->134176401761456:w 134176396695584 #user_intent# night 134176364105360:e->134176396695584:w 134176393178016 #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 134176366005040:e->134176393178016:w 134176384145536 #inform_user# The flight number '{flight_number}' you selected is not in th ... 134176393178016:e->134176384145536:w 134176364112224 #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} 134176384145536:e->134176364112224:w 134176364109536 #activity#ask_again {flight_number} 134176364112224:e->134176364109536:w 134176364102576 #user_intent# economy class 134176384477680:e->134176364102576:w 134176364112704 #user_intent# super economy class 134176384477680:e->134176364112704:w 134176384477584 #user_intent# business class 134176384477680:e->134176384477584:w 134176364115968 #user_intent# first class 134176384477680:e->134176364115968:w 134176384477392 #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} 134176364102576:e->134176384477392:w 134176364112704:e->134176384477392:w 134176384477584:e->134176384477392:w 134176364115968:e->134176384477392:w 134176364117552 #inform_user# {flight_class_error_message} 134176384477392:e->134176364117552:w 134176364113616 #activity#ask_again {flight_cabin_class} 134176364117552:e->134176364113616:w 134176364107904 #condition#script check_if_passenger_info_invalid() Check whether there are any errors in the passenger information and handle it accordingly 134176364106560:e->134176364107904:w 134176365837776 #inform_user# {passenger_information_error_message} 134176364107904:e->134176365837776:w 134176365930320 #activity#ask_again {passenger_information} 134176365837776:e->134176365930320:w 134176366015888 #user_intent# The flight booking information is not all correct 134176398211024:e->134176366015888:w 134176366003168 #user_intent# The flight booking information is correct 134176398211024:e->134176366003168:w 134176366008256 #activity#ask_again {are_all_flight_booking_information_correct} 134176366015888:e->134176366008256:w 134176364397344 #activity#execute_script submit_order_and_get_payment_link() 134176366003168:e->134176364397344:w 134176364397632 #inform_user# Your order has been submitted successfully. Please click the  ... 134176364397344:e->134176364397632:w 134176394093936 #trigger# 134176366009936 #user_intent# Indicates that there is no need to book a flight ticket 134176394093936:e->134176366009936:w 134176400216080 #single_turn_interact# {whether_sure_to_end_the_dialogue} Are you sure you don't need to book a flight? Do you want to  ... 134176366009936:e->134176400216080:w 134176366014304 #user_intent# Confirm to end dialogue 134176400216080:e->134176366014304:w 134176365934256 #user_intent# Not confirm to end dialogue 134176400216080:e->134176365934256:w 134176365926528 #activity#terminate 134176366014304:e->134176365926528:w