payload-types.ts was gitignored so Docker builder had no file to compile against — caused TS2307 "Cannot find module @/payload-types" in production build. Regenerated types from current schema and removed from .gitignore so it is always available in the build context. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2139 lines
48 KiB
TypeScript
2139 lines
48 KiB
TypeScript
/* tslint: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 = 'Europe/Kyiv'
|
||
|
||
export interface Config {
|
||
auth: {
|
||
users: UserAuthOperations
|
||
}
|
||
blocks: {}
|
||
collections: {
|
||
users: User
|
||
media: Media
|
||
pages: Page
|
||
'blog-posts': BlogPost
|
||
categories: Category
|
||
tags: Tag
|
||
tariffs: Tariff
|
||
leads: Lead
|
||
orders: Order
|
||
locations: Location
|
||
reviews: Review
|
||
'birthday-packages': BirthdayPackage
|
||
redirects: Redirect
|
||
'payload-kv': PayloadKv
|
||
'payload-locked-documents': PayloadLockedDocument
|
||
'payload-preferences': PayloadPreference
|
||
'payload-migrations': PayloadMigration
|
||
}
|
||
collectionsJoins: {}
|
||
collectionsSelect: {
|
||
users: UsersSelect<false> | UsersSelect<true>
|
||
media: MediaSelect<false> | MediaSelect<true>
|
||
pages: PagesSelect<false> | PagesSelect<true>
|
||
'blog-posts': BlogPostsSelect<false> | BlogPostsSelect<true>
|
||
categories: CategoriesSelect<false> | CategoriesSelect<true>
|
||
tags: TagsSelect<false> | TagsSelect<true>
|
||
tariffs: TariffsSelect<false> | TariffsSelect<true>
|
||
leads: LeadsSelect<false> | LeadsSelect<true>
|
||
orders: OrdersSelect<false> | OrdersSelect<true>
|
||
locations: LocationsSelect<false> | LocationsSelect<true>
|
||
reviews: ReviewsSelect<false> | ReviewsSelect<true>
|
||
'birthday-packages': BirthdayPackagesSelect<false> | BirthdayPackagesSelect<true>
|
||
redirects: RedirectsSelect<false> | RedirectsSelect<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-page': HomePage
|
||
'checkout-page': CheckoutPage
|
||
'thank-you-page': ThankYouPage
|
||
header: Header
|
||
footer: Footer
|
||
'site-settings': SiteSetting
|
||
'dyvolis-page': DyvolisPage
|
||
'group-visits-page': GroupVisitsPage
|
||
'birthday-page': BirthdayPage
|
||
'tickets-page': TicketsPage
|
||
'locations-page': LocationsPage
|
||
'blog-index-page': BlogIndexPage
|
||
}
|
||
globalsSelect: {
|
||
'home-page': HomePageSelect<false> | HomePageSelect<true>
|
||
'checkout-page': CheckoutPageSelect<false> | CheckoutPageSelect<true>
|
||
'thank-you-page': ThankYouPageSelect<false> | ThankYouPageSelect<true>
|
||
header: HeaderSelect<false> | HeaderSelect<true>
|
||
footer: FooterSelect<false> | FooterSelect<true>
|
||
'site-settings': SiteSettingsSelect<false> | SiteSettingsSelect<true>
|
||
'dyvolis-page': DyvolisPageSelect<false> | DyvolisPageSelect<true>
|
||
'group-visits-page': GroupVisitsPageSelect<false> | GroupVisitsPageSelect<true>
|
||
'birthday-page': BirthdayPageSelect<false> | BirthdayPageSelect<true>
|
||
'tickets-page': TicketsPageSelect<false> | TicketsPageSelect<true>
|
||
'locations-page': LocationsPageSelect<false> | LocationsPageSelect<true>
|
||
'blog-index-page': BlogIndexPageSelect<false> | BlogIndexPageSelect<true>
|
||
}
|
||
locale: null
|
||
widgets: {
|
||
collections: CollectionsWidget
|
||
}
|
||
user: User
|
||
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
|
||
}
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "users".
|
||
*/
|
||
export interface User {
|
||
id: number
|
||
name: string
|
||
role: 'admin' | 'editor'
|
||
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'
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "media".
|
||
*/
|
||
export interface Media {
|
||
id: number
|
||
alt: string
|
||
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
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "pages".
|
||
*/
|
||
export interface Page {
|
||
id: number
|
||
title: string
|
||
slug?: string | null
|
||
status?: ('draft' | 'published') | null
|
||
layout?:
|
||
| (
|
||
| {
|
||
title: string
|
||
subtitle?: string | null
|
||
ctaLabel?: string | null
|
||
ctaHref?: string | null
|
||
backgroundType?: ('image' | 'video') | null
|
||
backgroundImage?: (number | null) | Media
|
||
backgroundVideoUrl?: string | null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'hero'
|
||
}
|
||
| {
|
||
title?: string | null
|
||
locations?:
|
||
| {
|
||
name?: string | null
|
||
description?: string | null
|
||
image?: (number | null) | Media
|
||
href?: string | null
|
||
ctaLabel?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'locationsTeaser'
|
||
}
|
||
| {
|
||
title?: string | null
|
||
items?:
|
||
| {
|
||
icon?: string | null
|
||
title: string
|
||
description?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'features'
|
||
}
|
||
| {
|
||
title?: string | null
|
||
limit?: number | null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'newsBlock'
|
||
}
|
||
| {
|
||
title?: string | null
|
||
subtitle?: string | null
|
||
ctaLabel?: string | null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'newsletterForm'
|
||
}
|
||
| {
|
||
title?: string | null
|
||
images?:
|
||
| {
|
||
image: number | Media
|
||
caption?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'gallery'
|
||
}
|
||
| {
|
||
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
|
||
}
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'richText'
|
||
}
|
||
| {
|
||
image: number | Media
|
||
caption?: string | null
|
||
fullWidth?: boolean | null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'imageBlock'
|
||
}
|
||
| {
|
||
videoUrl: string
|
||
caption?: string | null
|
||
autoplay?: boolean | null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'videoBlock'
|
||
}
|
||
| {
|
||
title?: string | null
|
||
subtitle?: string | null
|
||
formSource: string
|
||
showPhone?: boolean | null
|
||
showEmail?: boolean | null
|
||
ctaLabel?: string | null
|
||
successMessage?: string | null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'leadForm'
|
||
}
|
||
| {
|
||
title?: string | null
|
||
subtitle?: string | null
|
||
showOnlyVisible?: boolean | null
|
||
ctaLabel?: string | null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'pricingBlock'
|
||
}
|
||
| {
|
||
title: string
|
||
subtitle?: string | null
|
||
ctaLabel: string
|
||
ctaHref: string
|
||
variant?: ('primary' | 'secondary' | 'dark') | null
|
||
id?: string | null
|
||
blockName?: string | null
|
||
blockType: 'cta'
|
||
}
|
||
)[]
|
||
| null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
updatedAt: string
|
||
createdAt: string
|
||
_status?: ('draft' | 'published') | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "blog-posts".
|
||
*/
|
||
export interface BlogPost {
|
||
id: number
|
||
title: string
|
||
slug?: string | null
|
||
publishedAt?: string | null
|
||
hero?: (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
|
||
} | null
|
||
excerpt?: string | null
|
||
categories?: (number | Category)[] | null
|
||
tags?: (number | Tag)[] | null
|
||
status?: ('draft' | 'published') | null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
updatedAt: string
|
||
createdAt: string
|
||
_status?: ('draft' | 'published') | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "categories".
|
||
*/
|
||
export interface Category {
|
||
id: number
|
||
name: string
|
||
slug?: string | null
|
||
updatedAt: string
|
||
createdAt: string
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "tags".
|
||
*/
|
||
export interface Tag {
|
||
id: number
|
||
name: string
|
||
slug?: string | null
|
||
updatedAt: string
|
||
createdAt: string
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "tariffs".
|
||
*/
|
||
export interface Tariff {
|
||
id: number
|
||
/**
|
||
* Встановлюється автоматично при синхронізації з ezy API
|
||
*/
|
||
ezy_id: number
|
||
display_name?: 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
|
||
image?: (number | null) | Media
|
||
icon?: string | null
|
||
category_tag: 'dyno' | 'dyvolis' | 'maze' | 'combo' | 'family'
|
||
sort?: number | null
|
||
visible?: boolean | null
|
||
/**
|
||
* Оновлюється автоматично при синхронізації
|
||
*/
|
||
last_synced_name?: string | null
|
||
last_synced_price?: number | null
|
||
last_synced_at?: string | null
|
||
updatedAt: string
|
||
createdAt: string
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "leads".
|
||
*/
|
||
export interface Lead {
|
||
id: number
|
||
name: string
|
||
phone: string
|
||
email?: string | null
|
||
formSource: string
|
||
utmSource?: string | null
|
||
utmMedium?: string | null
|
||
utmCampaign?: string | null
|
||
utmContent?: string | null
|
||
utmTerm?: string | null
|
||
gclid?: string | null
|
||
status?: ('new' | 'contacted' | 'qualified' | 'closed') | null
|
||
message?: string | null
|
||
groupSize?: number | null
|
||
preferredDate?: string | null
|
||
packageSlug?: string | null
|
||
notes?: string | null
|
||
lastCallAt?: string | null
|
||
updatedAt: string
|
||
createdAt: string
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "orders".
|
||
*/
|
||
export interface Order {
|
||
id: number
|
||
name?: string | null
|
||
phone?: string | null
|
||
email: string
|
||
items?:
|
||
| {
|
||
tariffId: string
|
||
count: number
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
amount: number
|
||
monobankUrl: string
|
||
status?: ('redirected_to_payment' | 'paid' | 'failed' | 'cancelled') | null
|
||
ezyActivity?: string | null
|
||
updatedAt: string
|
||
createdAt: string
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "locations".
|
||
*/
|
||
export interface Location {
|
||
id: number
|
||
name: string
|
||
slug: string
|
||
tagline?: string | null
|
||
shortDesc?: 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
|
||
image?: (number | null) | Media
|
||
gallery?:
|
||
| {
|
||
image?: (number | null) | Media
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
/**
|
||
* Зовнішнє посилання (якщо є)
|
||
*/
|
||
href?: string | null
|
||
showInMenu?: boolean | null
|
||
showOnHome?: boolean | null
|
||
sort?: number | null
|
||
/**
|
||
* Увімкнути детальну сторінку для цієї локації
|
||
*/
|
||
showDetailPage?: boolean | null
|
||
/**
|
||
* Фоновий декор у hero-секції (еліпс, візерунок)
|
||
*/
|
||
heroBackground?: (number | null) | Media
|
||
/**
|
||
* Число у круглому бейджі, напр. "60+"
|
||
*/
|
||
heroStat?: string | null
|
||
heroStatLabel?: string | null
|
||
heroTips?:
|
||
| {
|
||
text: string
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
galleryQuote?: string | null
|
||
whyVisitTitle?: string | null
|
||
whyVisitItems?:
|
||
| {
|
||
title: string
|
||
description: string
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
/**
|
||
* Якщо порожньо — використовуються стандартні відео
|
||
*/
|
||
reviewVideos?:
|
||
| {
|
||
/**
|
||
* URL відео, напр. /videos/dyvolis/video-01.mp4
|
||
*/
|
||
src: string
|
||
/**
|
||
* URL постеру
|
||
*/
|
||
poster?: string | null
|
||
label?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
/**
|
||
* Напр. "щодня з 11:00 до 20:00"
|
||
*/
|
||
workingHours?: string | null
|
||
/**
|
||
* Підзаголовок під секцією "Комбо" в блоці квитків
|
||
*/
|
||
comboDescription?: string | null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
updatedAt: string
|
||
createdAt: string
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "reviews".
|
||
*/
|
||
export interface Review {
|
||
id: number
|
||
name: string
|
||
initial?: string | null
|
||
avatarBg?: (number | null) | Media
|
||
ago?: string | null
|
||
rating?: number | null
|
||
text: string
|
||
source?: ('google' | 'facebook' | 'instagram' | 'manual') | null
|
||
/**
|
||
* URL відео-відгуку, напр. /videos/dyvolis/video-01.mp4
|
||
*/
|
||
videoUrl?: string | null
|
||
/**
|
||
* URL постеру для відео
|
||
*/
|
||
videoPoster?: string | null
|
||
showOnHome?: boolean | null
|
||
sort?: number | null
|
||
updatedAt: string
|
||
createdAt: string
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "birthday-packages".
|
||
*/
|
||
export interface BirthdayPackage {
|
||
id: number
|
||
name: string
|
||
slug: string
|
||
price: number
|
||
currency?: string | null
|
||
priceLabel?: string | null
|
||
features?:
|
||
| {
|
||
text: string
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
featured?: boolean | null
|
||
badge?: string | null
|
||
ctaLabel?: string | null
|
||
ctaHref?: string | null
|
||
sort?: number | null
|
||
updatedAt: string
|
||
createdAt: string
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "redirects".
|
||
*/
|
||
export interface Redirect {
|
||
id: number
|
||
from: string
|
||
to?: {
|
||
type?: ('reference' | 'custom') | null
|
||
reference?: {
|
||
relationTo: 'pages'
|
||
value: number | Page
|
||
} | null
|
||
url?: string | null
|
||
}
|
||
type: '301' | '302'
|
||
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: 'media'
|
||
value: number | Media
|
||
} | null)
|
||
| ({
|
||
relationTo: 'pages'
|
||
value: number | Page
|
||
} | null)
|
||
| ({
|
||
relationTo: 'blog-posts'
|
||
value: number | BlogPost
|
||
} | null)
|
||
| ({
|
||
relationTo: 'categories'
|
||
value: number | Category
|
||
} | null)
|
||
| ({
|
||
relationTo: 'tags'
|
||
value: number | Tag
|
||
} | null)
|
||
| ({
|
||
relationTo: 'tariffs'
|
||
value: number | Tariff
|
||
} | null)
|
||
| ({
|
||
relationTo: 'leads'
|
||
value: number | Lead
|
||
} | null)
|
||
| ({
|
||
relationTo: 'orders'
|
||
value: number | Order
|
||
} | null)
|
||
| ({
|
||
relationTo: 'locations'
|
||
value: number | Location
|
||
} | null)
|
||
| ({
|
||
relationTo: 'reviews'
|
||
value: number | Review
|
||
} | null)
|
||
| ({
|
||
relationTo: 'birthday-packages'
|
||
value: number | BirthdayPackage
|
||
} | null)
|
||
| ({
|
||
relationTo: 'redirects'
|
||
value: number | Redirect
|
||
} | null)
|
||
globalSlug?: string | null
|
||
user: {
|
||
relationTo: 'users'
|
||
value: number | User
|
||
}
|
||
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
|
||
}
|
||
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` "media_select".
|
||
*/
|
||
export interface MediaSelect<T extends boolean = true> {
|
||
alt?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
url?: T
|
||
thumbnailURL?: T
|
||
filename?: T
|
||
mimeType?: T
|
||
filesize?: T
|
||
width?: T
|
||
height?: T
|
||
focalX?: T
|
||
focalY?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "pages_select".
|
||
*/
|
||
export interface PagesSelect<T extends boolean = true> {
|
||
title?: T
|
||
slug?: T
|
||
status?: T
|
||
layout?:
|
||
| T
|
||
| {
|
||
hero?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
subtitle?: T
|
||
ctaLabel?: T
|
||
ctaHref?: T
|
||
backgroundType?: T
|
||
backgroundImage?: T
|
||
backgroundVideoUrl?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
locationsTeaser?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
locations?:
|
||
| T
|
||
| {
|
||
name?: T
|
||
description?: T
|
||
image?: T
|
||
href?: T
|
||
ctaLabel?: T
|
||
id?: T
|
||
}
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
features?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
items?:
|
||
| T
|
||
| {
|
||
icon?: T
|
||
title?: T
|
||
description?: T
|
||
id?: T
|
||
}
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
newsBlock?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
limit?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
newsletterForm?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
subtitle?: T
|
||
ctaLabel?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
gallery?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
images?:
|
||
| T
|
||
| {
|
||
image?: T
|
||
caption?: T
|
||
id?: T
|
||
}
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
richText?:
|
||
| T
|
||
| {
|
||
content?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
imageBlock?:
|
||
| T
|
||
| {
|
||
image?: T
|
||
caption?: T
|
||
fullWidth?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
videoBlock?:
|
||
| T
|
||
| {
|
||
videoUrl?: T
|
||
caption?: T
|
||
autoplay?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
leadForm?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
subtitle?: T
|
||
formSource?: T
|
||
showPhone?: T
|
||
showEmail?: T
|
||
ctaLabel?: T
|
||
successMessage?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
pricingBlock?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
subtitle?: T
|
||
showOnlyVisible?: T
|
||
ctaLabel?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
cta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
subtitle?: T
|
||
ctaLabel?: T
|
||
ctaHref?: T
|
||
variant?: T
|
||
id?: T
|
||
blockName?: T
|
||
}
|
||
}
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
_status?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "blog-posts_select".
|
||
*/
|
||
export interface BlogPostsSelect<T extends boolean = true> {
|
||
title?: T
|
||
slug?: T
|
||
publishedAt?: T
|
||
hero?: T
|
||
body?: T
|
||
excerpt?: T
|
||
categories?: T
|
||
tags?: T
|
||
status?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
_status?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "categories_select".
|
||
*/
|
||
export interface CategoriesSelect<T extends boolean = true> {
|
||
name?: T
|
||
slug?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "tags_select".
|
||
*/
|
||
export interface TagsSelect<T extends boolean = true> {
|
||
name?: T
|
||
slug?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "tariffs_select".
|
||
*/
|
||
export interface TariffsSelect<T extends boolean = true> {
|
||
ezy_id?: T
|
||
display_name?: T
|
||
description?: T
|
||
image?: T
|
||
icon?: T
|
||
category_tag?: T
|
||
sort?: T
|
||
visible?: T
|
||
last_synced_name?: T
|
||
last_synced_price?: T
|
||
last_synced_at?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "leads_select".
|
||
*/
|
||
export interface LeadsSelect<T extends boolean = true> {
|
||
name?: T
|
||
phone?: T
|
||
email?: T
|
||
formSource?: T
|
||
utmSource?: T
|
||
utmMedium?: T
|
||
utmCampaign?: T
|
||
utmContent?: T
|
||
utmTerm?: T
|
||
gclid?: T
|
||
status?: T
|
||
message?: T
|
||
groupSize?: T
|
||
preferredDate?: T
|
||
packageSlug?: T
|
||
notes?: T
|
||
lastCallAt?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "orders_select".
|
||
*/
|
||
export interface OrdersSelect<T extends boolean = true> {
|
||
name?: T
|
||
phone?: T
|
||
email?: T
|
||
items?:
|
||
| T
|
||
| {
|
||
tariffId?: T
|
||
count?: T
|
||
id?: T
|
||
}
|
||
amount?: T
|
||
monobankUrl?: T
|
||
status?: T
|
||
ezyActivity?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "locations_select".
|
||
*/
|
||
export interface LocationsSelect<T extends boolean = true> {
|
||
name?: T
|
||
slug?: T
|
||
tagline?: T
|
||
shortDesc?: T
|
||
description?: T
|
||
image?: T
|
||
gallery?:
|
||
| T
|
||
| {
|
||
image?: T
|
||
id?: T
|
||
}
|
||
href?: T
|
||
showInMenu?: T
|
||
showOnHome?: T
|
||
sort?: T
|
||
showDetailPage?: T
|
||
heroBackground?: T
|
||
heroStat?: T
|
||
heroStatLabel?: T
|
||
heroTips?:
|
||
| T
|
||
| {
|
||
text?: T
|
||
id?: T
|
||
}
|
||
galleryQuote?: T
|
||
whyVisitTitle?: T
|
||
whyVisitItems?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
id?: T
|
||
}
|
||
reviewVideos?:
|
||
| T
|
||
| {
|
||
src?: T
|
||
poster?: T
|
||
label?: T
|
||
id?: T
|
||
}
|
||
workingHours?: T
|
||
comboDescription?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "reviews_select".
|
||
*/
|
||
export interface ReviewsSelect<T extends boolean = true> {
|
||
name?: T
|
||
initial?: T
|
||
avatarBg?: T
|
||
ago?: T
|
||
rating?: T
|
||
text?: T
|
||
source?: T
|
||
videoUrl?: T
|
||
videoPoster?: T
|
||
showOnHome?: T
|
||
sort?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "birthday-packages_select".
|
||
*/
|
||
export interface BirthdayPackagesSelect<T extends boolean = true> {
|
||
name?: T
|
||
slug?: T
|
||
price?: T
|
||
currency?: T
|
||
priceLabel?: T
|
||
features?:
|
||
| T
|
||
| {
|
||
text?: T
|
||
id?: T
|
||
}
|
||
featured?: T
|
||
badge?: T
|
||
ctaLabel?: T
|
||
ctaHref?: T
|
||
sort?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "redirects_select".
|
||
*/
|
||
export interface RedirectsSelect<T extends boolean = true> {
|
||
from?: T
|
||
to?:
|
||
| T
|
||
| {
|
||
type?: T
|
||
reference?: T
|
||
url?: T
|
||
}
|
||
type?: 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
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "home-page".
|
||
*/
|
||
export interface HomePage {
|
||
id: number
|
||
hero?: {
|
||
title?: string | null
|
||
subtitle?: string | null
|
||
ctaLabel?: string | null
|
||
ctaHref?: string | null
|
||
backgroundVideo?: string | null
|
||
backgroundImage?: (number | null) | Media
|
||
/**
|
||
* Передній план Hero (динозавр PNG з прозорим фоном). Лежить поверх тексту, тільки desktop.
|
||
*/
|
||
foregroundOverlay?: (number | null) | Media
|
||
/**
|
||
* Сімейне фото / силует на передньому плані Hero. Десктоп тільки.
|
||
*/
|
||
silhouetteOverlay?: (number | null) | Media
|
||
}
|
||
pageHero?: {
|
||
/**
|
||
* Фото-фон під ліквід-гласс хедером на /lokatsii, /blog, /kvytky, /dni-narodzhennia, /grupovi-vidviduvannia.
|
||
*/
|
||
backgroundImage?: (number | null) | Media
|
||
}
|
||
sectionTitles?: {
|
||
locations?: string | null
|
||
whyParents?: string | null
|
||
birthday?: string | null
|
||
gallery?: string | null
|
||
reviews?: string | null
|
||
news?: string | null
|
||
}
|
||
whyParents?: {
|
||
items?:
|
||
| {
|
||
title?: string | null
|
||
description?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
sideGallery?:
|
||
| {
|
||
image?: (number | null) | Media
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
}
|
||
gallery?: {
|
||
/**
|
||
* Завантажте 9 фото для слайдера Фотогалерея — порядок і alt керуйте тут.
|
||
*/
|
||
images?:
|
||
| {
|
||
image?: (number | null) | Media
|
||
alt?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
}
|
||
video?: {
|
||
poster?: (number | null) | Media
|
||
src?: string | null
|
||
}
|
||
birthdayIntro?: {
|
||
text?: string | null
|
||
}
|
||
news?: {
|
||
title?: string | null
|
||
/**
|
||
* Підзаголовок секції новин на головній.
|
||
*/
|
||
subtitle?: string | null
|
||
limit?: number | null
|
||
}
|
||
map?: {
|
||
/**
|
||
* Google Maps iframe src.
|
||
*/
|
||
embedUrl?: string | null
|
||
address?: string | null
|
||
lat?: number | null
|
||
lng?: number | null
|
||
}
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
_status?: ('draft' | 'published') | null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "checkout-page".
|
||
*/
|
||
export interface CheckoutPage {
|
||
id: number
|
||
title?: string | null
|
||
/**
|
||
* Інструкція для покупця на сторінці оплати
|
||
*/
|
||
instructions?: {
|
||
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
|
||
/**
|
||
* Умови та правила (показуються перед кнопкою оплати)
|
||
*/
|
||
terms?: {
|
||
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
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "thank-you-page".
|
||
*/
|
||
export interface ThankYouPage {
|
||
id: number
|
||
title?: string | null
|
||
/**
|
||
* Текст подяки після успішної оплати
|
||
*/
|
||
message?: {
|
||
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
|
||
/**
|
||
* Телефон для зв'язку (показується на сторінці подяки)
|
||
*/
|
||
contactPhone?: string | null
|
||
/**
|
||
* Email для зв'язку (показується на сторінці подяки)
|
||
*/
|
||
contactEmail?: string | null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "header".
|
||
*/
|
||
export interface Header {
|
||
id: number
|
||
logo?: (number | null) | Media
|
||
logoAlt?: string | null
|
||
ctaLabel?: string | null
|
||
ctaHref?: string | null
|
||
navLinks?:
|
||
| {
|
||
label?: string | null
|
||
href?: string | null
|
||
openInNewTab?: boolean | null
|
||
autoChildrenFrom?: ('none' | 'locations') | null
|
||
children?:
|
||
| {
|
||
label?: string | null
|
||
href?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "footer".
|
||
*/
|
||
export interface Footer {
|
||
id: number
|
||
logo?: (number | null) | Media
|
||
logoAlt?: string | null
|
||
navLinks?:
|
||
| {
|
||
label?: string | null
|
||
href?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
contacts?: {
|
||
phone?: string | null
|
||
email?: string | null
|
||
address?: string | null
|
||
}
|
||
socials?:
|
||
| {
|
||
platform?: ('instagram' | 'facebook' | 'youtube' | 'tiktok') | null
|
||
url?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
copyrightText?: string | null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "site-settings".
|
||
*/
|
||
export interface SiteSetting {
|
||
id: number
|
||
ga4Id?: string | null
|
||
binotelId?: string | null
|
||
telegramChatId?: string | null
|
||
resendFrom?: string | null
|
||
defaultMetaTitle?: string | null
|
||
defaultMetaDescription?: string | null
|
||
defaultOgImage?: (number | null) | Media
|
||
/**
|
||
* Відповідність ключа з ezy API → назва для відображення на сайті
|
||
*/
|
||
tariffCategoryLabels?:
|
||
| {
|
||
/**
|
||
* Ключ з ezy API (напр. dyno, dyvolis, maze)
|
||
*/
|
||
key: string
|
||
/**
|
||
* Назва для відображення (напр. ДиноПарк)
|
||
*/
|
||
label: string
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "dyvolis-page".
|
||
*/
|
||
export interface DyvolisPage {
|
||
id: number
|
||
heroTitle?: string | null
|
||
heroDescription?: string | null
|
||
/**
|
||
* Число у круглому бейджі (наприклад "60+")
|
||
*/
|
||
heroStat?: string | null
|
||
heroStatLabel?: string | null
|
||
heroTips?:
|
||
| {
|
||
text: string
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
/**
|
||
* Час роботи, наприклад "щодня з 11:00 до 20:00"
|
||
*/
|
||
workingHours?: string | null
|
||
galleryQuote?: string | null
|
||
/**
|
||
* Якщо порожньо — відображаються 24 стандартні фото
|
||
*/
|
||
galleryImages?:
|
||
| {
|
||
image: number | Media
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
whyVisitTitle?: string | null
|
||
whyVisitItems?:
|
||
| {
|
||
title: string
|
||
description: string
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
/**
|
||
* Якщо порожньо — використовуються 7 стандартних відео
|
||
*/
|
||
reviewVideos?:
|
||
| {
|
||
/**
|
||
* URL відео, напр. /videos/dyvolis/video-01.mp4
|
||
*/
|
||
src: string
|
||
/**
|
||
* URL постеру, напр. /videos/dyvolis/poster-01.jpg
|
||
*/
|
||
poster?: string | null
|
||
/**
|
||
* Підпис (опційно)
|
||
*/
|
||
label?: string | null
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
/**
|
||
* Підзаголовок під секцією "Комбо" в блоці квитків
|
||
*/
|
||
comboDescription?: string | null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "group-visits-page".
|
||
*/
|
||
export interface GroupVisitsPage {
|
||
id: number
|
||
heroTitle?: string | null
|
||
heroSubtitle?: string | null
|
||
formTitle?: string | null
|
||
formSubtitle?: string | null
|
||
groups?:
|
||
| {
|
||
/**
|
||
* Emoji іконка
|
||
*/
|
||
icon: string
|
||
title: string
|
||
description: string
|
||
/**
|
||
* Напр. "15 осіб"
|
||
*/
|
||
minPeople: string
|
||
/**
|
||
* Напр. "15%"
|
||
*/
|
||
discount: string
|
||
id?: string | null
|
||
}[]
|
||
| null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
_status?: ('draft' | 'published') | null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "birthday-page".
|
||
*/
|
||
export interface BirthdayPage {
|
||
id: number
|
||
heroTitle?: string | null
|
||
heroSubtitle?: string | null
|
||
formTitle?: string | null
|
||
formSubtitle?: string | null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
_status?: ('draft' | 'published') | null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "tickets-page".
|
||
*/
|
||
export interface TicketsPage {
|
||
id: number
|
||
heroTitle?: string | null
|
||
heroSubtitle?: string | null
|
||
sectionTitleBirthday?: string | null
|
||
sectionTitleGroups?: string | null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
_status?: ('draft' | 'published') | null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "locations-page".
|
||
*/
|
||
export interface LocationsPage {
|
||
id: number
|
||
heroTitle?: string | null
|
||
heroSubtitle?: string | null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
_status?: ('draft' | 'published') | null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "blog-index-page".
|
||
*/
|
||
export interface BlogIndexPage {
|
||
id: number
|
||
heroTitle?: string | null
|
||
heroSubtitle?: string | null
|
||
meta?: {
|
||
title?: string | null
|
||
description?: string | null
|
||
/**
|
||
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
|
||
*/
|
||
image?: (number | null) | Media
|
||
}
|
||
_status?: ('draft' | 'published') | null
|
||
updatedAt?: string | null
|
||
createdAt?: string | null
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "home-page_select".
|
||
*/
|
||
export interface HomePageSelect<T extends boolean = true> {
|
||
hero?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
subtitle?: T
|
||
ctaLabel?: T
|
||
ctaHref?: T
|
||
backgroundVideo?: T
|
||
backgroundImage?: T
|
||
foregroundOverlay?: T
|
||
silhouetteOverlay?: T
|
||
}
|
||
pageHero?:
|
||
| T
|
||
| {
|
||
backgroundImage?: T
|
||
}
|
||
sectionTitles?:
|
||
| T
|
||
| {
|
||
locations?: T
|
||
whyParents?: T
|
||
birthday?: T
|
||
gallery?: T
|
||
reviews?: T
|
||
news?: T
|
||
}
|
||
whyParents?:
|
||
| T
|
||
| {
|
||
items?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
id?: T
|
||
}
|
||
sideGallery?:
|
||
| T
|
||
| {
|
||
image?: T
|
||
id?: T
|
||
}
|
||
}
|
||
gallery?:
|
||
| T
|
||
| {
|
||
images?:
|
||
| T
|
||
| {
|
||
image?: T
|
||
alt?: T
|
||
id?: T
|
||
}
|
||
}
|
||
video?:
|
||
| T
|
||
| {
|
||
poster?: T
|
||
src?: T
|
||
}
|
||
birthdayIntro?:
|
||
| T
|
||
| {
|
||
text?: T
|
||
}
|
||
news?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
subtitle?: T
|
||
limit?: T
|
||
}
|
||
map?:
|
||
| T
|
||
| {
|
||
embedUrl?: T
|
||
address?: T
|
||
lat?: T
|
||
lng?: T
|
||
}
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
_status?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "checkout-page_select".
|
||
*/
|
||
export interface CheckoutPageSelect<T extends boolean = true> {
|
||
title?: T
|
||
instructions?: T
|
||
terms?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "thank-you-page_select".
|
||
*/
|
||
export interface ThankYouPageSelect<T extends boolean = true> {
|
||
title?: T
|
||
message?: T
|
||
contactPhone?: T
|
||
contactEmail?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "header_select".
|
||
*/
|
||
export interface HeaderSelect<T extends boolean = true> {
|
||
logo?: T
|
||
logoAlt?: T
|
||
ctaLabel?: T
|
||
ctaHref?: T
|
||
navLinks?:
|
||
| T
|
||
| {
|
||
label?: T
|
||
href?: T
|
||
openInNewTab?: T
|
||
autoChildrenFrom?: T
|
||
children?:
|
||
| T
|
||
| {
|
||
label?: T
|
||
href?: T
|
||
id?: T
|
||
}
|
||
id?: T
|
||
}
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "footer_select".
|
||
*/
|
||
export interface FooterSelect<T extends boolean = true> {
|
||
logo?: T
|
||
logoAlt?: T
|
||
navLinks?:
|
||
| T
|
||
| {
|
||
label?: T
|
||
href?: T
|
||
id?: T
|
||
}
|
||
contacts?:
|
||
| T
|
||
| {
|
||
phone?: T
|
||
email?: T
|
||
address?: T
|
||
}
|
||
socials?:
|
||
| T
|
||
| {
|
||
platform?: T
|
||
url?: T
|
||
id?: T
|
||
}
|
||
copyrightText?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "site-settings_select".
|
||
*/
|
||
export interface SiteSettingsSelect<T extends boolean = true> {
|
||
ga4Id?: T
|
||
binotelId?: T
|
||
telegramChatId?: T
|
||
resendFrom?: T
|
||
defaultMetaTitle?: T
|
||
defaultMetaDescription?: T
|
||
defaultOgImage?: T
|
||
tariffCategoryLabels?:
|
||
| T
|
||
| {
|
||
key?: T
|
||
label?: T
|
||
id?: T
|
||
}
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "dyvolis-page_select".
|
||
*/
|
||
export interface DyvolisPageSelect<T extends boolean = true> {
|
||
heroTitle?: T
|
||
heroDescription?: T
|
||
heroStat?: T
|
||
heroStatLabel?: T
|
||
heroTips?:
|
||
| T
|
||
| {
|
||
text?: T
|
||
id?: T
|
||
}
|
||
workingHours?: T
|
||
galleryQuote?: T
|
||
galleryImages?:
|
||
| T
|
||
| {
|
||
image?: T
|
||
id?: T
|
||
}
|
||
whyVisitTitle?: T
|
||
whyVisitItems?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
id?: T
|
||
}
|
||
reviewVideos?:
|
||
| T
|
||
| {
|
||
src?: T
|
||
poster?: T
|
||
label?: T
|
||
id?: T
|
||
}
|
||
comboDescription?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "group-visits-page_select".
|
||
*/
|
||
export interface GroupVisitsPageSelect<T extends boolean = true> {
|
||
heroTitle?: T
|
||
heroSubtitle?: T
|
||
formTitle?: T
|
||
formSubtitle?: T
|
||
groups?:
|
||
| T
|
||
| {
|
||
icon?: T
|
||
title?: T
|
||
description?: T
|
||
minPeople?: T
|
||
discount?: T
|
||
id?: T
|
||
}
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
_status?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "birthday-page_select".
|
||
*/
|
||
export interface BirthdayPageSelect<T extends boolean = true> {
|
||
heroTitle?: T
|
||
heroSubtitle?: T
|
||
formTitle?: T
|
||
formSubtitle?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
_status?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "tickets-page_select".
|
||
*/
|
||
export interface TicketsPageSelect<T extends boolean = true> {
|
||
heroTitle?: T
|
||
heroSubtitle?: T
|
||
sectionTitleBirthday?: T
|
||
sectionTitleGroups?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
_status?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "locations-page_select".
|
||
*/
|
||
export interface LocationsPageSelect<T extends boolean = true> {
|
||
heroTitle?: T
|
||
heroSubtitle?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
_status?: T
|
||
updatedAt?: T
|
||
createdAt?: T
|
||
globalType?: T
|
||
}
|
||
/**
|
||
* This interface was referenced by `Config`'s JSON-Schema
|
||
* via the `definition` "blog-index-page_select".
|
||
*/
|
||
export interface BlogIndexPageSelect<T extends boolean = true> {
|
||
heroTitle?: T
|
||
heroSubtitle?: T
|
||
meta?:
|
||
| T
|
||
| {
|
||
title?: T
|
||
description?: T
|
||
image?: T
|
||
}
|
||
_status?: 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 {}
|
||
}
|