Files
anouma/payload-types.ts
T
maro 45261a0461 Initial commit: ANOUMA website with Payload CMS, WebRTC meetings, and booking system
- Next.js 16 App Router site with the ANOUMA design system
- Payload CMS (PostgreSQL) for offers, events, posts and page content
- WebRTC video-call system with custom signaling server
- SMTP email reminders and booking-request notifications
- Customer accounts, calendar-based availability, and booking workflow
2026-08-25 16:40:51 +02:00

1247 lines
30 KiB
TypeScript

/* tslint:disable */
/* eslint-disable */
/**
* This file was automatically generated by Payload.
* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
* and re-run `payload generate:types` to regenerate this file.
*/
/**
* Supported timezones in IANA format.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "supportedTimezones".
*/
export type SupportedTimezones =
| 'Pacific/Midway'
| 'Pacific/Niue'
| 'Pacific/Honolulu'
| 'Pacific/Rarotonga'
| 'America/Anchorage'
| 'Pacific/Gambier'
| 'America/Los_Angeles'
| 'America/Tijuana'
| 'America/Denver'
| 'America/Phoenix'
| 'America/Chicago'
| 'America/Guatemala'
| 'America/New_York'
| 'America/Bogota'
| 'America/Caracas'
| 'America/Santiago'
| 'America/Buenos_Aires'
| 'America/Sao_Paulo'
| 'Atlantic/South_Georgia'
| 'Atlantic/Azores'
| 'Atlantic/Cape_Verde'
| 'Europe/London'
| 'Europe/Berlin'
| 'Africa/Lagos'
| 'Europe/Athens'
| 'Africa/Cairo'
| 'Europe/Moscow'
| 'Asia/Riyadh'
| 'Asia/Dubai'
| 'Asia/Baku'
| 'Asia/Karachi'
| 'Asia/Tashkent'
| 'Asia/Calcutta'
| 'Asia/Dhaka'
| 'Asia/Almaty'
| 'Asia/Jakarta'
| 'Asia/Bangkok'
| 'Asia/Shanghai'
| 'Asia/Singapore'
| 'Asia/Tokyo'
| 'Asia/Seoul'
| 'Australia/Brisbane'
| 'Australia/Sydney'
| 'Pacific/Guam'
| 'Pacific/Noumea'
| 'Pacific/Auckland'
| 'Pacific/Fiji';
export interface Config {
auth: {
users: UserAuthOperations;
customers: CustomerAuthOperations;
};
blocks: {};
collections: {
users: User;
customers: Customer;
media: Media;
events: Event;
posts: Post;
offers: Offer;
'event-registrations': EventRegistration;
availability: Availability;
'availability-overrides': AvailabilityOverride;
'booking-requests': BookingRequest;
'payload-kv': PayloadKv;
'payload-locked-documents': PayloadLockedDocument;
'payload-preferences': PayloadPreference;
'payload-migrations': PayloadMigration;
};
collectionsJoins: {};
collectionsSelect: {
users: UsersSelect<false> | UsersSelect<true>;
customers: CustomersSelect<false> | CustomersSelect<true>;
media: MediaSelect<false> | MediaSelect<true>;
events: EventsSelect<false> | EventsSelect<true>;
posts: PostsSelect<false> | PostsSelect<true>;
offers: OffersSelect<false> | OffersSelect<true>;
'event-registrations': EventRegistrationsSelect<false> | EventRegistrationsSelect<true>;
availability: AvailabilitySelect<false> | AvailabilitySelect<true>;
'availability-overrides': AvailabilityOverridesSelect<false> | AvailabilityOverridesSelect<true>;
'booking-requests': BookingRequestsSelect<false> | BookingRequestsSelect<true>;
'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
};
db: {
defaultIDType: number;
};
fallbackLocale: null;
globals: {
home: Home;
about: About;
'angebote-intro': AngeboteIntro;
'aktuelles-intro': AktuellesIntro;
contact: Contact;
booking: Booking;
'meeting-settings': MeetingSetting;
'booking-settings': BookingSetting;
};
globalsSelect: {
home: HomeSelect<false> | HomeSelect<true>;
about: AboutSelect<false> | AboutSelect<true>;
'angebote-intro': AngeboteIntroSelect<false> | AngeboteIntroSelect<true>;
'aktuelles-intro': AktuellesIntroSelect<false> | AktuellesIntroSelect<true>;
contact: ContactSelect<false> | ContactSelect<true>;
booking: BookingSelect<false> | BookingSelect<true>;
'meeting-settings': MeetingSettingsSelect<false> | MeetingSettingsSelect<true>;
'booking-settings': BookingSettingsSelect<false> | BookingSettingsSelect<true>;
};
locale: null;
widgets: {
collections: CollectionsWidget;
};
user: User | Customer;
jobs: {
tasks: unknown;
workflows: unknown;
};
}
export interface UserAuthOperations {
forgotPassword: {
email: string;
password: string;
};
login: {
email: string;
password: string;
};
registerFirstUser: {
email: string;
password: string;
};
unlock: {
email: string;
password: string;
};
}
export interface CustomerAuthOperations {
forgotPassword: {
email: string;
password: string;
};
login: {
email: string;
password: string;
};
registerFirstUser: {
email: string;
password: string;
};
unlock: {
email: string;
password: string;
};
}
/**
* Zugänge für den geschützten Admin-Bereich.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "users".
*/
export interface User {
id: number;
name: string;
role: 'admin';
updatedAt: string;
createdAt: string;
email: string;
resetPasswordToken?: string | null;
resetPasswordExpiration?: string | null;
salt?: string | null;
hash?: string | null;
loginAttempts?: number | null;
lockUntil?: string | null;
sessions?:
| {
id: string;
createdAt?: string | null;
expiresAt: string;
}[]
| null;
password?: string | null;
collection: 'users';
}
/**
* Konten der Website-Besucher:innen (nicht die Admin-Zugänge unter „Benutzer:innen“).
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "customers".
*/
export interface Customer {
id: number;
name: string;
/**
* Optional — für eine spätere Nutzung vorbereitet, aktuell nicht verpflichtend.
*/
phone?: string | null;
updatedAt: string;
createdAt: string;
email: string;
resetPasswordToken?: string | null;
resetPasswordExpiration?: string | null;
salt?: string | null;
hash?: string | null;
loginAttempts?: number | null;
lockUntil?: string | null;
sessions?:
| {
id: string;
createdAt?: string | null;
expiresAt: string;
}[]
| null;
password?: string | null;
collection: 'customers';
}
/**
* Bilder für die Website — Alt-Text ist für Barrierefreiheit und SEO Pflicht.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "media".
*/
export interface Media {
id: number;
/**
* Kurze Beschreibung des Bildes für Screenreader und Suchmaschinen.
*/
alt: string;
/**
* Optionale, längere Beschreibung (z. B. für eine Bildunterschrift).
*/
caption?: string | null;
updatedAt: string;
createdAt: string;
url?: string | null;
thumbnailURL?: string | null;
filename?: string | null;
mimeType?: string | null;
filesize?: number | null;
width?: number | null;
height?: number | null;
focalX?: number | null;
focalY?: number | null;
sizes?: {
thumbnail?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
card?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
hero?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
};
}
/**
* Termine und Veranstaltungen — erscheinen automatisch unter /termine.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "events".
*/
export interface Event {
id: number;
title: string;
/**
* Wird automatisch aus dem Titel erzeugt, kann aber angepasst werden.
*/
slug?: string | null;
description?: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
} | null;
date: string;
startTime?: string | null;
endTime?: string | null;
location?: string | null;
category:
| 'prozessbegleitung'
| 'doula'
| 'erdenkinder'
| 'maedchenkreis'
| 'singen-im-kreis'
| 'singen-fuer-schwangere'
| 'singen-fuer-mamas-mit-baby'
| 'sonstiges';
image?: (number | null) | Media;
maxParticipants?: number | null;
registrationRequired?: boolean | null;
/**
* z. B. eine E-Mail-Adresse, ein Link oder ein Hinweistext.
*/
registrationInfo?: string | null;
/**
* Aktiviert Meeting-Passwort, Beitrittsseite und Erinnerungs-E-Mails.
*/
isOnline?: boolean | null;
/**
* Wird automatisch erzeugt. Ist nicht Teil des Meeting-Links.
*/
meetingPassword?: string | null;
regeneratePassword?: boolean | null;
reminder60Enabled?: boolean | null;
reminder30Enabled?: boolean | null;
hostReminderEnabled?: boolean | null;
hostReminder60Sent?: boolean | null;
hostReminder30Sent?: boolean | null;
/**
* Wird automatisch gesetzt, wenn dieser Termin aus einer bestätigten Einzelbuchung entstanden ist. Solche Termine bleiben unveröffentlicht.
*/
isPrivateBooking?: boolean | null;
bookingRequest?: (number | null) | BookingRequest;
updatedAt: string;
createdAt: string;
_status?: ('draft' | 'published') | null;
}
/**
* Terminanfragen von Nutzer:innen — bestätigen, ablehnen oder einen alternativen Termin vorschlagen, indem du die Felder unten änderst und speicherst.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "booking-requests".
*/
export interface BookingRequest {
id: number;
user: number | Customer;
offer: number | Offer;
date: string;
startTime: string;
endTime: string;
appointmentType: 'onsite' | 'online';
/**
* Auf „Bestätigt“ setzen und speichern, um den Termin verbindlich zu machen (Konfliktprüfung läuft automatisch).
*/
status: 'pending' | 'confirmed' | 'rejected' | 'cancelled';
userMessage?: string | null;
/**
* Nur für Anna sichtbar.
*/
internalNote?: string | null;
proposedAlternative?: {
date?: string | null;
startTime?: string | null;
endTime?: string | null;
};
linkedEvent?: (number | null) | Event;
updatedAt: string;
createdAt: string;
}
/**
* Die Angebote von Anouma — erscheinen im Menü und auf /angebote.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "offers".
*/
export interface Offer {
id: number;
title: string;
/**
* Wird automatisch aus dem Titel erzeugt, kann aber angepasst werden.
*/
slug?: string | null;
/**
* Kurzer Satz für Karten, Menü und Übersicht.
*/
shortDescription: string;
description: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
};
image?: (number | null) | Media;
category: 'prozessbegleitung' | 'doula-begleitung' | 'kindergruppen' | 'singkreise';
/**
* Kleinere Zahl erscheint zuerst.
*/
order?: number | null;
/**
* Private Angebote wie „Einzelbegleitung“ erscheinen nicht im Menü oder auf /angebote.
*/
visibility: 'public' | 'private';
/**
* Aktiviert die Terminbuchung mit Kalenderauswahl auf der Angebotsseite.
*/
bookable?: boolean | null;
/**
* z. B. „80 €“ oder „auf Anfrage“.
*/
price?: string | null;
durationMinutes?: number | null;
updatedAt: string;
createdAt: string;
_status?: ('draft' | 'published') | null;
}
/**
* Neuigkeiten und Beiträge für die Seite „Aktuelles“.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "posts".
*/
export interface Post {
id: number;
title: string;
/**
* Wird automatisch aus dem Titel erzeugt, kann aber angepasst werden.
*/
slug?: string | null;
/**
* Kurzer Anrisstext für die Übersicht.
*/
teaser: string;
content: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
};
coverImage?: (number | null) | Media;
publishDate?: string | null;
updatedAt: string;
createdAt: string;
_status?: ('draft' | 'published') | null;
}
/**
* Anmeldungen zu Terminen — wird beim öffentlichen Anmeldeformular befüllt.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "event-registrations".
*/
export interface EventRegistration {
id: number;
event: number | Event;
name: string;
email: string;
status: 'registered' | 'cancelled' | 'attended';
registeredAt?: string | null;
reminder60Sent?: boolean | null;
reminder30Sent?: boolean | null;
updatedAt: string;
createdAt: string;
}
/**
* Wiederkehrende wöchentliche Arbeitszeiten für Buchungsanfragen. Kein Eintrag = an diesem Tag nicht verfügbar.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "availability".
*/
export interface Availability {
id: number;
weekday: 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
startTime: string;
endTime: string;
/**
* Deaktivieren statt löschen, um eine Zeitspanne vorübergehend auszusetzen.
*/
active?: boolean | null;
updatedAt: string;
createdAt: string;
}
/**
* Einzelne Abweichungen von den wiederkehrenden Verfügbarkeiten — Urlaub, Feiertage, Krankheit oder Sonderöffnungszeiten.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "availability-overrides".
*/
export interface AvailabilityOverride {
id: number;
date: string;
type: 'unavailable' | 'custom-hours';
startTime?: string | null;
endTime?: string | null;
reason?: ('urlaub' | 'feiertag' | 'krankheit' | 'sonderoeffnungszeit' | 'sonstiges') | null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-kv".
*/
export interface PayloadKv {
id: number;
key: string;
data:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-locked-documents".
*/
export interface PayloadLockedDocument {
id: number;
document?:
| ({
relationTo: 'users';
value: number | User;
} | null)
| ({
relationTo: 'customers';
value: number | Customer;
} | null)
| ({
relationTo: 'media';
value: number | Media;
} | null)
| ({
relationTo: 'events';
value: number | Event;
} | null)
| ({
relationTo: 'posts';
value: number | Post;
} | null)
| ({
relationTo: 'offers';
value: number | Offer;
} | null)
| ({
relationTo: 'event-registrations';
value: number | EventRegistration;
} | null)
| ({
relationTo: 'availability';
value: number | Availability;
} | null)
| ({
relationTo: 'availability-overrides';
value: number | AvailabilityOverride;
} | null)
| ({
relationTo: 'booking-requests';
value: number | BookingRequest;
} | null);
globalSlug?: string | null;
user:
| {
relationTo: 'users';
value: number | User;
}
| {
relationTo: 'customers';
value: number | Customer;
};
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-preferences".
*/
export interface PayloadPreference {
id: number;
user:
| {
relationTo: 'users';
value: number | User;
}
| {
relationTo: 'customers';
value: number | Customer;
};
key?: string | null;
value?:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-migrations".
*/
export interface PayloadMigration {
id: number;
name?: string | null;
batch?: number | null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "users_select".
*/
export interface UsersSelect<T extends boolean = true> {
name?: T;
role?: T;
updatedAt?: T;
createdAt?: T;
email?: T;
resetPasswordToken?: T;
resetPasswordExpiration?: T;
salt?: T;
hash?: T;
loginAttempts?: T;
lockUntil?: T;
sessions?:
| T
| {
id?: T;
createdAt?: T;
expiresAt?: T;
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "customers_select".
*/
export interface CustomersSelect<T extends boolean = true> {
name?: T;
phone?: T;
updatedAt?: T;
createdAt?: T;
email?: T;
resetPasswordToken?: T;
resetPasswordExpiration?: T;
salt?: T;
hash?: T;
loginAttempts?: T;
lockUntil?: T;
sessions?:
| T
| {
id?: T;
createdAt?: T;
expiresAt?: T;
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "media_select".
*/
export interface MediaSelect<T extends boolean = true> {
alt?: T;
caption?: T;
updatedAt?: T;
createdAt?: T;
url?: T;
thumbnailURL?: T;
filename?: T;
mimeType?: T;
filesize?: T;
width?: T;
height?: T;
focalX?: T;
focalY?: T;
sizes?:
| T
| {
thumbnail?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
card?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
hero?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "events_select".
*/
export interface EventsSelect<T extends boolean = true> {
title?: T;
slug?: T;
description?: T;
date?: T;
startTime?: T;
endTime?: T;
location?: T;
category?: T;
image?: T;
maxParticipants?: T;
registrationRequired?: T;
registrationInfo?: T;
isOnline?: T;
meetingPassword?: T;
regeneratePassword?: T;
reminder60Enabled?: T;
reminder30Enabled?: T;
hostReminderEnabled?: T;
hostReminder60Sent?: T;
hostReminder30Sent?: T;
isPrivateBooking?: T;
bookingRequest?: T;
updatedAt?: T;
createdAt?: T;
_status?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "posts_select".
*/
export interface PostsSelect<T extends boolean = true> {
title?: T;
slug?: T;
teaser?: T;
content?: T;
coverImage?: T;
publishDate?: T;
updatedAt?: T;
createdAt?: T;
_status?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "offers_select".
*/
export interface OffersSelect<T extends boolean = true> {
title?: T;
slug?: T;
shortDescription?: T;
description?: T;
image?: T;
category?: T;
order?: T;
visibility?: T;
bookable?: T;
price?: T;
durationMinutes?: T;
updatedAt?: T;
createdAt?: T;
_status?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "event-registrations_select".
*/
export interface EventRegistrationsSelect<T extends boolean = true> {
event?: T;
name?: T;
email?: T;
status?: T;
registeredAt?: T;
reminder60Sent?: T;
reminder30Sent?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "availability_select".
*/
export interface AvailabilitySelect<T extends boolean = true> {
weekday?: T;
startTime?: T;
endTime?: T;
active?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "availability-overrides_select".
*/
export interface AvailabilityOverridesSelect<T extends boolean = true> {
date?: T;
type?: T;
startTime?: T;
endTime?: T;
reason?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "booking-requests_select".
*/
export interface BookingRequestsSelect<T extends boolean = true> {
user?: T;
offer?: T;
date?: T;
startTime?: T;
endTime?: T;
appointmentType?: T;
status?: T;
userMessage?: T;
internalNote?: T;
proposedAlternative?:
| T
| {
date?: T;
startTime?: T;
endTime?: T;
};
linkedEvent?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-kv_select".
*/
export interface PayloadKvSelect<T extends boolean = true> {
key?: T;
data?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-locked-documents_select".
*/
export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
document?: T;
globalSlug?: T;
user?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-preferences_select".
*/
export interface PayloadPreferencesSelect<T extends boolean = true> {
user?: T;
key?: T;
value?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-migrations_select".
*/
export interface PayloadMigrationsSelect<T extends boolean = true> {
name?: T;
batch?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* Bearbeitbare Texte der Startseite (Hero, Über-mich-Teaser, Philosophie, CTA).
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "home".
*/
export interface Home {
id: number;
heroEyebrow?: string | null;
heroTitle: string;
heroHighlight?: string | null;
heroSupporting?: string | null;
heroImage?: (number | null) | Media;
aboutEyebrow?: string | null;
aboutTitle?: string | null;
aboutText?: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
} | null;
aboutImage?: (number | null) | Media;
valuesEyebrow?: string | null;
valuesTitle?: string | null;
values?:
| {
title: string;
quote: string;
id?: string | null;
}[]
| null;
ctaTitle?: string | null;
ctaLead?: string | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* Inhalt der Seite „Über mich“.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "about".
*/
export interface About {
id: number;
eyebrow?: string | null;
title: string;
portrait?: (number | null) | Media;
body: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
};
closingLead?: string | null;
closingHighlight?: string | null;
closingParagraph?: string | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* Kopftext der Angebote-Übersichtsseite. Die Angebote selbst werden in der Sammlung „Angebote“ gepflegt.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "angebote-intro".
*/
export interface AngeboteIntro {
id: number;
eyebrow?: string | null;
title: string;
lead?: string | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* Kopftext der Aktuelles-Seite. Die Beiträge selbst werden in der Sammlung „Beiträge“ gepflegt.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "aktuelles-intro".
*/
export interface AktuellesIntro {
id: number;
eyebrow?: string | null;
title: string;
lead?: string | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* Inhalt und Kontaktdaten der Kontakt-Seite.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "contact".
*/
export interface Contact {
id: number;
eyebrow?: string | null;
title: string;
lead?: string | null;
email: string;
phone?: string | null;
region?: string | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* Inhalt der Seite „Termin buchen“.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "booking".
*/
export interface Booking {
id: number;
eyebrow?: string | null;
title: string;
lead?: string | null;
steps?:
| {
title: string;
text: string;
id?: string | null;
}[]
| null;
formNote?: string | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* Zentrale Zeitfenster für alle Online-Termine.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "meeting-settings".
*/
export interface MeetingSetting {
id: number;
participantJoinWindowMinutes: number;
hostJoinWindowMinutes: number;
meetingCloseAfterMinutes: number;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* Adresse für Vor-Ort-Termine (wird für den Maps-Link verwendet).
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "booking-settings".
*/
export interface BookingSetting {
id: number;
locationName?: string | null;
street?: string | null;
postalCode?: string | null;
city?: string | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "home_select".
*/
export interface HomeSelect<T extends boolean = true> {
heroEyebrow?: T;
heroTitle?: T;
heroHighlight?: T;
heroSupporting?: T;
heroImage?: T;
aboutEyebrow?: T;
aboutTitle?: T;
aboutText?: T;
aboutImage?: T;
valuesEyebrow?: T;
valuesTitle?: T;
values?:
| T
| {
title?: T;
quote?: T;
id?: T;
};
ctaTitle?: T;
ctaLead?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "about_select".
*/
export interface AboutSelect<T extends boolean = true> {
eyebrow?: T;
title?: T;
portrait?: T;
body?: T;
closingLead?: T;
closingHighlight?: T;
closingParagraph?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "angebote-intro_select".
*/
export interface AngeboteIntroSelect<T extends boolean = true> {
eyebrow?: T;
title?: T;
lead?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "aktuelles-intro_select".
*/
export interface AktuellesIntroSelect<T extends boolean = true> {
eyebrow?: T;
title?: T;
lead?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "contact_select".
*/
export interface ContactSelect<T extends boolean = true> {
eyebrow?: T;
title?: T;
lead?: T;
email?: T;
phone?: T;
region?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "booking_select".
*/
export interface BookingSelect<T extends boolean = true> {
eyebrow?: T;
title?: T;
lead?: T;
steps?:
| T
| {
title?: T;
text?: T;
id?: T;
};
formNote?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "meeting-settings_select".
*/
export interface MeetingSettingsSelect<T extends boolean = true> {
participantJoinWindowMinutes?: T;
hostJoinWindowMinutes?: T;
meetingCloseAfterMinutes?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "booking-settings_select".
*/
export interface BookingSettingsSelect<T extends boolean = true> {
locationName?: T;
street?: T;
postalCode?: T;
city?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "collections_widget".
*/
export interface CollectionsWidget {
data?: {
[k: string]: unknown;
};
width: 'full';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "auth".
*/
export interface Auth {
[k: string]: unknown;
}
declare module 'payload' {
export interface GeneratedTypes extends Config {}
}