-- Create appointments table CREATE TABLE IF NOT EXISTS appointments ( id INT AUTO_INCREMENT PRIMARY KEY, patient_id INT NOT NULL, doctor_id INT NOT NULL, start_time DATETIME NOT NULL, end_time DATETIME NOT NULL, status ENUM('Scheduled', 'Completed', 'Cancelled') DEFAULT 'Scheduled', reason TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (patient_id) REFERENCES patients(id) ON DELETE CASCADE, FOREIGN KEY (doctor_id) REFERENCES doctors(id) ON DELETE CASCADE ); -- Create holidays table CREATE TABLE IF NOT EXISTS holidays ( id INT AUTO_INCREMENT PRIMARY KEY, holiday_date DATE NOT NULL, name_en VARCHAR(255) NOT NULL, name_ar VARCHAR(255) NOT NULL, is_recurring BOOLEAN DEFAULT FALSE ); -- Create doctor schedules table (working hours) CREATE TABLE IF NOT EXISTS doctor_schedules ( id INT AUTO_INCREMENT PRIMARY KEY, doctor_id INT NOT NULL, day_of_week INT NOT NULL, -- 0 (Sunday) to 6 (Saturday) start_time TIME NOT NULL, end_time TIME NOT NULL, FOREIGN KEY (doctor_id) REFERENCES doctors(id) ON DELETE CASCADE ); -- Seed some holidays INSERT INTO holidays (holiday_date, name_en, name_ar, is_recurring) VALUES ('2026-01-01', 'New Year', 'رأس السنة', TRUE), ('2026-12-25', 'Christmas', 'عيد الميلاد', TRUE);