-- ====================================================================
-- HAC TURLARI SİSTEMİ - DATABASE MIGRATION
-- ====================================================================
-- Bu dosya Hac turları için gerekli tabloları oluşturur
-- ====================================================================

-- 1. Hac Turları Tablosu
CREATE TABLE IF NOT EXISTS hajj_tours (
    id INT PRIMARY KEY AUTO_INCREMENT,

    -- Temel Bilgiler
    title VARCHAR(255) NOT NULL,
    slug VARCHAR(255) NOT NULL UNIQUE,
    description LONGTEXT,
    short_description TEXT,

    -- Görseller
    main_image VARCHAR(500),
    gallery JSON COMMENT 'Galeri görselleri [{"url": "...", "caption": "..."}]',

    -- Tur Detayları
    duration VARCHAR(100) COMMENT 'Örn: 11 Gün 10 Gece',
    tour_date DATE NOT NULL COMMENT 'Gidiş tarihi',
    return_date DATE NOT NULL COMMENT 'Dönüş tarihi',
    accommodation_type VARCHAR(100) COMMENT 'Konaklama tipi (Örn: 5 Yıldızlı)',
    route TEXT COMMENT 'Rota bilgisi (Örn: İstanbul - Cidde - Medine - Mekke)',

    -- Önemli Tarihler ve Kayıt Durumu
    important_dates JSON COMMENT '[{"type": "Ehram", "date": "2024-06-08", "note": "..."}]',
    registration_status ENUM('open', 'closed', 'full') DEFAULT 'open',

    -- Otel Bilgileri (Mekke ve Medine Ayrı)
    makkah_hotel JSON COMMENT '{"name": "...", "stars": 5, "nights": 7, "distance_to_haram": "100m", "image": "...", "features": [...], "description": "...", "maps_iframe": "..."}',
    madinah_hotel JSON COMMENT '{"name": "...", "stars": 5, "nights": 3, "distance_to_haram": "250m", "image": "...", "features": [...], "description": "...", "maps_iframe": "..."}',

    -- Fiyatlandırma (Oda Tiplerine Göre)
    pricing JSON COMMENT '{"double_room": 2500, "triple_room": 2300, "quad_room": 2100, "single_room": 3500, "child_6_12": 1800, "child_2_6": 1200, "baby_0_2": 0}',

    -- Hizmetler
    included_services JSON COMMENT 'Dahil olan hizmetler ["Uçak bileti", "Konaklama", ...]',
    excluded_services JSON COMMENT 'Dahil olmayan hizmetler ["Öğle yemeği", ...]',

    -- Günlük Program
    itinerary JSON COMMENT '[{"day": 1, "title": "Gün 1", "description": "...", "activities": [...]}]',

    -- VIP Program
    is_vip_program BOOLEAN DEFAULT FALSE,
    vip_services JSON COMMENT 'VIP hizmetler ["Priority Check-in", "Private Guide", ...]',

    -- Diğer
    airline_id INT COMMENT 'Havayolu şirketi',
    max_people INT DEFAULT 40 COMMENT 'Maksimum kişi sayısı',
    featured BOOLEAN DEFAULT FALSE COMMENT 'Öne çıkan tur',
    status ENUM('active', 'inactive', 'draft') DEFAULT 'draft',
    views INT DEFAULT 0,

    -- Zaman Damgaları
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

    -- Foreign Key
    FOREIGN KEY (airline_id) REFERENCES airlines(id) ON DELETE SET NULL,

    -- Indexler
    INDEX idx_slug (slug),
    INDEX idx_tour_date (tour_date),
    INDEX idx_status (status),
    INDEX idx_featured (featured),
    INDEX idx_registration_status (registration_status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Hac turları tablosu';

-- ====================================================================
-- ÖRNEK VERİ EKLEMELERİ (Test için)
-- ====================================================================

-- Örnek Hac Turu 1: VIP Program
INSERT INTO hajj_tours (
    title,
    slug,
    description,
    short_description,
    main_image,
    gallery,
    duration,
    tour_date,
    return_date,
    accommodation_type,
    route,
    important_dates,
    registration_status,
    makkah_hotel,
    madinah_hotel,
    pricing,
    included_services,
    excluded_services,
    itinerary,
    is_vip_program,
    vip_services,
    airline_id,
    max_people,
    featured,
    status
) VALUES (
    '11 Gün Hac - Yakın Mesafe Tip-2 (VIP)',
    '11-gun-hac-yakin-mesafe-tip-2-vip',
    '<h2>2026 Hac Programı - VIP Program</h2><p>Manevi anlamda dolu dolu bir Hac yaşamanız ve yüksek standartlarda hizmet almanız için özel olarak hazırlanmış VIP programımız.</p>',
    'Hareme sıfır otellerde konaklama, özel hizmetlerle lüks Hac deneyimi.',
    '/assets/hajj/main-vip-hajj.jpg',
    '[
        {"url": "/assets/hajj/gallery-1.jpg", "caption": "Kabe Görünümü"},
        {"url": "/assets/hajj/gallery-2.jpg", "caption": "Otel İç Mekan"},
        {"url": "/assets/hajj/gallery-3.jpg", "caption": "Medine"}
    ]',
    '11 Gün 10 Gece',
    '2026-05-21',
    '2026-05-31',
    '5 Yıldızlı Hareme Sıfır',
    'İstanbul → Cidde → Medine → Mekke → İstanbul',
    '[
        {"type": "Ehram Alınması", "date": "2026-05-21", "note": "İhram için hazırlık"},
        {"type": "Medine Ziyaretleri", "date": "2026-05-22", "note": "Medine-i Münevvere ziyaretleri"},
        {"type": "Mekke Varış", "date": "2026-05-25", "note": "Mekke''ye varış ve ilk Tavaf"},
        {"type": "Arafat Vakfesi", "date": "2026-05-27", "note": "Arafat''ta beklenecek"},
        {"type": "Kurban Bayramı", "date": "2026-05-28", "note": "Kurban ve Şeytan Taşlama"},
        {"type": "Dönüş", "date": "2026-05-31", "note": "Türkiye''ye dönüş"}
    ]',
    'full',
    '{
        "name": "Makkah Hotel (Eski Hilton)",
        "stars": 5,
        "nights": 7,
        "location": "Mekke",
        "distance_to_haram": "Hareme Sıfır",
        "image": "/assets/hajj/makkah-hotel.jpg",
        "features": ["WiFi", "Klima", "Kabe Manzaralı", "Restaurant", "24 Saat Resepsiyon"],
        "description": "Hareme sıfır mesafede, lüks konaklama imkanı",
        "maps_iframe": "https://www.google.com/maps/embed?pb=..."
    }',
    '{
        "name": "Anwar Al Movenpick",
        "stars": 5,
        "nights": 3,
        "location": "Medine",
        "distance_to_haram": "Hareme Sıfır",
        "image": "/assets/hajj/movenpick.jpg",
        "features": ["WiFi", "Klima", "Mescid-i Nebevi Manzaralı", "Restaurant"],
        "description": "Medine''de Hareme sıfır lüks otel",
        "maps_iframe": "https://www.google.com/maps/embed?pb=..."
    }',
    '{
        "double_room": 90000,
        "triple_room": 86000,
        "quad_room": 82000,
        "single_room": 110000,
        "child_6_12": 75000,
        "child_2_6": 60000,
        "baby_0_2": 0
    }',
    '[
        "Gidiş-dönüş uçak bileti",
        "Havaalanı transferleri",
        "Tüm konaklama (10 gece)",
        "Sabah kahvaltısı ve akşam yemeği (açık büfe)",
        "Hac vizesi",
        "Arafat, Mina, Müzdelife transferleri (özel otobüs)",
        "Medine-Mekke arası Yüksek Hızlı Tren",
        "Profesyonel rehberlik",
        "Özel tur kulaklıkları",
        "Kurban bedeli",
        "Zorunlu seyahat sigortası",
        "Hediye seti (Çanta, ihram, umre kitapçığı, seccade, tavaf tesbihi)",
        "5lt Zemzem (dönüşte)"
    ]',
    '[
        "Öğle yemeği",
        "Kişisel harcamalar",
        "Otel içi ekstralar"
    ]',
    '[
        {
            "day": 1,
            "title": "İstanbul - Cidde - Medine",
            "description": "İstanbul Havalimanından Cidde''ye hareket. Medine''ye transfer.",
            "activities": ["Havalimanı check-in", "Uçuş", "Medine''ye transfer", "Otel yerleşimi"]
        },
        {
            "day": 2,
            "title": "Medine Ziyaretleri",
            "description": "Mescid-i Nebevi ziyareti ve Medine turları.",
            "activities": ["Mescid-i Nebevi", "Uhud Dağı", "Kuba Mescidi", "Tarihi yerler"]
        },
        {
            "day": 3,
            "title": "Medine - Mekke",
            "description": "Yüksek Hızlı Tren ile Mekke''ye hareket.",
            "activities": ["Tren yolculuğu", "Mekke''ye varış", "Otel yerleşimi", "İlk Tavaf"]
        }
    ]',
    true,
    '[
        "Priority Check-in ve Check-out",
        "Private Rehber ve İrşad Görevlisi",
        "VIP Ziyaret Programı",
        "Ekstra Dini Eğitim ve Seminerler",
        "Premium Konaklama ve Hizmet",
        "Özel Otobüslerle Transferler",
        "24 Saat Özel Destek Hattı"
    ]',
    1,
    35,
    true,
    'active'
);

-- Örnek Hac Turu 2: Standart Program
INSERT INTO hajj_tours (
    title,
    slug,
    description,
    short_description,
    main_image,
    duration,
    tour_date,
    return_date,
    accommodation_type,
    route,
    important_dates,
    registration_status,
    makkah_hotel,
    madinah_hotel,
    pricing,
    included_services,
    excluded_services,
    is_vip_program,
    max_people,
    featured,
    status
) VALUES (
    '17 Gün Hac - Yakın Mesafe Tip-5',
    '17-gun-hac-yakin-mesafe-tip-5',
    '<h2>2026 Hac Programı - Ekonomik Program</h2><p>Uygun fiyatlarla kaliteli hizmet.</p>',
    'Ekonomik fiyatlarla Hac ibadeti.',
    '/assets/hajj/main-standard-hajj.jpg',
    '17 Gün 16 Gece',
    '2026-05-16',
    '2026-06-01',
    '4 Yıldızlı',
    'İstanbul → Cidde → Medine → Mekke → İstanbul',
    '[
        {"type": "Ehram", "date": "2026-05-16", "note": ""},
        {"type": "Arafat", "date": "2026-05-27", "note": ""},
        {"type": "Kurban", "date": "2026-05-28", "note": ""}
    ]',
    'full',
    '{
        "name": "Makareem Ajyad",
        "stars": 4,
        "nights": 14,
        "location": "Mekke",
        "distance_to_haram": "400m",
        "image": "/assets/hajj/makareem.jpg",
        "features": ["WiFi", "Klima", "Restaurant"],
        "description": "Hareme yakın, ekonomik otel"
    }',
    '{
        "name": "Bosphorus W. Al Safi",
        "stars": 4,
        "nights": 2,
        "location": "Medine",
        "distance_to_haram": "250m",
        "image": "/assets/hajj/bosphorus.jpg",
        "features": ["WiFi", "Klima", "Restaurant"],
        "description": "Medine''de uygun fiyatlı otel"
    }',
    '{
        "double_room": 69500,
        "triple_room": 66000,
        "quad_room": 63000,
        "single_room": 85000,
        "child_6_12": 58000,
        "child_2_6": 48000,
        "baby_0_2": 0
    }',
    '[
        "Gidiş-dönüş uçak bileti",
        "Havaalanı transferleri",
        "Tüm konaklama",
        "Sabah kahvaltısı ve akşam yemeği",
        "Hac vizesi",
        "Transferler",
        "Rehberlik",
        "Kurban bedeli",
        "Seyahat sigortası"
    ]',
    '[
        "Öğle yemeği",
        "Kişisel harcamalar"
    ]',
    false,
    40,
    false,
    'active'
);

-- ====================================================================
-- VERİ KONTROLÜ
-- ====================================================================

-- Eklenen turları göster
SELECT
    id,
    title,
    slug,
    tour_date,
    registration_status,
    is_vip_program,
    status
FROM hajj_tours
ORDER BY created_at DESC;

-- ====================================================================
-- YARDIMCI QUERY'LER (Geliştirme için)
-- ====================================================================

-- Tüm aktif hac turlarını getir
-- SELECT * FROM hajj_tours WHERE status = 'active' ORDER BY tour_date;

-- VIP programları getir
-- SELECT * FROM hajj_tours WHERE is_vip_program = true AND status = 'active';

-- Dolu programları getir
-- SELECT * FROM hajj_tours WHERE registration_status = 'full';

-- Öne çıkan turları getir
-- SELECT * FROM hajj_tours WHERE featured = true AND status = 'active';
