from crewai.tools import tool from typing import Optional @tool("Kayak tool") def kayak_search( departure: str, destination: str, date: str, return_date: Optional[str] = None ) -> str: """ Generates a Kayak URL for flights between departure and destination on the specified date. :param departure: The IATA code for the departure airport (e.g., 'SOF' for Sofia) :param destination: The IATA code for the destination airport (e.g., 'BER' for Berlin) :param date: The date of the flight in the format 'YYYY-MM-DD' :return_date: Only for two-way tickets. The date of return flight in the format 'YYYY-MM-DD' :return: The Kayak URL for the flight search """ print(f"Generating Kayak URL for {departure} to {destination} on {date}") URL = f"https://www.kayak.com/flights/{departure}-{destination}/{date}" if return_date: URL += f"/{return_date}" URL += "?currency=USD" return URL # Export the decorated function kayak = kayak_search