/* data — real reference catalog: airports (geo+region), carriers, city hotel pools, packages.
   Pure data + tiny localized accessors. No React. Loaded before store/inventory. */

/* ---------- airports: real coordinates, region tier, bilingual city ---------- */
/* region: ksa | gcc | mena | intl  — drives carrier eligibility & pricing tier */
const AIRPORTS = [
  { code: "RUH", city: "Riyadh", ar: "الرياض", name: "King Khalid Intl", region: "ksa", lat: 24.9578, lng: 46.6989, tier: 1.0 },
  { code: "JED", city: "Jeddah", ar: "جدة", name: "King Abdulaziz Intl", region: "ksa", lat: 21.6796, lng: 39.1565, tier: 1.0 },
  { code: "DMM", city: "Dammam", ar: "الدمام", name: "King Fahd Intl", region: "ksa", lat: 26.4712, lng: 49.7979, tier: 0.96 },
  { code: "MED", city: "Medina", ar: "المدينة المنورة", name: "Prince Mohammad Bin Abdulaziz", region: "ksa", lat: 24.5534, lng: 39.7051, tier: 0.98 },
  { code: "ULH", city: "AlUla", ar: "العُلا", name: "Prince Abdul Majeed Intl", region: "ksa", lat: 26.6217, lng: 38.0083, tier: 1.12 },
  { code: "AHB", city: "Abha", ar: "أبها", name: "Abha Intl", region: "ksa", lat: 18.2404, lng: 42.6566, tier: 0.95 },
  { code: "GIZ", city: "Jazan", ar: "جازان", name: "King Abdullah bin Abdulaziz", region: "ksa", lat: 16.9011, lng: 42.5858, tier: 0.93 },
  { code: "TIF", city: "Taif", ar: "الطائف", name: "Taif Intl", region: "ksa", lat: 21.4834, lng: 40.5443, tier: 0.95 },
  { code: "DXB", city: "Dubai", ar: "دبي", name: "Dubai Intl", region: "gcc", lat: 25.2528, lng: 55.3644, tier: 1.28 },
  { code: "AUH", city: "Abu Dhabi", ar: "أبوظبي", name: "Zayed Intl", region: "gcc", lat: 24.4330, lng: 54.6511, tier: 1.22 },
  { code: "DOH", city: "Doha", ar: "الدوحة", name: "Hamad Intl", region: "gcc", lat: 25.2731, lng: 51.6080, tier: 1.24 },
  { code: "BAH", city: "Manama", ar: "المنامة", name: "Bahrain Intl", region: "gcc", lat: 26.2708, lng: 50.6336, tier: 1.06 },
  { code: "KWI", city: "Kuwait City", ar: "الكويت", name: "Kuwait Intl", region: "gcc", lat: 29.2266, lng: 47.9689, tier: 1.04 },
  { code: "MCT", city: "Muscat", ar: "مسقط", name: "Muscat Intl", region: "gcc", lat: 23.5933, lng: 58.2844, tier: 1.08 },
  { code: "CAI", city: "Cairo", ar: "القاهرة", name: "Cairo Intl", region: "mena", lat: 30.1219, lng: 31.4056, tier: 0.9 },
  { code: "AMM", city: "Amman", ar: "عمّان", name: "Queen Alia Intl", region: "mena", lat: 31.7226, lng: 35.9932, tier: 0.95 },
  { code: "BEY", city: "Beirut", ar: "بيروت", name: "Rafic Hariri Intl", region: "mena", lat: 33.8209, lng: 35.4884, tier: 0.98 },
  { code: "IST", city: "Istanbul", ar: "إسطنبول", name: "Istanbul Airport", region: "intl", lat: 41.2753, lng: 28.7519, tier: 1.1 },
  { code: "LHR", city: "London", ar: "لندن", name: "Heathrow", region: "intl", lat: 51.4700, lng: -0.4543, tier: 1.32 },
  { code: "CDG", city: "Paris", ar: "باريس", name: "Charles de Gaulle", region: "intl", lat: 49.0097, lng: 2.5479, tier: 1.28 },
  { code: "FRA", city: "Frankfurt", ar: "فرانكفورت", name: "Frankfurt Airport", region: "intl", lat: 50.0379, lng: 8.5622, tier: 1.26 },
  { code: "BOM", city: "Mumbai", ar: "مومباي", name: "Chhatrapati Shivaji", region: "intl", lat: 19.0896, lng: 72.8656, tier: 0.92 },
];

/* ---------- carriers: tier multiplier, brand colour, hubs, served regions ---------- */
const CARRIERS = [
  { code: "SV", name: "Saudia", ar: "السعودية", tier: 1.0, color: "#1A5632", hubs: ["JED", "RUH", "DMM"], serves: ["ksa", "gcc", "mena", "intl"], saudi: true },
  { code: "XY", name: "flynas", ar: "طيران ناس", tier: 0.78, color: "#0E9C8F", hubs: ["RUH", "JED"], serves: ["ksa", "gcc", "mena"], saudi: true },
  { code: "F3", name: "flyadeal", ar: "طيران أديل", tier: 0.66, color: "#5B2A86", hubs: ["JED", "RUH", "DMM"], serves: ["ksa", "gcc"], saudi: true },
  { code: "RX", name: "Riyadh Air", ar: "طيران الرياض", tier: 1.08, color: "#4B2E83", hubs: ["RUH"], serves: ["ksa", "gcc", "mena", "intl"], saudi: true },
  { code: "EK", name: "Emirates", ar: "طيران الإمارات", tier: 1.26, color: "#D71921", hubs: ["DXB"], serves: ["gcc", "intl", "mena", "ksa"] },
  { code: "EY", name: "Etihad", ar: "الاتحاد للطيران", tier: 1.2, color: "#BD8B13", hubs: ["AUH"], serves: ["gcc", "intl", "mena", "ksa"] },
  { code: "QR", name: "Qatar Airways", ar: "الخطوط القطرية", tier: 1.26, color: "#5C0632", hubs: ["DOH"], serves: ["gcc", "intl", "mena", "ksa"] },
  { code: "GF", name: "Gulf Air", ar: "طيران الخليج", tier: 1.0, color: "#C8A24B", hubs: ["BAH"], serves: ["gcc", "mena", "ksa"] },
  { code: "WY", name: "Oman Air", ar: "الطيران العماني", tier: 1.05, color: "#86735B", hubs: ["MCT"], serves: ["gcc", "ksa", "intl"] },
  { code: "KU", name: "Kuwait Airways", ar: "الخطوط الكويتية", tier: 0.96, color: "#0B5D3B", hubs: ["KWI"], serves: ["gcc", "ksa", "mena"] },
  { code: "FZ", name: "flydubai", ar: "فلاي دبي", tier: 0.8, color: "#003366", hubs: ["DXB"], serves: ["gcc", "ksa", "mena"] },
  { code: "G9", name: "Air Arabia", ar: "العربية للطيران", tier: 0.7, color: "#D6002E", hubs: ["AUH"], serves: ["gcc", "ksa", "mena"] },
  { code: "MS", name: "EgyptAir", ar: "مصر للطيران", tier: 0.9, color: "#0A2F6B", hubs: ["CAI"], serves: ["mena", "ksa", "gcc", "intl"] },
  { code: "RJ", name: "Royal Jordanian", ar: "الملكية الأردنية", tier: 0.95, color: "#6E1E2B", hubs: ["AMM"], serves: ["mena", "ksa", "gcc"] },
  { code: "ME", name: "Middle East Airlines", ar: "طيران الشرق الأوسط", tier: 0.95, color: "#C8102E", hubs: ["BEY"], serves: ["mena", "ksa", "gcc"] },
  { code: "TK", name: "Turkish Airlines", ar: "الخطوط التركية", tier: 1.06, color: "#C70A0C", hubs: ["IST"], serves: ["intl", "mena", "ksa", "gcc"] },
  { code: "BA", name: "British Airways", ar: "الخطوط البريطانية", tier: 1.2, color: "#1E3A5F", hubs: ["LHR"], serves: ["intl", "ksa", "gcc"] },
  { code: "LH", name: "Lufthansa", ar: "لوفتهانزا", tier: 1.2, color: "#05164D", hubs: ["FRA"], serves: ["intl", "ksa", "gcc"] },
  { code: "AF", name: "Air France", ar: "الخطوط الفرنسية", tier: 1.18, color: "#002157", hubs: ["CDG"], serves: ["intl", "ksa", "gcc"] },
];

/* hub options for synthetic one-stop layovers (must be a real connecting hub) */
const LAYOVER_HUBS = ["DXB", "DOH", "AUH", "IST", "BAH", "CAI", "FRA"];

/* ---------- aircraft by haul ---------- */
const AIRCRAFT = {
  short: ["A320neo", "A321neo", "A320", "B737-800", "A220-300"],
  medium: ["A330-300", "B787-9", "A321LR", "B737 MAX 8"],
  long: ["B777-300ER", "A350-900", "B787-9", "A380-800"],
};

/* ---------- hotel city pools: districts + brands + tier, bilingual ---------- */
const HOTEL_CITIES = {
  RUH: { tier: 1.0, brands: [["The Ritz-Carlton", "ريتز-كارلتون"], ["Fairmont", "فيرمونت"], ["Mövenpick", "موفنبيك"], ["Voco", "فوكو"], ["Narcissus", "نارسيس"], ["Hyatt Regency", "حياة ريجنسي"], ["Four Seasons", "فورسيزونز"], ["Crowne Plaza", "كراون بلازا"]],
      districts: [["Al Olaya", "العليا"], ["King Fahd Road", "طريق الملك فهد"], ["Al Hada", "الهدا"], ["Tahlia Street", "شارع التحلية"], ["Diplomatic Quarter", "الحي الدبلوماسي"], ["Al Narjis", "النرجس"]] },
  JED: { tier: 1.05, brands: [["The Ritz-Carlton", "ريتز-كارلتون"], ["Rosewood", "روزوود"], ["Waldorf Astoria", "والدورف أستوريا"], ["Park Hyatt", "بارك حياة"], ["Hilton", "هيلتون"], ["Shangri-La", "شانغريلا"], ["Assila", "أصيلة"], ["InterContinental", "إنتركونتيننتال"]],
      districts: [["Al Corniche", "الكورنيش"], ["Al Hamra", "الحمراء"], ["Al Shati", "الشاطئ"], ["Al-Balad", "البلد"], ["Al Rawdah", "الروضة"]] },
  DMM: { tier: 0.92, brands: [["Sheraton", "شيراتون"], ["Kempinski", "كمبينسكي"], ["Le Méridien", "لو ميريديان"], ["Park Inn", "بارك إن"], ["Braira", "بريرة"], ["Crowne Plaza", "كراون بلازا"]],
      districts: [["Al Khobar Corniche", "كورنيش الخبر"], ["Al Shati", "الشاطئ"], ["King Saud Street", "شارع الملك سعود"], ["Dhahran", "الظهران"]] },
  MED: { tier: 1.0, brands: [["The Oberoi", "الأوبروي"], ["Pullman Zamzam", "بولمان زمزم"], ["Anwar Al Madinah Mövenpick", "موفنبيك أنوار المدينة"], ["Dar Al Taqwa", "دار التقوى"], ["Shaza", "شذا"], ["Hilton", "هيلتون"]],
      districts: [["Central Haram Area", "المنطقة المركزية"], ["King Fahd Road", "طريق الملك فهد"], ["Qurban", "قربان"]] },
  ULH: { tier: 1.18, brands: [["Banyan Tree", "بانيان تري"], ["Habitas", "هابيتاس"], ["Shaden Resort", "شادن"], ["Dar Tantora", "دار طنطورة"], ["Cloud7", "كلاود 7"]],
      districts: [["Ashar Valley", "وادي عشار"], ["Old Town", "البلدة القديمة"], ["Nabataean Trail", "درب الأنباط"]] },
  AHB: { tier: 0.93, brands: [["Blue Inn", "بلو إن"], ["Aloft", "ألوفت"], ["Boudl", "بودل"], ["Qasr Al Azizia", "قصر العزيزية"]],
      districts: [["Al Sahab", "السحاب"], ["High City", "المدينة العالية"], ["Al Soudah Road", "طريق السودة"]] },
  DXB: { tier: 1.3, brands: [["Burj Al Arab", "برج العرب"], ["Atlantis", "أتلانتس"], ["Address", "العنوان"], ["Jumeirah", "جميرا"], ["Armani", "أرماني"], ["Five Palm", "فايف بالم"], ["Taj", "تاج"]],
      districts: [["Downtown Dubai", "وسط مدينة دبي"], ["Palm Jumeirah", "نخلة جميرا"], ["Dubai Marina", "مرسى دبي"], ["DIFC", "مركز دبي المالي"], ["Jumeirah Beach", "شاطئ جميرا"]] },
  AUH: { tier: 1.22, brands: [["Emirates Palace", "قصر الإمارات"], ["The St. Regis", "سانت ريجيس"], ["Rosewood", "روزوود"], ["Jumeirah at Etihad Towers", "جميرا أبراج الاتحاد"], ["Conrad", "كونراد"]],
      districts: [["Corniche", "الكورنيش"], ["Yas Island", "جزيرة ياس"], ["Saadiyat Island", "جزيرة السعديات"], ["Al Maryah Island", "جزيرة المارية"]] },
  DOH: { tier: 1.24, brands: [["Mandarin Oriental", "ماندارين أورينتال"], ["The Ritz-Carlton", "ريتز-كارلتون"], ["Raffles", "رافلز"], ["Mondrian", "موندريان"], ["Banana Island", "جزيرة الموز"], ["Al Messila", "المسيلة"]],
      districts: [["West Bay", "الخليج الغربي"], ["The Pearl", "اللؤلؤة"], ["Msheireb", "مشيرب"], ["Lusail", "لوسيل"]] },
  CAI: { tier: 0.9, brands: [["Four Seasons", "فورسيزونز"], ["The Nile Ritz-Carlton", "ريتز-كارلتون النيل"], ["Kempinski Nile", "كمبينسكي النيل"], ["Marriott Mena House", "ماريوت مينا هاوس"], ["St. Regis", "سانت ريجيس"]],
      districts: [["Garden City", "جاردن سيتي"], ["Zamalek", "الزمالك"], ["Giza", "الجيزة"], ["Heliopolis", "مصر الجديدة"], ["New Cairo", "القاهرة الجديدة"]] },
  IST: { tier: 1.08, brands: [["Çırağan Palace Kempinski", "تشيراغان كمبينسكي"], ["Four Seasons Bosphorus", "فورسيزونز البوسفور"], ["Raffles", "رافلز"], ["Shangri-La Bosphorus", "شانغريلا البوسفور"], ["Swissôtel", "سويس أوتيل"]],
      districts: [["Beşiktaş", "بشكتاش"], ["Sultanahmet", "السلطان أحمد"], ["Şişli", "شيشلي"], ["Bosphorus", "البوسفور"]] },
  LHR: { tier: 1.34, brands: [["The Savoy", "السافوي"], ["Claridge's", "كلاريدجز"], ["The Dorchester", "الدورتشستر"], ["The Langham", "اللانغهام"], ["Shangri-La The Shard", "شانغريلا ذا شارد"], ["Corinthia", "كورينثيا"]],
      districts: [["Mayfair", "مايفير"], ["Knightsbridge", "نايتسبريدج"], ["Westminster", "وستمنستر"], ["The City", "المدينة"], ["South Kensington", "جنوب كنسينغتون"]] },
};

/* generic fallback pool so ANY destination city yields hotels */
const HOTEL_FALLBACK = {
  brands: [["Hilton", "هيلتون"], ["Marriott", "ماريوت"], ["InterContinental", "إنتركونتيننتال"], ["Radisson Blu", "راديسون بلو"], ["Hyatt Regency", "حياة ريجنسي"], ["Sheraton", "شيراتون"], ["Mövenpick", "موفنبيك"]],
  districts: [["City Centre", "وسط المدينة"], ["Business District", "حي الأعمال"], ["Waterfront", "الواجهة البحرية"], ["Old Town", "البلدة القديمة"], ["Airport Road", "طريق المطار"]],
};

const HOTEL_AMENITIES = [
  ["Executive lounge", "صالة كبار الشخصيات"], ["Spa & wellness", "سبا وعافية"], ["Rooftop pool", "مسبح علوي"],
  ["Fine dining", "مطاعم فاخرة"], ["Club floor", "طابق النادي"], ["Business district", "حي الأعمال"],
  ["Skyline views", "إطلالات على الأفق"], ["Long-stay suites", "أجنحة الإقامة الطويلة"], ["Valet parking", "خدمة صف السيارات"],
  ["24/7 gym", "صالة رياضية 24/7"], ["Boutique luxury", "فخامة بوتيكية"], ["Private beach", "شاطئ خاص"],
  ["Halal kitchen", "مطبخ حلال"], ["Prayer facilities", "مصلى"], ["Airport transfer", "نقل من المطار"],
];

/* ---------- tour packages (bilingual) ---------- */
const PACKAGES = [
  { id: "p1", name: "AlUla Heritage Escape", ar: "رحلة تراث العُلا", city: "ULH", nights: 3, price: 6400, img: "Elephant Rock AlUla at dusk", tag: "Vision 2030", tagAr: "رؤية 2030",
    desc: "Sandstone monoliths, Hegra's Nabataean tombs and stargazing in Ashar Valley.", descAr: "صخور رملية شاهقة، مقابر الحِجر النبطية، ومراقبة النجوم في وادي عشار.",
    highlights: [["Hegra (UNESCO) guided tour", "جولة في الحِجر (يونسكو)"], ["Elephant Rock sunset", "غروب صخرة الفيل"], ["Maraya mirrored hall", "قاعة مرايا العاكسة"], ["Old Town & oasis walk", "البلدة القديمة والواحة"]] },
  { id: "p2", name: "Historic Jeddah & Red Sea", ar: "جدة التاريخية والبحر الأحمر", city: "JED", nights: 4, price: 7200, img: "Al-Balad Jeddah coral houses", tag: "UNESCO", tagAr: "يونسكو",
    desc: "Coral-stone facades of Al-Balad, Corniche sunsets and a Red Sea reef day.", descAr: "واجهات البلد المرجانية، غروب الكورنيش، ويوم على شعاب البحر الأحمر.",
    highlights: [["Al-Balad heritage walk", "جولة تراث البلد"], ["Red Sea reef snorkel", "غوص في شعاب البحر الأحمر"], ["Corniche & Floating Mosque", "الكورنيش والمسجد العائم"], ["Souk Al Alawi", "سوق العلوي"]] },
  { id: "p3", name: "Asir Highlands Retreat", ar: "ملاذ مرتفعات عسير", city: "AHB", nights: 3, price: 5100, img: "Asir terraced mountains in mist", tag: "Mountains", tagAr: "الجبال",
    desc: "Terraced peaks, the Soudah cable car and the painted village of Rijal Almaa.", descAr: "قمم مدرّجة، تلفريك السودة، وقرية رجال ألمع المزخرفة.",
    highlights: [["Soudah cable car", "تلفريك السودة"], ["Rijal Almaa village", "قرية رجال ألمع"], ["Habala hanging village", "قرية الحبلة المعلقة"], ["Highland coffee farms", "مزارع البن الجبلية"]] },
];

/* ---------- localized accessor: pick .ar field under Arabic, fall back to base ---------- */
function loc(record, field, lang) {
  if (!record) return "";
  if (lang === "ar") {
    if (field === "name" && record.ar) return record.ar;
    const k = field + "Ar";
    if (record[k]) return record[k];
  }
  return record[field];
}

Object.assign(window, {
  AIRPORTS, CARRIERS, LAYOVER_HUBS, AIRCRAFT, HOTEL_CITIES, HOTEL_FALLBACK, HOTEL_AMENITIES, PACKAGES, loc,
});
