Conversational interface using Dialogflow, FastAPI, and MySQL
Try Live DemoMany hotel websites offer static menus and basic forms. This project replaces that with a smart chatbot that allows users to place, modify, and track food orders using natural language. It eliminates the need for manual browsing or calling support.
Static food ordering systems come with three key limitations:
This increases friction for users and overhead for businesses. A scalable and intuitive solution was needed.
Detects user intent and manages conversational context. Triggers webhook calls to FastAPI.
Acts as middleware. Handles logic for menu items, cart session, order status, and cancellation.
Stores menu and order data. Uses stored procedures to ensure atomic transactions and rollback safety.
Users place, edit, and cancel food orders with plain English commands.
Menus are loaded directly from the database. No frontend deployment needed for changes.
Users can check order status with a unique order ID.
Temporary cart lets users build an order over multiple messages.
Dialogflow captures user intent → FastAPI processes logic → MySQL stores and retrieves order data. The entire flow is stateless and scalable for future features like payments or voice input.
Local development is done with `uvicorn main:app` tunneled through Cloudflare. The full app is deployed on Render with SSL, and GitHub Actions handles test and deployment automation.