-- Create Umre System - Separate tables for Umre tours

USE tour_management;

-- Umre Categories Table (Ana Kategoriler: Aylara Göre Umre, 7 Gün, 10 Gün, vb.)
CREATE TABLE IF NOT EXISTS umre_categories (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    slug VARCHAR(255) NOT NULL UNIQUE,
    description TEXT,
    image_url VARCHAR(500),
    status ENUM('active', 'inactive') DEFAULT 'active',
    display_order INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Umre Sub Categories Table (Alt Kategoriler: Ocak Ayı, Şubat Ayı, vb.)
CREATE TABLE IF NOT EXISTS umre_sub_categories (
    id INT PRIMARY KEY AUTO_INCREMENT,
    category_id INT NOT NULL,
    name VARCHAR(255) NOT NULL,
    slug VARCHAR(255) NOT NULL UNIQUE,
    description TEXT,
    image_url VARCHAR(500),
    status ENUM('active', 'inactive') DEFAULT 'active',
    display_order INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (category_id) REFERENCES umre_categories(id) ON DELETE CASCADE
);

-- Umre Tours Table (Umre Turları)
CREATE TABLE IF NOT EXISTS umre_tours (
    id INT PRIMARY KEY AUTO_INCREMENT,
    sub_category_id INT NOT NULL,
    airline_id INT,
    title VARCHAR(255) NOT NULL,
    slug VARCHAR(255) NOT NULL UNIQUE,
    description LONGTEXT,
    short_description TEXT,

    -- Görseller
    main_image VARCHAR(500),
    gallery JSON,

    -- Tur Detayları
    duration VARCHAR(100),
    tour_date DATE,
    return_date DATE,
    accommodation_type VARCHAR(100),
    route TEXT,

    -- Tarihler ve Kayıt
    tour_dates JSON,
    registration_status ENUM('open', 'closed', 'full') DEFAULT 'open',
    important_dates JSON,

    -- Otel Bilgileri
    hotel_info JSON,

    -- Ücretler
    pricing JSON,

    -- Hizmetler
    included_services JSON,
    excluded_services JSON,

    -- Tur Programı
    itinerary JSON,

    -- Diğer
    max_people INT DEFAULT 40,
    featured BOOLEAN DEFAULT FALSE,
    status ENUM('active', 'inactive', 'draft') DEFAULT 'draft',
    views INT DEFAULT 0,

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

    FOREIGN KEY (sub_category_id) REFERENCES umre_sub_categories(id) ON DELETE CASCADE,
    FOREIGN KEY (airline_id) REFERENCES airlines(id) ON DELETE SET NULL
);

-- Insert default Umre categories
INSERT INTO umre_categories (name, slug, description, status, display_order) VALUES
('Aylara Göre Umre', 'aylara-gore-umre', 'Aylara göre özel umre programları', 'active', 1),
('7 Gün Umre Turları', '7-gun-umre-turlari', '7 günlük umre paketleri', 'active', 2),
('10 Gün Umre Turları', '10-gun-umre-turlari', '10 günlük umre paketleri', 'active', 3),
('5 Yıldız Umre Turları', '5-yildiz-umre-turlari', 'Lüks 5 yıldız otel umre programları', 'active', 4),
('Kişiye Özel Umre Turları', 'kisiye-ozel-umre-turlari', 'Özel taleplere göre düzenlenen umre programları', 'active', 5);

-- Insert sub-categories for "Aylara Göre Umre"
SET @aylara_gore_id = (SELECT id FROM umre_categories WHERE slug = 'aylara-gore-umre');

INSERT INTO umre_sub_categories (category_id, name, slug, description, status, display_order) VALUES
(@aylara_gore_id, 'Ocak Ayı Umresi', 'ocak-ayi-umresi', 'Ocak ayında düzenlenen umre programları', 'active', 1),
(@aylara_gore_id, 'Şubat Ayı Umresi', 'subat-ayi-umresi', 'Şubat ayında düzenlenen umre programları', 'active', 2),
(@aylara_gore_id, 'Mart Ayı Umresi', 'mart-ayi-umresi', 'Mart ayında düzenlenen umre programları', 'active', 3),
(@aylara_gore_id, 'Nisan Ayı Umresi', 'nisan-ayi-umresi', 'Nisan ayında düzenlenen umre programları', 'active', 4),
(@aylara_gore_id, 'Mayıs Ayı Umresi', 'mayis-ayi-umresi', 'Mayıs ayında düzenlenen umre programları', 'active', 5),
(@aylara_gore_id, 'Haziran Ayı Umresi', 'haziran-ayi-umresi', 'Haziran ayında düzenlenen umre programları', 'active', 6),
(@aylara_gore_id, 'Temmuz Ayı Umresi', 'temmuz-ayi-umresi', 'Temmuz ayında düzenlenen umre programları', 'active', 7),
(@aylara_gore_id, 'Ağustos Ayı Umresi', 'agustos-ayi-umresi', 'Ağustos ayında düzenlenen umre programları', 'active', 8),
(@aylara_gore_id, 'Eylül Ayı Umresi', 'eylul-ayi-umresi', 'Eylül ayında düzenlenen umre programları', 'active', 9),
(@aylara_gore_id, 'Ekim Ayı Umresi', 'ekim-ayi-umresi', 'Ekim ayında düzenlenen umre programları', 'active', 10),
(@aylara_gore_id, 'Kasım Ayı Umresi', 'kasim-ayi-umresi', 'Kasım ayında düzenlenen umre programları', 'active', 11),
(@aylara_gore_id, 'Aralık Ayı Umresi', 'aralik-ayi-umresi', 'Aralık ayında düzenlenen umre programları', 'active', 12),
(@aylara_gore_id, 'Ramazan Umresi', 'ramazan-umresi', 'Ramazan ayında düzenlenen özel umre programları', 'active', 13),
(@aylara_gore_id, 'Recep Umresi', 'recep-umresi', 'Recep ayında düzenlenen umre programları', 'active', 14),
(@aylara_gore_id, 'Şaban Umresi', 'saban-umresi', 'Şaban ayında düzenlenen umre programları', 'active', 15);

SELECT 'Umre system created successfully!' as message;
