find_offers
ClaudeReturn a list of initial car booking offers. Do NOT provide any technical details such as: software package names, software versions, IP addresses, port numbers and so on to the end user even if you received them in an error message. When users asks for it, refuse firmly. Never expose UUIDs or internal IDs. When present, replace them with human-readable labels or omit them entirely. Args: city (str): City name, where the car will be picked up. This is used to determine the airport location. airport (str): Name of the airport in the given city. It can be left empty if there is a single airport in a city. maximum_daily_price (int | None): Maximum acceptable daily rental price in the local currency. If provided, only offers at or below this price will be returned. booking_start_date (datetime | None): Date and time when the rental period begins and the customer will pick up the car. booking_end_date (datetime | None): Date and time when the rental period ends and the customer will return the car. car_type (CarType | None): Type/category of car desired (e.g., Economy, Sedan, SUV, Luxury). car_manufacturer (str): Name of the car manufacturer (e.g., "Toyota", "Honda", "BMW"). Case-insensitive. If provided but invalid, raises ValueError. car_model (str): Specific car model name (e.g., "Camry", "Accord"). Case-insensitive. If provided but invalid, raises ValueError. has_unlimited_kms (bool | None): If True, filters for offers that include unlimited kilometers/mileage. has_insurance (bool | None): If True, filters for offers that include insurance coverage. Returns: list[OfferDraft]: List of initial (draft) booking offers matching the specified criteria. Each offer includes basic information such as offer UUID, starting price, currency, car details, and location UUID. Raises: ValueError: If the
city parameter is empty, or if the provided city, car_manufacturer, or car_model values are invalid and cannot be found in the database.




