From 70b904260ae19414d3f3d4d9bdafb75750b5f3a9 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 2 Oct 2026 17:46:03 +0000 Subject: [PATCH] Terminplaner: G08 Satz ohne Widerspruch zu zugeordnet, Fristhinweis 'Nach unseren Unterlagen' Co-Authored-By: Claude Sonnet 5.5 --- server/mail-templates/G08 Eingang Widerruf.html | 4 ++-- server/mail-templates/K21 Termin geaendert.html | 2 +- test/mailTemplates.test.js | 15 +++++++++++---- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/server/mail-templates/G08 Eingang Widerruf.html b/server/mail-templates/G08 Eingang Widerruf.html index 68cdacb..f55b852 100644 --- a/server/mail-templates/G08 Eingang Widerruf.html +++ b/server/mail-templates/G08 Eingang Widerruf.html @@ -40,9 +40,9 @@ a{color:#111111;} Ihre Erklärung betrifft die Buchung {{nummer}}. Der Termin ist abgesagt.Deine Erklärung betrifft die Buchung {{nummer}}. Der Termin ist abgesagt. -Hinweis: Die Widerrufsfrist war bei Eingang Ihrer Erklärung bereits abgelaufen. {{betrieb_name}} prüft, wie es weitergeht, und meldet sich bei Ihnen.Hinweis: Die Widerrufsfrist war bei Eingang deiner Erklärung bereits abgelaufen. {{betrieb_name}} prüft, wie es weitergeht, und meldet sich bei dir. +Hinweis: Nach unseren Unterlagen war die Widerrufsfrist bei Eingang Ihrer Erklärung bereits abgelaufen. {{betrieb_name}} prüft, wie es weitergeht, und meldet sich bei Ihnen.Hinweis: Nach unseren Unterlagen war die Widerrufsfrist bei Eingang deiner Erklärung bereits abgelaufen. {{betrieb_name}} prüft, wie es weitergeht, und meldet sich bei dir. -Falls wir Ihre Erklärung keiner Buchung zuordnen konnten, prüft {{betrieb_name}} sie und meldet sich bei Ihnen.Falls wir deine Erklärung keiner Buchung zuordnen konnten, prüft {{betrieb_name}} sie und meldet sich bei dir. +{{betrieb_name}} prüft Ihre Erklärung und meldet sich bei Ihnen, falls noch etwas zu klären ist.{{betrieb_name}} prüft deine Erklärung und meldet sich bei dir, falls noch etwas zu klären ist. Sie haben diese E-Mail erhalten, weil mit Ihrer E-Mail-Adresse ein Widerruf erklärt wurde. Waren Sie das nicht, können Sie diese Nachricht ignorieren.Du hast diese E-Mail erhalten, weil mit deiner E-Mail-Adresse ein Widerruf erklärt wurde. Warst du das nicht, kannst du diese Nachricht ignorieren. Viele Grüße
{{betrieb_name}} diff --git a/server/mail-templates/K21 Termin geaendert.html b/server/mail-templates/K21 Termin geaendert.html index df38b24..4340dfe 100644 --- a/server/mail-templates/K21 Termin geaendert.html +++ b/server/mail-templates/K21 Termin geaendert.html @@ -69,7 +69,7 @@ a{color:#111111;} -{{gast_name}} hat einen Widerruf erklärt. Die Widerrufsfrist war bei Eingang bereits abgelaufen. Der Termin ist unverändert, wir haben nichts abgesagt. Bitte prüfe die Erklärung und melde Dich bei Deinem Gast. +{{gast_name}} hat einen Widerruf erklärt. Nach unseren Unterlagen war die Widerrufsfrist bei Eingang bereits abgelaufen. Der Termin ist unverändert, wir haben nichts abgesagt. Bitte prüfe die Erklärung und melde Dich bei Deinem Gast. diff --git a/test/mailTemplates.test.js b/test/mailTemplates.test.js index a52f9be..0ab64b6 100644 --- a/test/mailTemplates.test.js +++ b/test/mailTemplates.test.js @@ -735,9 +735,16 @@ test('G08: Eingangsbestätigung mit Datum und Uhrzeit, Blöcke zugeordnet und na assert.match(zugeordnet.text, /Buchung AB12CD34/) assert.match(zugeordnet.text, /Der Termin ist abgesagt\./) assert.doesNotMatch(zugeordnet.text, /bereits abgelaufen/) + assert.doesNotMatch(zugeordnet.text, /keiner Buchung zuordnen/, 'zugeordnet widerspricht sich nicht selbst') const spaet = renderMail('G08', values, { sie: true, nach_frist: true }) - assert.match(spaet.text, /Widerrufsfrist war bei Eingang Ihrer Erklärung bereits abgelaufen/) - assert.doesNotMatch(spaet.text, /Der Termin ist abgesagt|AB12CD34/) + assert.match(spaet.text, /Nach unseren Unterlagen war die Widerrufsfrist bei Eingang Ihrer Erklärung bereits abgelaufen\./) + assert.doesNotMatch(spaet.text, /Der Termin ist abgesagt|AB12CD34|keiner Buchung zuordnen/) + // der Satz für alle Fälle ist in jedem Zustand wahr, in beiden Anreden + for (const blocks of [{}, { zugeordnet: true }, { nach_frist: true }]) { + assert.match(renderMail('G08', values, { sie: true, ...blocks }).text, /Salon Muster prüft Ihre Erklärung und meldet sich bei Ihnen, falls noch etwas zu klären ist\./) + assert.match(renderMail('G08', values, { du: true, ...blocks }).text, /Salon Muster prüft deine Erklärung und meldet sich bei dir, falls noch etwas zu klären ist\./) + } + assert.match(renderMail('G08', values, { du: true, nach_frist: true }).text, /Nach unseren Unterlagen war die Widerrufsfrist bei Eingang deiner Erklärung bereits abgelaufen\./) // Hinweis für Dritte: wer nichts erklärt hat, kann die Mail ignorieren assert.match(ohne.text, /Waren Sie das nicht, können Sie diese Nachricht ignorieren\./) }) @@ -777,10 +784,10 @@ test('K20 und K21: WEBklar-Layout in Du-Form, Gastdaten maskiert, Blöcke je Fal assert.match(fall('verschoben').text, /Neu: 12\.10\.2026, 10:00 Uhr/) assert.match(fall('widerrufen').text, /Eingegangen am: 02\.10\.2026, 10:07 Uhr/) assert.match(fall('widerrufen').text, /widerrufen/) - assert.match(fall('nach_frist').text, /Widerrufsfrist war bei Eingang bereits abgelaufen/) + assert.match(fall('nach_frist').text, /Nach unseren Unterlagen war die Widerrufsfrist bei Eingang bereits abgelaufen/) assert.match(fall('nicht_zugeordnet').text, /keiner Buchung zuordnen/) // je Fall erscheint nur der eigene Abschnitt - const SATZ = { abgesagt: 'hat den Termin abgesagt', verschoben: 'hat den Termin verschoben', widerrufen: 'hat den Vertrag widerrufen', nach_frist: 'Widerrufsfrist war bei Eingang bereits abgelaufen', nicht_zugeordnet: 'keiner Buchung zuordnen' } + const SATZ = { abgesagt: 'hat den Termin abgesagt', verschoben: 'hat den Termin verschoben', widerrufen: 'hat den Vertrag widerrufen', nach_frist: 'Nach unseren Unterlagen war die Widerrufsfrist bei Eingang bereits abgelaufen', nicht_zugeordnet: 'keiner Buchung zuordnen' } for (const block of Object.keys(SATZ)) { const mail = fall(block) assert.deepEqual(mail.problems, [], block)
Leistung{{leistung}}
Person oder Platz{{person}}