{"id":"Samedi-5.2.1","projectName":"Samedi 5.2.1","startPassage":"Welcome","passages":[{"_id_":"dates","_x_":3252,"_y_":1275,"name":"dates","tags":["Datum"],"tasks":[{"type":"goto","if":"!$isType()","passage":"start","options":[]},{"type":"msg","typingAnimationTime":500,"options":[{"text":"$appointment_desc"}],"act":[],"btn":[]},{"type":"msg","if":"$isUserRequired($appointment_slug)","options":[{"text":"Dieser Termin kann nur mit einem Samedi-Konto gebucht werden.","if":"$isUserRequired($appointment_slug)"}],"act":[],"btn":[]},{"type":"msg","classname":"samedi-dates","userData":"loadDates","options":[{"text":"Freie Termine $appointment_type:","classname":"samedi-dates"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n"}],"act":[{"text":"Mehr laden|dates|loadMore","if":"$clicks_counter < 3"},{"text":"Zurück zur Terminauswahl|start"}],"btn":[]}]},{"_id_":"times","_x_":3378,"_y_":1275,"name":"times","tags":["Uhrzeit"],"tasks":[{"type":"goto","if":"!$isType()","passage":"start","options":[]},{"type":"goto","if":"!$isDate()","passage":"dates","options":[]},{"type":"msg","classname":"samedi-times","userData":"loadTimes","options":[{"text":"Uhrzeit '$appointment_type' am $appointment_date","classname":"samedi-times"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"Zurück zur Datumsauswahl|dates"}],"btn":[]}]},{"_id_":"booking","_x_":3500,"_y_":1275,"name":"booking","tags":[],"tasks":[{"type":"goto","if":"!$isType()","passage":"start","options":[{"text":"Das ist keine gültige Email-Adresse."},{"text":"Das ist keine gültige Versicherung.
Geben Sie bitte den Anfangsbuchstaben ein und wählen aus der Liste!"}]},{"type":"goto","if":"!$isTime()","passage":"times","options":[{"text":"Das ist keine gültige Email-Adresse."},{"text":"Das ist keine gültige Versicherung.
Geben Sie bitte den Anfangsbuchstaben ein und wählen aus der Liste!"}]},{"type":"msg","classname":"samedi-appointment","options":[{"text":"Termin '$appointment_type'
am $appointment_date um $appointment_time Uhr","classname":"samedi-appointment"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[],"btn":[{"text":"Anderen Termin wählen|start"}]},{"type":"msg","if":"!($first_name && $last_name && $email && $insurance)","options":[{"text":"Zur Buchung benötigen wir noch einige Informationen von Ihnen...","if":"!($first_name && $last_name && $email && $insurance)"}],"act":[],"btn":[]},{"type":"msg","if":"!$first_name","options":[{"text":"Ihr Vorname?","if":"!$first_name"}],"act":[],"btn":[]},{"type":"wait","if":"!$first_name","var":"$first_name","options":[{"text":"","if":"!$first_name"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","if":"!$last_name","options":[{"text":"Ihr Nachname?","if":"!$last_name"}],"act":[],"btn":[]},{"type":"wait","if":"!$last_name","var":"$last_name","options":[{"text":"","if":"!$last_name"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","if":"!$email","options":[{"text":"Ihre E-Mail-Adresse?","if":"!$email"}],"act":[],"btn":[]},{"type":"wait","if":"!$email","var":"$email","validate":"$isEmail($msg)","options":[{"text":"Das ist keine gültige Email-Adresse."}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","if":"!$insurance","options":[{"text":"Geben Sie bitte Ihre Versicherung ein!","if":"!$insurance"}],"act":[],"btn":[]},{"type":"wait","if":"!$insurance","var":"$insurance","userData":"loadInsurances","validate":"$isInsurance($msg)","options":[{"text":"Das ist keine gültige Versicherung.
Geben Sie bitte den Anfangsbuchstaben ein und wählen aus der Liste!"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","options":[{"text":"Name: $first_name $last_name
Email: $email
Versicherung: $insurance"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Sind die Angaben korrekt?"}],"act":[],"btn":[{"text":"Angaben ändern|booking|resetProfile"}]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Letzter Schritt|Variablen]]"}],"btn":[]}]},{"_id_":"booked","_x_":3626,"_y_":1274,"name":"booked","tags":[],"tasks":[{"type":"goto","if":"!$booking_complete","passage":"booking","options":[]},{"type":"msg","img":"https://www.fb-berlin.de/clients/samedi/checked.gif","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Ihr Termin $appointment_type am $appointment_date um $appointment_time wurde gebucht.
Sie erhalten in Kürze eine E-Mail-Bestätigung an '$email'."}],"act":[],"btn":[]},{"type":"msg","if":"$isType() && $hasPassage($appointment_slug)","options":[{"text":"","if":"$isType() && $hasPassage($appointment_slug)"}],"act":[{"text":"Mehr über $appointment_type erfahren||callTypePassage"},{"text":"Zurück zur Terminauswahl|start"}],"btn":[]},{"type":"msg","if":"!($isType() && $hasPassage($appointment_slug))","userData":"gotoTypePassage","options":[{"text":"","if":"!($isType() && $hasPassage($appointment_slug))"}],"act":[{"text":"Zurück zur Terminauswahl|start"}],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[],"btn":[{"text":"[[Was soll ich mitbringen? |Mitbringen]]"}]},{"type":"msg","options":[{"text":""}],"act":[],"btn":[{"text":"[[Wie komme ich hin? |Anfahrt]]"}]},{"type":"msg","options":[{"text":""}],"act":[],"btn":[{"text":"[[Welche Daten wurden gesendet? |Show sent data]]"}]}]},{"_id_":"Instructions","_x_":3751,"_y_":1275,"name":"Instructions","tags":["#Hilfe","Instruktionen"],"tasks":[{"type":"msg","options":[{"text":""}],"act":[],"btn":[{"text":"Dokumentation|https://pidoco.github.io/chatbot-drkk/samedi/documentation"}]},{"type":"msg","src":"https://pidoco.github.io/chatbot-drkk/samedi/documentation","options":[{"text":""}],"act":[],"btn":[],"iframe":{"src":"https://pidoco.github.io/chatbot-drkk/samedi/documentation","height":"400"}}]},{"_id_":"reiseimpfung-reiseberatung","_x_":3876,"_y_":1274,"name":"reiseimpfung-reiseberatung","tags":["Reiseimpfung","Reiseberatung"],"tasks":[{"type":"msg","options":[{"text":"Reiseimpfung & Reiseberatung"}],"act":[],"btn":[]},{"type":"msg","if":"$hasType('reiseimpfung-reiseberatung') && !$isBooked('reiseimpfung-reiseberatung')","options":[{"text":"","if":"$hasType('reiseimpfung-reiseberatung') && !$isBooked('reiseimpfung-reiseberatung')"}],"act":[],"btn":[{"text":"Terminbuchung|dates|@reiseimpfung-reiseberatung","classname":"samedi-type"}]}]},{"_id_":"Version","_x_":35,"_y_":72,"name":"Version","tags":["version"],"tasks":[{"type":"msg","options":[{"text":"Das ist die Version 5.2.1 erstellt am 11.08.21 um 1042. (Neutral Klinik)"}],"act":[],"btn":[]}]},{"_id_":"Welcome","_x_":2703,"_y_":8,"name":"Welcome","tags":[],"tasks":[{"type":"msg","options":[{"text":"Hallo und herzlich willkommen bei der $clinic!."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Dieser Buchungsassistent hilft Ihnen, schnell und einfach den passenden Termin bei uns zu finden."}],"act":[],"btn":[]},{"type":"msg","img":"https://www.fb-berlin.de/clients/samedi/samedi-animation.gif","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n"}],"act":[],"btn":[{"text":"[[Terminkategorie auswählen|Vorfilter]]"},{"text":"[[Fragen zur Buchung|howto]]"}]}]},{"_id_":"Vorfilter","_x_":2707,"_y_":212,"name":"Vorfilter","tags":[],"tasks":[{"type":"msg","options":[{"text":"Was für einen Termin möchten Sie vereinbaren?"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Wählen Sie eine Kategorie oder tippen Sie unten direkt ins Eingabefeld, für welchen Termin Sie sich interessieren."}],"act":[],"btn":[]},{"type":"carousel","carouselItems":[{"title":"Rücken und Wirbelsäule","img":"1ruecken.gif","text":"Orthopädie und Schmerztherapie","buttons":["[[Mehr erfahren|Hub Rücken und Wirbelsäule]]"]},{"title":"Schulter und Ellenbogen","img":"3ellen.gif","text":"Schulter- und Ellenbogenchirurgie","buttons":["[[Mehr erfahren|Vorfilter Schulter und Ellenbogen]]"]},{"title":"Knie","img":"2knie.gif","text":"Künstliches Kniegelenk/Arthrose","buttons":["[[Mehr erfahren|Hub Kniegelenk / Arthrose]]"]}]}]},{"_id_":"Einweisungsdaten","_x_":2787,"_y_":1720,"name":"Einweisungsdaten","tags":[],"tasks":[{"type":"msg","eval":"$einweisung = 'true'","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Bitte geben Sie nachfolgend die Angaben aus dem Einweisungsschein ein."}],"act":[],"btn":[]},{"type":"msg","img":"einweisung-1.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","if":"!$einweisung_1","options":[{"text":"Diagnose:","if":"!$einweisung_1"}],"act":[],"btn":[]},{"type":"wait","if":"!$einweisung_1","var":"$einweisung_1","options":[{"text":"","if":"!$einweisung_1"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","img":"einweisung-2.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","if":"!$einweisung_2","options":[{"text":"Untersuchungsergebnisse:","if":"!$einweisung_2"}],"act":[],"btn":[]},{"type":"wait","if":"!$einweisung_2","var":"$einweisung_2","options":[{"text":"","if":"!$einweisung_2"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","img":"einweisung-3.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","if":"!$einweisung_3","options":[{"text":"Mitgegebene Befunde:","if":"!$einweisung_3"}],"act":[],"btn":[]},{"type":"wait","if":"!$einweisung_3","var":"$einweisung_3","options":[{"text":"","if":"!$einweisung_3"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","options":[{"text":"Vielen Dank für die Informationen"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n"}],"act":[],"btn":[{"text":"[[Weiter|Buchungsübersicht]]"}]}]},{"_id_":"Überweisungsdaten","_x_":3002,"_y_":1720,"name":"Überweisungsdaten","tags":[],"tasks":[{"type":"msg","eval":"$ueberweisung = 'true'","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Bitte geben Sie nachfolgend die Angaben aus dem Überweisungsschein ein."}],"act":[],"btn":[]},{"type":"msg","img":"ueberweisung-1.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","if":"!$ueberweisung_1","options":[{"text":"Diagnose:","if":"!$ueberweisung_1"}],"act":[],"btn":[]},{"type":"wait","if":"!$ueberweisung_1","var":"$ueberweisung_1","options":[{"text":"","if":"!$ueberweisung_1"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","img":"ueberweisung-2.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","if":"!$ueberweisung_2","options":[{"text":"Untersuchungsergebnisse:","if":"!$ueberweisung_2"}],"act":[],"btn":[]},{"type":"wait","if":"!$ueberweisung_2","var":"$ueberweisung_2","options":[{"text":"","if":"!$ueberweisung_2"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","img":"ueberweisung-3.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","if":"!$ueberweisung_3","options":[{"text":"Mitgegebene Befunde:","if":"!$ueberweisung_3"}],"act":[],"btn":[]},{"type":"wait","if":"!$ueberweisung_3","var":"$ueberweisung_3","options":[{"text":"","if":"!$ueberweisung_3"}],"act":[],"btn":[],"autocomplete":[]},{"type":"msg","options":[{"text":"Vielen Dank für die Informationen."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n"}],"act":[],"btn":[{"text":"[[Weiter|Buchungsübersicht]]"}]}]},{"_id_":"Entscheidung-Schein","_x_":2893,"_y_":1560,"name":"Entscheidung-Schein","tags":[],"tasks":[{"type":"msg","options":[{"text":"Wir bieten eine rein stationäre Behandlungsmöglichkeit, keine Kassenambulanz."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Um bei uns einen Termin zu vereinbaren, benötigen wir daher Informationen von Ihrem behandelndenen Arzt."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Bitte wählen Sie, welche Art von Schein Sie von Ihrem behandelnden Arzt erhalten haben:"}],"act":[],"btn":[]},{"type":"carousel","carouselItems":[{"title":"Einweisung","img":"plain-einweisung.png","text":"rötlich/Hochformat","buttons":["[[Diesen Schein|Einweisungsdaten]]"]},{"title":"Überweisung","img":"plain-ueberweisung.png","text":"gelblich/Querformat","buttons":["[[Diesen Schein|Überweisungsdaten]]"]}]}]},{"_id_":"howto","_x_":307,"_y_":90,"name":"howto","tags":[],"tasks":[{"type":"msg","options":[{"text":"In diesem Bereich erfahren Sie alles rund um die Terminbuchung."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Dies ist aktuell nur eine Testinstanz."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Alle verfügbaren Termintypen können auch direkt über das Hamburger-Menü erreicht werden."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\t\n"}],"act":[],"btn":[{"text":"[[Zum Start|Vorfilter]]"}]}]},{"_id_":"Termin buchen Fertig","_x_":3540,"_y_":1568,"name":"Termin buchen Fertig","tags":[],"tasks":[{"type":"msg","options":[{"text":"Ihr Termin $appointment_type am $appointment_date um $appointment_time wurde gebucht.
Sie erhalten in Kürze eine E-Mail-Bestätigung an '$email'."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Was soll ich mitbringen? |Mitbringen]]"}],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Wie komme ich hin? |Anfahrt]]"}],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Wie kann ich mich vorbereiten? |Vorbereitung]]"}],"btn":[]}]},{"_id_":"Show sent data","_x_":3805,"_y_":1488,"name":"Show sent data","tags":[],"tasks":[{"type":"msg","options":[{"text":"Folgende Daten wurden für die Terminbuchung übermittelt:"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Überweisung Info1: $ueberweisung_1"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Überweisung Info2: $ueberweisung_2"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Überweisung Info3: $ueberweisung_3"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Einweisung Info1: $einweisung_1"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Einweisung Info2: $einweisung_2"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Einweisung Info3: $einweisung_3"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Name: $first_name $last_name
Email: $email
Versicherung: $insurance"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Sind die Angaben korrekt?"}],"act":[],"btn":[{"text":"Angaben ändern|booking|resetProfile"}]}]},{"_id_":"Mitbringen","_x_":3194,"_y_":1768,"name":"Mitbringen","tags":[],"tasks":[{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\nFür Ihren Termin bei unseren Schulterexperten sollten Sie folgende Dinge mitbringen:","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n✅ Material für Schultertermin 1","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n✅ Material für Schultertermin 2","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n✅ Material für Schultertermin 3","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n✅ Material für Schultertermin 4","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\nFür Ihren Termin bei unseren Ellenbogen-Experten sollten Sie folgende Dinge mitbringen:","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n✅ Material für Ellenbogentermin 1","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n✅ Material für Ellenbogentermin 2","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n✅ Material für Ellenbogentermin 3","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n✅ Material für Ellenbogentermin 4","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\nFür Ihren Termin bei unseren Rücken-Experten sollten Sie folgende Dinge mitbringen:","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n✅ Material für Rückentermin 1","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n✅ Material für Rückentermin 2","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n✅ Material für Rückentermin 3","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n✅ Material für Rückentermin 4","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\nFür Ihren Termin bei unseren Knie-Experten sollten Sie folgende Dinge mitbringen:","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n✅ Material für Knietermin 1","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n✅ Material für Knietermin 2","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n✅ Material für Knietermin 3","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n✅ Material für Knietermin 4","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Wie komme ich hin? |Anfahrt]]"}],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Wie kann ich mich vorbereiten? |Vorbereitung]]"}],"btn":[]}]},{"_id_":"Anfahrt","_x_":3729,"_y_":1743,"name":"Anfahrt","tags":[],"tasks":[{"type":"msg","options":[{"text":"Wie reisen Sie an?"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n"}],"act":[{"text":"[[Mit den Öffentlichen |ÖPNV]]"},{"text":"[[Mit dem Auto |Car]]"}],"btn":[]}]},{"_id_":"Buchungsübersicht","_x_":2896,"_y_":1885,"name":"Buchungsübersicht","tags":[],"tasks":[{"type":"msg","classname":"samedi-appointment","options":[{"text":"Termin '$appointment_type'
am $appointment_date
um $appointment_time Uhr","classname":"samedi-appointment"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"Jetzt Termin buchen|booked|book","classname":"highlight"}],"btn":[]}]},{"_id_":"Fragen","_x_":3289,"_y_":1476,"name":"Fragen","tags":[],"tasks":[{"type":"msg","options":[{"text":"Willkommen zurück."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Ihre Terminbuchung war erfolgreich."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Hier finden Sie Antworten rund um alle Fragen zu Ihrem Termin."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n"}],"act":[{"text":"[[Was soll ich mitbringen? |Mitbringen]]"},{"text":"[[Wie komme ich hin? |Anfahrt]]"}],"btn":[]}]},{"_id_":"Mein Termin","_x_":405,"_y_":244,"name":"Mein Termin","tags":[],"tasks":[{"type":"msg","if":"$booking_complete","options":[{"text":"Termin '$appointment_type'
am $appointment_date um $appointment_time Uhr","if":"$booking_complete"}],"act":[],"btn":[]},{"type":"msg","if":"$booking_complete","options":[{"text":"\n\n","if":"$booking_complete"}],"act":[],"btn":[{"text":"[[Mehr Informationen|After]]"}]},{"type":"msg","if":"!$booking_complete","options":[{"text":"Sie haben noch keinen Termin gebucht.","if":"!$booking_complete"}],"act":[],"btn":[]},{"type":"msg","if":"!$booking_complete","options":[{"text":"\n\t\n","if":"!$booking_complete"}],"act":[],"btn":[{"text":"[[Zur Übersicht|Vorfilter]]"}]}]},{"_id_":"ÖPNV","_x_":3666,"_y_":1895,"name":"ÖPNV","tags":[],"tasks":[{"type":"msg","options":[{"text":"Unse Klinik erreichen Sie mit den S-Bahn-Linien 🚃 S1, 🚃 S2 und 🚃 S3 - Haltestelle 🚏 Musterstadt."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Unmittelbar vor dem Krankenhaus an der Haltestelle Musterstadt hält die Buslinie 🚌 4."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\nDie Adresse lautet:\nTeststraße 100\n10000 Musterstaft\n"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n\n","if":"$appointment_slug === 'knie'"}],"act":[{"text":"[[Wo finde ich die Knie-Experten?|Lageplan Knie]]"},{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n\n","if":"$appointment_slug === 'schulter'"}],"act":[{"text":"[[Wo finde ich die Gynäkologie?|Lageplan Schulter]]"},{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n[[Wo finde ich die Kardiologie?|Lageplan Rücken]]\n","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[{"text":"[[Wo finde ich die Kardiologie?|Lageplan Rücken]]\n"},{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]}]},{"_id_":"Car","_x_":3852,"_y_":1895,"name":"Car","tags":[],"tasks":[{"type":"msg","options":[{"text":"\nSie erreichen unsere ABC Klinik am besten wie folgt:\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Aus Richtung Norden: A 10 (A 24/A 19) Abfahrt Wunderland Richtung Musterstadt, nach Unterquerung der Bahnlinie circa 100 Meter links."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Aus Richtung Westen: A 111 Abfahrt Beispieldorf Richtung Wunderland, dort geradeaus bis zum Kreisverkehr, dort Richtung Musterstadt abbiegen."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\nUm das Klinikgebäude herum finden Sie viele kostenfreie Parkplätze. Bitte beachten Sie, dass Sie die max. Parkdauer von 3 Stunden nicht überschreiten und denken Sie an Ihre Parkuhr!\n"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n\n","if":"$appointment_slug === 'knie'"}],"act":[{"text":"[[Wo finde ich die Knie-Experten?|Lageplan Knie]]"},{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n\n","if":"$appointment_slug === 'schulter'"}],"act":[{"text":"[[Wo finde ich die Gynäkologie?|Lageplan Schulter]]"},{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n\n","if":"$appointment_slug === 'ellenbogen'"}],"act":[{"text":"[[Wo finde ich die Gynäkologie?|Lageplan Ellenbogen]]"},{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n[[Wo finde ich die Kardiologie?|Lageplan Rücken]]\n","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[{"text":"[[Wo finde ich die Kardiologie?|Lageplan Rücken]]\n"},{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]}]},{"_id_":"Vorbereitung","_x_":3464,"_y_":1758,"name":"Vorbereitung","tags":[],"tasks":[{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\nFür Ihren Termin bei unseren Schulterexperten sollten Sie folgende Regeln beachten","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n✅ Regel 1 1","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n✅ Regel 2","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'schulter'","options":[{"text":"\n✅ Regel 3","if":"$appointment_slug === 'schulter'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\nFür Ihren Termin bei unseren Ellenbogen-Experten sollten Sie folgende Regeln beachten","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n✅ Regel 1","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n✅ Regel 2","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n✅ Regel 3","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'ellenbogen'","options":[{"text":"\n✅ Material für Ellenbogentermin 4","if":"$appointment_slug === 'ellenbogen'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\nFür Ihren Termin bei unseren Rücken-Experten sollten Sie folgende Regeln beachten","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n✅ Regel 1","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n✅ Regel 2","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n✅ Regel 3","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'","options":[{"text":"\n✅ Regel 4","if":"$appointment_slug === 'rucken-und-wirbelsaule-sprechstunde'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\nFür Ihren Termin bei unseren Knie-Experten sollten Sie folgende Regeln beachten:","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n✅ Regel 1","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n✅ Regel 2","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","if":"$appointment_slug === 'knie'","options":[{"text":"\n✅ Regel 3","if":"$appointment_slug === 'knie'"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Wie komme ich hin? |Anfahrt]]"}],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Was soll ich mitbringen? |Mitbringen]]"}],"btn":[]}]},{"_id_":"Platzangst: ja","_x_":4608,"_y_":180,"name":"Platzangst: ja","tags":[],"tasks":[{"type":"msg","eval":"$platzangst = 'true'","options":[{"text":""}],"act":[],"btn":[]},{"type":"goto","passage":"[[Fragebogen2]]","options":[]}]},{"_id_":"Platzangst: nein","_x_":4757,"_y_":180,"name":"Platzangst: nein","tags":[],"tasks":[{"type":"msg","eval":"$platzangst = 'false'","options":[{"text":""}],"act":[],"btn":[]},{"type":"goto","passage":"[[Fragebogen2]]","options":[]}]},{"_id_":"Fragebogen2","_x_":4667,"_y_":323,"name":"Fragebogen2","tags":[],"tasks":[{"type":"msg","options":[{"text":"Sind Sie schwanger??\n\n\n"}],"act":[{"text":"[[Ja|Schwanger: ja]]"},{"text":"[[Nein|Schwanger: nein]]"}],"btn":[]}]},{"_id_":"Schwanger: ja","_x_":4592,"_y_":473,"name":"Schwanger: ja","tags":[],"tasks":[{"type":"msg","eval":"$schwanger = 'true'","options":[{"text":""}],"act":[],"btn":[]},{"type":"goto","passage":"[[Fragebogen3]]","options":[]}]},{"_id_":"Schwanger: nein","_x_":4742,"_y_":473,"name":"Schwanger: nein","tags":[],"tasks":[{"type":"msg","eval":"$schwanger = 'false'","options":[{"text":""}],"act":[],"btn":[]},{"type":"goto","passage":"[[Fragebogen3]]","options":[]}]},{"_id_":"Fragebogen3","_x_":4668,"_y_":623,"name":"Fragebogen3","tags":[],"tasks":[{"type":"msg","options":[{"text":"Sind Sie körperlich beeinträchtigt?\n\n\n"}],"act":[{"text":"[[Ja|Beeinrächtigt: ja]]"},{"text":"[[Nein|Beeinträchtigt: nein]]"}],"btn":[]}]},{"_id_":"Beeinrächtigt: ja","_x_":4593,"_y_":773,"name":"Beeinrächtigt: ja","tags":[],"tasks":[{"type":"msg","eval":"$beeintraechtigt = 'true'","options":[{"text":""}],"act":[],"btn":[]},{"type":"goto","passage":"[[Fragebogen4]]","options":[]}]},{"_id_":"Beeinträchtigt: nein","_x_":4743,"_y_":773,"name":"Beeinträchtigt: nein","tags":[],"tasks":[{"type":"msg","eval":"$beeintraechtigt = 'false'","options":[{"text":""}],"act":[],"btn":[]},{"type":"goto","passage":"[[Fragebogen4]]","options":[]}]},{"_id_":"Fragebogen4","_x_":4671,"_y_":930,"name":"Fragebogen4","tags":[],"tasks":[{"type":"msg","options":[{"text":"Hier steht eine Nachricht, die in Abhängigkeit der Prädispositionen weitere Hinweise zur Anreise/zum Termintag gibt"}],"act":[],"btn":[]}]},{"_id_":"Beschwerden","_x_":993,"_y_":254,"name":"Beschwerden","tags":[],"tasks":[{"type":"msg","options":[{"text":"Sollten Sie konkrete Beschwerden haben, rufen Sie uns bitte direkt an."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Notfälle können Sie unter folgender Telefonnummer melden:"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"☎️ 030 000 000 000"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n"}],"act":[],"btn":[{"text":"[[Zurück zum Start|Vorfilter]]"}]}]},{"_id_":"Questionaire","_x_":4678,"_y_":26,"name":"Questionaire","tags":[],"tasks":[{"type":"msg","options":[{"text":"Leiden Sie unter Platzangst?\n\n\n"}],"act":[{"text":"[[Ja|Platzangst: ja]]"},{"text":"[[Nein|Platzangst: nein]]"}],"btn":[]}]},{"_id_":"alle","_x_":3091,"_y_":1275,"name":"alle","tags":[],"tasks":[{"type":"msg","options":[{"text":"Willkommen zur Klinik $clinic!"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Wir bieten folgende Termine an:"}],"act":[],"btn":[]},{"type":"msg","typingAnimationTime":1000,"userData":"loadTypes","options":[{"text":""}],"act":[],"btn":[]}]},{"_id_":"Variablen","_x_":3011,"_y_":1410,"name":"Variablen","tags":[],"tasks":[{"type":"msg","options":[{"text":"[Hinweis: an dieser Stelle können individuell Daten für die Terminbuchung erfasst werden, die im Samedi-Backend als Notizen hinzugefügt werden. Im Folgenden Beispiel werden Infos zur Ein- bzw. Überweisung abgefragt.]"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n"}],"act":[{"text":"[[Alle klar, weiter als Patient|Entscheidung-Schein]]","classname":"red"}],"btn":[]}]},{"_id_":"Hub Rücken und Wirbelsäule","_x_":1951,"_y_":299,"name":"Hub Rücken und Wirbelsäule","tags":["rückenschmerzen"],"tasks":[{"type":"msg","options":[{"text":"Sie interessieren sich für einen Sprechstundentermin für die Behandlung von Rücken oder Wirbelsäule?"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Dann sind Sie hier genau richtig."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n\n"}],"act":[{"text":"[[Über Rücken und Wirbelsäule|Über Rücken und Wirbelsäule]]"},{"text":"[[Unser Team|Team Rücken]]"},{"text":"[[Ich habe akute Beschwerden|Beschwerden]]","classname":"red"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@rucken-und-wirbelsaule-sprechstunde","classname":"samedi-type"}]}]},{"_id_":"Hub Schulter","_x_":2463,"_y_":592,"name":"Hub Schulter","tags":["Schulterschmerzen"],"tasks":[{"type":"msg","options":[{"text":"Sie interessieren sich für einen Sprechstundentermin für die Behandlung der Schulter?"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Dann sind Sie hier genau richtig."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n\n"}],"act":[{"text":"[[Über die Schulter|Über die Schulter]]"},{"text":"[[Unser Team|Team Schulter]]"},{"text":"[[Ich habe akute Beschwerden|Beschwerden]]","classname":"red"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@schulter","classname":"samedi-type"}]}]},{"_id_":"Hub Kniegelenk / Arthrose","_x_":3554,"_y_":312,"name":"Hub Kniegelenk / Arthrose","tags":["Knieschmerzen"],"tasks":[{"type":"msg","options":[{"text":"Sie interessieren sich für einen Sprechstundentermin für die Behandlung des Kniegelenks?"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Dann sind Sie hier genau richtig."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n\n"}],"act":[{"text":"[[Über das Knie|Über das Knie]]"},{"text":"[[Unser Team|Team Knie]]"},{"text":"[[Ich habe akute Beschwerden|Beschwerden]]","classname":"red"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@knie","classname":"samedi-type"}]}]},{"_id_":"Über Rücken und Wirbelsäule","_x_":1753,"_y_":442,"name":"Über Rücken und Wirbelsäule","tags":[],"tasks":[{"type":"msg","options":[{"text":"\nEine gesunde Wirbelsäule verläuft in S-Form.\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\nAll ihre Teile, darunter Wirbelkörper, Sehnen, Bänder und die Bandscheiben geben dem Körper Stabilität und Beweglichkeit."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\nDie Wirbelsäule trägt zudem die Last von Kopf, Hals, Rumpf und Armen. Diese Achse verbindet die verschiedenen Teile des Skeletts miteinander.\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Krankheitsbilder|Krankheitsbilder Rücken und die Wirbelsäule]]"},{"text":"[[Unser Team|Team Rücken]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@rucken-und-wirbelsaule-sprechstunde","classname":"samedi-type"}]}]},{"_id_":"Team Rücken","_x_":2138,"_y_":439,"name":"Team Rücken","tags":[],"tasks":[{"type":"msg","options":[{"text":"Herzlich Willkommen bei Ihren Rücken-Spezialisten der Beispielklinik."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":" Mit modernster Technik und einem erfahrenen Team aus hochqualifizierten Ärzten, Schwestern und Pflegern gewährleisten wir die Versorgung von Patienten auf aller höchstem Niveau."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Lernen Sie uns kennen:"}],"act":[],"btn":[]},{"type":"carousel","carouselItems":[{"title":"Dr. med. Christian Mustermann","img":"doc1.jpg","text":"Konservative Orthopädie","buttons":[]},{"title":"Dr. med. Claudia Musterfrau","img":"doc2.jpg","text":"Spezielle Schmerztherapie","buttons":[]},{"title":"Anja Musterfrau","img":"doc3.jpg","text":"Chefsekretärin","buttons":[]}]},{"type":"msg","options":[{"text":"\n\n\n"}],"act":[{"text":"[[Krankheitsbilder|Über Rücken und Wirbelsäule]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@rucken-und-wirbelsaule-sprechstunde","classname":"samedi-type"}]}]},{"_id_":"Über die Schulter","_x_":2294,"_y_":698,"name":"Über die Schulter","tags":[],"tasks":[{"type":"msg","options":[{"text":"\nDas Schultergelenk ist das beweglichste Kugelgelenk unseres Körpers. Es verbindet zusammen mit dem Ellenbogen die Hand mit dem Rumpf.\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\nDas Kugelgelenk ermöglicht eine enorme Bewegungsfreiheit. Das Schulterhauptgelenk besteht aus dem Oberarmkopf und der Schulterpfanne. Ein Knorpel zwischen den beiden Knochen verhindert, dass sie aufeinander reiben.\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Krankheitsbilder|Krankheitsbilder Schulter]]"},{"text":"[[Unser Team|Team Schulter]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@schulter","classname":"samedi-type"}]}]},{"_id_":"Team Schulter","_x_":2636,"_y_":693,"name":"Team Schulter","tags":[],"tasks":[{"type":"msg","options":[{"text":"Herzlich Willkommen bei Ihren Schulter-Spezialisten der Beispielklinik."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":" Mit modernster Technik und einem erfahrenen Team aus hochqualifizierten Ärzten, Schwestern und Pflegern gewährleisten wir die Versorgung von Patienten auf aller höchstem Niveau."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Lernen Sie uns kennen:"}],"act":[],"btn":[]},{"type":"carousel","carouselItems":[{"title":"Dr. med. Claudia Musterfrau","img":"doc2.jpg","text":"Schulter- und Ellenbogenchirurgie","buttons":[]},{"title":"Dr. med. Christian Mustermann","img":"doc1.jpg","text":"Schulter- und Ellenbogenchirurgie","buttons":[]},{"title":"Anja Musterfrau","img":"doc3.jpg","text":"Chefsekretärin","buttons":[]}]},{"type":"msg","options":[{"text":"\n\n\n"}],"act":[{"text":"[[Krankheitsbilder|Über die Schulter]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@schulter","classname":"samedi-type"}]}]},{"_id_":"Vorfilter Schulter und Ellenbogen","_x_":2718,"_y_":415,"name":"Vorfilter Schulter und Ellenbogen","tags":[],"tasks":[{"type":"msg","options":[{"text":"\nWelcher Bereich trifft eher auf Sie zu?\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n"}],"act":[{"text":"[[Schulter|Hub Schulter]]"},{"text":"[[Ellenbogen|Hub Ellenbogen]]"}],"btn":[]}]},{"_id_":"Hub Ellenbogen","_x_":2979,"_y_":577,"name":"Hub Ellenbogen","tags":["Ellenbogenschmerzen"],"tasks":[{"type":"msg","options":[{"text":"Sie interessieren sich für einen Sprechstundentermin für die Behandlung des Ellenbogens?"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Dann sind Sie hier genau richtig."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n\n"}],"act":[{"text":"[[Über den Ellenbogen|Über den Ellenbogen]]"},{"text":"[[Unser Team|Team Ellenbogen]]"},{"text":"[[Ich habe akute Beschwerden|Beschwerden]]","classname":"red"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@ellenbogen","classname":"samedi-type"}]}]},{"_id_":"Über den Ellenbogen","_x_":2825,"_y_":677,"name":"Über den Ellenbogen","tags":[],"tasks":[{"type":"msg","options":[{"text":"\nDie bewegliche Verbindung zwischen dem Ober- und Unterarm ist der Ellenbogen. Er setzt sich auch dem Ellenbogengelenk und der Ellenbogengrube zusammen.\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Das Ellenbogengelenk ist ein aus drei Teilgelenken zusammengesetztes Gelenk."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Das Gelenk ermöglicht Streck- und Drehbewegungen und wird von drei kräftigen Bändern stabilisiert.\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Krankheitsbilder|Krankheitsbilder Ellenbogen]]"},{"text":"[[Unser Team|Team Ellenbogen]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@ellenbogen","classname":"samedi-type"}]}]},{"_id_":"Team Ellenbogen","_x_":3141,"_y_":665,"name":"Team Ellenbogen","tags":[],"tasks":[{"type":"msg","options":[{"text":"Herzlich Willkommen bei Ihren Ellenbogen-Spezialisten der Beispielklinik."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":" Mit modernster Technik und einem erfahrenen Team aus hochqualifizierten Ärzten, Schwestern und Pflegern gewährleisten wir die Versorgung von Patienten auf aller höchstem Niveau."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Lernen Sie uns kennen:"}],"act":[],"btn":[]},{"type":"carousel","carouselItems":[{"title":"Dr. med. Claudia Musterfrau","img":"doc2.jpg","text":"Schulter- und Ellenbogenchirurgie","buttons":[]},{"title":"Dr. med. Christian Mustermann","img":"doc1.jpg","text":"Schulter- und Ellenbogenchirurgie","buttons":[]},{"title":"Anja Musterfrau","img":"doc3.jpg","text":"Chefsekretärin","buttons":[]}]},{"type":"msg","options":[{"text":"\n\n\n"}],"act":[{"text":"[[Krankheitsbilder|Über den Ellenbogen]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@ellenbogen","classname":"samedi-type"}]}]},{"_id_":"Über das Knie","_x_":3341,"_y_":442,"name":"Über das Knie","tags":[],"tasks":[{"type":"msg","options":[{"text":"\nDas Kniegelenk wird in ein inneres und ein äußeres Gelenk sowie das Kniescheibengelenk unterteilt.\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\nDie Gelenkpartner an Ober- und Unterschenkel sowie der Kniescheibe sind mit Gelenkknorpel überzogen. Die Kreuz- und Seitenbänder sowie die Muskulatur stabilisieren und führen das Gelenk."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\nSpezielle Puffer, die Menisken, sorgen für einen optimalen Kontakt zwischen Ober- und Unterschenkel und vermindern die Belastung des Knorpels.\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Krankheitsbilder|Krankheitsbilder Knie]]"},{"text":"[[Unser Team|Team Knie]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@knie","classname":"samedi-type"}]}]},{"_id_":"Team Knie","_x_":3718,"_y_":455,"name":"Team Knie","tags":[],"tasks":[{"type":"msg","options":[{"text":"Herzlich Willkommen bei Ihren Knie-Spezialisten der Beispielklinik."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":" Mit modernster Technik und einem erfahrenen Team aus hochqualifizierten Ärzten, Schwestern und Pflegern gewährleisten wir die Versorgung von Patienten auf aller höchstem Niveau."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Lernen Sie uns kennen:"}],"act":[],"btn":[]},{"type":"carousel","carouselItems":[{"title":"Anja Musterfrau","img":"doc3.jpg","text":"Orthopädie und Unfallchirurgie","buttons":[]},{"title":"Dr. med. Claudia Musterfrau","img":"doc2.jpg","text":"Orthopädie und Unfallchirurgie","buttons":[]},{"title":"Dr. med. Christian Mustermann","img":"doc1.jpg","text":"Orthopädie und Unfallchirurgie","buttons":[]}]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Krankheitsbilder|Über das Knie]]"},{"text":"[[Ich habe akute Beschwerden|Beschwerden]]","classname":"red"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@knie","classname":"samedi-type"}]}]},{"_id_":"Krankheitsbilder Schulter","_x_":2459,"_y_":793,"name":"Krankheitsbilder Schulter","tags":["Impingement","Impingement-Syndrom","Sehnenriß","Instabilität-Schulter","Luxation-Schulter","Schultersteife","Kalkschulter","Schultereckgelenksarthrose","Schultergelenksprengung"],"tasks":[{"type":"msg","options":[{"text":"Zu den typischen Krankheitsbildern der Schulter zählen:"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n⚕️ Impingement-Syndrom
\n⚕️ Sehnenriß
\n⚕️ Instabilität/Luxation
\n⚕️ Schultersteife
\n⚕️ Kalkschulter
\n⚕️ Schultereckgelenksarthrose
\n⚕️ Schultergelenksprengung
\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Sollten Sie an einem dieser Krankheitsbilder leiden, vereinbaren Sie gerne einen Sprechstundentermin 👇 bei uns im Haus."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Über die Schulter|Über die Schulter]]"},{"text":"[[Unser Team|Team Schulter]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@schulter","classname":"samedi-type"}]}]},{"_id_":"Krankheitsbilder Ellenbogen","_x_":2993,"_y_":785,"name":"Krankheitsbilder Ellenbogen","tags":["Tennisellenbogen","Golferellenbogen","Freie-Gelenkkörper","Distale-Bizepssehnenruptur"],"tasks":[{"type":"msg","options":[{"text":"Zu den typischen Krankheitsbildern des Ellenbogens zählen:"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n⚕️ Tennisellenbogen
\n⚕️ Golferellenbogen
\n⚕️ Freie Gelenkkörper
\n⚕️ Distale Bizepssehnenruptur
\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Sollten Sie an einem dieser Krankheitsbilder leiden, vereinbaren Sie gerne einen Sprechstundentermin 👇 bei uns im Haus."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Über den Ellenbogen|Über den Ellenbogen]]"},{"text":"[[Unser Team|Team Ellenbogen]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@ellenbogen","classname":"samedi-type"}]}]},{"_id_":"Krankheitsbilder Rücken und die Wirbelsäule","_x_":1971,"_y_":524,"name":"Krankheitsbilder Rücken und die Wirbelsäule","tags":["Bandscheibenvorfall","Rückenmarkkanal","Wirbelgleiten","Spondylolisthesis","Hexenschuss","Wirbelkörperbrüche","Wirbelkörper","Chronische-Rückenschmerzen"],"tasks":[{"type":"msg","options":[{"text":"Zu den typischen Krankheitsbildern des Rückens und der Wirbelsäule zählen:"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n⚕️ Bandscheibenvorfall
\n⚕️ Verengung Rückenmarkkanal
\n⚕️ Wirbelgleiten
\n⚕️ Hexenschuss
\n⚕️ Wirbelkörperbrüche
\n⚕️ Chronische Schmerzen
\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Sollten Sie an einem dieser Krankheitsbilder leiden, vereinbaren Sie gerne einen Sprechstundentermin 👇 bei uns im Haus."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Über die Schulter|Über Rücken und Wirbelsäule]]"},{"text":"[[Unser Team|Team Rücken]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@rucken-und-wirbelsaule-sprechstunde","classname":"samedi-type"}]}]},{"_id_":"Krankheitsbilder Knie","_x_":3548,"_y_":524,"name":"Krankheitsbilder Knie","tags":["Kniegelenksarthrose","Meniskusverletzungen","Kreuzband-und-Seitenbänder","Knorpelschäden","Kreuzband","Seitenband","Kniescheibe"],"tasks":[{"type":"msg","options":[{"text":"Zu den typischen Krankheitsbildern des Knies zählen:"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n⚕️ Kniegelenksarthrose
\n⚕️ Meniskusverletzungen
\n⚕️ Kreuzband und Seitenbänder
\n⚕️ Knorpelschäden
\n⚕️ Schäden an der Kniescheibe
\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Sollten Sie an einem dieser Krankheitsbilder leiden, vereinbaren Sie gerne einen Sprechstundentermin 👇 bei uns im Haus."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n\n\n"}],"act":[{"text":"[[Über den Ellenbogen|Über das Knie]]"},{"text":"[[Unser Team|Team Knie]]"}],"btn":[{"text":"Direkt zur Terminbuchung|dates|@knie","classname":"samedi-type"}]}]},{"_id_":"Untitled Passage","_x_":35,"_y_":199,"name":"Untitled Passage","tags":[],"tasks":[{"type":"msg","if":"$hasType('schulter') && !$isBooked('schulter')","options":[{"text":"\n","if":"$hasType('schulter') && !$isBooked('schulter')"}],"act":[],"btn":[{"text":"Terminbuchung|dates|@schulter","classname":"samedi-type"}]},{"type":"msg","if":"$hasType('rucken-und-wirbelsaule-sprechstunde') && !$isBooked('rucken-und-wirbelsaule-sprechstunde')","options":[{"text":"\n","if":"$hasType('rucken-und-wirbelsaule-sprechstunde') && !$isBooked('rucken-und-wirbelsaule-sprechstunde')"}],"act":[],"btn":[{"text":"Terminbuchung|dates|@rucken-und-wirbelsaule-sprechstunde","classname":"samedi-type"}]},{"type":"msg","if":"$hasType('knie-sprechstunde') && !$isBooked('knie-sprechstunde')","options":[{"text":"\n","if":"$hasType('knie-sprechstunde') && !$isBooked('knie-sprechstunde')"}],"act":[],"btn":[{"text":"Terminbuchung|dates|@knie-sprechstunde","classname":"samedi-type"}]}]},{"_id_":"Lageplan Knie","_x_":3391,"_y_":2108,"name":"Lageplan Knie","tags":[],"tasks":[{"type":"msg","img":"https://www.fb-berlin.de/clients/samedi/lageplan-knie.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]}]},{"_id_":"Lageplan Schulter","_x_":3581,"_y_":2107,"name":"Lageplan Schulter","tags":[],"tasks":[{"type":"msg","img":"https://www.fb-berlin.de/clients/samedi/lageplan-schulter.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]}]},{"_id_":"Lageplan Rücken","_x_":3743,"_y_":2102,"name":"Lageplan Rücken","tags":[],"tasks":[{"type":"msg","img":"https://www.fb-berlin.de/clients/samedi/lageplan-ruecken.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]}]},{"_id_":"Lageplan Ellenbogen","_x_":3969,"_y_":2090,"name":"Lageplan Ellenbogen","tags":[],"tasks":[{"type":"msg","img":"https://www.fb-berlin.de/clients/samedi/lageplan-ellenbogen.png","options":[{"text":""}],"act":[],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Mein Termin|Termin buchen Fertig]]"}],"btn":[]}]},{"_id_":"After","_x_":4055,"_y_":1721,"name":"After","tags":[],"tasks":[{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Was soll ich mitbringen? |Mitbringen]]"}],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Wie komme ich hin? |Anfahrt]]"}],"btn":[]},{"type":"msg","options":[{"text":""}],"act":[{"text":"[[Wie kann ich mich vorbereiten? |Vorbereitung]]"}],"btn":[]}]},{"_id_":"Alt Alle Termine","_x_":45,"_y_":332,"name":"Alt Alle Termine","tags":[],"tasks":[{"type":"msg","options":[{"text":"Hier finden Sie eine Übersicht aller aktuell buchbaren Termine der $clinic."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"Mit einem Klick 🖱️ gelangen Sie direkt zur Buchung."}],"act":[],"btn":[]},{"type":"msg","if":"$hasType('schulter') && !$isBooked('schulter')","options":[{"text":"\n","if":"$hasType('schulter') && !$isBooked('schulter')"}],"act":[],"btn":[{"text":"Schulter Sprechstunde|dates|@schulter","classname":"samedi-type"}]},{"type":"msg","if":"$hasType('ellenbogen') && !$isBooked('ellenbogen')","options":[{"text":"\n","if":"$hasType('ellenbogen') && !$isBooked('ellenbogen')"}],"act":[],"btn":[{"text":"Ellenbogen Sprechstunde|dates|@ellenbogen-sprechstunde","classname":"samedi-type"}]},{"type":"msg","if":"$hasType('rucken-und-wirbelsaule-sprechstunde') && !$isBooked('rucken-und-wirbelsaule-sprechstunde')","options":[{"text":"\n","if":"$hasType('rucken-und-wirbelsaule-sprechstunde') && !$isBooked('rucken-und-wirbelsaule-sprechstunde')"}],"act":[],"btn":[{"text":"Rücken & Wirbelsäule Sprechstunde|dates|@rucken-und-wirbelsaule-sprechstunde","classname":"samedi-type"}]},{"type":"msg","if":"$hasType('knie-sprechstunde') && !$isBooked('knie-sprechstunde')","options":[{"text":"\n","if":"$hasType('knie-sprechstunde') && !$isBooked('knie-sprechstunde')"}],"act":[],"btn":[{"text":"Knie Sprechstunde|dates|@knie-sprechstunde","classname":"samedi-type"}]}]},{"_id_":"Corona","_x_":38,"_y_":457,"name":"Corona","tags":[],"tasks":[{"type":"msg","options":[{"text":"Ab dem 1. Juli 2021 gelten bei uns im Haus folgende Corona-Regeln:."}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n✅ Corona-Regel 1\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n✅ Corona-Regel 2\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n✅ Corona-Regel 3\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n✅ Corona-Regel 4\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n✅ Corona-Regel 5\n"}],"act":[],"btn":[]},{"type":"msg","options":[{"text":"\n\n"}],"act":[{"text":"[[Zur Terminübersicht|Vorfilter]]"}],"btn":[]}]}],"script":"var w = typeof window === 'undefined' ? global : window;\n\nvar isRunningInBrowser = typeof window !== 'undefined';\n\nconst API_KEY = 'mnth9p4f0umxpmsz0h09hejhluznrwp';\nconst API_URL = 'https://proxy.chatbottery.com/samedi/';\nconst CLIENT_ID = 'hl5y0dtv9zx9jmlwde3l52iy9el7ubk';\nconst CLINIC_ID = 'ba2fmfkz9bh200zq';\nconst LIMIT_DATES = 14;\nconst MILLISEC_PER_DAY = 86400000;\n\nconst apiParams = () => `?client_id=${CLIENT_ID}&practice_id=${CLINIC_ID}&api_key=${API_KEY}`;\n\nconst dateFormat = (timestamp) => {\n const date = new Date(timestamp);\n return date.toLocaleDateString('de-DE', { weekday: 'short', day: 'numeric', month: 'numeric' });\n};\n\nconst timeFormat = (timestamp) => {\n const date = new Date(timestamp);\n return date.toLocaleTimeString('de-DE', {hour: 'numeric', minute: 'numeric'});\n};\n\nconst findPassage = (slug, passages) => {\n return passages.find(passage => slug === passage.name);\n // return passages.find(passage => passage.tags.some(tag => slug === tag.replace(/[@#]*(\\w+)/, '$1')));\n};\n\nconst samedi = {\n types: [],\n categories: {},\n insurances: [],\n booked: [],\n loadTypes: () => {\n const url = API_URL + 'event_categories' + apiParams();\n return fetch(url, { method: 'GET', headers: { \"Accept\": \"application/json\" } })\n .then(response => {\n if (!response.ok) {\n throw('Could not read data from ' + url + ' - status: ' + response.status);\n }\n return response.json();\n })\n .then(response => {\n const data = response.data || [];\n data.forEach(category => samedi.categories[category.id] = category);\n return Promise.all(data.map((category, index) => {\n const url = API_URL + 'event_types' + apiParams() + `&event_category_id=${category.id}`;\n return fetch(url, { method: 'GET', headers: { \"Accept\": \"application/json\" } })\n .then(response => {\n if (!response.ok) {\n throw `Error on GET '${url}' - status: ${response.status}`;\n } else {\n return response.json();\n }\n })\n .catch(error => console.error(`Could not read event types from category ${data[index]}.`, error));\n }))\n .then(values => {\n values.forEach((response, index) => {\n const types = (response.data || []); // .filter(type => !type.attendant_user_required);\n if (types.length > 0) {\n types.forEach(type => type['category'] = data[index].id);\n samedi.types.push.apply(samedi.types, types);\n }\n });\n });\n })\n .then(() => {\n const url = API_URL + 'insurances' + apiParams();\n return fetch(url, { method: 'GET', headers: { \"Accept\": \"application/json\" } })\n .then(response => {\n if (!response.ok) {\n throw `Error on GET ${url} - status: ${response.status}`;\n }\n return response.json();\n })\n .then(data => samedi.insurances = data || [])\n .catch(error => console.error(`Could not read insurances.`, error));\n });\n }\n};\n\nfunction initUserDataProps(user) {\n user.$clinic = \"Beispielklinik ABC\";\n user.$first_name = undefined;\n user.$last_name = undefined;\n user.$email = undefined;\n user.$insurance = undefined;\n user.$booking_complete = false;\n user.$appointment_type = undefined;\n user.$appointment_slug = undefined;\n user.$appointment_desc = undefined;\n user.$appointment_date = undefined;\n user.$appointment_time = undefined;\n\tuser.$einweisung = undefined;\n\tuser.$ueberweisung = undefined;\n\tuser.$einweisung_1 = undefined;\n\tuser.$einweisung_2 = undefined;\n\tuser.$einweisung_3 = undefined;\n\tuser.$ueberweisung_1 = undefined;\n\tuser.$ueberweisung_2 = undefined;\n\tuser.$ueberweisung_3 = undefined;\n\tuser.$platzangst = undefined;\n\tuser.$schwanger = undefined;\n\tuser.$beeintraechtigt = undefined;\n}\n\nfunction onChatbotteryRuntimeLoaded(runtime) {\n\n\n\n\t\tconst menuItems = [\n\t\t{\n\t\t\ttitle: '🏠 Start',\n\t\t\tgoto: 'Welcome'\n\t\t},\n\t\t{\n\t\t\ttitle: '📅 Termintypen',\n\t\t\tgoto: 'Alt Alle Termine'\n\t\t},\n\t\t{\n\t\t\ttitle: 'ℹ️ Infos zur Terminbuchung',\n\t\t\tgoto: 'howto'\n\t\t},\n\t\t{\n\t\t\ttitle: '🙋 Mein Termin',\n\t\t\tgoto: 'Mein Termin'\n\t\t},\n\t\t{\n\t\t\ttitle: '🚨 Notfall',\n\t\t\tgoto: 'Beschwerde'\n\t\t},\n\t\t{\n\t\t\ttitle: '😷 Corona-Regeln',\n\t\t\tgoto: 'Corona'\n\t\t}\n\t];\n\n\tconst config = {\n\t\tposition: 'HEADER'\n\t};\n\n\truntime.createPersistentMenu(menuItems, config);\n\n // SET a base url to grab the images & videos\n // (otherwise pics would not show in twine tool)\n runtime.assetBaseUrl = \"https://www.fb-berlin.de/projects/chatbottery/klinik/\";\n\n const user = runtime.userData;\n\n user.$test = false;\n user.$storeUserDataInLocalStorage = true;\n\n const loadAppointment = (type, paginate) => {\n const now = paginate ? user.$fetched_appointments_to_date : Date.now();\n const from = new Date(now + MILLISEC_PER_DAY).toISOString().slice(0, 10);\n const twoWeeks = now + MILLISEC_PER_DAY * LIMIT_DATES;\n const to = new Date(twoWeeks).toISOString().slice(0, 10);\n user.$fetched_appointments_to_date = twoWeeks;\n if (!type) {\n throw `Appointment type not found.`;\n }\n user.resetAppointment();\n samedi.type = type;\n const url = API_URL + 'dates' + apiParams() + `&event_category_id=${samedi.type.category}&event_type_id=${samedi.type.id}&from=${from}&to=${to}`;\n return fetch(url, { method: 'GET', headers: { \"Accept\": \"application/json\" } })\n .then((response) => {\n if (!response.ok) {\n throw('Could not read data from ' + url + ' - status: ' + response.status);\n }\n return response.json();\n })\n .then((response) => {\n const limit = { from: Date.parse(from), to: Date.parse(to) + MILLISEC_PER_DAY };\n samedi.dates = (response.data || [])\n .filter(date => date.available)\n .map(date => Date.parse(date.date))\n .filter(date => date >= limit.from && date < limit.to);\n user.$appointment_type = samedi.type.name;\n user.$appointment_slug = samedi.type.slug;\n user.$appointment_desc = String(samedi.type.description).replace(/\\x0a/g, \"
\").replace(/\\x0d/g, \"\").replace(/\\s/g, \" \");\n user.$appointment_date = undefined;\n user.$appointment_time = undefined;\n })\n .catch((error) => {\n console.error('Error loading ' + url, error);\n });\n };\n\n user.resetProfile = () => {\n user.$first_name = undefined;\n user.$last_name = undefined;\n user.$email = undefined;\n user.$insurance = undefined;\n };\n\n user.resetAppointment = () => {\n user.$booking_complete = false;\n user.$appointment_type = undefined;\n user.$appointment_slug = undefined;\n user.$appointment_desc = undefined;\n user.$appointment_date = undefined;\n user.$appointment_time = undefined;\n };\n\n user.loadInsurances = (task) => {\n const insurances = Object.values(samedi.insurances);\n task['autocomplete'] = insurances.map(insurance => ({\n text: insurance.name,\n value: insurance.id,\n }));\n };\n\n user.loadTypes = (msg) => {\n user.$clicks_counter = 0;\n msg.btn = samedi.types.map(type => ({\n text: `${type.name}|dates|loadType`,\n classname: 'samedi-type' + (type.attendant_user_required ? ' user-required' : ''),\n }));\n };\n\n user.loadType = (referrer, link) => {\n return loadAppointment(samedi.types.find(type => type.name === link.linkText));\n };\n\n user.loadDates = (msg) => {\n if (!samedi.dates.length) {\n msg.options = [{text: `Es wurden leider keine freien Termine in den nächsten ${LIMIT_DATES} gefunden.`}]\n } else {\n msg.btn = samedi.dates.map(date => ({\n classname: \"samedi-date\",\n text: `${dateFormat(date)}|times|loadDate`,\n }));\n }\n };\n\n user.loadDate = (referrer, link) => {\n samedi.date = samedi.dates.find(ts => dateFormat(ts) === link.linkText);\n if (!samedi.date) {\n throw `Could not find date ${link.linkText}`;\n }\n const date = new Date(samedi.date);\n const dstr = date.toISOString().slice(0, 10);\n const url = API_URL + 'times' + apiParams() + `&event_category_id=${samedi.type.category}&event_type_id=${samedi.type.id}&date=${dstr}`;\n return fetch(url, { method: 'GET', headers: { \"Accept\": \"application/json\" } })\n .then((response) => {\n if (!response.ok) {\n throw('Could not read data from ' + url + ' - status: ' + response.status);\n }\n return response.json();\n })\n .then((response) => {\n samedi.times = (response.data || [])\n .map(time => time.time)\n // .filter(time => dstr === time.slice(0, 10))\n .map(time => new Date(time).getTime());\n user.$appointment_date = date.toLocaleDateString('de-DE');\n user.$appointment_time = undefined;\n })\n .catch((error) => {\n console.error('Error loading ' + url, error);\n });\n };\n\n user.loadTimes = (msg) => {\n if (!samedi.times.length) {\n msg.options = [{text: `Es wurden leider keine freien Zeiten am ${user.$appointment_date} gefunden.`}]\n } else {\n msg.btn = samedi.times.map(time => ({\n classname: \"samedi-time\",\n text: `${timeFormat(time)}|booking|loadTime`,\n }));\n }\n };\n\n user.loadTime = (referrer, link) => {\n samedi.time = samedi.times.find(ts => timeFormat(ts) === link.linkText);\n if (!samedi.time) {\n throw `Could not find time ${link.linkText}`;\n }\n user.$appointment_time = new Date(samedi.time).toLocaleTimeString('de-DE', { hour: '2-digit', minute: '2-digit' });\n };\n\n user.loadMore = (referrer, link) => {\n if (!user.$clicks_counter) {\n user.$clicks_counter = 1;\n }\n const type = samedi.types.find(type => type.name === user.$appointment_type);\n user.$clicks_counter += 1;\n return loadAppointment(type, true);\n }\n\n user.book = () => {\n if (!samedi.type)\n throw 'Event type was not specified!';\n if (!samedi.time)\n throw 'Appointment time was not specified!';\n if (!(user.$first_name && user.$last_name && user.$email))\n throw 'Personal user information were not specified!';\n const insurance = user.$insurance && Object.values(samedi.insurances).find(insurance => insurance.name === user.$insurance);\n if (!insurance)\n throw 'Insurance was not specified!';\n user.$booking_complete = false;\n const url = API_URL + 'book';\n const date = new Date(samedi.time);\n const payload = {\n client_id: CLIENT_ID,\n api_key: API_KEY,\n practice_id: CLINIC_ID,\n starts_at: date.toISOString(),\n event_category_id: samedi.type.category,\n event_type_id: samedi.type.id,\n insurance_id: insurance.id,\n do_notification: true,\n attendant: {\n data: {\n first_name: user.$first_name,\n last_name: user.$last_name,\n email: user.$email,\n },\n },\n };\n\n if (user.$einweisung) {\n comment = 'Einweisung Diagnose: ' + user.$einweisung_1 + ' / Einweisung Untersuchungsergebnisse: ' + user.$einweisung_2 + ' / Einweisung Befunde: ' + user.$einweisung_3;\n } else if (user.$ueberweisung) {\n comment = 'Überweisung Diagnose: ' + user.$ueberweisung_1 + ' / Überweisung Untersuchungsergebnisse: ' + user.$ueberweisung_2 + ' / Überweisung Befunde: ' + user.$ueberweisung_3;\n }\n /* else if (user.$isCardiac) {\n comment = 'Herzkrank';\n } */\n if (comment) {\n payload.comments = comment; /*['structured_comment'] = {\n '_default': comment\n };*/\n }\n return fetch(url, {\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n 'accept': 'application/json',\n },\n body: JSON.stringify(payload),\n })\n .then(response => {\n if (!response.ok) {\n return response.json().then(data => {\n const error = JSON.stringify(data);\n throw `Fehler beim Buchen des Termins ${user.$appointment_type} am ${date.toLocaleString('de-DE')}\\n${response.status} - ${error}`;\n });\n }\n user.$booking_complete = true;\n samedi.booked.push(samedi.type.id);\n // alert(`Der Termin '${user.$appointment_type}' am ${date.toLocaleString('de-DE')} wurde gebucht.\\nDu wirst in Kürze eine Email-Nachricht zur Bestätigung erhalten.`)\n })\n .catch(error => {\n console.error('Error sending ' + url, error, payload);\n alert(error);\n });\n };\n\n user.callTypePassage = (referrer, link) => {\n const npc = user._getNpc();\n const passage = samedi.type && findPassage(samedi.type.slug, npc.chatbotData.passages);\n if (passage) {\n link.passageName = passage.name;\n }\n };\n\n user.gotoTypePassage = () => {\n const npc = user._getNpc();\n const passage = samedi.type && findPassage(samedi.type.slug, npc.chatbotData.passages);\n if (passage) {\n npc.goto(passage.name);\n npc.update();\n }\n };\n\n user.$isType = () => !!samedi.type;\n\n user.$isDate = () => !!samedi.date;\n\n user.$isTime = () => !!samedi.time;\n\n user.$hasPassage = (slug) => {\n return !!findPassage(slug, user._getNpc().chatbotData.passages);\n }\n\n user.$hasType = (slug) => {\n return samedi.types && !!samedi.types.find(type => slug === type.slug);\n };\n\n user.$isBooked = (slug) => {\n const type = samedi.types.find(type => type.slug === slug);\n return type && samedi.booked.some(id => id === type.id);\n };\n\n user.$isUserRequired = (slug) => {\n const type = samedi.types.find(type => type.slug === slug);\n return type && type.attendant_user_required;\n }\n\n user.$isEmail = (msg) => {\n return msg && /^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$/.test(msg);\n };\n\n user.$isInsurance = () => {\n const text = user.$msg.toLowerCase();\n const insurance = user.$msg && Object.values(samedi.insurances).find(insurance => insurance.name.toLowerCase().includes(text));\n if (!insurance) {\n return false;\n } else {\n user.$msg = insurance.name;\n return true;\n }\n };\n\n\tuser.$yesAnswers = ['Ja', 'Klar', 'yes','verstanden', 'okay', 'Yup', 'Jawohl', 'ja', 'sicher', 'Okay', 'alle klar', 'klar', 'einverstanden', 'Einverstanden', 'Alles verstanden', 'alles verstanden'];\n\tuser.$noAnswers = ['Nein', 'nein', 'ne', 'neeee', 'nope', 'no', 'neiän', 'neh', 'nicht einverstanden', 'Nicht einverstanden', 'Nicht Einverstanden'];\n\n // Fragefeld definieren\n runtime.i18n.de.inputFieldPlaceholder = ['']\n\n runtime.i18n.de.chooseIntent = ['Folgende Themen könnten dazu passen:', 'Vielleicht hilft Dir eines von diesen Themen?', 'Dazu habe ich folgendes gefunden:','Hmmm. Meinst Du das?', 'Meinst Du vielleicht das?','Dazu weiß ich folgendes:']\n\n runtime.i18n.de.unmatchedIntent = ['Entschuldige. Das habe ich leider nicht verstanden.','Hmmm. Könntest Du das anders formulieren?','Darauf habe ich leider keine Antwort.','Hmm. Ich weiß nicht, ob ich Dich da richtig verstanden habe','Dazu kann ich leider noch nichts sagen.','Tut mir leid das verstehe ich so nicht. Kannst Du das anders ausdrücken?','Entschuldige. Ich weiß gerade nicht was Du meinst.','Die Formulierung habe ich leider nicht verstanden.','Ich bin nicht ganz sicher was Du meinst']\n\n return samedi.loadTypes().then(() => {\n samedi.types.forEach(type => {\n const fname = '@' + type.slug;\n try {\n if (user[fname])\n throw `User function 'user.${fname}' already exists.`;\n user[fname] = () => loadAppointment(type);\n } catch(error) {\n console.error(`Could not create user function '${fname}'.`, error);\n }\n })\n });\n}","plugins":[],"style":".PROJECT-NAME.chatbot-web-container .speech-bubble.bot {\n max-width: 255px;\n margin: 0 0 0 70px;\n box-sizing: border-box;\n display: inline-block;\n}\n\n.PROJECT-NAME.chatbot-web-container .red {\n background-color: #ff3131!important;\n border-color: white!important;\n color: white!important;\n}\n\n.PROJECT-NAME.chatbot-web-container .locked {\n background-color: #bbb!important;\n}\n\n\n.PROJECT-NAME.chatbot-web-container .highlight {\n\tbackground-color: #FFF!important;\n border-color: #3E8400!important;\n color: #3E8400!important;\n font-weight: 700;}\n\n.PROJECT-NAME.chatbot-web-container .cbt-avatar {\n width: 40px;\n height: 40px;\n background-size: contain;\n position: relative;\n margin-top: -30px;\n margin-left: 12px;\n top: 40px;\n left: 0;\n }\n\n.PROJECT-NAME.chatbot-web-container .speech-bubble.bot {\n max-width: 255px;\n margin: 0 0 0 70px;\n box-sizing: border-box;\n display: inline-block;\n}\n\n.PROJECT-NAME.chatbot-web-container .speech-bubble {\n z-index: 2;\n border-radius: 4px;\n padding: 13px;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-persistent-menu-items {\n background-color: #3b6b6b;\n\tfont-family: 'Fira Sans', sans-serif; \n\tfont-weight: 800;\n padding: 13px;\n \tcolor: white;\n \tbox-shadow: -10px 10px 20px;\n }\n \n.PROJECT-NAME.chatbot-web-container .cbt-avatar{\nbackground: url(https://www.fb-berlin.de/projects/chatbottery/klinik/single.svg) no-repeat !important;\nheight:40px;\nwidth: 40px;\nbackground-size: 40px !important;\ndisplay: block !important;\n}\n\n\n.PROJECT-NAME.chatbot-web-container div.speech-bubble.user::before{\n height: 0 !important;\n width: 0 !important;\n}\n\n.PROJECT-NAME.chatbot-web-container li {\n padding-top: 4px;\n}\n\n\n\n.PROJECT-NAME.chatbot-web-container.render-in-place {\n padding: 4px;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-typing-dot {\n background: #1b767f;\n}\n\n.PROJECT-NAME.chatbot-web-container .user {\n background: #1b767f;\n margin-top: 10px;\n}\n\n.PROJECT-NAME.chatbot-web-container .speech-bubble.user {\n background: #1b767f;\n}\n\n.PROJECT-NAME.chatbot-web-container .user:before {\n border-top: 10px solid #1b767f!important;\n}\n\n.PROJECT-NAME.speech-bubble .bot{\n color: #ffffff;\n background: #ffffff;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-buttons ul li {\n background-color: #FFFFFF;\n border-color: #FFFFFF;\n color: #1b767f;\n box-shadow: 2px 4px 4px #33333321;\n /* -webkit-text-fill-color: rgba(255, 255, 255, 1); */\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-buttons ul li.chatbot-external-button .chatbot-external-button-icon {\n background-image: url(https://pidoco.github.io/chatbot-drkk/img/external-link-icon-white.svg)!important;\n}\n\n.PROJECT-NAME.chatbot-typing-indicator{\n background-color: #FFFFFF;\n color: #1b767f;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-buttons ul li {\n background-color: #1b767f;\n border-color: #FFFFFF;\n color: #FFFFFF;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-user-input textarea {\n font-size: 16px;\n border-color: #FFFFFF;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-suggestion-chips ul li {\nbackground-color: #FFFFFF;\n border-color: #1b767f;\n box-shadow: 2px 4px 4px #33333321;\n color: #1b767f;\n /* -webkit-text-fill-color: rgba(1, 72, 152, 1); */ \n}\n\n.PROJECT-NAME.chatbot-web-container a {\n color: #1b767f;\n border-bottom: #1b767f;\n -webkit-text-fill-color: rgba(1, 72, 152, 1);\n cursor: pointer;\n}\n\n.PROJECT-NAME.chatbot-web-container.render-in-place .chatbot-window {\n display: block;\n margin: auto;\n width: 100%;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-button {\n display: inline-block;\n border-radius: 50%;\n background: #CAE4F8;\n background-image: url(https://www.fb-berlin.de/projects/chatbottery/klinik/bubble.svg);\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-window {\n max-height: 640px;\n max-width: 400px;\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n background: white;\n}\n\n.PROJECT-NAME.chatbot-web-container .user:before {\n border-top: 10px solid #4E87FF;\n}\n\n\n/* Header Styling (incl. mobile) */\n\n.PROJECT-NAME.chatbot-web-container .chat-header {\n background-image: url(https://www.fb-berlin.de/projects/chatbottery/klinik/klinik-header-mobile.svg);\n background-position: left!important;\n background-repeat: no-repeat;\n background-color: white;\n background-position: center;\n height: 50px;\n color: #BAD0FF;\n font-size: 1.1em;\n font-weight: 700;\n line-height: 50px;\n padding: 8px;\n\n}\n\n@media only screen and (min-width: 600px) {\n.PROJECT-NAME.chatbot-web-container .chat-header {\n background-image: url(https://www.fb-berlin.de/projects/chatbottery/klinik/klinik-headertermin.svg);\n }\n}\n\n/* End of header */\n\n.PROJECT-NAME.chatbot-web-container .chat-close, .chatbot-web-container [data-initials]:before {\n display: inline-block;\n width: 2.5em;\n height: 2.5em;\n line-height: 2.5em;\n border-radius: 50%;\n background: #ffffff;\n background-image: url(https://www.fb-berlin.de/projects/chatbottery/klinik/close.svg);\n}\n\n\n.PROJECT-NAME.chatbot-web-container.render-in-place .chat-close, .chatbot-web-container [data-initials]:before {\n display: none;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-user-input {\n background-color: #ffffff;\n}\n\n.PROJECT-NAME.chatbot-web-container {\n font-family: 'Fira Sans', sans-serif;\n font: 15px 'Fira Sans', sans-serif;;\n line-height: 1.3;\n}\n\n.PROJECT-NAME.chatbot-send-btn {\n background-color: #FFFFFF;\n}\n\n.PROJECT-NAME.chatbot-web-container .user {\n background: #4E87FF;\n color:white;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-image img {\n height: auto;\n}\n\n.PROJECT-NAME.chatbot-web-container .chatbot-send-btn {\n position: absolute;\n right: 16px;\n bottom: 12px;\n width: 34px;\n height: 34px;\n background: url(https://www.fb-berlin.de/projects/chatbottery/klinik/send-btn.svg) center no-repeat;\n background-size: auto;\n background-size: contain;\n cursor: pointer;\n}\n\n.PROJECT-NAME.chatbot-web-container .samedi-dates .speech-bubble,\n.PROJECT-NAME.chatbot-web-container .samedi-times .speech-bubble,\n.PROJECT-NAME.chatbot-web-container .samedi-appointment .speech-bubble {\n max-width: 100%;\n font-weight: 800;\n}\n\n.PROJECT-NAME.chatbot-web-container .samedi-dates + div ul, \n.PROJECT-NAME.chatbot-web-container .samedi-times + div ul {\n margin: 10px auto;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 10px;\n}\n\n.PROJECT-NAME.chatbot-web-container .samedi-date, \n.PROJECT-NAME.chatbot-web-container .samedi-time {\n border: unset;\n color: #1b767f !important;\n background-color: white !important;\n}\n\n.PROJECT-NAME.chatbot-web-container .samedi-type {\n color: white !important;\n background-color: #00a7af !important;\n}\n\n.PROJECT-NAME.chatbot-web-container .samedi-type.user-required {\n background-color: #CE2B1E !important;\n}","formatVersion":"7.0.0"}