# Generated by ariadne-codegen on 2023-06-06 10:50
# Source: graphql/queries.graphql

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetWawEvent(BaseModel):
    get_waw_event: Optional["GetWawEventGetWawEvent"] = Field(alias="getWawEvent")


class GetWawEventGetWawEvent(BaseModel):
    id: Optional[int]
    updated_on: Optional[Any] = Field(alias="updatedOn")
    name: Optional[str]
    start_date: Optional[Any] = Field(alias="startDate")
    end_date: Optional[Any] = Field(alias="endDate")
    hash: Optional[str]
    venue: Optional[str]
    country_code: Optional[str] = Field(alias="countryCode")
    country_name: Optional[str] = Field(alias="countryName")
    area_code: Optional[str] = Field(alias="areaCode")
    area_name: Optional[str] = Field(alias="areaName")
    age_code: Optional[str] = Field(alias="ageCode")
    indoor_outdoor: Optional[str] = Field(alias="indoorOutdoor")
    category_code: Optional[str] = Field(alias="categoryCode")
    category_name: Optional[str] = Field(alias="categoryName")
    category_order: Optional[int] = Field(alias="categoryOrder")
    sub_category_code: Optional[str] = Field(alias="subCategoryCode")
    sub_category_name: Optional[str] = Field(alias="subCategoryName")
    show_web_live_banner: Optional[bool] = Field(alias="showWebLiveBanner")
    sub_category_order: Optional[int] = Field(alias="subCategoryOrder")
    class_code: Optional[str] = Field(alias="classCode")
    class_order: Optional[int] = Field(alias="classOrder")
    is_published: Optional[bool] = Field(alias="isPublished")
    has_comp_doc_results: Optional[bool] = Field(alias="hasCompDocResults")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    start_date_year: Optional[int] = Field(alias="startDateYear")
    circuits: Optional[List[Optional["GetWawEventGetWawEventCircuits"]]]
    area_name_url_slug: Optional[str] = Field(alias="areaNameUrlSlug")
    category_name_url_slug: Optional[str] = Field(alias="categoryNameUrlSlug")
    sub_category_name_url_slug: Optional[str] = Field(alias="subCategoryNameUrlSlug")
    discipline_codes: Optional[List[Optional[str]]] = Field(alias="disciplineCodes")
    event_id__w_a: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional["GetWawEventGetWawEventPage"]
    event_start_date_time: Optional[Any] = Field(alias="eventStartDateTime")
    event_end_date_time: Optional[Any] = Field(alias="eventEndDateTime")
    venue_timezone: Optional[str] = Field(alias="venueTimezone")


class GetWawEventGetWawEventCircuits(BaseModel):
    updated_on: Optional[Any] = Field(alias="UpdatedOn")
    hash: Optional[str]
    circuit_code: Optional[str] = Field(alias="circuitCode")
    circuit_type_code: Optional[str] = Field(alias="circuitTypeCode")
    circuit_name: Optional[str] = Field(alias="circuitName")
    season: Optional[int]
    circuit_order: Optional[int] = Field(alias="circuitOrder")
    circuit_type_name: Optional[str] = Field(alias="circuitTypeName")


class GetWawEventGetWawEventPage(BaseModel):
    id: Optional[str]
    type_id: Optional[str] = Field(alias="typeId")
    language: Optional[str]
    title: Optional[str]
    competition_id: Optional[str] = Field(alias="competitionId")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional["GetWawEventGetWawEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetWawEventGetWawEventPageMinisite"]
    seo_description: Optional[str] = Field(alias="seoDescription")
    slug: Optional[str]
    published_by_id: Optional[str] = Field(alias="publishedById")
    published_by_name: Optional[str] = Field(alias="publishedByName")
    published: Optional[Any]
    content_modules: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModules"]]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional["GetWawEventGetWawEventPageCampaign"]


class GetWawEventGetWawEventPageEvent(BaseModel):
    id: Optional[int]
    updated_on: Optional[Any] = Field(alias="updatedOn")
    name: Optional[str]
    start_date: Optional[Any] = Field(alias="startDate")
    end_date: Optional[Any] = Field(alias="endDate")
    hash: Optional[str]
    venue: Optional[str]
    country_code: Optional[str] = Field(alias="countryCode")
    country_name: Optional[str] = Field(alias="countryName")
    area_code: Optional[str] = Field(alias="areaCode")
    area_name: Optional[str] = Field(alias="areaName")
    age_code: Optional[str] = Field(alias="ageCode")
    indoor_outdoor: Optional[str] = Field(alias="indoorOutdoor")
    category_code: Optional[str] = Field(alias="categoryCode")
    category_name: Optional[str] = Field(alias="categoryName")
    category_order: Optional[int] = Field(alias="categoryOrder")
    sub_category_code: Optional[str] = Field(alias="subCategoryCode")
    sub_category_name: Optional[str] = Field(alias="subCategoryName")
    show_web_live_banner: Optional[bool] = Field(alias="showWebLiveBanner")
    sub_category_order: Optional[int] = Field(alias="subCategoryOrder")
    class_code: Optional[str] = Field(alias="classCode")
    class_order: Optional[int] = Field(alias="classOrder")
    is_published: Optional[bool] = Field(alias="isPublished")
    has_comp_doc_results: Optional[bool] = Field(alias="hasCompDocResults")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    start_date_year: Optional[int] = Field(alias="startDateYear")
    circuits: Optional[List[Optional["GetWawEventGetWawEventPageEventCircuits"]]]
    area_name_url_slug: Optional[str] = Field(alias="areaNameUrlSlug")
    category_name_url_slug: Optional[str] = Field(alias="categoryNameUrlSlug")
    sub_category_name_url_slug: Optional[str] = Field(alias="subCategoryNameUrlSlug")
    discipline_codes: Optional[List[Optional[str]]] = Field(alias="disciplineCodes")
    event_id__w_a: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional["GetWawEventGetWawEventPageEventPage"]
    event_start_date_time: Optional[Any] = Field(alias="eventStartDateTime")
    event_end_date_time: Optional[Any] = Field(alias="eventEndDateTime")
    venue_timezone: Optional[str] = Field(alias="venueTimezone")


class GetWawEventGetWawEventPageEventCircuits(BaseModel):
    updated_on: Optional[Any] = Field(alias="UpdatedOn")
    hash: Optional[str]
    circuit_code: Optional[str] = Field(alias="circuitCode")
    circuit_type_code: Optional[str] = Field(alias="circuitTypeCode")
    circuit_name: Optional[str] = Field(alias="circuitName")
    season: Optional[int]
    circuit_order: Optional[int] = Field(alias="circuitOrder")
    circuit_type_name: Optional[str] = Field(alias="circuitTypeName")


class GetWawEventGetWawEventPageEventPage(BaseModel):
    id: Optional[str]
    type_id: Optional[str] = Field(alias="typeId")
    language: Optional[str]
    title: Optional[str]
    competition_id: Optional[str] = Field(alias="competitionId")
    event_id: Optional[int] = Field(alias="eventId")
    site_id: Optional[str] = Field(alias="siteId")
    seo_description: Optional[str] = Field(alias="seoDescription")
    slug: Optional[str]
    published_by_id: Optional[str] = Field(alias="publishedById")
    published_by_name: Optional[str] = Field(alias="publishedByName")
    published: Optional[Any]
    gated_content: Optional[bool] = Field(alias="gatedContent")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawEventGetWawEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetWawEventGetWawEventPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional["GetWawEventGetWawEventPageMinisiteFeatureImage"] = Field(
        alias="featureImage"
    )
    feature_image_edited: Optional[str] = Field(alias="featureImageEdited")
    theme: Optional[str]
    default_sponsor_ids: Optional[List[Optional[str]]] = Field(
        alias="defaultSponsorIds"
    )
    default_sponsors: Optional[
        List[Optional["GetWawEventGetWawEventPageMinisiteDefaultSponsors"]]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[List[Optional["GetWawEventGetWawEventPageMinisiteSponsors"]]]
    event_id: Optional[int] = Field(alias="eventId")
    primary_color: Optional[str] = Field(alias="primaryColor")
    secondary_color: Optional[str] = Field(alias="secondaryColor")
    tertiary_color: Optional[str] = Field(alias="tertiaryColor")
    additional_colours: Optional[List[Optional[str]]] = Field(alias="additionalColours")
    language_codes: Optional[List[Optional[str]]] = Field(alias="languageCodes")


class GetWawEventGetWawEventPageMinisiteLogo(BaseModel):
    id: Optional[str]
    media_type: Optional[str] = Field(alias="mediaType")
    title: Optional[str]
    copyright: Optional[str]
    file_name: Optional[str] = Field(alias="fileName")
    related_athletes: Optional[List[Optional[int]]] = Field(alias="relatedAthletes")
    related_disciplines: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplines"
    )
    related_competitions: Optional[List[Optional[str]]] = Field(
        alias="relatedCompetitions"
    )
    related_events: Optional[List[Optional[int]]] = Field(alias="relatedEvents")
    is_deleted: Optional[bool] = Field(alias="isDeleted")
    live_from: Optional[Any] = Field(alias="liveFrom")


class GetWawEventGetWawEventPageMinisiteFeatureImage(BaseModel):
    id: Optional[str]
    media_type: Optional[str] = Field(alias="mediaType")
    title: Optional[str]
    copyright: Optional[str]
    file_name: Optional[str] = Field(alias="fileName")
    related_athletes: Optional[List[Optional[int]]] = Field(alias="relatedAthletes")
    related_disciplines: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplines"
    )
    related_competitions: Optional[List[Optional[str]]] = Field(
        alias="relatedCompetitions"
    )
    related_events: Optional[List[Optional[int]]] = Field(alias="relatedEvents")
    is_deleted: Optional[bool] = Field(alias="isDeleted")
    live_from: Optional[Any] = Field(alias="liveFrom")


class GetWawEventGetWawEventPageMinisiteDefaultSponsors(BaseModel):
    id: Optional[str]
    event_id: Optional[int] = Field(alias="eventId")
    type: Optional[str]
    name: Optional[str]
    url: Optional[str]
    logo_scale: Optional[str] = Field(alias="logoScale")
    light_bg_logo_id: Optional[str] = Field(alias="lightBgLogoId")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawEventGetWawEventPageMinisiteSponsors(BaseModel):
    id: Optional[str]
    event_id: Optional[int] = Field(alias="eventId")
    type: Optional[str]
    name: Optional[str]
    url: Optional[str]
    logo_scale: Optional[str] = Field(alias="logoScale")
    light_bg_logo_id: Optional[str] = Field(alias="lightBgLogoId")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawEventGetWawEventPageContentModules(BaseModel):
    module_type: Optional[str] = Field(alias="moduleType")
    language: Optional[str]
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesRelatedArticles"]]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesRelatedEvents"]]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesRelatedCompetitors"]]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesRelatedDiscipline"]]
    ] = Field(alias="relatedDiscipline")
    athlete_ids: Optional[List[Optional[str]]] = Field(alias="athleteIds")
    media_ids: List[Optional[str]] = Field(alias="mediaIds")
    related_media: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesRelatedMedia"]]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesLifestyleLinks"]]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesFeatureLinks"]]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetWawEventGetWawEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional["GetWawEventGetWawEventPageContentModulesMinisite"]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesLocations"]]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[List[Optional["GetWawEventGetWawEventPageContentModulesVideos"]]]
    banners: Optional[List[Optional["GetWawEventGetWawEventPageContentModulesBanners"]]]
    slides: Optional[List[Optional["GetWawEventGetWawEventPageContentModulesSlides"]]]
    sections: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesSections"]]
    ]
    description: Optional[str]
    event_name: Optional[str] = Field(alias="eventName")
    tag_id: Optional[str] = Field(alias="tagId")
    more_news_link: Optional[str] = Field(alias="moreNewsLink")
    more_news_text: Optional[str] = Field(alias="moreNewsText")
    colour: Optional[str]
    image_edited: Optional[str] = Field(alias="imageEdited")
    text_position: Optional[str] = Field(alias="textPosition")
    text_colour: Optional[str] = Field(alias="textColour")
    title: Optional[str]
    top_title: Optional[str] = Field(alias="topTitle")
    bottom_title: Optional[str] = Field(alias="bottomTitle")
    subtitle: Optional[str]
    category: Optional[str]
    standfirst: Optional[str]
    url: Optional[str]
    button_text: Optional[str] = Field(alias="buttonText")
    image_position: Optional[str] = Field(alias="imagePosition")
    background_color: Optional[str] = Field(alias="backgroundColor")
    show_timestamp: Optional[bool] = Field(alias="showTimestamp")
    content: Optional[str]
    parent_id: Optional[str] = Field(alias="parentId")
    event_id_wa: Optional[int] = Field(alias="eventIdWa")
    layout: Optional[int]
    slug: Optional[str]
    video_ids: Optional[List[Optional[str]]] = Field(alias="videoIds")
    video_playlist_id: Optional[str] = Field(alias="videoPlaylistId")
    related_videos: Optional[
        List[Optional["GetWawEventGetWawEventPageContentModulesRelatedVideos"]]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetWawEventGetWawEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetWawEventGetWawEventPageContentModulesRelatedArticles(BaseModel):
    id: Optional[str]
    title: Optional[str]
    body: Optional[str]
    content_id: Optional[str] = Field(alias="contentId")
    stand_first: Optional[str] = Field(alias="standFirst")
    standfirst: Optional[str]
    background_colour: Optional[str] = Field(alias="backgroundColour")
    seo_description: Optional[str] = Field(alias="seoDescription")
    s_e_o_title: Optional[str] = Field(alias="sEOTitle")
    seo_title: Optional[str] = Field(alias="seoTitle")
    url_slug: Optional[str] = Field(alias="urlSlug")
    slug: Optional[str]
    campaign_id: Optional[str] = Field(alias="campaignId")
    related_urls: Optional[str] = Field(alias="relatedUrls")
    live_from: Optional[Any] = Field(alias="liveFrom")
    article_type: Optional[int] = Field(alias="articleType")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image_edited: Optional[str] = Field(alias="featureImageEdited")
    hide_on_the_main_site: Optional[bool] = Field(alias="hideOnTheMainSite")
    image_edited: Optional[str] = Field(alias="imageEdited")
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")
    event_id: Optional[int] = Field(alias="eventId")
    blog_updated: Optional[str] = Field(alias="blogUpdated")
    live_blog: Optional[bool] = Field(alias="liveBlog")
    language: Optional[str]
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_country_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedCountryCodes"
    )
    related_region_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedRegionCodes"
    )
    tags: Optional[List[Optional[str]]]
    published: Optional[Any]
    columns: Optional[int]
    published_by_id: Optional[str] = Field(alias="publishedById")
    published_by_name: Optional[str] = Field(alias="publishedByName")
    related_articles_background_color: Optional[str] = Field(
        alias="relatedArticlesBackgroundColor"
    )
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetWawEventGetWawEventPageContentModulesRelatedEvents(BaseModel):
    id: Optional[int]
    updated_on: Optional[Any] = Field(alias="updatedOn")
    name: Optional[str]
    start_date: Optional[Any] = Field(alias="startDate")
    end_date: Optional[Any] = Field(alias="endDate")
    hash: Optional[str]
    venue: Optional[str]
    country_code: Optional[str] = Field(alias="countryCode")
    country_name: Optional[str] = Field(alias="countryName")
    area_code: Optional[str] = Field(alias="areaCode")
    area_name: Optional[str] = Field(alias="areaName")
    age_code: Optional[str] = Field(alias="ageCode")
    indoor_outdoor: Optional[str] = Field(alias="indoorOutdoor")
    category_code: Optional[str] = Field(alias="categoryCode")
    category_name: Optional[str] = Field(alias="categoryName")
    category_order: Optional[int] = Field(alias="categoryOrder")
    sub_category_code: Optional[str] = Field(alias="subCategoryCode")
    sub_category_name: Optional[str] = Field(alias="subCategoryName")
    show_web_live_banner: Optional[bool] = Field(alias="showWebLiveBanner")
    sub_category_order: Optional[int] = Field(alias="subCategoryOrder")
    class_code: Optional[str] = Field(alias="classCode")
    class_order: Optional[int] = Field(alias="classOrder")
    is_published: Optional[bool] = Field(alias="isPublished")
    has_comp_doc_results: Optional[bool] = Field(alias="hasCompDocResults")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    start_date_year: Optional[int] = Field(alias="startDateYear")
    area_name_url_slug: Optional[str] = Field(alias="areaNameUrlSlug")
    category_name_url_slug: Optional[str] = Field(alias="categoryNameUrlSlug")
    sub_category_name_url_slug: Optional[str] = Field(alias="subCategoryNameUrlSlug")
    discipline_codes: Optional[List[Optional[str]]] = Field(alias="disciplineCodes")
    event_id__w_a: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    event_start_date_time: Optional[Any] = Field(alias="eventStartDateTime")
    event_end_date_time: Optional[Any] = Field(alias="eventEndDateTime")
    venue_timezone: Optional[str] = Field(alias="venueTimezone")


class GetWawEventGetWawEventPageContentModulesRelatedCompetitors(BaseModel):
    id: Optional[int]
    iaaf_id: Optional[int] = Field(alias="iaafId")
    first_name: Optional[str] = Field(alias="firstName")
    last_name: Optional[str] = Field(alias="lastName")
    friendly_name: Optional[str] = Field(alias="friendlyName")
    full_name: Optional[str] = Field(alias="fullName")
    friendly_name_letter: Optional[str] = Field(alias="friendlyNameLetter")
    friendly_name_first3_letter: Optional[str] = Field(alias="friendlyNameFirst3Letter")
    sex_code: Optional[str] = Field(alias="sexCode")
    sex_name: Optional[str] = Field(alias="sexName")
    country_code: Optional[str] = Field(alias="countryCode")
    country_name: Optional[str] = Field(alias="countryName")
    birth_date: Optional[str] = Field(alias="birthDate")
    birth_place: Optional[str] = Field(alias="birthPlace")
    birth_place_country_name: Optional[str] = Field(alias="birthPlaceCountryName")
    sex_name_url_slug: Optional[str] = Field(alias="sexNameUrlSlug")
    country_url_slug: Optional[str] = Field(alias="countryUrlSlug")
    birth_place_country_url_slug: Optional[str] = Field(
        alias="birthPlaceCountryUrlSlug"
    )
    birth_country_code: Optional[str] = Field(alias="birthCountryCode")
    primary_media_id: Optional[str] = Field(alias="primaryMediaId")
    primary_media_edited: Optional[str] = Field(alias="primaryMediaEdited")
    url_slug: Optional[str] = Field(alias="urlSlug")
    representative_id: Optional[int] = Field(alias="representativeId")
    biography: Optional[str]
    twitter_link: Optional[str] = Field(alias="twitterLink")
    instagram_link: Optional[str] = Field(alias="instagramLink")
    facebook_link: Optional[str] = Field(alias="facebookLink")
    transfers_of_allegiance: Optional[List[Optional[str]]] = Field(
        alias="transfersOfAllegiance"
    )
    aa_id: Optional[int] = Field(alias="aaId")
    country_full_name: Optional[str] = Field(alias="countryFullName")
    family_name: Optional[str] = Field(alias="familyName")
    given_name: Optional[str] = Field(alias="givenName")
    birth_date_str: Optional[str] = Field(alias="birthDateStr")
    facebook_username: Optional[str] = Field(alias="facebookUsername")
    twitter_username: Optional[str] = Field(alias="twitterUsername")
    instagram_username: Optional[str] = Field(alias="instagramUsername")
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawEventGetWawEventPageContentModulesRelatedDiscipline(BaseModel):
    id: Optional[str]
    updated_on: Optional[Any] = Field(alias="updatedOn")
    hash: Optional[str]
    name: Optional[str]
    type_code: Optional[str] = Field(alias="typeCode")
    type_name: Optional[str] = Field(alias="typeName")
    type_order: Optional[int] = Field(alias="typeOrder")
    order: Optional[int]
    is_track: Optional[bool] = Field(alias="isTrack")
    is_field: Optional[bool] = Field(alias="isField")
    is_road: Optional[bool] = Field(alias="isRoad")
    is_combined: Optional[bool] = Field(alias="isCombined")
    is_walk: Optional[bool] = Field(alias="isWalk")
    is_indoor: Optional[bool] = Field(alias="isIndoor")
    is_reaction: Optional[bool] = Field(alias="isReaction")
    is_outdoor: Optional[bool] = Field(alias="isOutdoor")
    is_wind: Optional[bool] = Field(alias="isWind")
    is_relay: Optional[bool] = Field(alias="isRelay")
    is_valid_i_a_a_f: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawEventGetWawEventPageContentModulesRelatedMedia(BaseModel):
    id: Optional[str]
    media_type: Optional[str] = Field(alias="mediaType")
    title: Optional[str]
    copyright: Optional[str]
    file_name: Optional[str] = Field(alias="fileName")
    related_athletes: Optional[List[Optional[int]]] = Field(alias="relatedAthletes")
    related_disciplines: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplines"
    )
    related_competitions: Optional[List[Optional[str]]] = Field(
        alias="relatedCompetitions"
    )
    related_events: Optional[List[Optional[int]]] = Field(alias="relatedEvents")
    is_deleted: Optional[bool] = Field(alias="isDeleted")
    live_from: Optional[Any] = Field(alias="liveFrom")


class GetWawEventGetWawEventPageContentModulesLifestyleLinks(BaseModel):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


class GetWawEventGetWawEventPageContentModulesFeatureLinks(BaseModel):
    name: Optional[str]
    url: Optional[str]


class GetWawEventGetWawEventPageContentModulesMinisitePage(BaseModel):
    id: Optional[str]
    type_id: Optional[str] = Field(alias="typeId")
    language: Optional[str]
    title: Optional[str]
    competition_id: Optional[str] = Field(alias="competitionId")
    event_id: Optional[int] = Field(alias="eventId")
    site_id: Optional[str] = Field(alias="siteId")
    seo_description: Optional[str] = Field(alias="seoDescription")
    slug: Optional[str]
    published_by_id: Optional[str] = Field(alias="publishedById")
    published_by_name: Optional[str] = Field(alias="publishedByName")
    published: Optional[Any]
    gated_content: Optional[bool] = Field(alias="gatedContent")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawEventGetWawEventPageContentModulesMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image_edited: Optional[str] = Field(alias="featureImageEdited")
    theme: Optional[str]
    default_sponsor_ids: Optional[List[Optional[str]]] = Field(
        alias="defaultSponsorIds"
    )
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    event_id: Optional[int] = Field(alias="eventId")
    primary_color: Optional[str] = Field(alias="primaryColor")
    secondary_color: Optional[str] = Field(alias="secondaryColor")
    tertiary_color: Optional[str] = Field(alias="tertiaryColor")
    additional_colours: Optional[List[Optional[str]]] = Field(alias="additionalColours")
    language_codes: Optional[List[Optional[str]]] = Field(alias="languageCodes")


class GetWawEventGetWawEventPageContentModulesLocations(BaseModel):
    location_id: Optional[str] = Field(alias="locationId")
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


class GetWawEventGetWawEventPageContentModulesVideos(BaseModel):
    thumbnail_image_id: Optional[str] = Field(alias="thumbnailImageId")
    thumbnail_image_edited: Optional[str] = Field(alias="thumbnailImageEdited")
    title: Optional[str]
    description: Optional[str]
    time: Optional[str]
    video: Optional[str]


class GetWawEventGetWawEventPageContentModulesBanners(BaseModel):
    image_id: Optional[str] = Field(alias="imageId")
    url: Optional[str]
    image_edited: Optional[str] = Field(alias="imageEdited")
    page_id: Optional[str] = Field(alias="pageId")


class GetWawEventGetWawEventPageContentModulesSlides(BaseModel):
    article_id: Optional[str] = Field(alias="articleId")
    article_title: Optional[str] = Field(alias="articleTitle")
    article_slug: Optional[str] = Field(alias="articleSlug")
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")
    text_position: Optional[str] = Field(alias="textPosition")
    colour: Optional[str]
    url: Optional[str]
    standfirst: Optional[str]
    link_url: Optional[str] = Field(alias="linkUrl")
    subtitle: Optional[str]
    title: Optional[str]
    video_url: Optional[str] = Field(alias="videoUrl")
    read_more_link: Optional[str] = Field(alias="readMoreLink")
    headline: Optional[str]
    strapline: Optional[str]
    read_more_text: Optional[str] = Field(alias="readMoreText")
    date: Optional[str]
    subheadline: Optional[str]


class GetWawEventGetWawEventPageContentModulesSections(BaseModel):
    title: Optional[str]
    show: Optional[bool]


class GetWawEventGetWawEventPageContentModulesRelatedVideos(BaseModel):
    id: Optional[str]
    content_id: Optional[str] = Field(alias="contentId")
    published_by_id: Optional[str] = Field(alias="publishedById")
    published_by_name: Optional[str] = Field(alias="publishedByName")
    published: Optional[str]
    language: Optional[str]
    gated_content: Optional[bool] = Field(alias="gatedContent")
    campaign_id: Optional[str] = Field(alias="campaignId")
    tags: Optional[List[Optional[str]]]
    title: Optional[str]
    thumbnail_id: Optional[str] = Field(alias="thumbnailId")
    thumbnail_edited: Optional[str] = Field(alias="thumbnailEdited")
    video_id: Optional[str] = Field(alias="videoId")
    player_id: Optional[str] = Field(alias="playerId")
    tag_id: Optional[str] = Field(alias="tagId")
    stand_first: Optional[str] = Field(alias="standFirst")


class GetWawEventGetWawEventPageContentModulesRelatedVideo(BaseModel):
    id: Optional[str]
    content_id: Optional[str] = Field(alias="contentId")
    published_by_id: Optional[str] = Field(alias="publishedById")
    published_by_name: Optional[str] = Field(alias="publishedByName")
    published: Optional[str]
    language: Optional[str]
    gated_content: Optional[bool] = Field(alias="gatedContent")
    campaign_id: Optional[str] = Field(alias="campaignId")
    tags: Optional[List[Optional[str]]]
    title: Optional[str]
    thumbnail_id: Optional[str] = Field(alias="thumbnailId")
    thumbnail_edited: Optional[str] = Field(alias="thumbnailEdited")
    video_id: Optional[str] = Field(alias="videoId")
    player_id: Optional[str] = Field(alias="playerId")
    tag_id: Optional[str] = Field(alias="tagId")
    stand_first: Optional[str] = Field(alias="standFirst")


class GetWawEventGetWawEventPageCampaign(BaseModel):
    id: Optional[str]
    name: Optional[str]
    tag: Optional[str]
    type: Optional[str]
    description: Optional[str]
    thank_you_message: Optional[str] = Field(alias="thankYouMessage")
    already_signed_message: Optional[str] = Field(alias="alreadySignedMessage")
    close_date: Optional[Any] = Field(alias="closeDate")
    redirect_url: Optional[str] = Field(alias="redirectUrl")
    tag_user_friendly_name: Optional[str] = Field(alias="tagUserFriendlyName")
    background_image_edited: Optional[str] = Field(alias="backgroundImageEdited")
    header_image_edited: Optional[str] = Field(alias="headerImageEdited")
    visible_on_preference_center: Optional[bool] = Field(
        alias="visibleOnPreferenceCenter"
    )
    short_form: Optional[bool] = Field(alias="shortForm")
    top_level_bucket_id: Optional[str] = Field(alias="topLevelBucketId")


GetWawEvent.update_forward_refs()
GetWawEventGetWawEvent.update_forward_refs()
GetWawEventGetWawEventCircuits.update_forward_refs()
GetWawEventGetWawEventPage.update_forward_refs()
GetWawEventGetWawEventPageEvent.update_forward_refs()
GetWawEventGetWawEventPageEventCircuits.update_forward_refs()
GetWawEventGetWawEventPageEventPage.update_forward_refs()
GetWawEventGetWawEventPageMinisite.update_forward_refs()
GetWawEventGetWawEventPageMinisiteLogo.update_forward_refs()
GetWawEventGetWawEventPageMinisiteFeatureImage.update_forward_refs()
GetWawEventGetWawEventPageMinisiteDefaultSponsors.update_forward_refs()
GetWawEventGetWawEventPageMinisiteSponsors.update_forward_refs()
GetWawEventGetWawEventPageContentModules.update_forward_refs()
GetWawEventGetWawEventPageContentModulesRelatedArticles.update_forward_refs()
GetWawEventGetWawEventPageContentModulesRelatedEvents.update_forward_refs()
GetWawEventGetWawEventPageContentModulesRelatedCompetitors.update_forward_refs()
GetWawEventGetWawEventPageContentModulesRelatedDiscipline.update_forward_refs()
GetWawEventGetWawEventPageContentModulesRelatedMedia.update_forward_refs()
GetWawEventGetWawEventPageContentModulesLifestyleLinks.update_forward_refs()
GetWawEventGetWawEventPageContentModulesFeatureLinks.update_forward_refs()
GetWawEventGetWawEventPageContentModulesMinisitePage.update_forward_refs()
GetWawEventGetWawEventPageContentModulesMinisite.update_forward_refs()
GetWawEventGetWawEventPageContentModulesLocations.update_forward_refs()
GetWawEventGetWawEventPageContentModulesVideos.update_forward_refs()
GetWawEventGetWawEventPageContentModulesBanners.update_forward_refs()
GetWawEventGetWawEventPageContentModulesSlides.update_forward_refs()
GetWawEventGetWawEventPageContentModulesSections.update_forward_refs()
GetWawEventGetWawEventPageContentModulesRelatedVideos.update_forward_refs()
GetWawEventGetWawEventPageContentModulesRelatedVideo.update_forward_refs()
GetWawEventGetWawEventPageCampaign.update_forward_refs()
