User: Task: "Create Manage Time Slots"
    Description: "Generate a Node.js Manage Time Slots Api with given dependenceis"
    Requirements:
    - Database: mongoose
    - Authentication: None specified
    - Output needed: Return only the function code as specified in dependencies
    - Dependencies: Create a function to manage time slots for a specific date and service. Export: exports.manageTimeSlots = async () => {...}, 
Accept parameters: date, serviceId, availableSlots (array of time slots)., 
Validate required fields: Ensure date, serviceId, and availableSlots are provided., 
Use the TimeSlot model to create or update available time slots for the service on the specified date., 
Ensure that time slots do not overlap with other existing bookings for the service., 
Allow the admin to define time intervals (e.g., 30 mins, 1 hour)., 
Respond with a success message indicating available time slots., 
Handle errors like invalid date, overlapping time slots, or database issues.
    - Previous Code 
const mongoose = require('mongoose');
const Booking = require('./models/Booking'); // Assume there is a Booking model defined in models/Booking.js

/**
 * Check availability for a booking based on the provided dates and roomId.
 * 
 * @param {Date} checkInDate - The starting date for the booking.
 * @param {Date} checkOutDate - The ending date for the booking.
 * @param {String} roomId - The unique identifier for the room/service.
 * 
 * @returns {Object} - An object containing the availability status and a message.
 */
exports.checkAvailability = async (checkInDate, checkOutDate, roomId) => {
    try {
        // Validate required fields
        if (!checkInDate || !checkOutDate || !roomId) {
            throw new Error('Missing required fields: checkInDate, checkOutDate, and roomId are required');
        }

        // Ensure that checkInDate and checkOutDate are valid dates
        const checkIn = new Date(checkInDate);
        const checkOut = new Date(checkOutDate);
        if (isNaN(checkIn) || isNaN(checkOut)) {
            throw new Error('Invalid date format. Please provide valid checkInDate and checkOutDate.');
        }

        // Query the Booking model to find any conflicting bookings
        const existingBookings = await Booking.find({
            roomId: roomId,
            $or: [
                { checkInDate: { $lt: checkOut }, checkOutDate: { $gt: checkIn } }
            ]
        });

        if (existingBookings.length > 0) {
            // If conflicts exist, room/service is unavailable
            return {
                available: false,
                message: 'Room/Service is unavailable for the selected dates.'
            };
        }

        // If no conflicts exist, room/service is available
        return {
            available: true,
            message: 'Room/Service is available for the selected dates.'
        };
    } catch (error) {
        // Handle errors and provide feedback
        return {
            available: false,
            message: `Error checking availability: ${error.message}`
        };
    }
};

    - Supporting data 
    - Updating File undefined
    
    Please generate the code for this task, following the instructions and including comments for clarity.
    While creating router for specifict file your have to read supporing file data and create for that 

    **Output Formats**: 

Return dependencies like this `const bcrypt = require('bcrypt');`  in this formate
```dependencies
const bcrypt = require('bcrypt');
```

Ensure this format is consistently followed in responses.
    
User: 


    
Assistant: