# Generated by ariadne-codegen
# Source: graphql/queries.graphql

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class GetWawCompetition(BaseModel):
    get_waw_competition: Optional["GetWawCompetitionGetWawCompetition"] = Field(
        alias="getWawCompetition"
    )


class GetWawCompetitionGetWawCompetition(BaseModel):
    id: Optional[str]
    name: Optional[str]
    circuit_type_code: Optional[str] = Field(alias="circuitTypeCode")
    event_sub_category_code: Optional[str] = Field(alias="eventSubCategoryCode")
    description: Optional[str]
    circuit_code: Optional[str] = Field(alias="circuitCode")
    url_slug: Optional[str] = Field(alias="urlSlug")
    order: Optional[int]
    category: Optional[int]
    about: Optional[str]
    primary_media_id: Optional[str] = Field(alias="primaryMediaId")
    related_media_ids: Optional[List[Optional[str]]] = Field(alias="relatedMediaIds")
    logo_light_id: Optional[str] = Field(alias="logoLightId")
    logo_dark_id: Optional[str] = Field(alias="logoDarkId")
    style_overrides: Optional[str] = Field(alias="styleOverrides")
    related_info: Optional[List[Optional[str]]] = Field(alias="relatedInfo")
    next_event: Optional["GetWawCompetitionGetWawCompetitionNextEvent"] = Field(
        alias="nextEvent"
    )
    last_event: Optional["GetWawCompetitionGetWawCompetitionLastEvent"] = Field(
        alias="lastEvent"
    )
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional["GetWawCompetitionGetWawCompetitionPage"]


class GetWawCompetitionGetWawCompetitionNextEvent(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["GetWawCompetitionGetWawCompetitionNextEventCircuits"]]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional["GetWawCompetitionGetWawCompetitionNextEventPage"]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionNextEventCircuits(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 GetWawCompetitionGetWawCompetitionNextEventPage(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["GetWawCompetitionGetWawCompetitionNextEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetWawCompetitionGetWawCompetitionNextEventPageMinisite"]
    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["GetWawCompetitionGetWawCompetitionNextEventPageContentModules"]]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional["GetWawCompetitionGetWawCompetitionNextEventPageCampaign"]


class GetWawCompetitionGetWawCompetitionNextEventPageEvent(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["GetWawCompetitionGetWawCompetitionNextEventPageEventCircuits"]]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional["GetWawCompetitionGetWawCompetitionNextEventPageEventPage"]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionNextEventPageEventCircuits(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 GetWawCompetitionGetWawCompetitionNextEventPageEventPage(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["GetWawCompetitionGetWawCompetitionNextEventPageEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageEventPageMinisite"
    ]
    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[
                "GetWawCompetitionGetWawCompetitionNextEventPageEventPageContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageEventPageCampaign"
    ]


class GetWawCompetitionGetWawCompetitionNextEventPageEventPageEvent(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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionNextEventPageEventPageMinisite(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 GetWawCompetitionGetWawCompetitionNextEventPageEventPageContentModules(BaseModel):
    module_type: Optional[str] = Field(alias="moduleType")
    language: Optional[str]
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    athlete_ids: Optional[List[Optional[str]]] = Field(alias="athleteIds")
    media_ids: List[Optional[str]] = Field(alias="mediaIds")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    location_id: Optional[str] = Field(alias="locationId")
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    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")
    video_id: Optional[str] = Field(alias="videoId")


class GetWawCompetitionGetWawCompetitionNextEventPageEventPageCampaign(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")


class GetWawCompetitionGetWawCompetitionNextEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetWawCompetitionGetWawCompetitionNextEventPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageMinisiteFeatureImage"
    ] = 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[
                "GetWawCompetitionGetWawCompetitionNextEventPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional["GetWawCompetitionGetWawCompetitionNextEventPageMinisiteSponsors"]
        ]
    ]
    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 GetWawCompetitionGetWawCompetitionNextEventPageMinisiteLogo(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 GetWawCompetitionGetWawCompetitionNextEventPageMinisiteFeatureImage(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 GetWawCompetitionGetWawCompetitionNextEventPageMinisiteDefaultSponsors(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: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageMinisiteDefaultSponsorsLightBgLogo"
    ] = Field(alias="lightBgLogo")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawCompetitionGetWawCompetitionNextEventPageMinisiteDefaultSponsorsLightBgLogo(
    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 GetWawCompetitionGetWawCompetitionNextEventPageMinisiteDefaultSponsorsDarkBgLogo(
    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 GetWawCompetitionGetWawCompetitionNextEventPageMinisiteSponsors(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: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageMinisiteSponsorsLightBgLogo"
    ] = Field(alias="lightBgLogo")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawCompetitionGetWawCompetitionNextEventPageMinisiteSponsorsLightBgLogo(
    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 GetWawCompetitionGetWawCompetitionNextEventPageMinisiteSponsorsDarkBgLogo(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModules(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[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticles(
    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_eo_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")
    related_media: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesEvent"
    ]
    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_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = Field(alias="relatedMinisitePages")
    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]]]
    related_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = Field(alias="relatedLinks")
    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"
    )
    content_modules: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedMedia(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedCompetitors(
    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_first_3_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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedDiscipline(
    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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedCompetitions(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    circuit_type_code: Optional[str] = Field(alias="circuitTypeCode")
    event_sub_category_code: Optional[str] = Field(alias="eventSubCategoryCode")
    description: Optional[str]
    circuit_code: Optional[str] = Field(alias="circuitCode")
    url_slug: Optional[str] = Field(alias="urlSlug")
    order: Optional[int]
    category: Optional[int]
    about: Optional[str]
    primary_media_id: Optional[str] = Field(alias="primaryMediaId")
    related_media_ids: Optional[List[Optional[str]]] = Field(alias="relatedMediaIds")
    logo_light_id: Optional[str] = Field(alias="logoLightId")
    logo_dark_id: Optional[str] = Field(alias="logoDarkId")
    style_overrides: Optional[str] = Field(alias="styleOverrides")
    related_info: Optional[List[Optional[str]]] = Field(alias="relatedInfo")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedEvents(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedArticles(
    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_eo_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_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedMinisitePages(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticlesContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    layout: Optional[int]
    video_ids: Optional[List[Optional[str]]] = Field(alias="videoIds")
    video_playlist_id: Optional[str] = Field(alias="videoPlaylistId")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    slug: Optional[str]


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedEvents(
    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[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedEventsCircuits"
            ]
        ]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedEventsPage"
    ]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedEventsCircuits(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedEventsPage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedCompetitors(
    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_first_3_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")
    primary_media: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = Field(alias="primaryMedia")
    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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedCompetitorsPrimaryMedia(
    BaseModel
):
    id: Optional[str]
    title: Optional[str]
    s_eo_title: Optional[str] = Field(alias="sEOTitle")
    url_slug: Optional[str] = Field(alias="urlSlug")
    credit: Optional[str]
    show_in_media: Optional[bool] = Field(alias="showInMedia")
    complete: Optional[bool]
    file_name: Optional[str] = Field(alias="fileName")
    remote_item_code: Optional[str] = Field(alias="remoteItemCode")
    x_ml_file_name_360: Optional[str] = Field(alias="xMLFileName360")
    file_name_url: Optional[str] = Field(alias="fileNameUrl")
    type: Optional[int]
    format: Optional[int]
    hosting: Optional[int]
    related_links: Optional[List[Optional[str]]] = Field(alias="relatedLinks")
    source_width: Optional[int] = Field(alias="sourceWidth")
    source_height: Optional[int] = Field(alias="sourceHeight")
    available_ratios: Optional[List[Optional[int]]] = Field(alias="availableRatios")
    related_sex_codes: Optional[List[Optional[int]]] = Field(alias="relatedSexCodes")
    related_age_groups: Optional[List[Optional[int]]] = Field(alias="relatedAgeGroups")
    related_event_phases: Optional[List[Optional[int]]] = Field(
        alias="relatedEventPhases"
    )
    status: Optional[int]
    live_from: Optional[Any] = Field(alias="liveFrom")
    created_on: Optional[str] = Field(alias="createdOn")
    updated_on: Optional[Any] = Field(alias="updatedOn")
    created_by_id: Optional[str] = Field(alias="createdById")
    updated_by_id: Optional[str] = Field(alias="updatedById")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedDiscipline(
    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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedMedia(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePage(
    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[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePageMinisite"
    ]
    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[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePageContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePageCampaign"
    ]


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePageEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePageMinisite(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePageContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    language: Optional[str]
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    athlete_ids: Optional[List[Optional[str]]] = Field(alias="athleteIds")
    media_ids: List[Optional[str]] = Field(alias="mediaIds")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    location_id: Optional[str] = Field(alias="locationId")
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    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")
    video_id: Optional[str] = Field(alias="videoId")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePageCampaign(
    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")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisiteFeatureImage"
    ] = 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[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisiteSponsors"
            ]
        ]
    ]
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisiteLogo(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisiteFeatureImage(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisiteDefaultSponsors(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisiteSponsors(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesLocations(BaseModel):
    location_id: Optional[str] = Field(alias="locationId")
    location: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesLocationsLocation"
    ]
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesLocationsLocation(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    latitude: Optional[float]
    longitude: Optional[float]


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


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesVideosThumbnailImage(
    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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesBanners(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")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesBannersPage"
    ]


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesBannersPage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesSlides(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 GetWawCompetitionGetWawCompetitionNextEventPageContentModulesSections(BaseModel):
    title: Optional[str]
    show: Optional[bool]
    links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionNextEventPageContentModulesSectionsLinks"
            ]
        ]
    ]


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesSectionsLinks(
    BaseModel
):
    name: Optional[str]
    url: Optional[str]
    page_id: Optional[str] = Field(alias="pageId")
    file_id: Optional[List[Optional[str]]] = Field(alias="fileId")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedVideos(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedVideo(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionNextEventPageCampaign(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")


class GetWawCompetitionGetWawCompetitionLastEvent(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["GetWawCompetitionGetWawCompetitionLastEventCircuits"]]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional["GetWawCompetitionGetWawCompetitionLastEventPage"]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionLastEventCircuits(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 GetWawCompetitionGetWawCompetitionLastEventPage(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["GetWawCompetitionGetWawCompetitionLastEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetWawCompetitionGetWawCompetitionLastEventPageMinisite"]
    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["GetWawCompetitionGetWawCompetitionLastEventPageContentModules"]]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional["GetWawCompetitionGetWawCompetitionLastEventPageCampaign"]


class GetWawCompetitionGetWawCompetitionLastEventPageEvent(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["GetWawCompetitionGetWawCompetitionLastEventPageEventCircuits"]]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional["GetWawCompetitionGetWawCompetitionLastEventPageEventPage"]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionLastEventPageEventCircuits(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 GetWawCompetitionGetWawCompetitionLastEventPageEventPage(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["GetWawCompetitionGetWawCompetitionLastEventPageEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageEventPageMinisite"
    ]
    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[
                "GetWawCompetitionGetWawCompetitionLastEventPageEventPageContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageEventPageCampaign"
    ]


class GetWawCompetitionGetWawCompetitionLastEventPageEventPageEvent(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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionLastEventPageEventPageMinisite(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 GetWawCompetitionGetWawCompetitionLastEventPageEventPageContentModules(BaseModel):
    module_type: Optional[str] = Field(alias="moduleType")
    language: Optional[str]
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    athlete_ids: Optional[List[Optional[str]]] = Field(alias="athleteIds")
    media_ids: List[Optional[str]] = Field(alias="mediaIds")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    location_id: Optional[str] = Field(alias="locationId")
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    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")
    video_id: Optional[str] = Field(alias="videoId")


class GetWawCompetitionGetWawCompetitionLastEventPageEventPageCampaign(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")


class GetWawCompetitionGetWawCompetitionLastEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetWawCompetitionGetWawCompetitionLastEventPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageMinisiteFeatureImage"
    ] = 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[
                "GetWawCompetitionGetWawCompetitionLastEventPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional["GetWawCompetitionGetWawCompetitionLastEventPageMinisiteSponsors"]
        ]
    ]
    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 GetWawCompetitionGetWawCompetitionLastEventPageMinisiteLogo(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 GetWawCompetitionGetWawCompetitionLastEventPageMinisiteFeatureImage(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 GetWawCompetitionGetWawCompetitionLastEventPageMinisiteDefaultSponsors(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: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageMinisiteDefaultSponsorsLightBgLogo"
    ] = Field(alias="lightBgLogo")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawCompetitionGetWawCompetitionLastEventPageMinisiteDefaultSponsorsLightBgLogo(
    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 GetWawCompetitionGetWawCompetitionLastEventPageMinisiteDefaultSponsorsDarkBgLogo(
    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 GetWawCompetitionGetWawCompetitionLastEventPageMinisiteSponsors(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: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageMinisiteSponsorsLightBgLogo"
    ] = Field(alias="lightBgLogo")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawCompetitionGetWawCompetitionLastEventPageMinisiteSponsorsLightBgLogo(
    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 GetWawCompetitionGetWawCompetitionLastEventPageMinisiteSponsorsDarkBgLogo(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModules(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[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticles(
    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_eo_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")
    related_media: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesEvent"
    ]
    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_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = Field(alias="relatedMinisitePages")
    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]]]
    related_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = Field(alias="relatedLinks")
    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"
    )
    content_modules: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedMedia(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedCompetitors(
    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_first_3_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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedDiscipline(
    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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedCompetitions(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    circuit_type_code: Optional[str] = Field(alias="circuitTypeCode")
    event_sub_category_code: Optional[str] = Field(alias="eventSubCategoryCode")
    description: Optional[str]
    circuit_code: Optional[str] = Field(alias="circuitCode")
    url_slug: Optional[str] = Field(alias="urlSlug")
    order: Optional[int]
    category: Optional[int]
    about: Optional[str]
    primary_media_id: Optional[str] = Field(alias="primaryMediaId")
    related_media_ids: Optional[List[Optional[str]]] = Field(alias="relatedMediaIds")
    logo_light_id: Optional[str] = Field(alias="logoLightId")
    logo_dark_id: Optional[str] = Field(alias="logoDarkId")
    style_overrides: Optional[str] = Field(alias="styleOverrides")
    related_info: Optional[List[Optional[str]]] = Field(alias="relatedInfo")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedEvents(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedArticles(
    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_eo_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_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedMinisitePages(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticlesContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    layout: Optional[int]
    video_ids: Optional[List[Optional[str]]] = Field(alias="videoIds")
    video_playlist_id: Optional[str] = Field(alias="videoPlaylistId")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    slug: Optional[str]


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedEvents(
    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[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedEventsCircuits"
            ]
        ]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedEventsPage"
    ]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedEventsCircuits(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedEventsPage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedCompetitors(
    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_first_3_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")
    primary_media: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = Field(alias="primaryMedia")
    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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedCompetitorsPrimaryMedia(
    BaseModel
):
    id: Optional[str]
    title: Optional[str]
    s_eo_title: Optional[str] = Field(alias="sEOTitle")
    url_slug: Optional[str] = Field(alias="urlSlug")
    credit: Optional[str]
    show_in_media: Optional[bool] = Field(alias="showInMedia")
    complete: Optional[bool]
    file_name: Optional[str] = Field(alias="fileName")
    remote_item_code: Optional[str] = Field(alias="remoteItemCode")
    x_ml_file_name_360: Optional[str] = Field(alias="xMLFileName360")
    file_name_url: Optional[str] = Field(alias="fileNameUrl")
    type: Optional[int]
    format: Optional[int]
    hosting: Optional[int]
    related_links: Optional[List[Optional[str]]] = Field(alias="relatedLinks")
    source_width: Optional[int] = Field(alias="sourceWidth")
    source_height: Optional[int] = Field(alias="sourceHeight")
    available_ratios: Optional[List[Optional[int]]] = Field(alias="availableRatios")
    related_sex_codes: Optional[List[Optional[int]]] = Field(alias="relatedSexCodes")
    related_age_groups: Optional[List[Optional[int]]] = Field(alias="relatedAgeGroups")
    related_event_phases: Optional[List[Optional[int]]] = Field(
        alias="relatedEventPhases"
    )
    status: Optional[int]
    live_from: Optional[Any] = Field(alias="liveFrom")
    created_on: Optional[str] = Field(alias="createdOn")
    updated_on: Optional[Any] = Field(alias="updatedOn")
    created_by_id: Optional[str] = Field(alias="createdById")
    updated_by_id: Optional[str] = Field(alias="updatedById")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedDiscipline(
    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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedMedia(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePage(
    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[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePageMinisite"
    ]
    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[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePageContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePageCampaign"
    ]


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePageEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePageMinisite(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePageContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    language: Optional[str]
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    athlete_ids: Optional[List[Optional[str]]] = Field(alias="athleteIds")
    media_ids: List[Optional[str]] = Field(alias="mediaIds")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    location_id: Optional[str] = Field(alias="locationId")
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    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")
    video_id: Optional[str] = Field(alias="videoId")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePageCampaign(
    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")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisiteFeatureImage"
    ] = 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[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisiteSponsors"
            ]
        ]
    ]
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisiteLogo(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisiteFeatureImage(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisiteDefaultSponsors(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisiteSponsors(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesLocations(BaseModel):
    location_id: Optional[str] = Field(alias="locationId")
    location: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesLocationsLocation"
    ]
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesLocationsLocation(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    latitude: Optional[float]
    longitude: Optional[float]


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


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesVideosThumbnailImage(
    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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesBanners(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")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesBannersPage"
    ]


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesBannersPage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesSlides(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 GetWawCompetitionGetWawCompetitionLastEventPageContentModulesSections(BaseModel):
    title: Optional[str]
    show: Optional[bool]
    links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionLastEventPageContentModulesSectionsLinks"
            ]
        ]
    ]


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesSectionsLinks(
    BaseModel
):
    name: Optional[str]
    url: Optional[str]
    page_id: Optional[str] = Field(alias="pageId")
    file_id: Optional[List[Optional[str]]] = Field(alias="fileId")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedVideos(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedVideo(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionLastEventPageCampaign(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")


class GetWawCompetitionGetWawCompetitionPage(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["GetWawCompetitionGetWawCompetitionPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetWawCompetitionGetWawCompetitionPageMinisite"]
    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["GetWawCompetitionGetWawCompetitionPageContentModules"]]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional["GetWawCompetitionGetWawCompetitionPageCampaign"]


class GetWawCompetitionGetWawCompetitionPageEvent(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["GetWawCompetitionGetWawCompetitionPageEventCircuits"]]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional["GetWawCompetitionGetWawCompetitionPageEventPage"]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageEventCircuits(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 GetWawCompetitionGetWawCompetitionPageEventPage(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["GetWawCompetitionGetWawCompetitionPageEventPageEvent"]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional["GetWawCompetitionGetWawCompetitionPageEventPageMinisite"]
    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["GetWawCompetitionGetWawCompetitionPageEventPageContentModules"]]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional["GetWawCompetitionGetWawCompetitionPageEventPageCampaign"]


class GetWawCompetitionGetWawCompetitionPageEventPageEvent(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["GetWawCompetitionGetWawCompetitionPageEventPageEventCircuits"]]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional["GetWawCompetitionGetWawCompetitionPageEventPageEventPage"]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageEventPageEventCircuits(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 GetWawCompetitionGetWawCompetitionPageEventPageEventPage(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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageEventPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetWawCompetitionGetWawCompetitionPageEventPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetWawCompetitionGetWawCompetitionPageEventPageMinisiteFeatureImage"
    ] = 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[
                "GetWawCompetitionGetWawCompetitionPageEventPageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional["GetWawCompetitionGetWawCompetitionPageEventPageMinisiteSponsors"]
        ]
    ]
    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 GetWawCompetitionGetWawCompetitionPageEventPageMinisiteLogo(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 GetWawCompetitionGetWawCompetitionPageEventPageMinisiteFeatureImage(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 GetWawCompetitionGetWawCompetitionPageEventPageMinisiteDefaultSponsors(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 GetWawCompetitionGetWawCompetitionPageEventPageMinisiteSponsors(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 GetWawCompetitionGetWawCompetitionPageEventPageContentModules(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[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedArticles(
    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_eo_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_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    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 GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedEvents(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedCompetitors(
    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_first_3_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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedDiscipline(
    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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedMedia(
    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 GetWawCompetitionGetWawCompetitionPageEventPageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetWawCompetitionGetWawCompetitionPageEventPageContentModulesMinisitePage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageEventPageContentModulesMinisite(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 GetWawCompetitionGetWawCompetitionPageEventPageContentModulesLocations(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 GetWawCompetitionGetWawCompetitionPageEventPageContentModulesVideos(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 GetWawCompetitionGetWawCompetitionPageEventPageContentModulesBanners(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 GetWawCompetitionGetWawCompetitionPageEventPageContentModulesSlides(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 GetWawCompetitionGetWawCompetitionPageEventPageContentModulesSections(BaseModel):
    title: Optional[str]
    show: Optional[bool]


class GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedVideos(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionPageEventPageContentModulesRelatedVideo(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionPageEventPageCampaign(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")


class GetWawCompetitionGetWawCompetitionPageMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetWawCompetitionGetWawCompetitionPageMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetWawCompetitionGetWawCompetitionPageMinisiteFeatureImage"
    ] = 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["GetWawCompetitionGetWawCompetitionPageMinisiteDefaultSponsors"]]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[Optional["GetWawCompetitionGetWawCompetitionPageMinisiteSponsors"]]
    ]
    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 GetWawCompetitionGetWawCompetitionPageMinisiteLogo(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 GetWawCompetitionGetWawCompetitionPageMinisiteFeatureImage(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 GetWawCompetitionGetWawCompetitionPageMinisiteDefaultSponsors(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: Optional[
        "GetWawCompetitionGetWawCompetitionPageMinisiteDefaultSponsorsLightBgLogo"
    ] = Field(alias="lightBgLogo")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo: Optional[
        "GetWawCompetitionGetWawCompetitionPageMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawCompetitionGetWawCompetitionPageMinisiteDefaultSponsorsLightBgLogo(
    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 GetWawCompetitionGetWawCompetitionPageMinisiteDefaultSponsorsDarkBgLogo(
    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 GetWawCompetitionGetWawCompetitionPageMinisiteSponsors(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: Optional[
        "GetWawCompetitionGetWawCompetitionPageMinisiteSponsorsLightBgLogo"
    ] = Field(alias="lightBgLogo")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo: Optional[
        "GetWawCompetitionGetWawCompetitionPageMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawCompetitionGetWawCompetitionPageMinisiteSponsorsLightBgLogo(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 GetWawCompetitionGetWawCompetitionPageMinisiteSponsorsDarkBgLogo(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 GetWawCompetitionGetWawCompetitionPageContentModules(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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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["GetWawCompetitionGetWawCompetitionPageContentModulesRelatedMedia"]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional["GetWawCompetitionGetWawCompetitionPageContentModulesFeatureLinks"]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional["GetWawCompetitionGetWawCompetitionPageContentModulesMinisite"]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[Optional["GetWawCompetitionGetWawCompetitionPageContentModulesLocations"]]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[Optional["GetWawCompetitionGetWawCompetitionPageContentModulesVideos"]]
    ]
    banners: Optional[
        List[Optional["GetWawCompetitionGetWawCompetitionPageContentModulesBanners"]]
    ]
    slides: Optional[
        List[Optional["GetWawCompetitionGetWawCompetitionPageContentModulesSlides"]]
    ]
    sections: Optional[
        List[Optional["GetWawCompetitionGetWawCompetitionPageContentModulesSections"]]
    ]
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticles(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_eo_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")
    related_media: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesEvent"
    ]
    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_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_discipline_stats: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStats"
    ] = Field(alias="relatedDisciplineStats")
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = Field(alias="relatedMinisitePages")
    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]]]
    related_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = Field(alias="relatedLinks")
    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"
    )
    content_modules: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMedia(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesEvent(
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesEventCircuits"
            ]
        ]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesEventPage"
    ]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesEventCircuits(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesEventPage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitors(
    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_first_3_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")
    primary_media: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = Field(alias="primaryMedia")
    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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitorsPrimaryMedia(
    BaseModel
):
    id: Optional[str]
    title: Optional[str]
    s_eo_title: Optional[str] = Field(alias="sEOTitle")
    url_slug: Optional[str] = Field(alias="urlSlug")
    credit: Optional[str]
    show_in_media: Optional[bool] = Field(alias="showInMedia")
    complete: Optional[bool]
    file_name: Optional[str] = Field(alias="fileName")
    remote_item_code: Optional[str] = Field(alias="remoteItemCode")
    x_ml_file_name_360: Optional[str] = Field(alias="xMLFileName360")
    file_name_url: Optional[str] = Field(alias="fileNameUrl")
    type: Optional[int]
    format: Optional[int]
    hosting: Optional[int]
    related_links: Optional[List[Optional[str]]] = Field(alias="relatedLinks")
    source_width: Optional[int] = Field(alias="sourceWidth")
    source_height: Optional[int] = Field(alias="sourceHeight")
    available_ratios: Optional[List[Optional[int]]] = Field(alias="availableRatios")
    related_sex_codes: Optional[List[Optional[int]]] = Field(alias="relatedSexCodes")
    related_age_groups: Optional[List[Optional[int]]] = Field(alias="relatedAgeGroups")
    related_event_phases: Optional[List[Optional[int]]] = Field(
        alias="relatedEventPhases"
    )
    status: Optional[int]
    live_from: Optional[Any] = Field(alias="liveFrom")
    created_on: Optional[str] = Field(alias="createdOn")
    updated_on: Optional[Any] = Field(alias="updatedOn")
    created_by_id: Optional[str] = Field(alias="createdById")
    updated_by_id: Optional[str] = Field(alias="updatedById")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDiscipline(
    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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStats(
    BaseModel
):
    discipline: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsDiscipline"
    ]
    season_best: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsSeasonBest"
            ]
        ]
    ] = Field(alias="seasonBest")
    previous_medalists: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsPreviousMedalists"
            ]
        ]
    ] = Field(alias="previousMedalists")
    records: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsRecords"
            ]
        ]
    ]
    timetable: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsTimetable"
            ]
        ]
    ]
    results: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsResults"
            ]
        ]
    ]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsDiscipline(
    BaseModel
):
    sex_name: Optional[str] = Field(alias="sexName")
    discipline_name: Optional[str] = Field(alias="disciplineName")
    discipline_code: Optional[str] = Field(alias="disciplineCode")
    url_slug: Optional[str] = Field(alias="urlSlug")
    is_relay: Optional[bool] = Field(alias="isRelay")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsSeasonBest(
    BaseModel
):
    aa_id: Optional[int] = Field(alias="aaId")
    result: Optional[str]
    url_slug: Optional[str] = Field(alias="urlSlug")
    achiever: Optional[str]
    nationality: Optional[str]
    result_score: Optional[int] = Field(alias="resultScore")
    achiever_position: Optional[int] = Field(alias="achieverPosition")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsPreviousMedalists(
    BaseModel
):
    name: Optional[str]
    country_code: Optional[str] = Field(alias="countryCode")
    type_id: Optional[int] = Field(alias="typeId")
    result_mark: Optional[str] = Field(alias="resultMark")
    url_slug: Optional[str] = Field(alias="urlSlug")
    country_url_slug: Optional[str] = Field(alias="countryUrlSlug")
    link_url: Optional[str] = Field(alias="linkUrl")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsRecords(
    BaseModel
):
    category_id: Optional[int] = Field(alias="categoryId")
    result_mark: Optional[str] = Field(alias="resultMark")
    name: Optional[str]
    country_code: Optional[str] = Field(alias="countryCode")
    url_slug: Optional[str] = Field(alias="urlSlug")
    link_url: Optional[str] = Field(alias="linkUrl")
    pending: Optional[bool]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsTimetable(
    BaseModel
):
    id: Optional[int]
    updated_on: Optional[Any] = Field(alias="updatedOn")
    hash: Optional[str]
    phase_code: Optional[str] = Field(alias="phaseCode")
    phase_name: Optional[str] = Field(alias="phaseName")
    event_id: Optional[int] = Field(alias="eventID")
    phase_date_and_time: Optional[Any] = Field(alias="phaseDateAndTime")
    sex_code: Optional[str] = Field(alias="sexCode")
    sex_name: Optional[str] = Field(alias="sexName")
    is_startlist_published: Optional[bool] = Field(alias="isStartlistPublished")
    is_result_published: Optional[bool] = Field(alias="isResultPublished")
    is_phase_summary_published: Optional[bool] = Field(alias="isPhaseSummaryPublished")
    is_team_standing_published: Optional[bool] = Field(alias="isTeamStandingPublished")
    combined_discipline_order: Optional[int] = Field(alias="combinedDisciplineOrder")
    phase_order: Optional[int] = Field(alias="phaseOrder")
    phase_session_name: Optional[str] = Field(alias="phaseSessionName")
    phase_session_order: Optional[int] = Field(alias="phaseSessionOrder")
    status: Optional[int]
    has_time: Optional[bool] = Field(alias="hasTime")
    event_id_wa: Optional[int] = Field(alias="eventId_WA")
    primary_phase_order: Optional[int] = Field(alias="primaryPhaseOrder")
    is_points_published: Optional[bool] = Field(alias="isPointsPublished")
    phase_name_url_slug: Optional[str] = Field(alias="phaseNameUrlSlug")
    sex_name_url_slug: Optional[str] = Field(alias="sexNameUrlSlug")
    unit_name: Optional[str] = Field(alias="unitName")
    unit_type_name: Optional[str] = Field(alias="unitTypeName")
    url_slug: Optional[str] = Field(alias="urlSlug")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStatsResults(
    BaseModel
):
    date: Optional[str]
    day: Optional[int]
    race: Optional[str]
    race_id: Optional[int] = Field(alias="raceId")
    race_number: Optional[int] = Field(alias="raceNumber")
    wind: Optional[str]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitions(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    circuit_type_code: Optional[str] = Field(alias="circuitTypeCode")
    event_sub_category_code: Optional[str] = Field(alias="eventSubCategoryCode")
    description: Optional[str]
    circuit_code: Optional[str] = Field(alias="circuitCode")
    url_slug: Optional[str] = Field(alias="urlSlug")
    order: Optional[int]
    category: Optional[int]
    about: Optional[str]
    primary_media_id: Optional[str] = Field(alias="primaryMediaId")
    related_media_ids: Optional[List[Optional[str]]] = Field(alias="relatedMediaIds")
    logo_light_id: Optional[str] = Field(alias="logoLightId")
    logo_dark_id: Optional[str] = Field(alias="logoDarkId")
    style_overrides: Optional[str] = Field(alias="styleOverrides")
    related_info: Optional[List[Optional[str]]] = Field(alias="relatedInfo")
    next_event: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitionsNextEvent"
    ] = Field(alias="nextEvent")
    last_event: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitionsLastEvent"
    ] = Field(alias="lastEvent")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitionsPage"
    ]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitionsNextEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitionsLastEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitionsPage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedEvents(
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedEventsCircuits"
            ]
        ]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedEventsPage"
    ]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedEventsCircuits(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedEventsPage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticles(
    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_eo_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")
    related_media: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    event_id: Optional[int] = Field(alias="eventId")
    event: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesEvent"
    ]
    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_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: List[Optional[str]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedDiscipline"
            ]
        ]
    ] = Field(alias="relatedDiscipline")
    related_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    related_competition_ids: List[Optional[str]] = Field(alias="relatedCompetitionIds")
    related_competitions: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedCompetitions"
            ]
        ]
    ] = Field(alias="relatedCompetitions")
    related_event_ids: List[Optional[int]] = Field(alias="relatedEventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    related_articles: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    related_minisite_ids: Optional[List[Optional[str]]] = Field(
        alias="relatedMinisiteIds"
    )
    related_minisite_pages: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedMinisitePages"
            ]
        ]
    ] = Field(alias="relatedMinisitePages")
    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]]]
    related_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedLinks"
            ]
        ]
    ] = Field(alias="relatedLinks")
    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"
    )
    content_modules: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedMedia(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedCompetitors(
    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_first_3_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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedDiscipline(
    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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedCompetitions(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    circuit_type_code: Optional[str] = Field(alias="circuitTypeCode")
    event_sub_category_code: Optional[str] = Field(alias="eventSubCategoryCode")
    description: Optional[str]
    circuit_code: Optional[str] = Field(alias="circuitCode")
    url_slug: Optional[str] = Field(alias="urlSlug")
    order: Optional[int]
    category: Optional[int]
    about: Optional[str]
    primary_media_id: Optional[str] = Field(alias="primaryMediaId")
    related_media_ids: Optional[List[Optional[str]]] = Field(alias="relatedMediaIds")
    logo_light_id: Optional[str] = Field(alias="logoLightId")
    logo_dark_id: Optional[str] = Field(alias="logoDarkId")
    style_overrides: Optional[str] = Field(alias="styleOverrides")
    related_info: Optional[List[Optional[str]]] = Field(alias="relatedInfo")
    next_event_start_date: Optional[Any] = Field(alias="nextEventStartDate")
    page_id: Optional[str] = Field(alias="pageId")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedEvents(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedArticles(
    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_eo_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_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedMinisitePages(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticlesContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    layout: Optional[int]
    video_ids: Optional[List[Optional[str]]] = Field(alias="videoIds")
    video_playlist_id: Optional[str] = Field(alias="videoPlaylistId")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    slug: Optional[str]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePages(
    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[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePagesEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePagesMinisite"
    ]
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePagesContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePagesCampaign"
    ]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePagesEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePagesMinisite(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePagesContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    language: Optional[str]
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    athlete_ids: Optional[List[Optional[str]]] = Field(alias="athleteIds")
    media_ids: List[Optional[str]] = Field(alias="mediaIds")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    location_id: Optional[str] = Field(alias="locationId")
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    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")
    video_id: Optional[str] = Field(alias="videoId")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePagesCampaign(
    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")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedLinks(
    BaseModel
):
    display_text: Optional[str] = Field(alias="displayText")
    url: Optional[str]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    title: Optional[str]
    background_color: Optional[str] = Field(alias="backgroundColor")
    locations: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModulesLocations"
            ]
        ]
    ]
    layout: Optional[int]
    video_ids: Optional[List[Optional[str]]] = Field(alias="videoIds")
    video_playlist_id: Optional[str] = Field(alias="videoPlaylistId")
    related_videos: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    tag_id: Optional[str] = Field(alias="tagId")
    related_video: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")
    slug: Optional[str]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModulesLocations(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModulesRelatedVideos(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModulesRelatedVideo(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEvents(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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsCircuits"
            ]
        ]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPage"
    ]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsCircuits(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPage(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[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPageMinisite"
    ]
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPageContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPageCampaign"
    ]


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPageEvent(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPageMinisite(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPageContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    language: Optional[str]
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    athlete_ids: Optional[List[Optional[str]]] = Field(alias="athleteIds")
    media_ids: List[Optional[str]] = Field(alias="mediaIds")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    location_id: Optional[str] = Field(alias="locationId")
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    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")
    video_id: Optional[str] = Field(alias="videoId")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPageCampaign(
    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")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedCompetitors(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_first_3_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")
    primary_media: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesRelatedCompetitorsPrimaryMedia"
            ]
        ]
    ] = Field(alias="primaryMedia")
    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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedCompetitorsPrimaryMedia(
    BaseModel
):
    id: Optional[str]
    title: Optional[str]
    s_eo_title: Optional[str] = Field(alias="sEOTitle")
    url_slug: Optional[str] = Field(alias="urlSlug")
    credit: Optional[str]
    show_in_media: Optional[bool] = Field(alias="showInMedia")
    complete: Optional[bool]
    file_name: Optional[str] = Field(alias="fileName")
    remote_item_code: Optional[str] = Field(alias="remoteItemCode")
    x_ml_file_name_360: Optional[str] = Field(alias="xMLFileName360")
    file_name_url: Optional[str] = Field(alias="fileNameUrl")
    type: Optional[int]
    format: Optional[int]
    hosting: Optional[int]
    related_links: Optional[List[Optional[str]]] = Field(alias="relatedLinks")
    source_width: Optional[int] = Field(alias="sourceWidth")
    source_height: Optional[int] = Field(alias="sourceHeight")
    available_ratios: Optional[List[Optional[int]]] = Field(alias="availableRatios")
    related_sex_codes: Optional[List[Optional[int]]] = Field(alias="relatedSexCodes")
    related_age_groups: Optional[List[Optional[int]]] = Field(alias="relatedAgeGroups")
    related_event_phases: Optional[List[Optional[int]]] = Field(
        alias="relatedEventPhases"
    )
    status: Optional[int]
    live_from: Optional[Any] = Field(alias="liveFrom")
    created_on: Optional[str] = Field(alias="createdOn")
    updated_on: Optional[Any] = Field(alias="updatedOn")
    created_by_id: Optional[str] = Field(alias="createdById")
    updated_by_id: Optional[str] = Field(alias="updatedById")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedDiscipline(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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedMedia(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 GetWawCompetitionGetWawCompetitionPageContentModulesLifestyleLinks(BaseModel):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePage(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[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisite"
    ]
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageCampaign"
    ]


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageEvent(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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageEventCircuits"
            ]
        ]
    ]
    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_wa: Optional[int] = Field(alias="eventId_WA")
    has_timetable: Optional[bool] = Field(alias="hasTimetable")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageEventPage"
    ]
    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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageEventCircuits(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageEventPage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisite(
    BaseModel
):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisiteLogo"
    ]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisiteFeatureImage"
    ] = 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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisiteSponsors"
            ]
        ]
    ]
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisiteLogo(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisiteFeatureImage(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisiteDefaultSponsors(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisiteSponsors(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModules(
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedArticles"
            ]
        ]
    ] = Field(alias="relatedArticles")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_events: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedEvents"
            ]
        ]
    ] = Field(alias="relatedEvents")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_competitors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedCompetitors"
            ]
        ]
    ] = Field(alias="relatedCompetitors")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    related_discipline: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedDiscipline"
            ]
        ]
    ] = 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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedMedia"
            ]
        ]
    ] = Field(alias="relatedMedia")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    lifestyle_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesLifestyleLinks"
            ]
        ]
    ] = Field(alias="lifestyleLinks")
    feature_links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesFeatureLinks"
            ]
        ]
    ] = Field(alias="featureLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    minisite_page: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesMinisitePage"
    ] = Field(alias="minisitePage")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesMinisite"
    ]
    location_id: Optional[str] = Field(alias="locationId")
    locations: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesLocations"
            ]
        ]
    ]
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    videos: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesVideos"
            ]
        ]
    ]
    banners: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesBanners"
            ]
        ]
    ]
    slides: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesSlides"
            ]
        ]
    ]
    sections: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesSections"
            ]
        ]
    ]
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedVideos"
            ]
        ]
    ] = Field(alias="relatedVideos")
    video_id: Optional[str] = Field(alias="videoId")
    related_video: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedVideo"
    ] = Field(alias="relatedVideo")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedArticles(
    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_eo_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_discipline_codes_with_sex: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodesWithSex"
    )
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedEvents(
    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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedCompetitors(
    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_first_3_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")
    male: Optional[bool]
    media_ids: Optional[List[Optional[str]]] = Field(alias="mediaIds")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedDiscipline(
    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_iaaf: Optional[bool] = Field(alias="isValidIAAF")
    name_url_slug: Optional[str] = Field(alias="nameUrlSlug")
    type_name_url_slug: Optional[str] = Field(alias="typeNameUrlSlug")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedMedia(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesLifestyleLinks(
    BaseModel
):
    article_id: Optional[str] = Field(alias="articleId")
    title: Optional[str]
    subtitle: Optional[str]
    url: Optional[str]


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


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesMinisitePage(
    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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesMinisite(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesLocations(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesVideos(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesBanners(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesSlides(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesSections(
    BaseModel
):
    title: Optional[str]
    show: Optional[bool]


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedVideos(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModulesRelatedVideo(
    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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageCampaign(
    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")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisite(BaseModel):
    id: Optional[str]
    name: Optional[str]
    logo_id: Optional[str] = Field(alias="logoId")
    logo: Optional["GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteLogo"]
    logo_edited: Optional[str] = Field(alias="logoEdited")
    feature_image_id: Optional[str] = Field(alias="featureImageId")
    feature_image: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteFeatureImage"
    ] = 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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteDefaultSponsors"
            ]
        ]
    ] = Field(alias="defaultSponsors")
    sponsor_ids: Optional[List[Optional[str]]] = Field(alias="sponsorIds")
    sponsors: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteSponsors"
            ]
        ]
    ]
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteLogo(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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteFeatureImage(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteDefaultSponsors(
    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: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteDefaultSponsorsLightBgLogo"
    ] = Field(alias="lightBgLogo")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteDefaultSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteDefaultSponsorsLightBgLogo(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteDefaultSponsorsDarkBgLogo(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteSponsors(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: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteSponsorsLightBgLogo"
    ] = Field(alias="lightBgLogo")
    light_bg_logo_edited: Optional[str] = Field(alias="lightBgLogoEdited")
    dark_bg_logo_id: Optional[str] = Field(alias="darkBgLogoId")
    dark_bg_logo: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteSponsorsDarkBgLogo"
    ] = Field(alias="darkBgLogo")
    dark_bg_logo_edited: Optional[str] = Field(alias="darkBgLogoEdited")


class GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteSponsorsLightBgLogo(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteSponsorsDarkBgLogo(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesLocations(BaseModel):
    location_id: Optional[str] = Field(alias="locationId")
    location: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesLocationsLocation"
    ]
    headline: Optional[str]
    description: Optional[str]
    link: Optional[str]
    image_id: Optional[str] = Field(alias="imageId")
    image_edited: Optional[str] = Field(alias="imageEdited")


class GetWawCompetitionGetWawCompetitionPageContentModulesLocationsLocation(BaseModel):
    id: Optional[str]
    name: Optional[str]
    latitude: Optional[float]
    longitude: Optional[float]


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


class GetWawCompetitionGetWawCompetitionPageContentModulesVideosThumbnailImage(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesBanners(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")
    page: Optional["GetWawCompetitionGetWawCompetitionPageContentModulesBannersPage"]


class GetWawCompetitionGetWawCompetitionPageContentModulesBannersPage(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[
        "GetWawCompetitionGetWawCompetitionPageContentModulesBannersPageEvent"
    ]
    site_id: Optional[str] = Field(alias="siteId")
    minisite: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesBannersPageMinisite"
    ]
    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[
                "GetWawCompetitionGetWawCompetitionPageContentModulesBannersPageContentModules"
            ]
        ]
    ] = Field(alias="contentModules")
    gated_content: Optional[bool] = Field(alias="gatedContent")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")
    campaign: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesBannersPageCampaign"
    ]


class GetWawCompetitionGetWawCompetitionPageContentModulesBannersPageEvent(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_wa: 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")
    banner_lead_time_in_hours: Optional[int] = Field(alias="bannerLeadTimeInHours")


class GetWawCompetitionGetWawCompetitionPageContentModulesBannersPageMinisite(
    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 GetWawCompetitionGetWawCompetitionPageContentModulesBannersPageContentModules(
    BaseModel
):
    module_type: Optional[str] = Field(alias="moduleType")
    language: Optional[str]
    related_article_ids: List[Optional[str]] = Field(alias="relatedArticleIds")
    event_ids: List[Optional[int]] = Field(alias="eventIds")
    related_competitor_ids: List[Optional[int]] = Field(alias="relatedCompetitorIds")
    related_discipline_codes: Optional[List[Optional[str]]] = Field(
        alias="relatedDisciplineCodes"
    )
    athlete_ids: Optional[List[Optional[str]]] = Field(alias="athleteIds")
    media_ids: List[Optional[str]] = Field(alias="mediaIds")
    social_links: Optional[List[Optional[str]]] = Field(alias="socialLinks")
    minisite_id: Optional[str] = Field(alias="minisiteId")
    location_id: Optional[str] = Field(alias="locationId")
    event_id: Optional[int] = Field(alias="eventId")
    tags: Optional[List[Optional[str]]]
    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")
    video_id: Optional[str] = Field(alias="videoId")


class GetWawCompetitionGetWawCompetitionPageContentModulesBannersPageCampaign(
    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")


class GetWawCompetitionGetWawCompetitionPageContentModulesSlides(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 GetWawCompetitionGetWawCompetitionPageContentModulesSections(BaseModel):
    title: Optional[str]
    show: Optional[bool]
    links: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesSectionsLinks"
            ]
        ]
    ]


class GetWawCompetitionGetWawCompetitionPageContentModulesSectionsLinks(BaseModel):
    name: Optional[str]
    url: Optional[str]
    page_id: Optional[str] = Field(alias="pageId")
    page: Optional[
        "GetWawCompetitionGetWawCompetitionPageContentModulesSectionsLinksPage"
    ]
    file_id: Optional[List[Optional[str]]] = Field(alias="fileId")
    file: Optional[
        List[
            Optional[
                "GetWawCompetitionGetWawCompetitionPageContentModulesSectionsLinksFile"
            ]
        ]
    ]


class GetWawCompetitionGetWawCompetitionPageContentModulesSectionsLinksPage(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")
    no_index: Optional[bool] = Field(alias="noIndex")
    campaign_id: Optional[str] = Field(alias="campaignId")


class GetWawCompetitionGetWawCompetitionPageContentModulesSectionsLinksFile(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 GetWawCompetitionGetWawCompetitionPageContentModulesRelatedVideos(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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionPageContentModulesRelatedVideo(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")
    signed_in_cta: Optional[str] = Field(alias="signedInCTA")
    signed_out_cta: Optional[str] = Field(alias="signedOutCTA")
    metatags: Optional[str]
    thumbnail_title: Optional[str] = Field(alias="thumbnailTitle")


class GetWawCompetitionGetWawCompetitionPageCampaign(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")


GetWawCompetition.model_rebuild()
GetWawCompetitionGetWawCompetition.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEvent.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPage.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageEvent.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageEventPage.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageMinisite.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageMinisiteDefaultSponsors.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageMinisiteSponsors.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModules.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedArticles.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedEvents.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesRelatedCompetitors.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisitePage.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesMinisite.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesLocations.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesVideos.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesBanners.model_rebuild()
GetWawCompetitionGetWawCompetitionNextEventPageContentModulesSections.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEvent.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPage.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageEvent.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageEventPage.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageMinisite.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageMinisiteDefaultSponsors.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageMinisiteSponsors.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModules.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedArticles.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedEvents.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesRelatedCompetitors.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisitePage.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesMinisite.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesLocations.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesVideos.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesBanners.model_rebuild()
GetWawCompetitionGetWawCompetitionLastEventPageContentModulesSections.model_rebuild()
GetWawCompetitionGetWawCompetitionPage.model_rebuild()
GetWawCompetitionGetWawCompetitionPageEvent.model_rebuild()
GetWawCompetitionGetWawCompetitionPageEventPage.model_rebuild()
GetWawCompetitionGetWawCompetitionPageEventPageEvent.model_rebuild()
GetWawCompetitionGetWawCompetitionPageEventPageMinisite.model_rebuild()
GetWawCompetitionGetWawCompetitionPageEventPageContentModules.model_rebuild()
GetWawCompetitionGetWawCompetitionPageMinisite.model_rebuild()
GetWawCompetitionGetWawCompetitionPageMinisiteDefaultSponsors.model_rebuild()
GetWawCompetitionGetWawCompetitionPageMinisiteSponsors.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModules.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticles.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesEvent.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitors.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedDisciplineStats.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedCompetitions.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedEvents.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedArticles.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesRelatedMinisitePages.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedArticlesContentModules.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEvents.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedEventsPage.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesRelatedCompetitors.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePage.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageEvent.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageMinisite.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesMinisitePageContentModules.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesMinisite.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteDefaultSponsors.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesMinisiteSponsors.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesLocations.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesVideos.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesBanners.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesBannersPage.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesSections.model_rebuild()
GetWawCompetitionGetWawCompetitionPageContentModulesSectionsLinks.model_rebuild()
