{"version":3,"file":"index.DedYtoPP.js","sources":["../../../../../../src/lib/utils/mba-utils.ts","../../../../../../src/lib/utils/course-utils.ts","../../../../../../src/lib/utils/gtm-store/index.ts"],"sourcesContent":["import { CourseLightModel, CourseModel, SessionLightModel, SessionModel, stringToSlug } from '@24hbs/utils';\n\nconst NORMAL_SLUG = 'mba';\nconst ORIGINAL_SLUG = 'executive-mba/executive-master-in-business-administration';\nconst ORIGINAL_CATEGORY_SLUG = 'gestione-di-impresa-export-e-internazionalizzazione';\n\nfunction isCourseOfTypeMBA(course: CourseModel | CourseLightModel | SessionLightModel | SessionModel) {\n if (course.slug === ORIGINAL_SLUG && stringToSlug(course.category) === ORIGINAL_CATEGORY_SLUG) {\n return true;\n }\n return false;\n}\n\nconst MODULES1 = [\n {\n subtitle: 'MODULO 1',\n title: 'LEADERSHIP, EMPOWERMENT & CHANGE MANAGEMENT'\n },\n {\n subtitle: 'MODULO 2',\n title: 'ECONOMICS, ACCOUNTING & CONTROLLING'\n },\n {\n subtitle: 'MODULO 3',\n title: 'CORPORATE FINANCE'\n },\n {\n subtitle: 'MODULO 4',\n title: 'PROJECT MANAGEMENT, LEAN & AGILE METHODOLOGIES'\n },\n {\n subtitle: 'MODULO 5',\n title: 'STRATEGIC MARKETING MANAGEMENT'\n },\n {\n subtitle: 'MODULO 6',\n title: 'DIGITAL HR & PEOPLE MANAGEMENT'\n },\n {\n subtitle: 'MODULO 7',\n title: 'DIGITAL SUPPLY CHAIN MANAGEMENT & LOGISTICS'\n },\n {\n subtitle: 'MODULO 8',\n title: 'CORPORATE STRATEGY & NEW BUSINESS MODELS'\n }\n];\n\nconst MODULES2 = [\n {\n subtitle: 'MODULO 9',\n title: 'INNOVATION & DIGITAL MANAGEMENT'\n },\n {\n subtitle: 'MODULO 10',\n title: 'BIG DATA, ARTIFICIAL INTELLIGENCE & BUSINESS ANALYTICS'\n },\n {\n subtitle: 'MODULO 11',\n title: 'CYBERSECURITY & DATA PROTECTION'\n },\n {\n subtitle: 'MODULO 12',\n title: 'ESG, SUSTAINABILITY STRATEGY & CIRCULAR ECONOMY'\n },\n {\n subtitle: 'MODULO 13',\n title: 'DOING BUSINESS IN? RISK COUNTRY ANALYSIS'\n }\n];\n\nconst FACULTY =[\n {\n name: 'CORRADO ASSENZA',\n role: 'PARTNER',\n company: 'Nagima Consulenza e Formazione srl',\n bio: `Il suo focus sono gli \"economics\" d’impresa ovvero tutto quello che riguarda il bilancio, il sistema di pianificazione e controllo, la pianificazione finanziaria, i sistemi di costing e la valutazione delle iniziative di business.
\n Il suo obiettivo è affiancare i clienti nel loro processo di cambiamento attraverso la progettazione di attività formative, di mentoring nonchè l’avvio di progetti consulenziali volti ad introdurre strumenti e processi che garantiscano un presidio più consapevole degli aspetti economici, finanziari e patrimoniali.
\n Ha operato in molti settori industriali (industria, servizi, bancario, commessa, ...) ed anche nel terzo settore.
\n È docente nelle principali Corporate University dei maggiori gruppi industriali e bancari italiani nel cui ambito si occupa dei percorsi formativi che interessano i talenti e lo sviluppo di laboratori di verticalizzazione dei temi economici sui processi operativi.
\n Inoltre, è referente scientifico e docente presso la 24ORE Business School nell’ambito dell’Executive Master in Business Adminstration e di altri Executive Master.`,\n image: '/assets/images/mba/docenti/Assenza.webp'\n },\n {\n name: 'LORENZO BASSI',\n role: 'PARTNER',\n company: 'Carter & Benson',\n bio: `Laureato Cum Laude in Management, Finance e International Business all’Università di Bergamo, Lorenzo Bassi mostra subito interesse verso temi quali Strategia, Organizzazione e HR. Nel 2015 entra in Carter & Benson, dove attraverso un rapido percorso di crescita arriva nel 2022 ad esserne Partner. Grazie ad un Master in Digital Entrepreneurship, ha rafforzato il focus sulla ricerca di Manager in area Digital e Strategy, sullo sviluppo di Assessment e progetti d’impatto Strategico-Organizzativo. È spesso coinvolto in progetti internazionali anche grazie alle molte collaborazioni con le principali multinazionali italiane e non solo. I suoi principali ambiti di attività riguardano il mondo del Digital, del Fashion, del Fast Moving e infine l’ambito delle start-up (spesso con contatto diretto con i Fondi d’investimento che le partecipano). Oltre a essere membro del Direttivo di AIDP Giovani, collabora con molti Master, da quelli di primo livello sino ad arrivare agli Executive MBA`,\n image: '/assets/images/mba/docenti/Bassi.webp'\n },\n {\n name: 'MASSIMO BULLO',\n role: 'INTERNATIONAL MARKETING ADVISOR',\n company: '',\n bio: `Massimo Bullo è un Manager con oltre 20 anni di esperienza in ambito Marketing e Comunicazione in diversi mercati: FMCG, Technology e Telco. Ha diretto i dipartimenti e divisioni Marketing di diverse multinazionali come Vodafone Italia, con responsabilità dell'area Marketing, Comunicazione e Brand per la multinazionale inglese. In precedenza è stato Marketing and Digital Transformation Director di Samsung Italia assumendo anche la responsabilità commerciale del canale di vendita digitale dell'azienda coreana. Prima di Samsung ha ricoperto il ruolo di Country Marketing and Communication Director NINTENDO Italia con responsabilità marketing e comunicazione per tutti i prodotti Software e Hardware della casa madre giapponese. Esperienza maturata anche in ambito FMCG nel top management di HARIBO SpA dove ha ricoperto il ruolo di Head of Marketing and Communication per l'Italia con la responsabilità di tutte le strategie di marketing e brand della multinazionale tedesca, ed in FERRERO, prima all’interno dell’unità Trade Marketing Innovation, e poi nel Marketing Ferrero per la sede Italiana. Attualmente è Coordinatore Scientifico e Docente nei Master Executive ed MBA su tematiche Marketing e Brand Innovation.`,\n image: '/assets/images/mba/docenti/bullo.webp'\n },\n {\n name: 'CHIARA CATGIU',\n role: 'Manager Sustainability & Climate Change Services',\n company: 'KPMG',\n bio: `È Manager del Team Sustainability Services & Climate Change di KPMG in Italia.
\n È responsabile dello sviluppo dei servizi e delle soluzioni di Economia Circolare di KPMG Italia, consentendo ai clienti di sfruttare questa opportunità. Chiara è Subject Matter Expert in Circular Economy al Global Decarbonization Hub di KPMG International, e supporta i clienti nella definizione delle loro strategie e dei piani di implementazione dell'economia circolare per aiutarli a raggiungere i loro obiettivi legati al clima.
\n Le sue esperienze precedenti includono il lavoro sull'economia circolare come parte della Ellen MacArthur Foundation all’interno della Fashion Initiative e sull'economia circolare per l’edilizia presso la società di ingegneria Arup.
\n È laureata in Ingegneria dei materiali e delle nanotecnologie al Politecnico di Milano.
\n A partire dal 2022, è Membro del Consiglio Direttivo dell’Associazione Italiana per lo Sviluppo dell’Economia Circolare (AISEC).`,\n image: '/assets/images/mba/docenti/Catgiu.webp'\n },\n {\n name: 'ALESSANDRO CRAVERA',\n role: 'PARTNER',\n company: 'Newton S.p.A.',\n bio: `È Partner di Newton S.p.A., docente di Economia delle organizzazioni complesse presso ISIA Roma Design e di leadership e strategia aziendale presso la 24ORE Business School.
\n Nell’ambito delle sue attività di consulenza si occupa di “Management Innovation” ovvero di ripensare l’organizzazione, la gestione e la strategia d’impresa in coerenza con le dinamiche evolutive dei sistemi complessi e di supportare le imprese nella loro evoluzione.
\n È autore di numerose pubblicazioni in Italia e all’estero, tra cui \"Competere nella Complessità\" (ETAS, 2008), \"The negentropic role of redundancy in the processes of value creation and extraction and in the development of competitiveness\" (E:CO Organization & Complexity, 2012) e \"Guida ai classici del management nell’era della complessità\" (Il Sole 24 Ore, 2012).`,\n image: '/assets/images/mba/docenti/Cravera.webp'\n },\n {\n name: 'GIULIA DETOMATI',\n role: 'CEO',\n company: 'InVento Innovation Lab',\n bio: `Nel 2014 Giulia fonda InVento Innovation Lab, premiata B Corp in Italia, una delle \"Best for the World B Corps\" che aiuta aziende e istituzioni verso una transizione rigenerativa.
\n In qualità di CEO, è responsabile dello sviluppo di progetti con aziende multinazionali e progetti education. In particolare le sue competenze si concentrano sulla gestione, certificazione B Corp, pianificazione generale, design aziendale rigenerativo, SDG, cambiamento climatico, strategie di sostenibilità e economia circolare.
\n In occasione dell'Ashoka Changemaker Summit 2021, Giulia entra a far parte degli Ashoka Fellow, una rete di imprenditori sociali che ambiscono a un cambiamento a livello sistemico e di paradigma, per l'impegno dimostrato nell'ambito di progetti education in cui è impegnato InVento Lab.
\n È ingegnere ambientale, e ha arricchito la sua formazione negli Stati Uniti grazie al programma \"Mind the Bridge\" a San Francisco e \"Social Entrepreneurship\" della Stanford University. È stata mentore del \"The Start Up School\" e mentore del programma LAUNCH del MIT a Boston. Ha svolto un periodo di attività di educazione ambientale all'estero per il National Park Service del governo degli Stati Uniti presso il National Park Service all’Acadia National.`,\n image: '/assets/images/mba/docenti/GiuliaDetomatiCEO.webp'\n },\n {\n name: 'SIMONA EPIFANI',\n role: 'Docente di Corporate Finance, Investitore',\n company: 'Financial Advisor, Dottore Commercialista',\n bio: `Supporta aziende ed imprenditori in qualità di Financial Advisor indipendente nei processi di crescita e di sviluppo del proprio business su tematiche relative ad aspetti strategici di finanza aziendale, sia ordinaria che straordinaria (M&A e Private Equity). Ha lavorato per oltre 20 anni in primarie banche d'investimento e fondi di Private Equity, nonchè società di financial advisory internazionali quotate in borsa e primari gruppi industriali (ERG, Acciona). Laureata con lode all’Università Bocconi di Milano.
\n E’ stata Founding Partner & Investitore di diverse società tra cui Arché Corporate Finance, EQUIRON, AXIA Capital ed Epiphany.
\n Collabora da oltre 15 anni con la 24ORE Business School per cui svolge docenze nei Master Executive Strategic Corporate Finance e nei Master Full Time Fintech & Banking.`,\n image: '/assets/images/mba/docenti/EPIFANISIMONAFOTOCVCOLORI.webp'\n },\n {\n name: 'GABRIELE FAGGIOLI',\n role: 'PRESIDENTE',\n company: 'Clusit',\n bio: `È Presidente del Clusit (Associazione Italiana per la Sicurezza Informatica).
\n È Responsabile Scientifico dell’Osservatorio Cybersecurity & Data Protection del Politecnico di Milano e senior advisor degli Osservatori della Digital Innovation del Politecnico di Milano.
\n È Adjunct Professor del MIP - Politecnico di Milano.
\n È CEO di Digital360 S.p.A. e di Partners4innovation S.r.l. (società controllata da Digital360 S.p.A.).
\n È stato membro del Gruppo di Esperti sui contratti di cloud computing della Commissione Europea.
\n È specializzato in contrattualistica informatica e telematica, in information & telecommunication law, nel diritto della proprietà intellettuale e industriale e negli aspetti legali della sicurezza informatica, in progetti inerenti l’applicazione delle normative inerenti la responsabilità amminstrativa degli enti e nel diritto dell’editoria e del markerting.
\n Ha pubblicato diversi libri fra cui, da ultimo, “I contratti di cloud computing” (Franco Angeli), “I contratti per l’acquisto di servizi informatici” (Franco Angeli), “Computer Forensics” (Apogeo), “Privacy per posta elettronica e internet in azienda” (Cesi Multimedia) oltre ad innumerevoli articoli sui temi di competenza ed è stato relatore a molti seminari e convegni.`,\n image: '/assets/images/mba/docenti/Faggioli.webp'\n },\n {\n name: 'ATTILIO GERONI',\n role: 'GIORNALISTA, IL SOLE 24 ORE',\n company: 'Il Sole 24 ORE',\n bio: `Giornalista, analista geopolitico, è stato per 33 anni a Il Sole 24 Ore, dove ha lavorato come corrispondente da Varsavia, Francoforte e Parigi e come responsabile della redazione Esteri. Ha seguito per il giornale la caduta del muro di Berlino e la transizione politica ed economica dei Paesi dell'Est, da Francoforte ha raccontato l'avvento dell'era Merkel e da Parigi le vittorie di Emmanuel Macron alle presidenziali. Sempre per Il Sole 24 Ore è stato responsabile della redazione Mondo & Mercati, settimanale dedicato all'internazionalizzazione delle imprese. Laureato in Lettere Moderne alla Statale di Milano, ha frequentato l'Istituto per la formazione al giornalismo Carlo De Martino. Appassionato di fotografia e cinema. Audiofilo.`,\n image: '/assets/images/mba/docenti/Geroni.webp'\n },\n {\n name: 'PATRIZIA GIANGUALANO',\n role: 'Sustainability and Governance Advisor',\n company: 'Libero professionista',\n bio: `Laureata in Economia e Commercio all’Università Luigi Bocconi.\n Ha iniziato la sua carriera nel mondo industriale con ruoli di responsabilità nell’area Finance e Marketing (Montedison e IBM) per poi muoversi verso la consulenza, dove ha consolidato la sua carriera professionale e sviluppato competenze nell’area strategy, governance, rischi e controlli.\n Oggi, è membro del Consiglio di Amministrazione e Presidente dei rispettivi Comitati Rischi di Sea Aereporti e Epta nonchè consigliere indipendente di nomina Assogestioni di Mondadori.\n È, ed è stata consigliere di primarie banche italiane con incarichi nei Comitati controllo interno, Sostenibilità, Remunerazioni, Rischi e ODV e in Comitati strategici e di reingegnerizzazione.\n Durante il suo percorso lavorativo, ha lavorato anche come consulente (prima Atkearney e poi PwC) in Italia e all’estero a supporto di Imprese, Banche, Compagnie di Assicurazione e SGR, in prevalenza nell’area Strategy, e successivamente Rischi e Controlli; seguendo, in particolare, la redazione di Piani Industriali, Progetti di Corporate Governance, implementazioni di sistemi di controllo integrato e di gestione dei rischi, Operazioni di Carve Out, Fusioni ed Integrazioni, revisione di Modelli organizzativi e distributivi.\n È membro del Consiglio Direttivo di Nedcommunity (l’associazione degli amministratori indipendenti) e si occupa di formazione e consulenza sulle tematiche della governance e della sostenibilità.\n Collabora con ASviS nei rapporti con le imprese ed è membro del Comitato Scientifico del Master di 24ORE Business School rivolto a consiglieri di amministrazione e sindaci, nonchè in quello sulla gestione della sostenibilità aziendale. Svolge attività di induction per consiglieri di amministrazione, professionisti e imprenditori per conto di Assogestioni e Nedcommunity.\n È coautore di \"Sostenibilità in cerca di imprese\" il primo libro sull’applicazione della rendicontazione non finanziaria.\n Attraverso il proprio network integrated governance, ha avviato la raccolta e pubblicazione di storie di successo con l’obiettivo di far aumentare rapidamente ed esponenzialmente il numero di imprenditori e di manager che, oltre a praticare uno sviluppo sostenibile, assumono su di se un ruolo culturale aggiuntivo nella comunicazione di esperienze sostenibili e pratiche virtuose.`,\n image: '/assets/images/mba/docenti/PatriziaGiangualano.webp'\n },\n {\n name: 'PAOLO IACCI',\n role: 'PRESIDENTE',\n company: 'Eca Italia',\n bio: `Attualmente è Presidente di Eca Italia, ha la cattedra di \"Gestione delle risorse umane\" all'Università statale di Milano ed è anche Presidente di AIDP Promotion (Associazione per la Direzione del Personale).
\n Ha un lungo passato di dirigente industriale prima e bancario poi. Il suo ultimo incarico è stato quello di Presidente operativo di BCC Credito Consumo, dopo aver ricoperto il ruolo di Condirettore generale del gruppo Pride, attualmente Ericsson IT Solution & Services.
\n Ancor prima aveva ricoperto posizioni di Direttore HR e Organizzazione in Italtel, Reader's Digest, Banca Intesa e in ultimo di Iccrea Holding.
\n Negli anni è stato Presidente di alcune società nell'ambito dei servizi ICT e consigliere di amministrazione dell'Università Bocconi e di alcune altre società pubbliche e private.
\n Direttore responsabile del webmagazine Hr On Line e direttore scientifico del trimestrale Direzione del Personale, è collaboratore di Harvard Business Review e autore di numerosi volumi di management e sviluppo delle risorse umane.`,\n image: '/assets/images/mba/docenti/IACCI.webp'\n },\n {\n name: 'GIUSI MELONI',\n role: 'PMP® CSM - Formatrice e Counsellor Organizzativo',\n company: '',\n bio: `La sua formazione integra linguistica, letteratura e psicologia a cui si aggiunge un’ampia esperienza professionale nella comunicazione e nel lavoro per progetti, maturata lavorando per e con organizzazioni di diverse dimensioni e appartenenti differenti a settori e culture.
\n Il suo lavoro si basa su modelli validati e ricerche innovative per identificare e proporre soluzioni adeguate all’organizzazione e agli individui con cui lavora. I suoi workshop sono strutturati per essere altamente interattivi e fondono in un’unica esperienza sapere, saper fare e saper essere.
\n Si occupa prevalentemente di:
\n - Lavoro per progetti: cultura, organizzazioni, metodologie e comportamenti
\n - Diversità e inclusione
\n - Resilienza e intelligenza narrativa
\n La sua passione sono il Risk Management e i dilemmi etici di cui ha scritto ne \"The Risk Management Handbook\", edito da Kogan Press.
\n “Facilito lo sviluppo delle persone e delle organizzazioni perché raggiungano il loro pieno potenziale, attingendo dalla mia esperienza manageriale e consulenziale per creare uno spazio protetto e accogliente - sia esso fisico o virtuale - in cui gli individui e le organizzazioni possano apprendere, lavorare e sviluppare le proprie buone pratiche”.`,\n image: '/assets/images/mba/docenti/Meloni.webp'\n },\n {\n name: 'IVAN ORTENZI',\n role: 'CHIEF INNOVATION EVANGELIST',\n company: 'Bip',\n bio: `È Chief Innovation Evangelist del gruppo internazionale di Consulenza di direzione Bip.
\n Ha contribuito al successo dell'iniziativa imprenditoriale di Ars et Inventio, prima società di consulenza italiana focalizzata esclusivamente sui temi dell'innovazione strategica e della creatività aziendale. Questo percorso è stato riassunto nei suoi libri pubblicati con l'editore FrancoAngeli \"Innovation + Management\" e \"Innovation Manager\" che riassumono oltre vent'anni di esperienza vicino a CEO e Chief Innovation Officer in vari settori per progettare e implementare idee innovative e modelli innovativi di successo.
\n Co-Autore del libro \"Intelligenza Artificiale\" (FrancoAngeli).
\n All'attività di consulenza, ha unito l'attività di docenza in ambito innovation management presso le principali Università e Business School Italiane quali UniCal, Cattolica, Trieste e Pavia, per i corsi executive e gli MBA.`,\n image: '/assets/images/mba/docenti/ortenziprofile.webp'\n },\n {\n name: 'MICHELE PALUMBO',\n role: 'DIRETTORE SUPPLY CHAIN & EXECUTIVE ADVISOR',\n company: '',\n bio: `Professore a contratto presso l'Università Cattolica di Milano, docente di Operations e Supply Chain presso alcuni fra i principali atenei (Politecnico di Milano e di Torino, LIUC, Bocconi) e coordinatore scientifico presso 24 Ore Business School, dove coordina alcuni corsi master, consulente per le strategie e lo sviluppo di soluzioni logistiche innovative al servizio dei Clienti. Entrato in Bayer Italia nel 2010 per ricoprire la responsabilità dell'acquisto di servizi logistici e distributivi del gruppo, è stato Head of Supply Chain Management ed ha dato vita e guidato importanti progetti di natura strategica ed operativa anche a livello internazionale nell'ambito del settore lifescience. Partner in diverse società di consulenza direzionale, ha assunto la responsabilità dei servizi logistici centrali di uno dei principali grossisti farmaceutici italiani, il Gruppo Comifar, e dell'innovazione e della logistica della piattaforma servizi del gruppo chimico-farmaceutico Hoechst in Italia. Laureato a pieni voti in Bocconi con una tesi di ricerca sull'economia circolare e con una specializzazione al Politecnico di Milano in gestione industriale, è approdato alla faculty della SDA Bocconi, dove ha progettato e coordinato i corsi di formazione manageriale in ambito logistico dell'Area Tecnologia e Produzione.
\n \"Innovatore seriale\", in qualità di manager ed accademico offre una prospettiva poliedrica in grado di generare valore grazie a soluzioni tecnologicamente avanzate, sostenibili ed efficienti.
\n Empatico ed altruista, intellettualmente curioso e visionario, ha una famiglia numerosa e si dedica da sempre ad attività caritative e di volontariato. Per citarne alcune, è stato membro del Consiglio di Amministrazione del Banco Alimentare e partecipa attivamente ai principali osservatori sulla compliance delle attività logistiche e di trasporto.`,\n image: '/assets/images/mba/docenti/Palumbo.webp'\n },\n {\n name: 'ALESSIO PENNASILICO',\n role: 'INFORMATION & CYBER SECURITY ADVISOR',\n company: 'Clusit',\n bio: `Practice leader dell’Information & Cyber Security Advisory team di P4I, Security Evangelist, noto nell'hacker underground come -=mayhem=-, è internazionalmente riconosciuto come esperto dei temi legati alla gestione della sicurezza delle informazioni e delle nuove tecnologie. Per questa ragione partecipa da anni come relatore ai più rilevanti eventi di security italiani ed internazionali ed è stato intervistato dalle più prestigiose testate giornalistiche, radio e televisioni nazionali ed internazionali, oltre che essere regolarmente docente a corsi universitari e master. All’interno di P4I, per importanti Clienti operanti nei più diversi settori di attività, sviluppa progetti mirati alla riduzione dell’impatto del rischio cyber sul business aziendale, tenendo conto di compliance a norme e standard, della gestione del cambiamento nell’introduzione di nuovi processi ed eventuali tecnologie correlate. Credendo che il cyber risk sia un problema organizzativo e non un mero problema tecnologico, Alessio da anni aiuta il top management, lo staff tecnico e l’organizzazione nel suo complesso a sviluppare la corretta sensibilità in merito al problema, tramite sessioni di awareness, formazione e coaching.
\n Alessio è inoltre membro del Comitato Tecnico di Clusit, Membro del Consiglio Direttivo Nazionale di Associazione informatici professionisti; AIP, membro del Comitato di Schema UNI 11506 di Kiwa Cermet ed Intertek, Vice Presidente del Comitato di Salvaguardia per l’Imparzialità di LRQA, l’ente di certificazione dei Lloyd’s e Senior Advisor degli Osservatori del Politecnico di Milano.`,\n image: '/assets/images/mba/docenti/Pennasilico.webp'\n },\n {\n name: 'GIORGIO SBARAGLIA',\n role: 'INFORMATION & CYBER SECURITY ADVISOR',\n company: '',\n bio: `Ingegnere, laureato all'Università di Bologna, dopo esser stato per molti anni dirigente in una grande società di costruzioni italiana, è oggi Information & Cyber Security Advisor e DPO (Data Protection Officer). Si occupa di consulenza e formazione in sicurezza informatica e privacy. Su questi temi collabora da anni, in qualità di docente, con la 24ORE Business School. È Membro del Comitato Scientifico Clusit (Associazione Italiana per la Sicurezza Informatica) e certificato \"Innovation Manager\" da RINA. Ha pubblicato per GoWare i libri \"GDPR kit di sopravvivenza\", \"Cybersecurity kit di sopravvivenza. Il web è un luogo pericoloso. Dobbiamo difenderci!\" e \"iPhone. Come usarlo al meglio. Scopriamo insieme tutte le funzioni e le app migliori\". Collabora con Cybersecurity360 testata specialistica del gruppo Digital360 per la sicurezza informatica. Scrive anche per ICT Security Magazine, Agenda Digitale e per la rivista CLASS.La sua mission? Portare la consapevolezza (\"awareness\") dell’importanza della Cybersecurity nelle aziende e nelle persone, che delle aziende sono la forza. Perché, come sostiene: \"La Cybersecurity prima di essere un problema tecnico è un problema culturale\".`,\n image: '/assets/images/mba/docenti/Sbaraglia.webp'\n },\n {\n name: 'FRANCESCA SESIA',\n role: 'Responsible Marketing di BlackRock Italia, parte dell’Executive Committee italiano',\n company: 'BlackRock Italia',\n bio: `Chief Operating Officer di BlackRock in Italia, parte dell’Executive Committee italiano e prima Head of Marketing dal 2018. Prima di BlackRock, ha lavorato per più di 10 anni in A.T. Kearney, prestigiosa società di consulenza manageriale, dove ha guidato lo sviluppo del team di Financial Institution in Italia, con ingaggio in moltissimi progetti di strategia, organizzazione e trasformazione e innovazione digitale per alcune delle Banche e Istituzioni Finanziarie leader nel mercato italiano. Ha lavorato anche 3 anni come Responsabile del marketing strategico del Gruppo Cattolica Assicurazioni. Laureata in Ingegneria presso il Politecnico di Torino, premiata tra i migliori laureati dall’Unione Industriale di Torino. Sposata e mamma di Tommaso, 13 anni.`,\n image: '/assets/images/mba/docenti/BLACKROCK0050LAST.webp'\n },\n {\n name: 'LORENZO SOLIMENE',\n role: 'PARTNER KPMG ADVISORY – SUSTAINABILITY & CLIMATE CHANGE SERVICES',\n company: 'KPMG',\n bio: `Lorenzo ha realizzato il suo intero percorso professionale nel 2000 all’interno di KPMG occupandosi di corporate sustainability, risk management, climate change, intellectual capital management e corporate governance. Nel corso della sua carriera professionale si è specializzato nell'integrazione delle politiche di sostenibilità lungo le varie fasi della catena del valore in diversi ambiti: strategia, rischi e governance, misurazione delle performance, stakeholder engagement e reporting.
\n Docente presso l’Università Cattolica di Milano e l’Università Carlo Cattaneo. Componente del Gruppo di ricerca “Assurance sulle non financial information”- ASSIREVI, dell’Osservatorio Normativo AIIA (Associazione Italina Internal Auditor), Gruppo di lavoro sulla Sostenibilità dell’AIAF (Associazione Italiana Analisti Finanziari) e del Comitato scientifico – IID e del Comitato scientifico del master “La gestione della sostenibilità aziendale” –24 Ore Business School. Partecipa ai principali tavoli tecnici sui temi della corporate sustainability ed autore di articoli e saggi sul tema. Autore di “Sostenibilità in cerca d’impresa” edizione EGEA.
\n Laureato con Lode presso l’Università degli Studi di Salerno e Master in “Decisioni economiche e Responsabilità Sociale” promosso dall’Università Carlo Cattaneo.`,\n image: '/assets/images/mba/docenti/Solimene.webp'\n },\n {\n name: 'ALESSANDRO VOLPE',\n role: 'HEAD OF DATA SCIENCE',\n company: 'BIP xTech Italy',\n bio: `I lead the Data Science practice in BIP xTech Italy, contributing to the technical management of the Data Science & AI practice, leading Competence Development initiatives and Machine Learning/AI programs for BIP's customers.`,\n image: '/assets/images/mba/docenti/VolpeAlessandro.webp'\n },\n {\n name: 'ANDREA VISMARA',\n role: 'CONSULENTE E FORMATORE DI PROJECT MANAGEMENT',\n company: 'Progetti Vivi',\n bio: `Consulente e formatore di Project Management presso aziende e business school in Europa e Medio Oriente sino dal 2002, è certificato PMP, PMI-PBA, Prince2, MSP, e ITIL. Ottenuto un MBA presso Profingest Management School (ora Bologna Business School), è stato docente nei programmi MBA dal 2002 al 2008. Dal 2009 è membro della faculty della 24ORE Business School e referente scientifico per tutti i master in Project Management. Senior Associate di Management Centre Europe (Bruxelles), emanazione europea della American Management Association, quale consulente e formatore. Consulente aziendale sui temi della innovazione di prodotto e processo e gestione di progetti internazionali nei settori ICT, Automotive, Trasporti, Banking, Assicurazioni, Finanza, Operations e Logistica, Luxury, Consulting, Pharma, Difesa e Aerospazio. Socio fondatore di aziende tecnologiche, con filiali in Germania, USA, Cina e Taiwan.`,\n image: '/assets/images/mba/docenti/VISMARAmin.webp'\n },\n];\n\nexport const MBAUtils = {\n isCourseOfTypeMBA,\n NORMAL_SLUG,\n ORIGINAL_SLUG,\n ORIGINAL_CATEGORY_SLUG,\n MODULES1,\n MODULES2,\n FACULTY\n};\n","import { CourseLightModel, CourseModel, SessioncontactModel, SessionLightModel, SessionModel } from '@24hbs/utils';\nimport {\n B2B_FONDO_NUOVE_COMPETENZE,\n B2B_FORMAZIONE_INTERAZIENDALE_A_CATALOGO,\n B2B_FORMAZIONE_SU_MISURA,\n B2B_HR_FOR_BREAKFAST,\n B2B_LE_MASTERCLASS\n} from '$lib/utils/custom-courses';\nimport { MBAUtils } from '$lib/utils/mba-utils';\nimport { PUBLIC_BASE_URL } from '$env/static/public';\n\nconst mapSlug = (slug: string) => {\n if (slug === MBAUtils.NORMAL_SLUG) {\n return MBAUtils.ORIGINAL_SLUG;\n }\n return slug;\n};\n\nexport interface CourseList {\n courses: CourseModel[];\n}\n\nexport interface CourseLightList {\n courses: CourseLightModel[];\n}\n\n/**\n * Get normal slug from original slug\n * @param slug\n * @returns string\n */\nexport const getNormalSlug = (slug: string): string => {\n let checkSlug: string = slug;\n if (slug.startsWith('/formazione/')) {\n checkSlug = slug.replace('/formazione/', '');\n }\n if (slug.startsWith('formazione/')) {\n checkSlug = slug.replace('formazione/', '');\n }\n if (checkSlug === MBAUtils.ORIGINAL_SLUG) {\n return MBAUtils.NORMAL_SLUG;\n }\n return slug;\n}\n\nconst fetchCourse = async (url: string, _fetch: {\n (input: RequestInfo | URL, init?: RequestInit): Promise;\n (input: string | URL | globalThis.Request, init?: RequestInit): Promise;\n}): Promise => {\n try {\n let res = await _fetch(url);\n if (res.ok) {\n console.info(`Course at ${url} found.`);\n return CourseModel.fromJSON(await res.json());\n }\n\n console.warn(`[!] Course at ${url} not found.`, await res.text());\n\n return null;\n } catch (e) {\n console.warn(`[!] Course at ${url} not found.`, e);\n return null;\n }\n}\n\nexport const getCourseBySlug = async (slug: string, _fetch: {\n (input: RequestInfo | URL, init?: RequestInit): Promise;\n (input: string | URL | globalThis.Request, init?: RequestInit): Promise;\n}): Promise => {\n return fetchCourse(`/api/v1/courses/sl/${mapSlug(slug)}.json`, _fetch);\n};\n\nexport const getCourseByProductCode = async (productCode: string, _fetch: {\n (input: RequestInfo | URL, init?: RequestInit): Promise;\n (input: string | URL | globalThis.Request, init?: RequestInit): Promise;\n}): Promise => {\n return fetchCourse(`/api/v1/courses/in/${productCode}.json`, _fetch);\n};\n\nexport const getB2BFondoNuoveCompetenze = async (): Promise => Promise.resolve(B2B_FONDO_NUOVE_COMPETENZE.model);\n\nexport const getB2BFormazioneInteraziendaleACatalogo = async (): Promise => Promise.resolve(B2B_FORMAZIONE_INTERAZIENDALE_A_CATALOGO.model);\n\nexport const getB2BFormazioneSuMisura = async (): Promise => Promise.resolve(B2B_FORMAZIONE_SU_MISURA.model);\n\nexport const getB2BHRforBreakfast = async (): Promise => Promise.resolve(B2B_HR_FOR_BREAKFAST.model);\n\nexport const getB2BLeMasterclass = async (): Promise => Promise.resolve(B2B_LE_MASTERCLASS.model);\n\nexport const getMBACourseData = async (): Promise => {\n return new Promise((resolve) => {\n let course: CourseModel = new CourseModel();\n course.title = 'Executive MBA';\n course.slug = 'executive-mba';\n course.courseTypeFull = 'Executive MBA';\n course.category = 'mba';\n course.idMainSession = 10068;\n let selectedSession: SessionModel = new SessionModel();\n selectedSession.productCode = 'YZ22003000';\n selectedSession.title = 'Executive MBA';\n selectedSession.courseTypeFull = 'Executive MBA';\n selectedSession.slug = 'executive-mba';\n selectedSession.idSession = 10068;\n selectedSession.price = 0;\n selectedSession.category = 'mba';\n selectedSession.previewUrl = '/placeholders/mba/emba-hero.webp';\n selectedSession.brochureBooking = false;\n selectedSession.brochureAvailable = true;\n selectedSession.brochureUrl = `${PUBLIC_BASE_URL}mba/EMBA_15_12.pdf`;\n selectedSession.sessionContacts = SessioncontactModel.fromJson({\n editorialContact: 'Segreteria',\n editorialEmail: 'candidature@24orebs.com',\n editorialPhone: '02 3792 9700',\n\n marketingContact: '',\n marketingEmail: '',\n marketingPhone: '',\n\n customercareContact: '',\n customercareEmail: '',\n customercarePhone: '',\n });\n // New values\n // selectedSession.onSaleLabel = 'Advance booking';\n selectedSession.priceNoVat = 27900;\n // selectedSession.discountPrice = 23715;\n // selectedSession.onSale = true;\n // selectedSession.onSaleDetail = 'Prezzo speciale valido fino al 10/1/2022';\n course.addSession(selectedSession);\n resolve(course);\n });\n};\n\nexport const lessionModeText = (lessionMode: string) => {\n switch (lessionMode.toLowerCase()) {\n case 'live streaming/milano':\n return 'Live Streaming o in aula a Milano';\n case 'live streaming/roma':\n return 'Live Streaming o in aula a Roma';\n case 'live streaming/catania':\n return 'Live Streaming o in aula a Catania';\n case 'live streaming + on demand':\n return 'Live Streaming + On Demand';\n case 'live streaming/milano e roma':\n return 'Live Streaming o in aula a Milano e a Roma';\n default:\n return lessionMode;\n }\n};\n/*\n\nclick(){\nsendevent /dev/input/event4 4 4 589825\nsendevent /dev/input/event4 1 272 1\nsendevent /dev/input/event4 0 0 0\nsendevent /dev/input/event4 4 4 589825\nsendevent /dev/input/event4 1 272 0\nsendevent /dev/input/event4 0 0 0\n}\n\nmoveL(x, y){\nsendevent /dev/input/event4 0 0 0\nsendevent /dev/input/event4 2 0 100\nsendevent /dev/input/event4 2 1 100\n\n}\n\n */\n\nexport const lessonModeIcon = (lessonMode: string | undefined): string => {\n if (!lessonMode) {\n return 'ondemand';\n }\n\n switch (lessonMode.toLowerCase()) {\n case 'live streaming':\n case 'online':\n return 'live-streaming';\n case 'live streaming/roma':\n case 'live streaming/catania':\n case 'live streaming/milano':\n return 'mixed-mode';\n\n case 'aula':\n case 'roma':\n case 'milano':\n case 'catania':\n return 'place';\n case 'on demand':\n return 'ondemand';\n default:\n return 'ondemand';\n }\n};\nexport const lessonModeTooltip = (lessonMode: string): string => {\n switch (lessonMode.toLowerCase()) {\n case 'live streaming':\n case 'online':\n return 'Puoi seguire le lezioni da dove vuoi e dal device che preferisci (computer, smartphone, tablet e smart TV) interagendo con docenti e compagni.';\n case 'live streaming/roma':\n case 'live streaming/catania':\n case 'live streaming/milano':\n return 'Puoi seguire le lezioni in aula o, alternativamente, da dove vuoi e dal device che prefersci (computer, smartphone, tablet e smart TV) interagendo con docenti e compagni.';\n case 'live streaming + on demand':\n return 'Il corso è composto da due tipi di lezioni:
LIVE STREAMING
Puoi seguire queste lezioni da dove vuoi e dal device che preferisci (computer, smartphone, tablet e smart TV) interagendo con docenti e compagni.
ON DEMAND
Puoi seguire queste lezioni quando vuoi, da dove vuoi, dal device che preferisci (computer, smartphone, tablet e smart TV) senza interagire con docenti e compagni.';\n case 'on demand':\n return 'Puoi seguire le lezioni interattive quando vuoi, da dove vuoi, dal device che preferisci (computer, smartphone, tablet e smart TV). Al superamento dei test di valutazione ricevi subito l’attestato.';\n case 'live streaming/milano e roma':\n return 'Puoi seguire le lezioni in aula o, alternativamente, da dove vuoi e dal device che preferisci (computer, smartphone, tablet e smart TV) interagendo con docenti e compagni.';\n default:\n return '';\n }\n};\n\nexport const LessonMode = {\n isLiveStreaming: (session: SessionModel | SessionLightModel): boolean => {\n return session.lessionMode !== undefined && session.lessionMode !== null && session.lessionMode.toLowerCase() === 'live streaming';\n },\n\n isLiveStreamingAula: (session: SessionModel | SessionLightModel, place: string = null): boolean => {\n if (!place) {\n return (\n session.lessionMode !== undefined && session.lessionMode !== null &&\n (session.lessionMode.toLowerCase() == 'live streaming/roma' ||\n session.lessionMode.toLowerCase() == 'live streaming/catania' ||\n session.lessionMode.toLowerCase() == 'live streaming/milano' ||\n session.lessionMode.toLowerCase() == 'live streaming/milano e roma')\n );\n }\n if (place.toLowerCase() === 'roma') {\n return session.lessionMode !== undefined && session.lessionMode !== null && session.lessionMode.toLowerCase() === 'live streaming/roma';\n }\n if (place.toLowerCase() === 'catania') {\n return session.lessionMode !== undefined && session.lessionMode !== null && session.lessionMode.toLowerCase() === 'live streaming/catania';\n }\n if (place.toLowerCase() === 'milano') {\n return session.lessionMode !== undefined && session.lessionMode !== null && session.lessionMode.toLowerCase() === 'live streaming/milano';\n }\n if (place.toLowerCase() === 'milano e roma') {\n return session.lessionMode !== undefined && session.lessionMode !== null && session.lessionMode.toLowerCase() === 'live streaming/milano e roma';\n }\n },\n\n isLiveStreamingOnDemand: (session: SessionModel | SessionModel): boolean => {\n return session.lessionMode !== undefined && session.lessionMode !== null && session.lessionMode.toLowerCase() === 'live streaming + on demand';\n },\n\n isLiveStreamingMixed: (session: SessionModel | SessionLightModel): boolean => {\n if (session.lessionMode) {\n const lessionModeLower = session.lessionMode.toLowerCase();\n return lessionModeLower != 'live streaming' && lessionModeLower.startsWith('live streaming');\n }\n },\n isOnDemand: (session: SessionModel | SessionLightModel): boolean => {\n if (session.lessionMode !== undefined && session.lessionMode !== null) {\n const lessionModeLower = session.lessionMode.toLowerCase();\n return lessionModeLower === 'on demand' || lessionModeLower === 'online';\n }\n\n return false;\n },\n isAula: (session: SessionModel | SessionLightModel): boolean => {\n if (session.lessionMode !== undefined && session.lessionMode !== null) {\n const lessionModeLower = session.lessionMode.toLowerCase();\n return lessionModeLower === 'aula' || lessionModeLower === 'milano' || lessionModeLower === 'roma' || lessionModeLower === 'catania';\n }\n\n return false;\n },\n};\n\nexport const getPageType = (path: string): string => {\n const courseTypeReg = [\n /(corsi\\-executive)/,\n /(corsi\\-laurea)|(corsi\\-di\\-laurea)/,\n /(corsi\\-on\\-demand)|(corsi\\-ondemand)|(corsi\\-on\\-line)|(corsi\\-online)/,\n /(executive\\-master)|(master\\-executive)/,\n /(executive\\-mba)|(emba)/,\n /(master\\-post\\-laurea\\-con\\-stage)|(master\\-post\\-laurea\\-con\\-stage\\-garantito)|(master\\-post\\-laurea)/,\n /(masterclass)/,\n /(mba\\-full\\-time)|(master\\-mba\\-full\\-time)/,\n /(mba\\-part\\-time)|(master\\-mba\\-part\\-time)/,\n /(master\\-professional)|(professional\\-master)/,\n /(study\\-tour)|(studytour)/\n ];\n\n const courseCategoryReg = [\n /(marketing\\-comunicazione\\-digital\\-e\\-social\\-media)|(self\\-education\\-mktg)/,\n /(ambiente\\-energia\\-e\\-pa)|(ambiente\\-energia\\-e\\-p\\-a)|(ambiente\\-energia\\-pa)|(self\\-education\\-energia\\-pa)/,\n /(amministrazione\\-finanza\\-e\\-controllo)|(self\\-education\\-afc)/,\n /(arte\\-cinema\\-e\\-design)|(self\\-education\\-arte)/,\n /(diritto\\-e\\-fisco)|(self\\-education\\-diritto\\-fisco)/,\n /(food\\-beverage\\-e\\-turismo)|(self\\-education\\-food)/,\n /(gestione\\-di\\-impresa\\-export\\-e\\-internazionalizzazione)|(self\\-education\\-gsi)|(gestione\\-dimpresa\\-export\\-e\\-internazionalizzazione)/,\n /(hr\\-lavoro\\-e\\-sviluppo\\-manageriale)|(self\\-education\\-hr\\-lavoro)/,\n /(lusso\\-e\\-moda)|(self\\-education\\-lusso)/,\n /(sanita\\-pharma\\-e\\-biomed)|(self\\-education\\-sanita)/,\n /(sport)|(self\\-education\\-sport)/,\n /(vendite\\-e\\-retail)|(self\\-education\\-vendite\\-retail)/,\n ];\n\n if (courseTypeReg.some((type) => type.test(path))) {\n return 'producttype_page';\n }\n\n if (courseCategoryReg.some((category) => category.test(path))) {\n return 'category_page';\n }\n\n if (path === '/tutti-i-percorsi') {\n return 'alltypes_page';\n }\n\n if (path === '/') {\n return 'home_page';\n }\n\n if (path?.includes('/lp')) {\n return 'landing_page';\n }\n\n return 'unknown_page';\n};\n\nexport const isMarconiSession = (session: SessionModel | SessionLightModel): boolean => {\n return (\n session.admissionWithBuyAvailable != \"0\" && (session.certificationReleaseEntity.includes('UniMarconi - prodotto BS24') || session.certificationReleaseEntity.includes('UniMarconi - prodotto UniMarconi') || session.productCode === 'CZ22000100')\n );\n};\n\nexport const isMarconiLaureaSession = (session: SessionModel | SessionLightModel): boolean => {\n return session.productCode === 'CZ22000100';\n};\n\nexport const isEuroconferenceSession = (session: SessionModel | SessionLightModel): boolean => {\n return (\n session.certificationReleaseEntity.includes('Euroconference')\n );\n};\n\nexport const isB2BCourse = (course: CourseModel | CourseLightModel | SessionModel | SessionLightModel) => {\n if (course instanceof SessionLightModel || course instanceof SessionModel) {\n return course.slug === B2B_FONDO_NUOVE_COMPETENZE.model.sessions[B2B_FONDO_NUOVE_COMPETENZE.model.idMainSession].slug;\n }\n return course.slug === B2B_FONDO_NUOVE_COMPETENZE.model.slug;\n};\n\nexport const hasVatFreeSession = (course: SessionModel | SessionLightModel | CourseModel | CourseLightModel): boolean => {\n if (course instanceof SessionModel || course instanceof SessionLightModel) {\n return false;\n }\n\n let key = 'sessions';\n if (course instanceof CourseLightModel) {\n key = 'sessionLight';\n }\n\n let sessions: SessionLightModel[] | SessionModel[] = Object.values(course[key]);\n\n let result = false;\n\n sessions.forEach((session) => {\n if (session.vatFree == true) {\n result = true;\n }\n });\n\n return result;\n};\n\nexport const getSessionFinalAmount = (session: SessionModel | SessionLightModel): number => {\n if (session.hasDiscount) {\n if (session.discountPercent) {\n return (session.priceNoVat ? session.priceNoVat : 0) * (1 - session.discountPercent / 100);\n }\n if (session.discountPrice) {\n return (session.priceNoVat ? session.priceNoVat : 0) - session.discountPrice;\n }\n }\n return session.priceNoVat ? session.priceNoVat : 0;\n}","import type { GtmEventData, GtmTechMetricData, GtmProduct } from './types';\nimport type { IAuthStore, IUserInfo } from '$lib/utils/auth-store';\nimport type { SessionStore } from '$lib/utils/session-store';\nimport type { CookiesStore } from '$lib/utils/cookie-store';\nimport { getPageType } from '$lib/utils/course-utils';\nimport { get } from 'svelte/store';\nimport type { HomepageSlide } from '$lib/utils/homepage/slider/types';\nimport type { Page } from '@sveltejs/kit';\n\nexport enum MenuGtmEventId {\n MASTER_FULL_TIME_CON_STAGE = 10,\n MASTER_PART_TIME = 11,\n CORSI_PART_TIME = 12,\n CORSI_ON_DEMAND = 13,\n EXECUTIVE_MBA = 14,\n MASTER_EXECUTIVE = 15, \n CORSI_INTENSIVI_STAGE = 32,\n CORSI_INTENSIVI = 33,\n CORSI_LAUREA = 39,\n CODING_ACADEMY = 43,\n MBA_FULL_TIME = 44,\n MASTERCLASS = 45,\n MASTER_UNIVERSITARI_CON_CFU = 46,\n MASTER_EUROCONFERENCE = 47,\n DIGITAL_ACADEMY = 48,\n EXECUTIVE_MASTER = 50,\n PROFESSIONAL_MASTER = 51,\n CORSI_EXECUTIVE = 52,\n MBA_PART_TIME = 53,\n MBA_EMBA = 54,\n\n INIZIATIVE = 28,\n DOCENTI = 29,\n PARTNER = 30,\n COMMUNITY = 31,\n OPEN_DAY = 34,\n\n //B2B\n PER_LE_IMPRESE = 35,\n JOB_FINDING = 36,\n SKILLING = 37,\n BRANDING = 38,\n B2B_OPPORTUNITA = 40,\n B2B_OFFERTA = 42,\n\n // TEMATICHE\n HR_LAVORO_E_SVILUPPO_MANAGERIALE = 18,\n MARKETING_COMUNICAZIONE_DIGITAL_E_SOCIAL_MEDIA = 16,\n AMMINISTRAZIONE_FINANZA_E_CONTROLLO = 19,\n DIRITTO_E_FISCO = 25,\n ESG_SOSTENIBILITA_ENERGIA_E_AMBIENTE = 55,\n DIGITAL_TRANSFORMATION_TECNOLOGIA_E_INTELLIGENZA_ARTIFICIALE = 56,\n SOFT_SKILLS = 57,\n PROJECT_MANAGEMENT = 58,\n GESTIONE_DI_IMPRESA_EXPORT_E_INTERNAZIONALIZZAZIONE = 17,\n VENDITE_E_RETAIL = 21,\n SANITA_PHARMA_E_BIOMED = 23,\n LUSSO_E_MODA = 20,\n FOOD_BEVERAGE_E_TURISMO = 26,\n PUBBLICA_AMMINISTRAZIONE = 59,\n ARTE_CULTURA_E_SPORT = 60,\n\n // TOP MENU\n TOP_MENU_CHI_SIAMO = 1001,\n TOP_MENU_CONTATTACI = 1002,\n TOP_MENU_SEDI_MILANO = 1003,\n TOP_MENU_SEDI_ROMA = 1004,\n\n // PERCORSI\n PERCORSI_EXECUTIVE_MASTER = 200,\n PERCORSI_EXECUTIVE_MBA = 201,\n PERCORSI_MBA_PART_TIME = 202,\n PERCORSI_MBA_FULL_TIME = 203,\n PERCORSI_CORSI_EXECUTIVE = 204,\n PERCORSI_MASTER_POST_LAUREA_CON_STAGE = 205,\n PERCORSI_PROFESSIONAL_MASTER_CON_CFU = 206,\n PERCORSI_CORSO_DI_LAUREA_IN_DIGITAL_MARKETING = 207,\n PERCORSI_PROFESSIONAL_MASTER = 208,\n PERCORSI_CORSI_ONLINE = 209,\n PERCORSI_CORSI_EUROCONFERENCE = 210,\n PERCORSI_MASTERCLASS = 211,\n PERCORSI_MASTER_ALWAYS_ON = 212,\n\n // PROGRAMMI\n PROGRAMMI_MASTER_FULL_TIME_CON_STAGE = 300,\n PROGRAMMI_EXECUTIVE_MASTER = 301,\n PROGRAMMI_PROFESSIONAL_MASTER = 302,\n PROGRAMMI_CORSI_EXECUTIVE = 303,\n PROGRAMMI_MASTER_PART_TIME = 304,\n PROGRAMMI_EXECUTIVE_MBA = 305,\n PROGRAMMI_MBA_FULL_TIME = 306,\n PROGRAMMI_MBA_PART_TIME = 307,\n PROGRAMMI_MBA_EMBA = 308,\n PROGRAMMI_MASTER_UNIVERSITARI_CON_CFU = 309,\n PROGRAMMI_DIGITAL_ACADEMY = 310,\n PROGRAMMI_CORSI_ON_DEMAND = 311,\n PROGRAMMI_MASTER_EUROCONFERENCE = 312,\n PROGRAMMI_MASTERCLASS = 313,\n PROGRAMMI_MASTER_ALWAYS_ON = 314,\n\n // HAMBURGER MENU\n HAMBURGER_CHI_SIAMO = 101,\n HAMBURGER_CONTATTI = 102,\n HAMBURGER_SEDI = 103,\n HAMBURGER_FINANZIAMENTI = 104,\n HAMBURGER_DOCENTI = 105,\n HAMBURGER_PARTNERS = 106,\n HAMBURGER_NEWS = 107,\n HAMBURGER_FAQ = 108,\n HAMBURGER_REVIEW = 109,\n HAMBURGER_E_LEARNING = 110,\n}\n\nexport enum GtmEventCategory {\n MENU_BAR = 'menu_bar',\n COOKIE = 'cookie',\n}\n\nexport class GtmStore {\n private static userInfo: IUserInfo | null = null;\n private static sessionStore: SessionStore | null = null;\n private static isLoggedIn: boolean = false;\n private static pagePath: string = '/';\n private static authStore: IAuthStore | null = null;\n private static pageStore: Page | null = null;\n private static lastEvent: GtmEventData | GtmTechMetricData | null = null;\n private static emptyPageView = false;\n private static pushHostDone = false;\n private static cookiesStore: CookiesStore;\n private static cookieNoticeAccepted: boolean = false;\n private static companyStatus: boolean = false;\n\n /****************************/\n private static MAX_SIZE = 10;\n private static TIME_INACTIVE = 30; // In seconds\n private static interval: NodeJS.Timeout | null = null;\n private static productBatch: GtmProduct[] = [];\n /****************************/\n\n //Set ready at startup because GTM team wants\n private static gtmReady = true;\n\n private static tempEvents: (\n | GtmEventData\n | { event: string; page_path: string }\n )[] = [];\n\n public static initGtmStore(\n authStore: IAuthStore,\n sessionStore: SessionStore,\n cookiesStore: CookiesStore,\n pageStore: Page\n ) {\n GtmStore.authStore = authStore;\n GtmStore.pageStore = pageStore;\n GtmStore.sessionStore = sessionStore;\n GtmStore.cookiesStore = cookiesStore;\n\n if (GtmStore.authStore) {\n GtmStore.authStore.userInfo.subscribe((info: IUserInfo | null) => {\n GtmStore.userInfo = info;\n });\n }\n\n if (GtmStore.cookiesStore) {\n GtmStore.cookiesStore.cookies.subscribe((value) => {\n GtmStore.cookieNoticeAccepted = value.cookie_notice_accepted ? true : false;\n });\n }\n\n GtmStore.sessionStore.pendingUserInfo.subscribe((info) => {\n if (info !== null) {\n GtmStore.userInfo = {\n id: info.id,\n bsid: info.bsid,\n email: info.email,\n name: info.name,\n surname: info.lastname,\n fullname: '',\n subscribe: false,\n businessUseConsent: false,\n profilingConsent: false,\n };\n }\n });\n\n GtmStore.authStore.isLoggedIn.subscribe((loggedIn: boolean) => {\n GtmStore.isLoggedIn = loggedIn === true ? true : false;\n });\n GtmStore.sessionStore.companyStatus.subscribe((status) => {\n GtmStore.companyStatus = status === true ? true : false;\n });\n GtmStore.pageStore.subscribe((pageContext) => {\n GtmStore.pagePath = pageContext.path;\n GtmStore.pushPageView();\n });\n\n GtmStore.pushHostToGtm();\n }\n\n private static pushHostToGtm() {\n if (!GtmStore.pushHostDone && typeof window !== 'undefined') {\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push({\n originalLocation:\n document.location.protocol +\n '//' +\n document.location.hostname +\n document.location.pathname +\n document.location.search,\n });\n GtmStore.pushHostDone = true;\n }\n }\n\n public static gtmIsReady() {\n GtmStore.gtmReady = true;\n if (GtmStore.tempEvents.length > 0) {\n GtmStore.pushPageView(true);\n }\n }\n\n public static pushPageView(dequeueOnly = false, addPageView = true) {\n GtmStore.pushHostToGtm();\n\n if (\n typeof window != 'undefined' &&\n GtmStore.pageStore != null &&\n GtmStore.authStore != null &&\n GtmStore.gtmReady\n ) {\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n\n if (GtmStore.tempEvents.length > 0) {\n for (let event of GtmStore.tempEvents.reverse()) {\n if (GtmStore.lastEvent !== null) {\n GtmStore.lastEvent.source = \"24orebs.com\";\n }\n // @ts-ignore\n window.dataLayer.push(GtmStore.lastEvent);\n }\n GtmStore.tempEvents = [];\n }\n }\n if (!dequeueOnly) {\n if (GtmStore.lastEvent !== null) {\n if (addPageView && !GtmStore.lastEvent.event) {\n GtmStore.lastEvent.event = 'pageview';\n }\n if (GtmStore.isPagePathNeeded(GtmStore.lastEvent)) {\n GtmStore.lastEvent.page_path = GtmStore.pagePath;\n }\n if (\n typeof window != 'undefined' &&\n GtmStore.pageStore != null &&\n GtmStore.authStore != null &&\n GtmStore.gtmReady\n ) {\n // @ts-ignore\n window.dataLayer.push(GtmStore.fillEvent(GtmStore.lastEvent));\n } else {\n GtmStore.tempEvents.push(GtmStore.fillEvent(GtmStore.lastEvent));\n }\n GtmStore.lastEvent = null;\n GtmStore.emptyPageView = false;\n } else {\n GtmStore.emptyPageView = true;\n }\n }\n }\n\n public static pushEvent(gtmEventData: GtmEventData, addPageView = true) {\n if (GtmStore.lastEvent !== null) {\n GtmStore.pushPageView(false, addPageView);\n }\n GtmStore.lastEvent = gtmEventData;\n if (GtmStore.emptyPageView || !addPageView || gtmEventData.page_path) {\n GtmStore.pushPageView(false, addPageView);\n }\n }\n\n public static pushProductPageEvent(product: GtmProduct) {\n const productPageEvent = {\n source: \"24orebs.com\",\n event: 'eec.productDetails',\n ab_session: this.getAbValue(),\n ab_monitor: this.cookiesStore? get(this.cookiesStore.cookies).cookie_ab_monitor : undefined,\n ecommerce: {\n currencyCode: 'EUR',\n detail: {\n products: GtmStore.createImpressions([product]),\n },\n },\n };\n\n GtmStore.pushHostToGtm();\n if (typeof window != 'undefined' && GtmStore.gtmReady) {\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push(productPageEvent);\n GtmStore.productBatch = [];\n if (GtmStore.interval) clearInterval(GtmStore.interval);\n }\n }\n\n public static pushHomepageSlideEvent(slide: HomepageSlide, position: number = 0) {\n const event = {\n source: \"24orebs.com\",\n event: 'HP',\n category: (position > 0 ? (position + '_') : '') + 'HP_' + ('productCode' in slide ? slide.productCode : slide.title.slice(0, 30)),\n action: 'click',\n event_id: '40',\n HP: 'productCode' in slide ? slide.productCode : slide.title.slice(0, 30),\n HPLink: 'buttonLink' in slide ? (slide.buttonLink ? 'PaginaProdotto' : 'CTA') : 'Custom',\n }\n\n GtmStore.pushHostToGtm();\n if (typeof window != 'undefined' && GtmStore.gtmReady) {\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push(event);\n if (GtmStore.interval) clearInterval(GtmStore.interval);\n }\n }\n\n public static pushHomepageSlideViewEvent(slide: HomepageSlide, position: number = 0) {\n const event = {\n source: \"24orebs.com\",\n event: 'HP',\n category: (position > 0 ? (position + '_') : '') + 'HP_' + ('productCode' in slide ? slide.productCode : slide.title.slice(0, 30)),\n action: 'view',\n event_id: '40',\n HP: 'productCode' in slide ? slide.productCode : slide.title.slice(0, 30),\n HPLink: 'buttonLink' in slide ? (slide.buttonLink ? 'PaginaProdotto' : 'CTA') : 'Custom',\n }\n\n GtmStore.pushHostToGtm();\n if (typeof window != 'undefined' && GtmStore.gtmReady) {\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push(event);\n if (GtmStore.interval) clearInterval(GtmStore.interval);\n }\n }\n\n public static pushHomepageBannerViewEvent(title: string) {\n const event = {\n source: \"24orebs.com\",\n event: 'BBevent',\n category: \"BannerHP\",\n action: 'VIEW',\n event_id: '52',\n label: title,\n }\n\n GtmStore.pushHostToGtm();\n if (typeof window != 'undefined' && GtmStore.gtmReady) {\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push(event);\n if (GtmStore.interval) clearInterval(GtmStore.interval);\n }\n }\n\n public static pushCardClickEvent(product: GtmProduct, courseUrl: string) {\n const cardClickEvent = {\n source: \"24orebs.com\",\n event: 'eec.productClick',\n ab_session: this.getAbValue(),\n ab_monitor: this.cookiesStore? get(this.cookiesStore.cookies).cookie_ab_monitor : undefined,\n ecommerce: {\n click: {\n actionField: {\n list: getPageType(GtmStore.pagePath),\n },\n products: GtmStore.createImpressions([product]),\n },\n },\n };\n\n if (GtmStore.productBatch.length > 0) {\n GtmStore.pushProductViewEvent();\n }\n\n GtmStore.pushHostToGtm();\n if (typeof window != 'undefined' && GtmStore.gtmReady) {\n // Send the product view event with the current batch impressions\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push(cardClickEvent);\n GtmStore.productBatch = [];\n if (GtmStore.interval) clearInterval(GtmStore.interval);\n }\n }\n\n public static stashProduct(product: GtmProduct) {\n if (GtmStore.interval) {\n clearInterval(GtmStore.interval);\n }\n\n const isStashed = GtmStore.productBatch.some(\n (stashedProduct) =>\n stashedProduct.id === product.id &&\n stashedProduct.position === product.position\n );\n\n if (!isStashed) {\n GtmStore.productBatch.push(product);\n GtmStore.productBatch.sort((a, b) => a.position - b.position);\n }\n\n const sizeOfBatch = GtmStore.productBatch.length;\n if (sizeOfBatch >= GtmStore.MAX_SIZE) {\n GtmStore.pushProductViewEvent();\n }\n\n GtmStore.interval = setInterval(() => {\n if (GtmStore.productBatch.length > 0) {\n GtmStore.pushProductViewEvent();\n }\n }, GtmStore.TIME_INACTIVE * 1000);\n }\n\n private static createImpressions(\n products: GtmProduct[],\n includePagePath = false\n ) {\n return products.map((product) => {\n const impression = {\n ...product,\n ...(product.pagePath &&\n includePagePath && { list: getPageType(product.pagePath) }),\n brand: 'bs24',\n };\n\n delete impression.pagePath;\n return impression;\n });\n }\n\n private static pushProductViewEvent() {\n const productViewEvent = {\n source: \"24orebs.com\",\n event: 'eec.productImpressions',\n ab_session: this.getAbValue(),\n ab_monitor: this.cookiesStore? get(this.cookiesStore.cookies).cookie_ab_monitor : undefined,\n ecommerce: {\n currencyCode: 'EUR',\n impressions: GtmStore.createImpressions(GtmStore.productBatch, true),\n },\n };\n\n GtmStore.pushHostToGtm();\n if (typeof window != 'undefined' && GtmStore.gtmReady) {\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push(productViewEvent);\n GtmStore.productBatch = [];\n if (GtmStore.interval) clearInterval(GtmStore.interval);\n }\n }\n\n private static fillEvent(gtmEventData: GtmEventData): GtmEventData {\n\n if (\n typeof gtmEventData.category !== 'undefined' &&\n [GtmEventCategory.MENU_BAR, 'aiuto'].indexOf(gtmEventData.category.toLocaleLowerCase()) > -1\n ) {\n return gtmEventData;\n }\n if (\n !gtmEventData.bsid &&\n GtmStore.userInfo &&\n GtmStore.userInfo.id &&\n !GtmStore.isCookieEvent(gtmEventData)\n ) {\n gtmEventData.bsid = 'BS' + GtmStore.userInfo.id;\n }\n if (!gtmEventData.UserStatus && !GtmStore.isCookieEvent(gtmEventData)) {\n gtmEventData.UserStatus = GtmStore.isLoggedIn ? 'Logged' : 'Not Logged';\n }\n if (!gtmEventData.B2B && gtmEventData.category !== 'RichiestaInfo_B2b') {\n gtmEventData.B2B = GtmStore.companyStatus ? 'Active' : 'Not active';\n }\n if (!gtmEventData.CP) {\n gtmEventData.CP = GtmStore.cookieNoticeAccepted ? 'Accepted' : 'Denied';\n }\n\n if (GtmStore.isPageViewEvent(gtmEventData)) {\n gtmEventData.bsid =\n typeof gtmEventData.bsid !== 'undefined' ? gtmEventData.bsid : 'NOTSET';\n gtmEventData.Code =\n typeof gtmEventData.Code !== 'undefined' ? gtmEventData.Code : 'NOTSET';\n gtmEventData.Price =\n typeof gtmEventData.Price !== 'undefined'\n ? gtmEventData.Price\n : 'NOTSET';\n }\n\n return {\n ...gtmEventData,\n source: \"24orebs.com\",\n ab_session: this.getAbValue(),\n ab_monitor: this.cookiesStore? get(this.cookiesStore.cookies).cookie_ab_monitor : undefined,\n };\n }\n\n private static isPagePathNeeded(gtmEventData: GtmEventData): boolean {\n //TODO: Convert the Array and gtmEventData.category into GtmEventCategory\n if (\n !gtmEventData.page_path &&\n !(\n typeof gtmEventData.category !== 'undefined' &&\n [\n GtmEventCategory.MENU_BAR.toString(),\n GtmEventCategory.COOKIE.toString(),\n ].includes(gtmEventData.category)\n )\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n private static isPageViewEvent(gtmEventData: GtmEventData): boolean {\n if (\n typeof gtmEventData.event !== 'undefined' &&\n gtmEventData.event === 'pageview'\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n private static isCookieEvent(gtmEventData: GtmEventData): boolean {\n if (\n typeof gtmEventData.event !== 'undefined' &&\n gtmEventData.category === GtmEventCategory.COOKIE\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n private static getAbValue(): string {\n if (typeof window != 'undefined') {\n const abB2bSession = localStorage.getItem('ab_session') + \"_B2B\";\n const abCtaOrientamento = localStorage.getItem('ab_cta_orientamento') + \"_CTAORIENT\";\n return abB2bSession + \",\" + abCtaOrientamento;\n }\n\n return 'A';\n }\n\n public static pushCookieBarEvent(stricktly_necessary_cookie: string, analytics_cookie: string, profilation_cookie: string) {\n\n const cookieBarEvent = {\n source: \"24orebs.com\",\n event: \"consent_update\",\n stricktly_necessary_cookie: stricktly_necessary_cookie,\n analytics_cookie: analytics_cookie,\n profilation_cookie: profilation_cookie,\n };\n\n if (typeof window != 'undefined' && GtmStore.gtmReady) {\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push({ ecommerce: null });\n // @ts-ignore\n window.dataLayer.push(cookieBarEvent);\n // @ts-ignore\n window.dataLayer.push({ event: \"consent_updated\" });\n if (GtmStore.interval) clearInterval(GtmStore.interval);\n }\n }\n}\n"],"names":["NORMAL_SLUG","ORIGINAL_SLUG","ORIGINAL_CATEGORY_SLUG","isCourseOfTypeMBA","course","stringToSlug","MODULES1","MODULES2","FACULTY","MBAUtils","mapSlug","slug","getNormalSlug","checkSlug","fetchCourse","url","_fetch","res","CourseModel","e","getCourseBySlug","getCourseByProductCode","productCode","lessionModeText","lessionMode","lessonModeIcon","lessonMode","lessonModeTooltip","getPageType","path","courseTypeReg","courseCategoryReg","type","category","isMarconiSession","session","isMarconiLaureaSession","isEuroconferenceSession","hasVatFreeSession","SessionModel","SessionLightModel","key","CourseLightModel","sessions","result","getSessionFinalAmount","MenuGtmEventId","GtmEventCategory","_GtmStore","authStore","sessionStore","cookiesStore","pageStore","info","value","loggedIn","status","pageContext","dequeueOnly","addPageView","event","gtmEventData","product","productPageEvent","get","slide","position","title","courseUrl","cardClickEvent","stashedProduct","a","b","products","includePagePath","impression","productViewEvent","abB2bSession","abCtaOrientamento","stricktly_necessary_cookie","analytics_cookie","profilation_cookie","cookieBarEvent","__publicField","GtmStore"],"mappings":"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"}