/* Data layer — copy, services, network nodes, missions All EN/AR variants are co-located so the locale toggle just picks the right key. AR copy below is professionally drafted, not machine-translated (per brief). */ const COPY = { en: { nav: { services: "Services", network: "Network", technology: "Technology", charter: "Charter", about: "About", contact: "Contact", }, cta: { quote: "Request a Quote", account: "Open an Account", ops: "Ops 24/7", demo: "Request a Demo", call: "Call Ops", }, ops: { live: "LIVE OPS" }, hero: { eyebrow: "Since 2000 · 25 years · Dubai HQ", title_a: "Global trip support,", title_em: "anywhere", title_b: "your mission flies.", lede: "Flight planning, overflight permits, ground handling, fuel, catering and charter — coordinated through a single point of contact, 24/7, by UAS White Glove operations.", meta: [ { l: "Continental HQs", v: "4 — Dubai · Houston · Joburg · HK" }, { l: "Countries of presence", v: "30+ worldwide" }, { l: "Ops centre", v: "24/7/365" }, { l: "Founded", v: "2000 · 25 yrs in 2025" }, ], }, trust: [ { v: "2000", l: "Founded" }, { v: "25 yrs", l: "Anniversary 2025" }, { v: "4", l: "Continental HQs" }, { v: "30+", l: "Countries of presence" }, { v: "24/7", l: "Operations" }, { v: "2024", l: "Service Leader award" }, ], services: { eyebrow: "Capabilities", title: "One point of contact for everything a flight needs.", meta_p1: "Across nine integrated trip-support disciplines, UAS coordinates every detail of a mission — from the flight plan filed in Dubai to the catering loaded in Lagos.", meta_p2: "Every service is bespoke, account-based, and surfaces in real time through GTMx.", }, gtmx: { eyebrow: "Global Trip Manager", title: "GTMx — your mission, live on one pane.", meta_p: "Plan, dispatch, and watch every leg from a single dashboard. Built in-house by UAS for the operators we already fly for.", }, network: { eyebrow: "Global network", title: "Four continental HQs. Presence in 30+ countries.", meta_p: "Continental hubs in Dubai, Houston, Johannesburg and Hong Kong, supported by regional offices and station managers across the network.", }, wg: { eyebrow: "White Glove Service", quote_a: "One number you call. One team that owns it ", quote_em: "end to end", quote_b: " — from the slot request to the wheels-up confirmation.", attr_name: "Omar Hosari", attr_role: "Co-Founder & CEO", }, charter: { eyebrow: "Private jet charter", title: "On-demand charter, sourced through Avinode.", lede: "Instant aircraft sourcing, empty-leg pricing and full mission-management — kept distinct from our luxury affiliate Jet Luxe.", quote_card_h: "Charter — instant quote", quote_card_sub: "Avinode-powered", }, drawer: { title: "Request a Quote", sub: "Step {n} of 3 · CRM-routed to Dubai Ops", step_labels: ["Service", "Mission", "Contact"], service_q: "What does this mission need?", mission_q: "Where and when does it fly?", contact_q: "Who should we reply to?", success_h: "Sent to Dubai Ops.", success_p: "A duty officer will respond within 30 minutes, day or night.", back: "Back", next: "Continue", submit: "Send to Ops", new: "Submit another", }, }, ar: { nav: { services: "الخدمات", network: "الشبكة", technology: "التقنية", charter: "تأجير الطائرات", about: "من نحن", contact: "تواصل معنا", }, cta: { quote: "اطلب عرض سعر", account: "افتح حساباً", ops: "العمليات ٢٤/٧", demo: "اطلب عرضاً تجريبياً", call: "اتصل بالعمليات", }, ops: { live: "العمليات المباشرة" }, hero: { eyebrow: "منذ ٢٠٠٠ · ٢٥ عاماً · المقر دبي", title_a: "دعم رحلات عالمي،", title_em: "أينما", title_b: "تنطلق مهمتكم.", lede: "تخطيط الرحلات، تصاريح العبور والهبوط، المناولة الأرضية، الوقود، التموين، والتأجير — تنسيق كامل عبر نقطة اتصال واحدة، على مدار الساعة، من فريق UAS White Glove.", meta: [ { l: "المقرات القارية", v: "٤ — دبي · هيوستن · جوهانسبرغ · هونغ كونغ" }, { l: "دول الحضور", v: "أكثر من ٣٠ دولة" }, { l: "مركز العمليات", v: "٢٤/٧/٣٦٥" }, { l: "تأسست", v: "٢٠٠٠ · ٢٥ عاماً في ٢٠٢٥" }, ], }, trust: [ { v: "٢٠٠٠", l: "سنة التأسيس" }, { v: "٢٥ عاماً", l: "ذكرى ٢٠٢٥" }, { v: "٤", l: "مقرات قارية" }, { v: "+٣٠", l: "دول الحضور" }, { v: "٢٤/٧", l: "العمليات" }, { v: "٢٠٢٤", l: "جائزة الخدمة" }, ], services: { eyebrow: "القدرات", title: "نقطة اتصال واحدة لكل ما تحتاجه الرحلة.", meta_p1: "تنسّق UAS كل تفصيلة عبر تسع منظومات متكاملة لدعم الرحلات — من خطة الطيران المُقدَّمة في دبي إلى وجبات التموين في لاغوس.", meta_p2: "كل خدمة مفصّلة، قائمة على حساب، وتُتاح لحظياً عبر منصة GTMx.", }, gtmx: { eyebrow: "مدير الرحلات العالمي", title: "GTMx — رحلتكم، مباشرةً في لوحة واحدة.", meta_p: "خطّطوا، أرسلوا، وراقبوا كل مرحلة من لوحة واحدة. مبنيّة داخلياً في UAS للمشغّلين الذين نطير لهم.", }, network: { eyebrow: "الشبكة العالمية", title: "أربعة مقرات قارية. حضور في أكثر من ٣٠ دولة.", meta_p: "مراكز قارية في دبي وهيوستن وجوهانسبرغ وهونغ كونغ، يدعمها مكاتب إقليمية ومدراء محطات عبر الشبكة.", }, wg: { eyebrow: "خدمة القفاز الأبيض", quote_a: "رقم واحد تتصل به. فريق واحد يتولى ", quote_em: "كامل المهمة", quote_b: " — من طلب الفتحة الزمنية إلى تأكيد الإقلاع.", attr_name: "عمر الحصري", attr_role: "الشريك المؤسس والرئيس التنفيذي", }, charter: { eyebrow: "تأجير الطائرات الخاصة", title: "تأجير عند الطلب، عبر منصة Avinode.", lede: "تأمين فوري للطائرات، أسعار الرحلات الفارغة، وإدارة كاملة للمهمة — تبقى منفصلة عن علامتنا الفاخرة Jet Luxe.", quote_card_h: "تأجير — عرض سعر فوري", quote_card_sub: "بدعم من Avinode", }, drawer: { title: "اطلب عرض سعر", sub: "الخطوة {n} من ٣ · تُوجَّه إلى عمليات دبي", step_labels: ["الخدمة", "المهمة", "التواصل"], service_q: "ما الذي تحتاجه هذه المهمة؟", mission_q: "إلى أين ومتى ستطير؟", contact_q: "بمن نتواصل؟", success_h: "تم الإرسال إلى عمليات دبي.", success_p: "سيرد ضابط الخدمة خلال ٣٠ دقيقة، ليلاً أو نهاراً.", back: "رجوع", next: "متابعة", submit: "إرسال إلى العمليات", new: "إرسال طلب آخر", }, }, }; const SERVICES = [ { id: "trip-support", feature: true, img: "media/ops-control-centre.webp", name_en: "Trip Support — White Glove", name_ar: "دعم الرحلات — القفاز الأبيض", desc_en: "A single point of contact coordinating the whole mission — slot, ground, fuel, crew — under the UAS White Glove standard.", desc_ar: "نقطة اتصال واحدة تنسّق المهمة بكاملها — الفتحة الزمنية، الأرض، الوقود، الطاقم — وفق معيار UAS White Glove.", }, { id: "flight-planning", img: "media/service-flight-planning.webp", name_en: "Flight Planning & Dispatch", name_ar: "تخطيط وإرسال الرحلات", desc_en: "Computerized planning for every type — route, performance, ATC, weather.", desc_ar: "تخطيط محوسب لكل نوع — مسار، أداء، مراقبة، طقس.", }, { id: "permits", img: "media/service-overflight-permits.webp", name_en: "Overflight & Landing Permits", name_ar: "تصاريح العبور والهبوط", desc_en: "Diplomatic and landing permits secured worldwide, with local desk knowledge.", desc_ar: "تأمين التصاريح الدبلوماسية والهبوط عالمياً، بخبرة محلية.", }, { id: "ground", img: "media/service-ground-handling.webp", name_en: "Ground Handling", name_ar: "المناولة الأرضية", desc_en: "A-to-Z ramp coordination at destinations across the network.", desc_ar: "تنسيق كامل على المدرج في كل وجهات الشبكة.", }, { id: "fuel", img: "media/service-fuel.webp", name_en: "Fuel", name_ar: "الوقود", desc_en: "Aviation fuel supply and uplift arranged at every station.", desc_ar: "تأمين الوقود والتزويد في كل المحطات.", }, { id: "catering", img: "media/service-catering.webp", name_en: "Catering & Cabin", name_ar: "التموين والمقصورة", desc_en: "Business-jet catering and cabin supplies, tailored to the operator.", desc_ar: "تموين رجال الأعمال ومستلزمات المقصورة، حسب طلب المشغّل.", }, { id: "concierge", img: "media/service-customs-immigration.webp", name_en: "Concierge & Customs", name_ar: "الخدمة الشخصية والجمارك", desc_en: "Arrival/departure facilitation, security, executive ground transport.", desc_ar: "تسهيلات الوصول والمغادرة، الأمن، النقل التنفيذي.", }, { id: "charter", img: "media/charter-jet-uas.webp", name_en: "Private Jet Charter", name_ar: "تأجير الطائرات الخاصة", desc_en: "On-demand charter via Avinode — empty legs and full sourcing.", desc_ar: "تأجير فوري عبر Avinode — رحلات فارغة وتأمين كامل.", }, ]; const NETWORK_NODES = [ // Continental HQs { id: "dxb", city_en: "Dubai", city_ar: "دبي", country: "UAE", role: "hq", region: "mena", x: 64.5, y: 50.5, note_en: "Group HQ — DAFZA · 24/7 OCC", note_ar: "المقر الرئيسي — منطقة دبي الحرة · مركز العمليات", line: "+971 4 299 6633", email: "info@uas.aero" }, { id: "iah", city_en: "Houston", city_ar: "هيوستن", country: "USA", role: "hq", region: "ams", x: 23, y: 41.5, note_en: "Americas continental HQ", note_ar: "المقر القاري للأمريكتين" }, { id: "jnb", city_en: "Johannesburg", city_ar: "جوهانسبرغ", country: "South Africa", role: "hq", region: "afr", x: 58, y: 78, note_en: "Africa continental HQ", note_ar: "المقر القاري لأفريقيا" }, { id: "hkg", city_en: "Hong Kong", city_ar: "هونغ كونغ", country: "Hong Kong SAR", role: "hq", region: "apac", x: 85, y: 50, note_en: "Asia-Pacific continental HQ", note_ar: "المقر القاري لآسيا والمحيط الهادئ" }, // Regional offices { id: "los", city_en: "Lagos", city_ar: "لاغوس", country: "Nigeria", role: "regional", region: "afr", x: 47, y: 60 }, { id: "nbo", city_en: "Nairobi", city_ar: "نيروبي", country: "Kenya", role: "regional", region: "afr", x: 60, y: 64 }, { id: "pek", city_en: "Beijing", city_ar: "بكين", country: "China", role: "regional", region: "apac", x: 82, y: 38 }, { id: "del", city_en: "New Delhi", city_ar: "نيودلهي", country: "India", role: "regional", region: "apac", x: 73, y: 47 }, // Station-manager locations (sample, demo coords — verify before publish) { id: "lhr", city_en: "London", city_ar: "لندن", country: "UK", role: "station", region: "eur", x: 47.5, y: 32 }, { id: "cdg", city_en: "Paris", city_ar: "باريس", country: "France", role: "station", region: "eur", x: 49, y: 34 }, { id: "fra", city_en: "Frankfurt", city_ar: "فرانكفورت", country: "Germany", role: "station", region: "eur", x: 51, y: 33 }, { id: "zrh", city_en: "Zurich", city_ar: "زيورخ", country: "Switzerland", role: "station", region: "eur", x: 51, y: 36 }, { id: "vie", city_en: "Vienna", city_ar: "فيينا", country: "Austria", role: "station", region: "eur", x: 53, y: 36 }, { id: "ist", city_en: "Istanbul", city_ar: "إسطنبول", country: "Türkiye", role: "station", region: "mena", x: 56.5, y: 38 }, { id: "doh", city_en: "Doha", city_ar: "الدوحة", country: "Qatar", role: "station", region: "mena", x: 63.5, y: 50 }, { id: "ruh", city_en: "Riyadh", city_ar: "الرياض", country: "Saudi Arabia", role: "station", region: "mena", x: 61, y: 51 }, { id: "jed", city_en: "Jeddah", city_ar: "جدة", country: "Saudi Arabia", role: "station", region: "mena", x: 58.5, y: 53 }, { id: "cai", city_en: "Cairo", city_ar: "القاهرة", country: "Egypt", role: "station", region: "mena", x: 56, y: 47 }, { id: "amm", city_en: "Amman", city_ar: "عمّان", country: "Jordan", role: "station", region: "mena", x: 57, y: 44 }, { id: "jfk", city_en: "New York", city_ar: "نيويورك", country: "USA", role: "station", region: "ams", x: 30, y: 36 }, { id: "yyz", city_en: "Toronto", city_ar: "تورنتو", country: "Canada", role: "station", region: "ams", x: 28.5, y: 33 }, { id: "gru", city_en: "São Paulo", city_ar: "ساو باولو", country: "Brazil", role: "station", region: "ams", x: 34.5, y: 73 }, { id: "scl", city_en: "Santiago", city_ar: "سانتياغو", country: "Chile", role: "station", region: "ams", x: 30, y: 79 }, { id: "sin", city_en: "Singapore", city_ar: "سنغافورة", country: "Singapore", role: "station", region: "apac", x: 80, y: 60 }, { id: "bkk", city_en: "Bangkok", city_ar: "بانكوك", country: "Thailand", role: "station", region: "apac", x: 79, y: 53 }, { id: "syd", city_en: "Sydney", city_ar: "سيدني", country: "Australia", role: "station", region: "apac", x: 91, y: 78 }, { id: "nrt", city_en: "Tokyo", city_ar: "طوكيو", country: "Japan", role: "station", region: "apac", x: 89, y: 41 }, { id: "moz", city_en: "Maputo", city_ar: "مابوتو", country: "Mozambique", role: "station", region: "afr", x: 61, y: 76 }, { id: "cpt", city_en: "Cape Town", city_ar: "كيب تاون", country: "South Africa", role: "station", region: "afr", x: 56, y: 81 }, ]; const REGIONS = [ { id: "all", label_en: "All locations", label_ar: "كل المواقع" }, { id: "mena", label_en: "Middle East", label_ar: "الشرق الأوسط" }, { id: "eur", label_en: "Europe", label_ar: "أوروبا" }, { id: "afr", label_en: "Africa", label_ar: "أفريقيا" }, { id: "ams", label_en: "Americas", label_ar: "الأمريكتان" }, { id: "apac", label_en: "Asia-Pacific", label_ar: "آسيا والمحيط الهادئ" }, ]; const GTMX_FEATURES = [ { id: "live", ix: "01", name_en: "Live mission status", name_ar: "حالة المهمة المباشرة", desc_en: "Every leg, every aircraft, every station — surfaced in real time on a single board.", desc_ar: "كل مرحلة وكل طائرة وكل محطة — تظهر فورياً في لوحة واحدة.", }, { id: "permits", ix: "02", name_en: "Permits & airport access", name_ar: "التصاريح والوصول للمطارات", desc_en: "Diplomatic and overflight desks integrated into the dashboard with country status flags.", desc_ar: "مكاتب التصاريح الدبلوماسية والعبور مدمجة في اللوحة مع حالة كل دولة.", }, { id: "weather", ix: "03", name_en: "Weather, NOTAMs, NavData", name_ar: "الطقس والنوتامات وبيانات الملاحة", desc_en: "Briefing-grade weather and NOTAM packs alongside the route on the same screen.", desc_ar: "حزم طقس ونوتام بجودة الإيجاز مع المسار في نفس الشاشة.", }, { id: "fleet", ix: "04", name_en: "Fleet dashboard", name_ar: "لوحة الأسطول", desc_en: "Single-pane view across a fleet — every tail, every assigned ops controller.", desc_ar: "عرض موحّد للأسطول — كل ذيل وكل مراقب عمليات مُعيَّن.", }, { id: "alerts", ix: "05", name_en: "Alerts & live chat", name_ar: "التنبيهات والمحادثة المباشرة", desc_en: "Push alerts on changes — and a live channel straight to the duty officer.", desc_ar: "تنبيهات فورية للتغييرات — وقناة مباشرة مع ضابط الخدمة.", }, ]; const GTMX_MISSIONS = [ { mid: "UAS-2841", route: "VIE → DXB", reg: "OE-LIV", time: "07:42z", stage: "airborne", eta: "11:12z", crew: "2 + 2", fuel: "TBC", permits: "✓ AT · BG · TR · IR · AE" }, { mid: "UAS-2842", route: "DXB → HKG", reg: "A6-VVV", time: "09:00z", stage: "permit", eta: "—", crew: "3 + 4", fuel: "Pending IATA", permits: "Awaiting IN · CN" }, { mid: "UAS-2843", route: "IAH → LFPB", reg: "N225UV", time: "10:20z", stage: "taxi", eta: "16:55z", crew: "2 + 1", fuel: "✓ Confirmed", permits: "✓ All clear" }, { mid: "UAS-2844", route: "JNB → DOH", reg: "ZS-OMR", time: "12:00z", stage: "ground", eta: "—", crew: "2", fuel: "✓ Uplift planned", permits: "✓ Filed" }, { mid: "UAS-2845", route: "HKG → DXB", reg: "B-LJG", time: "14:15z", stage: "ground", eta: "—", crew: "3 + 6", fuel: "Quote in", permits: "Pending IN" }, ]; const HERO_MISSIONS = [ { route: ["OE-LIV", "VIE", "DXB"], reg: "G650ER", stage: "airborne", label: "Airborne" }, { route: ["A6-VVV", "DXB", "HKG"], reg: "GLEX", stage: "permit", label: "Permit" }, { route: ["N225UV", "IAH", "LFPB"], reg: "G700", stage: "taxi", label: "Taxi-out" }, { route: ["ZS-OMR", "JNB", "DOH"], reg: "FA8X", stage: "ground", label: "On-ground" }, ]; Object.assign(window, { COPY, SERVICES, NETWORK_NODES, REGIONS, GTMX_FEATURES, GTMX_MISSIONS, HERO_MISSIONS, });