feat: add CMS inquiries and group bookings

This commit is contained in:
2026-09-17 15:48:40 +02:00
parent 97dd32a2b4
commit a2b3e99174
28 changed files with 1200 additions and 45 deletions
+13 -2
View File
@@ -29,6 +29,7 @@ async function seedOffers(payload: Awaited<ReturnType<typeof getPayload>>) {
slug: "prozessbegleitung",
title: "Prozessbegleitung",
category: "prozessbegleitung" as const,
bookingMode: "individual" as const,
order: 1,
shortDescription: "Persönliche Begleitung in Lebensphasen, Veränderungen und inneren Prozessen.",
description: lexicalFromSections(prozessbegleitung.intro, prozessbegleitung.sections),
@@ -37,6 +38,7 @@ async function seedOffers(payload: Awaited<ReturnType<typeof getPayload>>) {
slug: "doula-begleitung",
title: "Doula-Begleitung",
category: "doula-begleitung" as const,
bookingMode: "individual" as const,
order: 2,
shortDescription: "Begleitung vor, während und nach der Geburt.",
description: lexicalFromSections(doula.intro, doula.sections),
@@ -45,6 +47,8 @@ async function seedOffers(payload: Awaited<ReturnType<typeof getPayload>>) {
slug: "erdenkinder",
title: "Erdenkinder",
category: "kindergruppen" as const,
bookingMode: "group" as const,
groupRegistrationMode: "fixed" as const,
order: 3,
shortDescription: "Naturverbunden. Kreativ. Frei. Für Kinder.",
description: lexicalFromParagraphs(erdenkinder.paragraphs),
@@ -53,6 +57,8 @@ async function seedOffers(payload: Awaited<ReturnType<typeof getPayload>>) {
slug: "maedchenkreis",
title: "Mädchenkreis",
category: "kindergruppen" as const,
bookingMode: "group" as const,
groupRegistrationMode: "capacity" as const,
order: 4,
shortDescription: "Stärkung. Vertrauen. Gemeinschaft. Für Mädchen.",
description: lexicalFromParagraphs(maedchenkreis.paragraphs),
@@ -61,6 +67,8 @@ async function seedOffers(payload: Awaited<ReturnType<typeof getPayload>>) {
slug: "singen-im-kreis",
title: "Singen im Kreis",
category: "singkreise" as const,
bookingMode: "group" as const,
groupRegistrationMode: "fixed" as const,
order: 5,
shortDescription: "Gemeinsam singen. Verbunden sein.",
description: lexicalFromParagraphs(singenImKreis.paragraphs),
@@ -69,6 +77,8 @@ async function seedOffers(payload: Awaited<ReturnType<typeof getPayload>>) {
slug: "singen-fuer-schwangere",
title: "Singen für Schwangere",
category: "singkreise" as const,
bookingMode: "group" as const,
groupRegistrationMode: "fixed" as const,
order: 6,
shortDescription: "Lieder, die tragen. Für dich und dein Baby.",
description: lexicalFromParagraphs(singenFuerSchwangere.paragraphs),
@@ -77,6 +87,8 @@ async function seedOffers(payload: Awaited<ReturnType<typeof getPayload>>) {
slug: "mama-baby-singkreis",
title: "Singen für Mamas mit Baby",
category: "singkreise" as const,
bookingMode: "group" as const,
groupRegistrationMode: "fixed" as const,
order: 7,
shortDescription: "Zeit für dich und dein Baby. Singen. Austauschen. Auftanken.",
description: lexicalFromParagraphs(mamaBabySingkreis.paragraphs),
@@ -90,6 +102,7 @@ async function seedOffers(payload: Awaited<ReturnType<typeof getPayload>>) {
slug: "einzelbegleitung",
title: "Einzelbegleitung",
category: "prozessbegleitung" as const,
bookingMode: "individual" as const,
order: 8,
visibility: "private" as const,
bookable: true,
@@ -226,8 +239,6 @@ async function seedGlobals(payload: Awaited<ReturnType<typeof getPayload>>) {
text: "Passt es für euch beide, vereinbaren wir gemeinsam die weiteren Termine.",
},
],
formNote:
"Aktuell öffnet dieses Formular dein E-Mail-Programm. Sobald ein Buchungstool (z. B. für Online-Terminvergabe) ausgewählt ist, kann es hier eingebunden werden.",
},
});
console.log(" ↺ Global „Termin buchen“ gesetzt");