The flowchart represents the conversational flow of a chatbot designed to assist users in finding movies based on various criteria. The chatbot provides a user-friendly interface for searching through a movie database, guiding the user step-by-step and responding dynamically based on their choices. The flowchart is divided into clear and logical steps to ensure seamless interaction and efficient handling of queries.
---
## **Flow Explanation**
### **1. Start**
- The flow begins when a user interacts with the chatbot. This is marked by the "Start" node, which signals the beginning of the conversation.
---
### **2. Greeting and Presenting Options**
- The chatbot greets the user with a friendly message, such as, "Hi! How can I assist you today?"
- It then presents a list of five options that the user can choose from:
1. Search movies by director.
2. Search movies by genre.
3. Search movies by rating.
4. Search movies by release year.
5. Search movies by runtime.
- This step ensures the user understands the available functionalities of the chatbot.
---
### **3. User Decision Point**
- At this stage, the user decides which option they want to explore. The decision point determines the subsequent steps in the flow. Each option triggers a specific process.
---
## **Option-Specific Processes**
### **Option 1: Search by Director**
-**Process:** The chatbot asks the user to provide the name of a director (e.g., "Christopher Nolan"). Once the user enters a valid name, the bot retrieves and displays a list of movies by that director.
-**Outcome:** A tailored list of movies is presented to the user.
---
### **Option 2: Search by Genre**
-**Process:** The chatbot prompts the user to specify a genre, such as "Action" or "Comedy." After receiving the input, the bot searches the database and provides a list of movies that match the genre.
-**Outcome:** A list of movies from the selected genre is displayed.
---
### **Option 3: Search by Rating**
-**Process:** The chatbot asks the user to input a rating, for example, " 9.0." Using this range, the bot filters movies and presents only those within the specified rating range.
-**Outcome:** The user receives a list of highly-rated movies based on their preference.
---
### **Option 4: Search by Release Year**
-**Process:** The chatbot asks the user to provide either a specific release year (e.g., "2015") . The bot then retrieves movies that were released during the specified time period.
-**Outcome:** A list of movies from the specified year or range is displayed.
---
### **Option 5: Search by Runtime**
-**Process:** The chatbot prompts the user to specify a runtime range, such as "90 minutes." It filters movies based on the runtime and returns the matching results.
-**Outcome:** A list of movies fitting the specified duration is presented.
---
### **4. Checking for Further Assistance**
- After providing the results for any chosen option, the chatbot asks, "Do you need further assistance?"
-**If Yes:** The flow loops back to the decision point, allowing the user to select another option.
-**If No:** The conversation moves toward ending.
---
### **5. Goodbye**
- If the user chooses to end the interaction, the chatbot responds with a friendly closing message, such as "Goodbye! Have a great day!" This marks the end of the conversation.