import { config } from '../../config.js' /** * Buchungskalender-Schalter (Funktionsschluessel 'unterkunft'): UNTERKUNFT_ENABLED = off (Vorgabe) | pilot | on. * Liest config.unterkunft bei jedem Aufruf. Bei off laufen keine Jobs und keine Abfragen des Moduls. */ /** 'off' | 'pilot' | 'on'; alles andere (leer, unbekannt) gilt als off. */ export function unterkunftModus() { const mode = config.unterkunft.mode return mode === 'pilot' || mode === 'on' ? mode : 'off' } /** * Darf dieser Kunde den Buchungskalender nutzen? pilot = nur Adressen aus UNTERKUNFT_PILOT_EMAILS ('*' = alle; eine leere * Liste laesst niemanden durch); on = alle Kunden; off = niemand. */ export function unterkunftFuerKunde(email) { const modus = unterkunftModus() if (modus === 'off') return false if (modus === 'on') return true const erlaubt = config.unterkunft.pilotEmails if (erlaubt.includes('*')) return true const adresse = String(email || '').trim().toLowerCase() return adresse !== '' && erlaubt.includes(adresse) } /** * Verlangt die Aktivierung durch das Team (WOMS, ohne Bestellung) die Zustimmung des Kunden in Textform (AVV Buchungskalender, * Vorbemerkung Abs. 2)? Anders als beim Webshop auch im Pilot: der Buchungskalender wird zuerst fuer einen echten Kunden (Pilotadresse) * ohne Bestellung freigeschaltet, dessen Zustimmung muss vorliegen. Nur bei off (Funktion ohnehin gesperrt) entfaellt sie. */ export function unterkunftTextformNoetig() { return unterkunftModus() !== 'off' }