// Definitive mapping of ERP product descriptions to museum names. // Priority order matters — first match wins (handles combo tickets). const MUSEUM_KEYWORDS: [string, string[]][] = [ ['Revelation Exhibition', ['Revelation', 'الوحي']], ['Creation Story Museum', ['Creation Story', 'قصة الخلق']], ['Holy Quraan Museum', ['Holy Quraan', 'القرآن الكريم']], ['Trail To Hira Cave', ['Trail To Hira', 'غار حراء']], ['Makkah Greets Us', ['Makkah Greets']], ['VIP Experience', ['VIP Experience']], ]; export const MUSEUM_NAMES = MUSEUM_KEYWORDS.map(([name]) => name); export function getMuseumFromProduct(productDescription: string): string { const desc = productDescription.trim(); for (const [museum, keywords] of MUSEUM_KEYWORDS) { for (const kw of keywords) { if (desc.includes(kw)) return museum; } } return 'Other'; } export const CHANNEL_LABELS: Record = { 'B2C': 'HiHala Website/App', 'B2B': 'B2B', 'POS': 'POS', 'Safiyyah POS': 'Safiyyah POS', 'Standalone': 'Standalone', 'Mobile': 'Mobile', 'Viva': 'Viva', 'IT': 'IT', }; export function getChannelLabel(operatingAreaName: string): string { return CHANNEL_LABELS[operatingAreaName] || operatingAreaName; }