Shumiland/src/payload-types.ts
Vadym Samoilenko c619a8dcda feat(admin): clear Ukrainian labels for Tariffs collection + visible toggle (hide non-ezy tickets)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 19:15:22 +01:00

3004 lines
67 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* 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
forms: Form
'form-submissions': FormSubmission
'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>
forms: FormsSelect<false> | FormsSelect<true>
'form-submissions': FormSubmissionsSelect<false> | FormSubmissionsSelect<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
'dinosaur-page': DinosaurPage
}
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>
'dinosaur-page': DinosaurPageSelect<false> | DinosaurPageSelect<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
}
/**
* Керування квитками: показ/приховування, значки, описи, фото. Зніміть «Показувати на сайті», щоб приховати квиток (напр. якщо його ще немає в ezy).
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "tariffs".
*/
export interface Tariff {
id: number
/**
* Встановлюється автоматично при синхронізації з ezy API. Порожнє — для квитків, доданих вручну.
*/
ezy_id?: number | null
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: 'zone' | 'attraction' | 'program' | 'combo' | 'dyno' | 'dyvolis' | 'maze' | 'family'
/**
* Якщо порожнє — береться з назви категорії (Зона / Атракціон / Екскурсія).
*/
badgeLabel?: string | null
/**
* Маленькі значки під назвою: тривалість, вартість за людину, вік тощо. Іконка + текст.
*/
infoChips?:
| {
icon:
| 'clock'
| 'person'
| 'group'
| 'age'
| 'infinity'
| 'target'
| 'session'
| 'height'
| 'wrench'
| 'graduation'
| 'rainbow'
| 'send'
| 'vr'
label: string
id?: string | null
}[]
| null
sort?: number | null
/**
* Зніміть галочку, щоб приховати квиток із сайту (напр. якщо його ще немає в ezy).
*/
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` "forms".
*/
export interface Form {
id: number
title: string
fields?:
| (
| {
name: string
label?: string | null
width?: number | null
required?: boolean | null
defaultValue?: boolean | null
id?: string | null
blockName?: string | null
blockType: 'checkbox'
}
| {
name: string
label?: string | null
width?: number | null
required?: boolean | null
id?: string | null
blockName?: string | null
blockType: 'email'
}
| {
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
id?: string | null
blockName?: string | null
blockType: 'message'
}
| {
name: string
label?: string | null
width?: number | null
defaultValue?: number | null
required?: boolean | null
id?: string | null
blockName?: string | null
blockType: 'number'
}
| {
name: string
label?: string | null
width?: number | null
defaultValue?: string | null
placeholder?: string | null
options?:
| {
label: string
value: string
id?: string | null
}[]
| null
required?: boolean | null
id?: string | null
blockName?: string | null
blockType: 'select'
}
| {
name: string
label?: string | null
width?: number | null
defaultValue?: string | null
required?: boolean | null
id?: string | null
blockName?: string | null
blockType: 'text'
}
| {
name: string
label?: string | null
width?: number | null
defaultValue?: string | null
required?: boolean | null
id?: string | null
blockName?: string | null
blockType: 'textarea'
}
| {
name: string
label?: string | null
width?: number | null
required?: boolean | null
defaultValue?: string | null
id?: string | null
blockName?: string | null
blockType: 'date'
}
)[]
| null
submitButtonLabel?: string | null
/**
* Choose whether to display an on-page message or redirect to a different page after they submit the form.
*/
confirmationType?: ('message' | 'redirect') | null
confirmationMessage?: {
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
redirect?: {
type?: ('reference' | 'custom') | null
reference?: {
relationTo: 'pages'
value: number | Page
} | null
url?: string | null
}
/**
* Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}. You can use a wildcard {{*}} to output all data and {{*:table}} to format it as an HTML table in the email.
*/
emails?:
| {
emailTo?: string | null
cc?: string | null
bcc?: string | null
replyTo?: string | null
emailFrom?: string | null
subject: string
/**
* Enter the message that should be sent in this email.
*/
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
id?: string | null
}[]
| null
updatedAt: string
createdAt: string
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "form-submissions".
*/
export interface FormSubmission {
id: number
form: number | Form
submissionData?:
| {
field: string
value: string
id?: string | null
}[]
| 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: '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)
| ({
relationTo: 'forms'
value: number | Form
} | null)
| ({
relationTo: 'form-submissions'
value: number | FormSubmission
} | 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
badgeLabel?: T
infoChips?:
| T
| {
icon?: T
label?: T
id?: 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` "forms_select".
*/
export interface FormsSelect<T extends boolean = true> {
title?: T
fields?:
| T
| {
checkbox?:
| T
| {
name?: T
label?: T
width?: T
required?: T
defaultValue?: T
id?: T
blockName?: T
}
email?:
| T
| {
name?: T
label?: T
width?: T
required?: T
id?: T
blockName?: T
}
message?:
| T
| {
message?: T
id?: T
blockName?: T
}
number?:
| T
| {
name?: T
label?: T
width?: T
defaultValue?: T
required?: T
id?: T
blockName?: T
}
select?:
| T
| {
name?: T
label?: T
width?: T
defaultValue?: T
placeholder?: T
options?:
| T
| {
label?: T
value?: T
id?: T
}
required?: T
id?: T
blockName?: T
}
text?:
| T
| {
name?: T
label?: T
width?: T
defaultValue?: T
required?: T
id?: T
blockName?: T
}
textarea?:
| T
| {
name?: T
label?: T
width?: T
defaultValue?: T
required?: T
id?: T
blockName?: T
}
date?:
| T
| {
name?: T
label?: T
width?: T
required?: T
defaultValue?: T
id?: T
blockName?: T
}
}
submitButtonLabel?: T
confirmationType?: T
confirmationMessage?: T
redirect?:
| T
| {
type?: T
reference?: T
url?: T
}
emails?:
| T
| {
emailTo?: T
cc?: T
bcc?: T
replyTo?: T
emailFrom?: T
subject?: T
message?: T
id?: T
}
updatedAt?: T
createdAt?: T
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "form-submissions_select".
*/
export interface FormSubmissionsSelect<T extends boolean = true> {
form?: T
submissionData?:
| T
| {
field?: T
value?: T
id?: 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
heroDescription?: string | null
heroCta?: string | null
featureText?: string | null
/**
* Завантажте 2 фото — відображаються перекошено side by side
*/
featureImages?:
| {
image: number | Media
id?: string | null
}[]
| null
amenitiesTitle?: string | null
amenities?:
| {
label: string
/**
* Фото для картки (опційно)
*/
image?: (number | null) | Media
id?: string | null
}[]
| null
workingHoursTitle?: string | null
workingHours?: string | null
priceTitle?: string | null
priceBadge?: string | null
price?: string | null
priceLabel?: string | null
priceNote?: string | null
priceMinPeople?: string | null
priceCta?: string | null
priceDescription?: string | null
bottomText?: string | null
bottomImages?:
| {
image: number | Media
id?: string | null
}[]
| null
formTitle?: string | null
formSubtitle?: string | null
/**
* CMS-форма для відображення на сторінці. Якщо не вказано — використовується вбудована форма.
*/
form?: (number | null) | Form
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
heroCta?: string | null
packageSectionTitle?: string | null
packageSectionSubtitle?: string | null
packageItems?:
| {
title: string
description: string
/**
* Фото для картки
*/
image?: (number | null) | Media
ctaLabel?: string | null
/**
* Посилання кнопки (опційно)
*/
ctaHref?: string | null
id?: string | null
}[]
| null
whyTitle?: string | null
whyItems?:
| {
title: string
description: string
id?: string | null
}[]
| null
whyVideos?:
| {
src: string
poster?: string | null
label?: string | null
id?: string | null
}[]
| null
workingHours?: string | null
pricingSectionTitle?: string | null
pricingPackages?:
| {
/**
* Підпис над ціною
*/
label: string
/**
* Напр. "1 500 грн"
*/
price: string
/**
* Примітка під ціною
*/
note?: string | null
ctaLabel?: string | null
ctaHref?: string | null
id?: string | null
}[]
| null
entranceSectionTitle?: string | null
entrancePrices?:
| {
label: string
price: string
note?: string | null
ctaLabel?: string | null
ctaHref?: string | null
id?: string | null
}[]
| null
freeInclusions?: string | null
entertainmentSectionTitle?: string | null
entertainmentPackages?:
| {
/**
* Напр. "Тривалість 1 год"
*/
label: string
price: string
ctaLabel?: string | null
ctaHref?: string | null
id?: string | null
}[]
| null
formTitle?: string | null
formSubtitle?: string | null
/**
* CMS-форма для відображення на сторінці. Якщо не вказано — використовується вбудована форма.
*/
form?: (number | null) | Form
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
sectionTitleBirthday?: string | null
sectionTitleGroups?: string | null
heroTitle?: string | null
heroSubtitle?: string | null
heroImage?: (number | null) | Media
workingHoursTitle?: string | null
workingHoursText?: string | null
comboSectionTitle?: string | null
comboCards?:
| {
name: string
subtitle?: string | null
/**
* Напр. «600 ₴»
*/
price: string
description?: string | null
featured?: boolean | null
/**
* Напр. «Найпопулярніший»
*/
badge?: string | null
locations?:
| {
text: string
id?: string | null
}[]
| null
id?: string | null
}[]
| null
catalogSectionTitle?: string | null
catalogTabAll?: string | null
catalogTabZone?: string | null
catalogTabAttraction?: string | null
catalogTabProgram?: string | null
benefitsSectionTitle?: string | null
freeEntryTitle?: string | null
freeEntryBadge?: string | null
freeEntryItems?:
| {
text: string
id?: string | null
}[]
| null
discountsTitle?: string | null
discountsBadge?: string | null
discountsItems?:
| {
text: string
id?: string | null
}[]
| null
benefitsFootnote?: 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` "dinosaur-page".
*/
export interface DinosaurPage {
id: number
heroTitle?: string | null
heroDescription?: string | null
/**
* Число у круглому бейджі (наприклад "26")
*/
heroStat?: string | null
heroStatLabel?: string | null
/**
* Головне зображення героя (T-Rex / динозавр)
*/
heroImage?: (number | null) | Media
heroFeatures?:
| {
text: string
id?: string | null
}[]
| null
/**
* 8 видів для інтерактивного колеса
*/
dinosaurs?:
| {
/**
* Назва виду
*/
name: string
/**
* Наприклад: Крейдяний
*/
epoch?: string | null
/**
* Наприклад: 12 м
*/
length?: string | null
/**
* Наприклад: 7 т
*/
weight?: string | null
/**
* Велике зображення (центр колеса)
*/
image?: (number | null) | Media
/**
* Мініатюра для дуги колеса
*/
thumbnailImage?: (number | null) | Media
id?: string | null
}[]
| null
/**
* Фото з динопарку
*/
galleryImages?:
| {
image: number | Media
id?: string | null
}[]
| null
activitiesTitle?: string | null
activitiesDescription?: string | null
activities?:
| {
name: string
/**
* Наприклад: 150 грн
*/
price?: string | null
description?: string | null
image?: (number | null) | Media
href?: string | null
id?: string | null
}[]
| null
whyVisitTitle?: string | null
whyVisitItems?:
| {
title: string
description: string
id?: string | null
}[]
| null
/**
* Якщо порожньо — секція приховується
*/
reviewVideos?:
| {
src: string
poster?: string | null
label?: string | null
id?: string | null
}[]
| null
/**
* Час роботи
*/
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 | 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
heroDescription?: T
heroCta?: T
featureText?: T
featureImages?:
| T
| {
image?: T
id?: T
}
amenitiesTitle?: T
amenities?:
| T
| {
label?: T
image?: T
id?: T
}
workingHoursTitle?: T
workingHours?: T
priceTitle?: T
priceBadge?: T
price?: T
priceLabel?: T
priceNote?: T
priceMinPeople?: T
priceCta?: T
priceDescription?: T
bottomText?: T
bottomImages?:
| T
| {
image?: T
id?: T
}
formTitle?: T
formSubtitle?: T
form?: 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
heroCta?: T
packageSectionTitle?: T
packageSectionSubtitle?: T
packageItems?:
| T
| {
title?: T
description?: T
image?: T
ctaLabel?: T
ctaHref?: T
id?: T
}
whyTitle?: T
whyItems?:
| T
| {
title?: T
description?: T
id?: T
}
whyVideos?:
| T
| {
src?: T
poster?: T
label?: T
id?: T
}
workingHours?: T
pricingSectionTitle?: T
pricingPackages?:
| T
| {
label?: T
price?: T
note?: T
ctaLabel?: T
ctaHref?: T
id?: T
}
entranceSectionTitle?: T
entrancePrices?:
| T
| {
label?: T
price?: T
note?: T
ctaLabel?: T
ctaHref?: T
id?: T
}
freeInclusions?: T
entertainmentSectionTitle?: T
entertainmentPackages?:
| T
| {
label?: T
price?: T
ctaLabel?: T
ctaHref?: T
id?: T
}
formTitle?: T
formSubtitle?: T
form?: 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> {
sectionTitleBirthday?: T
sectionTitleGroups?: T
heroTitle?: T
heroSubtitle?: T
heroImage?: T
workingHoursTitle?: T
workingHoursText?: T
comboSectionTitle?: T
comboCards?:
| T
| {
name?: T
subtitle?: T
price?: T
description?: T
featured?: T
badge?: T
locations?:
| T
| {
text?: T
id?: T
}
id?: T
}
catalogSectionTitle?: T
catalogTabAll?: T
catalogTabZone?: T
catalogTabAttraction?: T
catalogTabProgram?: T
benefitsSectionTitle?: T
freeEntryTitle?: T
freeEntryBadge?: T
freeEntryItems?:
| T
| {
text?: T
id?: T
}
discountsTitle?: T
discountsBadge?: T
discountsItems?:
| T
| {
text?: T
id?: T
}
benefitsFootnote?: 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` "dinosaur-page_select".
*/
export interface DinosaurPageSelect<T extends boolean = true> {
heroTitle?: T
heroDescription?: T
heroStat?: T
heroStatLabel?: T
heroImage?: T
heroFeatures?:
| T
| {
text?: T
id?: T
}
dinosaurs?:
| T
| {
name?: T
epoch?: T
length?: T
weight?: T
image?: T
thumbnailImage?: T
id?: T
}
galleryImages?:
| T
| {
image?: T
id?: T
}
activitiesTitle?: T
activitiesDescription?: T
activities?:
| T
| {
name?: T
price?: T
description?: T
image?: T
href?: T
id?: 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
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 {}
}